coz/CMakeLists.txt
2022-08-11 18:13:39 -04:00

55 lines
1.8 KiB
CMake

cmake_minimum_required(VERSION 3.13.0)
project(coz VERSION 0.2.2 LANGUAGES C CXX)
enable_testing()
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CONAN_CMAKE_SILENT_OUTPUT ON)
list(APPEND CMAKE_MODULE_PATH ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake)
find_package(Threads REQUIRED)
find_package(libelfin REQUIRED)
add_compile_options(-gdwarf-3)
option(INSTALL_COZ "Enable installation of coz. (Projects embedding coz may want to turn this OFF.)" ON)
if(INSTALL_COZ)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
install(PROGRAMS coz DESTINATION bin)
install(FILES LICENSE.md DESTINATION licenses)
configure_package_config_file(
cmake/coz-profilerConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/coz-profilerConfig.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/coz-profilerConfigVersion.cmake
COMPATIBILITY ExactVersion) # SameMajor only applies to versions >= 1.0. Versions 0.x have to match exactly according to semver.org
install(
FILES
${CMAKE_CURRENT_BINARY_DIR}/coz-profilerConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/coz-profilerConfigVersion.cmake
DESTINATION
${CMAKE_INSTALL_LIBDIR}/cmake)
install(
EXPORT coz-profilerTargets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake
NAMESPACE coz::)
endif()
add_subdirectory(libcoz)
option(BUILD_BENCHMARKS "Build benchmarks" OFF)
if(BUILD_BENCHMARKS)
if(NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))
message(FATAL_ERROR "Build benchmarks with debug information - use Debug or RelWithDebInfo")
endif()
find_package(SQLite3 REQUIRED)
find_package(BZip2 REQUIRED)
add_subdirectory(benchmarks)
endif()