[CMake] Settings different flags in sub projects

David Zemon david at zemon.name
Sun Aug 3 18:46:40 EDT 2014


Hello,

For the simple case of three directories and two projects - /root, 
/root/p1, and /root/p2 - I would like to set some common flags for both 
projects and then other flags should be independent. For instance, p1 
should be compiled with "-std=c99 -Os" and p2 should be compiled with 
"-std=c99 -O1". The first flag, -std=c99, is common to all projects and 
the second, -Os, might be changed from project to project. How do I do this?

I thought I could create MyRulesOverride.cmake with the content:

    set(CMAKE_C_FLAGS_INIT "-std=c99")

And that would be the end of it, but apparently not. The CMakeLists.txt 
files in each project have a line such as " set(CMAKE_C_FLAGS "-Os")" 
which is apparently overwriting the cached value from 
CMakeCInformation.cmake. I can't write a line like "set(CMAKE_C_FLAGS 
"${CMAKE_C_FLAGS} -Os")" because then the result is "-std=c99 -std=c99 
-Os" for the second project.

Any help would be greatly appreciated.

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140803/18a70a6d/attachment.html>


More information about the CMake mailing list