Something like this should work: add_compile_options(-std=c99)
set_property(DIRECTORY "/root/p1" PROPERTY COMPILE_OPTIONS "-Os") set_property(DIRECTORY "/root/p2" PROPERTY COMPILE_OPTIONS "-O1") or you just use the add_compile_options command in all 3 CMakeLists.txt files. The CMakeLists.txt files in root/p1 and root/p2 will inherit the compile options set in the parent root/CMakeLists.txt file. -- Glenn On 3 August 2014 23:46, David Zemon <da...@zemon.name> wrote: > 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 > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake