You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.3 KiB

2 years ago
  1. cmake_minimum_required(VERSION 3.8)
  2. project(clipp
  3. VERSION 1.2.3
  4. LANGUAGES CXX)
  5. include(GNUInstallDirs)
  6. set(CMAKE_VERBOSE_MAKEFILE ON)
  7. message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
  8. add_library(${PROJECT_NAME} INTERFACE)
  9. add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
  10. target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_11)
  11. target_include_directories(${PROJECT_NAME} INTERFACE
  12. $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
  13. $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
  14. )
  15. set(CONFIG_VERSION_FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake)
  16. include(CMakePackageConfigHelpers)
  17. write_basic_package_version_file(
  18. ${CONFIG_VERSION_FILE} COMPATIBILITY AnyNewerVersion
  19. )
  20. install(DIRECTORY include/
  21. DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
  22. FILES_MATCHING PATTERN "*.h"
  23. )
  24. install(TARGETS ${PROJECT_NAME}
  25. EXPORT ${PROJECT_NAME}-config
  26. )
  27. install(EXPORT ${PROJECT_NAME}-config
  28. DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}
  29. NAMESPACE ${PROJECT_NAME}::
  30. )
  31. install(FILES ${CONFIG_VERSION_FILE}
  32. DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}
  33. )
  34. option(BUILD_TESTING "Do not build tests by default" OFF)
  35. include(CTest)
  36. if(BUILD_TESTING AND ${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
  37. add_subdirectory(test)
  38. endif()