INCLUDE(CheckLibraryExists)
INCLUDE(GNUInstallDirs)
-set(CMAKE_BUILD_TYPE Debug CACHE STRING "the type of build")
+if(NOT CMAKE_BUILD_TYPE)
+ if(BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE ${BUILD_TYPE} CACHE STRING "the type of build" FORCE)
+ else()
+ set(CMAKE_BUILD_TYPE RELEASE CACHE STRING "the type of build" FORCE)
+ endif()
+endif()
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMP0048 1)
# Compilation option depending on CMAKE_BUILD_TYPE
##################################################
set(PROFILING_COMPILE_OPTIONS -g -O0 -pg -Wp,-U_FORTIFY_SOURCE CACHE STRING "Compilation flags for PROFILING build type.")
-set(DEBUG_COMPILE_OPTIONS -g -ggdb -Og -D_FORTIFY_SOURCE=2 CACHE STRING "Compilation flags for DEBUG build type.")
+set(DEBUG_COMPILE_OPTIONS -g -ggdb CACHE STRING "Compilation flags for DEBUG build type.")
+set(TEST_COMPILE_OPTIONS -g -ggdb CACHE STRING "Compilation flags for TEST build type.")
set(COVERAGE_COMPILE_OPTIONS -g --coverage CACHE STRING "Compilation flags for COVERAGE build type.")
set(RELEASE_COMPILE_OPTIONS -O2 -D_FORTIFY_SOURCE=2 CACHE STRING "Compilation flags for RELEASE build type.")
foreach(option ${PROFILING_COMPILE_OPTIONS})
foreach(option ${DEBUG_COMPILE_OPTIONS})
add_compile_options($<$<CONFIG:DEBUG>:${option}>)
endforeach()
+foreach(option ${TEST_COMPILE_OPTIONS})
+ add_compile_options($<$<CONFIG:TEST>:${option}>)
+endforeach()
foreach(option ${COVERAGE_COMPILE_OPTIONS})
add_compile_options($<$<CONFIG:COVERAGE>:${option}>)
endforeach()
list (APPEND link_libraries ${libefence_LIBRARIES})
ENDIF(HAVE_LIBEFENCE)
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG AND USE_EFENCE)
+IF(CMAKE_BUILD_TYPE MATCHES COVERAGE)
+ list (APPEND link_libraries -coverage)
+ENDIF(CMAKE_BUILD_TYPE MATCHES COVERAGE)
# set default include directories
INCLUDE_DIRECTORIES(${EXTRA_INCLUDE_DIRS})