You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
693 B
31 lines
693 B
2 years ago
|
cmake_minimum_required(VERSION 3.24)
|
||
|
project(cxx_modules_library CXX)
|
||
|
|
||
|
include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
|
||
|
|
||
|
include(GenerateExportHeader)
|
||
|
|
||
|
add_library(library)
|
||
|
generate_export_header(library)
|
||
|
target_sources(library
|
||
|
PUBLIC
|
||
|
FILE_SET HEADERS
|
||
|
BASE_DIRS
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}"
|
||
|
FILES
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/library_export.h"
|
||
|
FILE_SET CXX_MODULES
|
||
|
BASE_DIRS
|
||
|
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||
|
FILES
|
||
|
importable.cxx)
|
||
|
target_compile_features(library PUBLIC cxx_std_20)
|
||
|
|
||
|
add_executable(exe)
|
||
|
target_link_libraries(exe PRIVATE library)
|
||
|
target_sources(exe
|
||
|
PRIVATE
|
||
|
main.cxx)
|
||
|
|
||
|
add_test(NAME exe COMMAND exe)
|