[CMake] Flags when building objects or a target
Michael Hertling
mhertling at online.de
Mon Nov 1 21:30:04 EDT 2010
On 11/02/2010 01:58 AM, mina adel wrote:
> Hi
>
>
> I have a problem when cmake builds the objects for shared library.
>
> I have the following in my cmaklists.txt
>
> set(SIMULATOR_SOURCES circuit.cc matrix.cc plot.cc sources.cc
> sparse.cc btzdense.cc element.cc util.cc parse.c
> netlist_parse.y netlist_lex.l circuit_step.cc zmatrix.cc
> hash_key.cc zsparse.cc zbtzdense.cc mtutil.cc)
>
> add_library(simulator SHARED ${SIMULATOR_SOURCES})
>
> set_target_properties(simulator PROPERTIES LINK_FLAGS
> "-I../sparse-libs/include")
> target_link_libraries(simulator ${LIBS} "models/libmodels.a
> ../sparse-libs/libsparse.a")
>
>
>
> However, target_link_libraries does not include the flags when building the
> objects. it only does when building the library. [...]
As the name LINK_FLAGS denotes, these settings are applied when a target
is linked, i.e. built from its object files and checked for references
to libraries. They don't come into play when sources are compiled to
object files, so "-I" within LINK_FLAGS is of no use.
> [...] And I do not want to add
> (-I../sparse-libs/include) for all my objects.
Consider to set the COMPILE_FLAGS source property on those files which
you want to be compiled with "-I" flags for special include directories.
Regards,
Michael
More information about the CMake
mailing list