Your CMakeLists.txt file is modifying the *non-cache* variable CMAKE_CXX_FLAGS. During CMake processing, a non-cache variable will override a cache variable of the same name, but modifying a non-cache variable won't update the cache. CMake is working as designed with regard to the handling of CMAKE_CXX_FLAGS here, your expectation of the cache being updated to reflect your changes to the non-cache variable is the source of the confusion. Please review the following link which describes this in more detail:
https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#variables On Fri, Feb 3, 2017 at 10:01 AM, Andrew Maclean <[email protected]> wrote: > Consider the attached CMakeLists.txt script. > > When run, CMAKE_CXX_FLAGS is updated correctly, however the line: > CMAKE_CXX_FLAGS:STRING=/DWIN32 /D_WINDOWS /W3 /GR /EHsc > in CMakeCache.txt is never updated. > > However the build instructions e.g build.ninja reflect the correct command: > FLAGS = /DWIN32 /D_WINDOWS /W4 /GR /EHsc /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 > Similarly for the Visual Studio Build. > > I see this behaviour in my own code and also in VTK. > > Is there a reason why CMakeCache.txt does not get the update? > > Andrew > > > -- > ___________________________________________ > Andrew J. P. Maclean > > ___________________________________________ > > -- > > 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 > -- Craig Scott Melbourne, Australia https://crascit.com
-- 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
