summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CXXModules/examples
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-12-06 13:51:53 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-12-06 13:52:06 (GMT)
commitee79d06d451a6178da2b8e0a9f28e5d859333953 (patch)
tree5e8b235a6e1b8f89b312fc13579cb903aeb7242e /Tests/RunCMake/CXXModules/examples
parentef9cba9f4215a7a9463dd34105d248ce9dad7983 (diff)
parente63983956d973e9f3bcc6af03eaf00bf0e3f59b5 (diff)
downloadCMake-ee79d06d451a6178da2b8e0a9f28e5d859333953.zip
CMake-ee79d06d451a6178da2b8e0a9f28e5d859333953.tar.gz
CMake-ee79d06d451a6178da2b8e0a9f28e5d859333953.tar.bz2
Merge topic 'cxxmodules-msvc-corner-cases' into release-3.28
e63983956d Tests/CXXModules: enhance `internal-partitions` test 8a658fb9ec Tests/CXXModules: import from an internal partition Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9039
Diffstat (limited to 'Tests/RunCMake/CXXModules/examples')
-rw-r--r--Tests/RunCMake/CXXModules/examples/internal-partitions/CMakeLists.txt3
-rw-r--r--Tests/RunCMake/CXXModules/examples/internal-partitions/importable.cxx6
-rw-r--r--Tests/RunCMake/CXXModules/examples/internal-partitions/internal.cxx11
-rw-r--r--Tests/RunCMake/CXXModules/examples/internal-partitions/main.cxx2
-rw-r--r--Tests/RunCMake/CXXModules/examples/internal-partitions/partition.cxx8
5 files changed, 27 insertions, 3 deletions
diff --git a/Tests/RunCMake/CXXModules/examples/internal-partitions/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/internal-partitions/CMakeLists.txt
index bf99f7c..ecbae34 100644
--- a/Tests/RunCMake/CXXModules/examples/internal-partitions/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/internal-partitions/CMakeLists.txt
@@ -19,7 +19,8 @@ target_sources(internal-partitions
"${CMAKE_CURRENT_SOURCE_DIR}"
FILES
importable.cxx
- partition.cxx)
+ partition.cxx
+ internal.cxx)
target_compile_features(internal-partitions PUBLIC cxx_std_20)
add_executable(exe)
diff --git a/Tests/RunCMake/CXXModules/examples/internal-partitions/importable.cxx b/Tests/RunCMake/CXXModules/examples/internal-partitions/importable.cxx
index 3b3d313..b180cb0 100644
--- a/Tests/RunCMake/CXXModules/examples/internal-partitions/importable.cxx
+++ b/Tests/RunCMake/CXXModules/examples/internal-partitions/importable.cxx
@@ -3,6 +3,12 @@ import :internal_partition;
#include "internal-partitions_export.h"
+export struct module_struct
+{
+private:
+ partition_struct p;
+};
+
export INTERNAL_PARTITIONS_EXPORT int from_import()
{
return from_partition();
diff --git a/Tests/RunCMake/CXXModules/examples/internal-partitions/internal.cxx b/Tests/RunCMake/CXXModules/examples/internal-partitions/internal.cxx
new file mode 100644
index 0000000..9dc1470
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/internal-partitions/internal.cxx
@@ -0,0 +1,11 @@
+export module internal;
+
+export struct internal_struct
+{
+ int x;
+};
+
+export int from_internal()
+{
+ return 0;
+}
diff --git a/Tests/RunCMake/CXXModules/examples/internal-partitions/main.cxx b/Tests/RunCMake/CXXModules/examples/internal-partitions/main.cxx
index feb38d2..692a470 100644
--- a/Tests/RunCMake/CXXModules/examples/internal-partitions/main.cxx
+++ b/Tests/RunCMake/CXXModules/examples/internal-partitions/main.cxx
@@ -2,5 +2,5 @@ import importable;
int main(int argc, char* argv[])
{
- return from_import();
+ return from_import() * sizeof(module_struct);
}
diff --git a/Tests/RunCMake/CXXModules/examples/internal-partitions/partition.cxx b/Tests/RunCMake/CXXModules/examples/internal-partitions/partition.cxx
index c828612..67ab2ff3 100644
--- a/Tests/RunCMake/CXXModules/examples/internal-partitions/partition.cxx
+++ b/Tests/RunCMake/CXXModules/examples/internal-partitions/partition.cxx
@@ -1,6 +1,12 @@
module importable:internal_partition;
+import internal;
+
+struct partition_struct
+{
+ internal_struct i;
+};
int from_partition()
{
- return 0;
+ return from_internal();
}