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