diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake index 434541d0a8..ddd6f99034 100644 --- a/src/cmake/compiler.cmake +++ b/src/cmake/compiler.cmake @@ -420,6 +420,16 @@ if (CODECOV AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)) endif () +########################################################################### +# Profiling +# +set_cache (PROFILER "" "Build executables with profiler support (choices: gperftools)") +if (PROFILER STREQUAL "gperftools") + find_library(PROFILER_LIBRARIES NAMES profiler) + message (STATUS "Compiling for profiling with ${PROFILER}, found ${PROFILER_LIBRARIES}") +endif () + + ########################################################################### # Sanitizer options # diff --git a/src/cmake/fancy_add_executable.cmake b/src/cmake/fancy_add_executable.cmake index ae3729f2f6..d517370ea9 100644 --- a/src/cmake/fancy_add_executable.cmake +++ b/src/cmake/fancy_add_executable.cmake @@ -44,19 +44,14 @@ macro (fancy_add_executable) check_is_enabled (${_target_NAME} _target_NAME_enabled) if (_target_NAME_enabled) add_executable (${_target_NAME} ${_target_SRC}) - if (_target_INCLUDE_DIRS) - target_include_directories (${_target_NAME} PRIVATE ${_target_INCLUDE_DIRS}) - endif () - if (_target_SYSTEM_INCLUDE_DIRS) - target_include_directories (${_target_NAME} SYSTEM PRIVATE ${_target_SYSTEM_INCLUDE_DIRS}) - endif () + target_include_directories (${_target_NAME} PRIVATE ${_target_INCLUDE_DIRS}) + target_include_directories (${_target_NAME} SYSTEM PRIVATE ${_target_SYSTEM_INCLUDE_DIRS}) target_compile_definitions (${_target_NAME} PRIVATE ${_target_DEFINITIONS}) target_compile_options (${_target_NAME} PRIVATE ${_target_COMPILE_OPTIONS}) - if (_target_LINK_LIBRARIES) - target_link_libraries (${_target_NAME} PRIVATE ${_target_LINK_LIBRARIES}) - endif () + target_link_libraries (${_target_NAME} PRIVATE ${_target_LINK_LIBRARIES}) + target_link_libraries (${_target_NAME} PRIVATE ${PROFILER_LIBRARIES}) set_target_properties (${_target_NAME} PROPERTIES FOLDER ${_target_FOLDER}) check_is_enabled (INSTALL_${_target_NAME} _target_NAME_INSTALL_enabled) if (CMAKE_UNITY_BUILD AND UNITY_BUILD_MODE STREQUAL GROUP)