diff --git a/CMakeLists.txt b/CMakeLists.txt index 12e19b6..c34a59f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,28 @@ set( ######################################################################## # options ######################################################################## -if (EXISTS ".git") +if (NOT CMAKE_BUILD_TYPE) + if (EXISTS "${SOURCE_DIR}/.git") + set (CMAKE_BUILD_TYPE Debug) + else () + # http://xit0.org/2013/04/cmake-use-git-branch-and-commit-details-in-project/ + # http://stackoverflow.com/questions/6797395/cmake-execute-process-always-fails-with-no-such-file-or-directory-when-i-cal + execute_process( + COMMAND git rev-parse --show-toplevel + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + RESULT_VARIABLE git_result + OUTPUT_VARIABLE git_root + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + message(STATUS "git workspace root [${git_result}]: ${git_root}") + if ( "${git_result}" STREQUAL "0" ) + set (CMAKE_BUILD_TYPE Debug) + else () + set (CMAKE_BUILD_TYPE Release) + endif () + endif () +endif () +if (${CMAKE_BUILD_TYPE} STREQUAL "Debug") OPTION (WITH_DRAFTS "Build and install draft classes and methods" ON) else () OPTION (WITH_DRAFTS "Build and install draft classes and methods" OFF)