Hi,
Do CMAKE_<LANG>_FLAGS_<CONFIG>_INIT variables not automatically populate
CMAKE_<LANG>_FLAGS_<CONFIG> variables for *custom* configurations?
When I use the _INIT variables for one of the default configuration names, e.g.
CMAKE_C_FLAGS_DEBUG_INIT or CMAKE_C_FLAGS_RELEASE_INIT, they correctly populate
their "usage" counterparts, i.e. CMAKE_C_FLAGS_DEBUG and CMAKE_C_FLAGS_RELEASE
respectively.
But when I set the _INIT variables for a custom configuration name (created
through CMAKE_CONFIGURATION_TYPES), e.g. CMAKE_C_FLAGS_LALALAND_INIT, CMake
fails the compiler tests, because CMAKE_C_FLAGS_LALALAND does not exist.
My setup:
*CMakeLists.txt*
set( CMAKE_USER_MAKE_RULES_OVERRIDE
"${CMAKE_CURRENT_LIST_DIR}/CompilerOptions.cmake" )
project( Test )
add_executable( "${CMAKE_CURRENT_LIST_DIR}/main.c" )
*CompilerOptions.cmake*
set( CMAKE_CONFIGURATION_TYPES "Debug" "Release" "Lalaland" )
set( CMAKE_C_FLAGS_DEBUG_INIT "/Od" )
set( CMAKE_C_FLAGS_RELEASE_INIT "/Ox" )
set( CMAKE_C_FLAGS_LALALAND_INIT "/Ob2" )
set( CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/machine:x64" )
set( CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT "/machine:x64" )
set( CMAKE_EXE_LINKER_FLAGS_LALALAND_INIT "/machine:x64" )
The error I get is:
> CMake Error: Error required internal CMake variable not set, cmake may not be
> built correctly.
> Missing variable is:
> CMAKE_C_FLAGS_LALALAND
> CMake Error: Error required internal CMake variable not set, cmake may not be
> built correctly.
> Missing variable is:
> CMAKE_EXE_LINKER_FLAGS_LALALAND
> CMake Error at C:/Program
> Files/CMake/share/cmake-3.10/Modules/CMakeTestCCompiler.cmake:37
> (try_compile):
> Failed to generate test project build system.
This is just a simplified example, in my actual usecase I have two custom
configurations and both fail to populate their CMAKE_<LANG>_FLAGS_<CONFIG>
variables from their CMAKE_<LANG>_FLAGS_<CONFIG>_INIT variables.
Do I have to set the CMAKE_<LANG>_FLAGS_<CONFIG>_INIT variables for the default
CMake configuration names, but set the actual CMAKE_<LANG>_FLAGS_<CONFIG>
variables for any custom configurations?
I am using CMake 3.10.3 and Visual Studio 11/14 Win64 generator.
Thanks,
Marek
--
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:
https://cmake.org/mailman/listinfo/cmake