[CMake] Build several libraries with different compilation flags

J Decker d3ck0r at gmail.com
Fri Oct 1 16:51:23 EDT 2010


On Fri, Oct 1, 2010 at 8:32 AM, Marcel Loose <loose at astron.nl> wrote:
> Hi Eric,
>
> I'm not sure your solution is going to work. Once your file1, file2, ...
> are compiled for building my_lib1, there's reason for CMake to compile
> them again for my_lib2, because the object files are already up-to-date.
> I guess you'll have a better chance using target_properties, as Ryan
> suggested.
>

That's not really true... objects get built into <target_name>.dir ...
so they are different. the problem is cmake only maintains a single
list of sources, and the flags end up getting set for both versions.
Really have to use target_properties ...

or somehow invent a way to set_target_source_files_properties( target
source .... )

maybe seperate the sources that need different flags into another
library, and apply said flags to that target.. then link the whole
mess together?

> HTH,
> Marcel Loose.
>
> On Fri, 2010-10-01 at 17:10 +0200, pellegrini wrote:
>> Hi Ryan,
>>
>> Yes, that might be the solution if I wanted to change the compiler flags
>> for the whole library but in my case, that is not on the whole
>> library that I want to apply a new set of compiler flags but only on a
>> small number of files.
>>
>> Ryan Pavlik a écrit :
>> >  Look at the target properties instead of the source file properties.
>> >
>> > Ryan
>> >
>> > On 10/01/2010 08:27 AM, pellegrini wrote:
>> >> Hello everybody,
>> >>
>> >> I would like to build two libraries that contain the same files but
>> >> with a slightly different set of compilation flags
>> >> from one library to another. This within the same makefile. I was
>> >> thinking about an approach such as:
>> >>
>> >> add_library(my_lib1, STATIC, src_files ...)
>> >> set_source_files_properties(file1, file2 ... PROPERTIES COMPILE_FLAGS
>> >> ...)
>> >> add_library(my_lib2, STATIC, src_files ...)
>> >> set_source_files_properties(file1, file2 ... PROPERTIES COMPILE_FLAGS
>> >> ...)
>> >>
>> >> does cmake sensitive to the order of these instruction ?
>> >>
>> >> thank you very much
>> >>
>> >> Eric
>> >>
>> >>
>> >
>>
>>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>


More information about the CMake mailing list