1 Jul 2010 09:12
Re: Different configurations with Visual Studio
Thanks, this works. Actually
if(CMAKE_CONFIGURATION_TYPES)
set(CMAKE_CONFIGURATION_TYPES Debug Release DebugMX31 ReleaseMX31)
set(CMAKE_CONFIGURATION_TYPES
"${CMAKE_CONFIGURATION_TYPES}" CACHE STRING
"Reset the configurations to what we need" FORCE)endif()
also works for me. I've added it to the FAQ of the Wiki. But this is only half of what need. I actually need to make this generate settings for a different platform as well, I mean 'platform' in the Visual Studio sense, also called 'solution platform' in Visual Studios configuration manager, which is Win32 by default, but I need it for both Win32 and MX31.
Can this be done with CMake? I'm afraid not, but if it is possible, how? In the project file it is written as something like Debug|MX31, but using that in CMake doesn't work.
Mark
2010/6/28 Michael Wild <themiwi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
You have to change CMAKE_CONFIGURATION_TYPES in the cache. Here is some template I use:
On 28. Jun, 2010, at 15:17 , Mark Van Peteghem wrote:
> Hi,
>
> I am using CMake to generate Visual Studio project files, later also for
> CodeBlocks.
>
> It seems that CMake generates four different configurations for Visual
> Studio: Debug, Release, MinSizeRel and RelWithDebInfo. However, I need other
> configuations, Debug and Release, both for Win32 and MX3, in one project
> file. How do I change this?
>
> I tried this by changing *CMAKE_CONFIGURATION_TYPES *and CMAKE_BUILD_TYPES,
> e.g.
>
> SET(CMAKE_BUILD_TYPES Debug Release DebugMX31 ReleaseMX31)
>
> but I have the impression that these variables cannot be changed.
>
> --
> Mark
# Xcode generator is buggy (linker flags are not inherited from compile flags
# and custom configurations don't work with shared libraries)
if(NOT CMAKE_GENERATOR STREQUAL Xcode)
set(CMAKE_C_FLAGS_SUPERDUPER "--super --duper" CACHE
STRING "Flags used by the compiler during super-duper builds")
set(CMAKE_EXE_LINKER_FLAGS_SUPERDUPER "--super --duper" CACHE
STRING "Flags used by the linker for executables during super-duper builds")
set(CMAKE_SHARED_LINKER_FLAGS_SUPERDUPER "--super --duper" CACHE
STRING "Flags used by the linker for shared libraries during super-duper builds")
set(CMAKE_MODULE_LINKER_FLAGS_SUPERDUPER "--super --duper" CACHE
STRING "Flags used by the linker for loadable modules during super-duper builds")
mark_as_advanced(CMAKE_C_FLAGS_COVERAGE CMAKE_EXE_LINKER_FLAGS_SUPERDUPER
CMAKE_SHARED_LINKER_FLAGS_SUPERDUPER CMAKE_MODULE_LINKER_FLAGS_SUPERDUPER)
# This variable is only set for multi-config IDE generators
if(CMAKE_CONFIGURATION_TYPES)
list(APPEND CMAKE_CONFIGURATION_TYPES SuperDuper)
list(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES)
set(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING
"Semicolon separated list of supported configuration types [Debug|Release|MinSizeRel|RelWithDebInfo|SuperDuper]"
FORCE)
endif()
endif()
HTH
Michael
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
But unfortunately, I have to support in-source builds, too.
RSS Feed