views:

564

answers:

1

Hello :)

I'm trying to setup a post-build command for CMake, which I have done using the ADD_CUSTOM_COMMAND directive as stated in the CMake documentation. What I'd like to do though, is only have the post-build run if I am creating a release build of my executable.

How does one accomplish this?

Thanks in advance :)

Billy3

A: 

For Makefile-based generators you can check the CMAKE_BUILD_TYPE variable and act upon its value:

if(CMAKE_BUILD_TYPE STREQUAL Debug)
    message(STATUS "Do debug stuff")
elseif(CMAKE_BUILD_TYPE STREQUAL Release)
    message(STATUS "Do release stuff")
elseif(CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo)
    message(STATUS "Do release with debug info stuff")
elseif(CMAKE_BUILD_TYPE STREQUAL MinSizeRel)
    message(STATUS "Do minimal size release stuff")
endif()

For Visual Studio based builds, this SO question seems to suggest that CMAKE_BUILD_TYPE also works with VS 2005+.

rq
I use VS2008 and CMake 2.8 and this does not work.
Robert