11cmake_minimum_required (VERSION 3.23 FATAL_ERROR)
2- project (modern_cpp_project LANGUAGES CXX)
2+ project (modern_cpp_project LANGUAGES CXX VERSION 0.1.0 )
33
44# Enable C++20 with strict enforcement
55set (CMAKE_CXX_STANDARD 20)
@@ -28,7 +28,7 @@ include(Sanitizers)
2828# === Libraries ===
2929add_subdirectory (src)
3030
31- # === Application target ===
31+ # === Application ===
3232add_executable (${PROJECT_NAME}
3333 src/main.cpp
3434)
@@ -52,7 +52,7 @@ include(GNUInstallDirs)
5252include (CMakePackageConfigHelpers)
5353
5454install (TARGETS math
55- EXPORT mathTargets
55+ EXPORT ${PROJECT_NAME} Targets
5656 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
5757 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
5858 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
@@ -61,20 +61,20 @@ install(TARGETS math
6161
6262install (
6363 DIRECTORY ${CMAKE_SOURCE_DIR} /include /
64- DESTINATION include
64+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
6565)
6666
6767# Export the targets to a file
68- install (EXPORT mathTargets
69- FILE mathTargets.cmake
68+ install (
69+ EXPORT ${PROJECT_NAME} Targets
7070 NAMESPACE ${PROJECT_NAME} ::
7171 DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME}
7272)
7373
7474# Configure a version file
7575write_basic_package_version_file(
7676 "${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} ConfigVersion.cmake"
77- VERSION 1.0.0
77+ VERSION ${PROJECT_VERSION}
7878 COMPATIBILITY SameMajorVersion
7979)
8080
0 commit comments