In BoostConfig.cmake I had to comment out the following (from a previous
post on the CMake users mailing list):


# Clear out the built-in C++ compiler and link flags for each of the
# configurations.
#~ set(CMAKE_CXX_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
#~ set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
#~ set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
#~ set(CMAKE_EXE_LINKER_FLAGS_DEBUG "" CACHE INTERNAL "Unused by Boost")
#~ set(CMAKE_CXX_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
#~ set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by
Boost")
#~ set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by
Boost")
#~ set(CMAKE_EXE_LINKER_FLAGS_RELEASE "" CACHE INTERNAL "Unused by Boost")
#~ set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by Boost")
#~ set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by
Boost")
#~ set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by
Boost")
#~ set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused by
Boost")
#~ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by Boost")
#~ set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by
Boost")
#~ set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by
Boost")
#~ set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused by
Boost")

Due to the use of CACHE INTERNAL when using add_subdirectory.  As I recall
this precluded me from being able to set These variables in my calling
CMakeLists.txt file.  This resulted in getting the error:

1>Compiling...
1>cl : Command line error D8016 : '/O2' and '/RTC1' command-line options are
incompatible
1>Build log was saved at
"file://c:\projects\NIH2009\source\branches\trunk\build\dvip4-Win64\libs\filesystem\src\boost_filesystem-mt-static-staticrt.dir\Debug\


This is seemingly caused by:

  SET (CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1")
  SET (CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi  /Ob0 /Od /RTC1")

boost configuration CMake and in Windows-cl.cmake in
cmake-2.8/Modules/Platform/Windows-cl-cmake.  If I comment out the lines
above including RTC1 in Windows-cl.cmake boost_filesystem builds when using
add_subdirectory the build is successful.

If I perform CACHE STRING "" FORCE on the following variables and
boost_filesystem then builds.  Note the removal of /RTC1.

    SET (CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od" CACHE
STRING "" FORCE )
    SET (CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi  /Ob0 /Od" CACHE STRING
"" FORCE )
    SET( CMAKE_CXX_FLAGS_DEBUG /D_DEBUG /MDd /Zi /Ob0 /Od CACHE STRING ""
FORCE )
    SET( CMAKE_C_FLAGS_DEBUG /D_DEBUG /MDd /Zi  /Ob0 /Od CACHE STRING ""
FORCE )

Not sure if I should be doing this.  It works so I am going to go stick my
head in the sand until something else breaks.

Brian
_______________________________________________
Boost-cmake mailing list
Boost-cmake@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-cmake

Reply via email to