11cmake_minimum_required (VERSION 3.30 )
22
3- # Export compile commands to root directory
43set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
54
65include (cmake/CPM.cmake )
@@ -11,9 +10,7 @@ CPMAddPackage(
1110 GIT_TAG v1.1.0
1211)
1312
14- # Include cmake-git-versioning module
1513include (${cmake_git_versioning_SOURCE_DIR } /cmake/cmake-git-versioning.cmake )
16-
1714get_git_version_info ()
1815
1916project (
@@ -23,29 +20,27 @@ project(
2320 LANGUAGES CXX
2421)
2522
23+ include (CTest )
24+
2625file (WRITE "${CMAKE_BINARY_DIR } /env.sh" "PACKAGE_VERSION=${GIT_DESCRIBE_NO_V} " )
26+ generate_git_version (
27+ OUTPUT_DIR ${CMAKE_BINARY_DIR } /generated
28+ OUTPUT_FILE version .hpp
29+ )
2730
28- # Set C++ standard
29- set (CMAKE_CXX_STANDARD 23)
31+ set (CMAKE_CXX_STANDARD 26)
3032set (CMAKE_CXX_STANDARD_REQUIRED ON )
3133set (CMAKE_CXX_EXTENSIONS OFF )
32-
33- # Enable C++23 module support
34- set (CMAKE_CXX_MODULE_STD 23)
34+ set (CMAKE_CXX_MODULE_STD 26)
3535set (CMAKE_CXX_MODULE_EXTENSIONS OFF )
3636
3737CPMAddPackage (
3838 NAME cpp_core
3939 GITHUB_REPOSITORY Serial-IO/cpp-core
40- GIT_TAG main
40+ GIT_TAG v2.0.0
4141 OPTIONS
4242 "CMAKE_EXPORT_COMPILE_COMMANDS OFF"
43- )
44-
45- # Generate version information
46- generate_git_version (
47- OUTPUT_DIR ${CMAKE_BINARY_DIR } /generated
48- OUTPUT_FILE version .hpp
43+ "CPP_CORE_ENABLE_AST_EXPORT ON"
4944)
5045
5146CPMAddPackage (
@@ -57,7 +52,6 @@ CPMAddPackage(
5752 "gtest_force_shared_crt ON"
5853)
5954
60- # Library sources: src/*.cpp only, exclude *.test.cpp and test_helpers/
6155file (GLOB_RECURSE LIB_SOURCES "${CMAKE_CURRENT_SOURCE_DIR } /src/*.cpp" )
6256list (FILTER LIB_SOURCES EXCLUDE REGEX ".*\\ .test\\ .cpp$" )
6357list (FILTER LIB_SOURCES EXCLUDE REGEX ".*/test_helpers/.*" )
@@ -86,9 +80,8 @@ target_link_libraries(
8680 cpp_core::cpp_core
8781)
8882
89- target_compile_features (cpp_bindings_linux PUBLIC cxx_std_23 )
83+ target_compile_features (cpp_bindings_linux PUBLIC cxx_std_26 )
9084
91- # Test sources: src/*.test.cpp, tests/*.test.cpp, src/test_helpers/*.cpp (helpers excluded from lib)
9285file (GLOB SRC_UNIT_TESTS "${CMAKE_CURRENT_SOURCE_DIR } /src/*.test.cpp" )
9386file (GLOB TESTS_INTEGRATION "${CMAKE_CURRENT_SOURCE_DIR } /tests/*.test.cpp" )
9487file (GLOB TEST_HELPER_SOURCES "${CMAKE_CURRENT_SOURCE_DIR } /src/test_helpers/*.cpp" )
@@ -114,7 +107,10 @@ if(TEST_SOURCES)
114107 GTest::gmock
115108 )
116109
117- target_compile_features (cpp_bindings_linux_tests PRIVATE cxx_std_23 )
110+ target_compile_features (cpp_bindings_linux_tests PRIVATE cxx_std_26 )
111+
112+ include (GoogleTest )
113+ gtest_discover_tests (cpp_bindings_linux_tests )
118114endif ()
119115
120116include (GNUInstallDirs )
@@ -133,7 +129,6 @@ install(
133129 FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
134130)
135131
136- # Copy generated version header
137132install (
138133 FILES ${CMAKE_BINARY_DIR } /generated/version.hpp
139134 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
0 commit comments