1 cmake_minimum_required(VERSION 3.12)
4 set(CMAKE_CXX_STANDARD 11)
6 option(INSTALL_HEADERS "Install header files" ON)
15 add_library(loguru ${loguru_sources})
16 target_include_directories(loguru PUBLIC
17 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
18 $<INSTALL_INTERFACE:include/loguru>)
21 set(THREADS_PREFER_PTHREAD_FLAG ON)
22 find_package(Threads REQUIRED)
23 target_link_libraries(loguru PUBLIC Threads::Threads ${CMAKE_DL_LIBS})
26 set(LOGURU_INCLUDE_INSTALL_DIR include/loguru CACHE PATH "Install directory for headers")
28 install(FILES ${loguru_headers} DESTINATION ${LOGURU_INCLUDE_INSTALL_DIR})
31 set(INCLUDE_INSTALL_DIR ${LOGURU_INCLUDE_INSTALL_DIR})
33 include(CMakePackageConfigHelpers)
34 configure_package_config_file(loguruConfig.cmake.in
35 ${CMAKE_CURRENT_BINARY_DIR}/loguruConfig.cmake
36 INSTALL_DESTINATION share/loguru
37 NO_CHECK_REQUIRED_COMPONENTS_MACRO
38 PATH_VARS INCLUDE_INSTALL_DIR)
40 install(TARGETS loguru
42 RUNTIME DESTINATION bin
43 LIBRARY DESTINATION lib
44 ARCHIVE DESTINATION lib
47 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/loguruConfig.cmake DESTINATION share/loguru)
48 install(EXPORT loguruTargets DESTINATION share/loguru)