@@ -9,6 +9,17 @@ project(
9
9
VERSION 0.0.1
10
10
)
11
11
12
+ # gersemi: off
13
+
14
+ # Modules opt in only on compilers that support g++-15 and clang-20
15
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 20 )
16
+ set (CMAKE_CXX_SCAN_FOR_MODULES 1 )
17
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15 )
18
+ set (CMAKE_CXX_SCAN_FOR_MODULES 1 )
19
+ elseif ()
20
+ set (CMAKE_CXX_SCAN_FOR_MODULES 0 )
21
+ endif ()
22
+
12
23
set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
13
24
14
25
# [CMAKE.SKIP_TESTS]
@@ -31,24 +42,15 @@ option(
31
42
${PROJECT_IS_TOP_LEVEL}
32
43
)
33
44
34
- # gersemi: off
35
-
36
45
message (
37
46
"Compiler is: ${CMAKE_CXX_COMPILER_ID} version: ${CMAKE_CXX_COMPILER_VERSION} "
38
47
)
39
-
40
- # Modules opt in only on compilers that support g++-15 and clang-20
41
- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 20 )
42
- set (CMAKE_CXX_SCAN_FOR_MODULES 1 )
43
- elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15 )
44
- set (CMAKE_CXX_SCAN_FOR_MODULES 1 )
45
- elseif ()
46
- set (CMAKE_CXX_SCAN_FOR_MODULES 0 )
47
- endif ()
48
+ message (
49
+ "cmake is: ${CMAKE_VERSION} modules scan : ${CMAKE_CXX_SCAN_FOR_MODULES} "
50
+ )
48
51
49
52
if (CMAKE_CXX_SCAN_FOR_MODULES )
50
53
add_library (beman.scope )
51
- # target_compile_features(beman.scope PRIVATE cxx_std_23)
52
54
target_sources (
53
55
beman.scope
54
56
PUBLIC
@@ -62,7 +64,6 @@ if(CMAKE_CXX_SCAN_FOR_MODULES)
62
64
)
63
65
else ()
64
66
add_library (beman.scope INTERFACE )
65
- # target_compile_features(beman.scope INTERFACE cxx_std_20)
66
67
target_sources (
67
68
beman.scope
68
69
INTERFACE
0 commit comments