CMakeLists.txt 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. cmake_minimum_required(VERSION 3.15)
  2. project(MathFunctionsComponents)
  3. # make cache variables for install destinations
  4. include(GNUInstallDirs)
  5. # specify the C++ standard
  6. set(CMAKE_CXX_STANDARD 11)
  7. set(CMAKE_CXX_STANDARD_REQUIRED True)
  8. add_subdirectory(Addition)
  9. add_subdirectory(SquareRoot)
  10. # include CMakePackageConfigHelpers macro
  11. include(CMakePackageConfigHelpers)
  12. # set version
  13. set(version 3.4.1)
  14. # generate the version file for the config file
  15. write_basic_package_version_file(
  16. "${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfigVersion.cmake"
  17. VERSION "${version}"
  18. COMPATIBILITY AnyNewerVersion
  19. )
  20. # create config file
  21. configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
  22. "${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfig.cmake"
  23. INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/MathFunctions
  24. NO_CHECK_REQUIRED_COMPONENTS_MACRO
  25. )
  26. # install config files
  27. install(FILES
  28. "${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfig.cmake"
  29. "${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfigVersion.cmake"
  30. DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/MathFunctions
  31. )