tsl-devkit/lsp-server/test/test_module/CMakeLists.txt

31 lines
940 B
CMake

cmake_minimum_required(VERSION 4.0)
project(test_module LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
message(WARNING "test_module requires Clang for C++ modules; skipping")
return()
endif()
set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
add_executable(test_module main.cppm)
target_sources(
test_module
PRIVATE
FILE_SET cxx_modules TYPE CXX_MODULES
BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}
FILES main.cppm math.cppm math2.cppm)
target_compile_features(test_module PRIVATE cxx_std_23)
target_compile_options(
test_module
PRIVATE
# Re-enable implicit modules for Clang std import within this test target
-fimplicit-modules -fimplicit-module-maps
-Wall -Wextra -Wpedantic $<$<CONFIG:Debug>:-g -O0>
-Wno-import-implementation-partition-unit-in-interface-unit
$<$<CONFIG:Release>:-O3>)