24 lines
770 B
CMake
24 lines
770 B
CMake
|
cmake_minimum_required(VERSION 3.26)
|
||
|
project(LearningProject CXX)
|
||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||
|
|
||
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||
|
string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
|
||
|
"<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> <SOURCE>"
|
||
|
" -MT <DYNDEP_FILE> -MD -MF <DEP_FILE>"
|
||
|
" ${flags_to_scan_deps} -fdep-file=<DYNDEP_FILE> -fdep-output=<OBJECT>"
|
||
|
)
|
||
|
|
||
|
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "gcc")
|
||
|
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG
|
||
|
"${compiler_flags_for_module_map} -fmodule-mapper=<MODULE_MAP_FILE>")
|
||
|
endif()
|
||
|
|
||
|
set(CMAKE_CXX_STANDARD 20)
|
||
|
set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
|
||
|
set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "2182bf5c-ef0d-489a-91da-49dbc3090d2a")
|
||
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||
|
|
||
|
add_subdirectory(src)
|
||
|
|