|
@@ -1,6 +1,9 @@
|
|
|
cmake_minimum_required(VERSION 3.15)
|
|
cmake_minimum_required(VERSION 3.15)
|
|
|
project(MathFunctions)
|
|
project(MathFunctions)
|
|
|
|
|
|
|
|
|
|
+# make cache variables for install destinations
|
|
|
|
|
+include(GNUInstallDirs)
|
|
|
|
|
+
|
|
|
# specify the C++ standard
|
|
# specify the C++ standard
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
|
@@ -12,26 +15,26 @@ add_library(MathFunctions STATIC MathFunctions.cxx)
|
|
|
target_include_directories(MathFunctions
|
|
target_include_directories(MathFunctions
|
|
|
PUBLIC
|
|
PUBLIC
|
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
|
|
|
- "$<INSTALL_INTERFACE:include>"
|
|
|
|
|
|
|
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
# install the target and create export-set
|
|
# install the target and create export-set
|
|
|
install(TARGETS MathFunctions
|
|
install(TARGETS MathFunctions
|
|
|
EXPORT MathFunctionsTargets
|
|
EXPORT MathFunctionsTargets
|
|
|
- LIBRARY DESTINATION lib
|
|
|
|
|
- ARCHIVE DESTINATION lib
|
|
|
|
|
- RUNTIME DESTINATION bin
|
|
|
|
|
- INCLUDES DESTINATION include
|
|
|
|
|
|
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
|
|
|
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
# install header file
|
|
# install header file
|
|
|
-install(FILES MathFunctions.h DESTINATION include)
|
|
|
|
|
|
|
+install(FILES MathFunctions.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
|
|
|
|
|
|
# generate and install export file
|
|
# generate and install export file
|
|
|
install(EXPORT MathFunctionsTargets
|
|
install(EXPORT MathFunctionsTargets
|
|
|
FILE MathFunctionsTargets.cmake
|
|
FILE MathFunctionsTargets.cmake
|
|
|
NAMESPACE MathFunctions::
|
|
NAMESPACE MathFunctions::
|
|
|
- DESTINATION lib/cmake/MathFunctions
|
|
|
|
|
|
|
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/MathFunctions
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
# include CMakePackageConfigHelpers macro
|
|
# include CMakePackageConfigHelpers macro
|
|
@@ -58,14 +61,14 @@ write_basic_package_version_file(
|
|
|
# create config file
|
|
# create config file
|
|
|
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
|
|
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfig.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfig.cmake"
|
|
|
- INSTALL_DESTINATION lib/cmake/MathFunctions
|
|
|
|
|
|
|
+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/MathFunctions
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
# install config files
|
|
# install config files
|
|
|
install(FILES
|
|
install(FILES
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfig.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfig.cmake"
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfigVersion.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/MathFunctionsConfigVersion.cmake"
|
|
|
- DESTINATION lib/cmake/MathFunctions
|
|
|
|
|
|
|
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/MathFunctions
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
# generate the export targets for the build tree
|
|
# generate the export targets for the build tree
|