+LYX_COMBO(ENABLE_BUILD_TYPE "Allows to tweak the compiled code" AUTO release prerelease development gprof)
+
+if(LYX_ENABLE_BUILD_TYPE MATCHES "AUTO")
+ message(STATUS "Selecting build type defaults from configure.ac")
+else()
+ set(LYX_BUILD_TYPE "${LYX_ENABLE_BUILD_TYPE}")
+ message(STATUS "Selecting build type defaults from LYX_ENABLE_BUILD_TYPE")
+endif()
+
+# Select some defaults depending on LYX_BUILD_TYPE
+# they can always be overwritten by the respective command line settings
+# These settings are only effective on fresh(==empty) CMakeCache.txt
+if(LYX_BUILD_TYPE STREQUAL "development")
+ set(DefaultLyxDebug ON)
+ set(DefaultLyxRelease OFF)
+ set(DefaultLyxStdlibDebug ON)
+ set(DefaultLyxEnableAssertions ON)
+ set(DefaultLyxProfile OFF)
+ set(DefaultExternalLibs OFF)
+elseif(LYX_BUILD_TYPE STREQUAL "prerelease")
+ set(DefaultLyxDebug OFF)
+ set(DefaultLyxRelease OFF)
+ set(DefaultLyxStdlibDebug OFF)
+ set(DefaultLyxEnableAssertions OFF)
+ set(DefaultLyxProfile OFF)
+ set(DefaultExternalLibs ON)
+elseif(LYX_BUILD_TYPE STREQUAL "release")
+ set(DefaultLyxDebug OFF)
+ set(DefaultLyxRelease ON)
+ set(DefaultLyxStdlibDebug OFF)
+ set(DefaultLyxEnableAssertions OFF)
+ set(DefaultLyxProfile OFF)
+ set(DefaultExternalLibs ON)
+elseif(LYX_BUILD_TYPE STREQUAL "gprof")
+ set(DefaultLyxDebug ON)
+ set(DefaultLyxRelease OFF)
+ set(DefaultLyxStdlibDebug OFF)
+ set(DefaultLyxEnableAssertions OFF)
+ set(DefaultLyxProfile ON)
+ set(DefaultExternalLibs OFF)
+else()
+ message(FATAL_ERROR "Invalid build type (${LYX_BUILD_TYPE}) encountered")
+endif()