Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / RunCMake / CXXModules / examples / library / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.24)
2 project(cxx_modules_library CXX)
3
4 include("${CMAKE_SOURCE_DIR}/../cxx-modules-rules.cmake")
5
6 include(GenerateExportHeader)
7
8 add_library(library)
9 generate_export_header(library)
10 target_sources(library
11   PUBLIC
12     FILE_SET HEADERS
13       BASE_DIRS
14         "${CMAKE_CURRENT_BINARY_DIR}"
15       FILES
16         "${CMAKE_CURRENT_BINARY_DIR}/library_export.h"
17     FILE_SET CXX_MODULES
18       BASE_DIRS
19         "${CMAKE_CURRENT_SOURCE_DIR}"
20       FILES
21         importable.cxx)
22 target_compile_features(library PUBLIC cxx_std_20)
23
24 add_executable(exe)
25 target_link_libraries(exe PRIVATE library)
26 target_sources(exe
27   PRIVATE
28     main.cxx)
29
30 add_test(NAME exe COMMAND exe)