From 28bab611c62d2a7d71e22888563a8a6d21197f71 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 17 Sep 2025 19:43:36 -0400 Subject: [PATCH] Tests: Add RunCMake.Emscripten case for a shared library --- Tests/RunCMake/Emscripten/C-lib-shared.cmake | 6 ++++++ Tests/RunCMake/Emscripten/RunCMakeTest.cmake | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 Tests/RunCMake/Emscripten/C-lib-shared.cmake diff --git a/Tests/RunCMake/Emscripten/C-lib-shared.cmake b/Tests/RunCMake/Emscripten/C-lib-shared.cmake new file mode 100644 index 0000000000..2e62803a12 --- /dev/null +++ b/Tests/RunCMake/Emscripten/C-lib-shared.cmake @@ -0,0 +1,6 @@ +enable_language(C) +add_library(emscripten-test-lib SHARED libmod.c) + +add_executable(exec-lib-c module.c) +target_compile_definitions(exec-lib-c PRIVATE __USE_LIBFUN) +target_link_libraries(exec-lib-c PRIVATE emscripten-test-lib) diff --git a/Tests/RunCMake/Emscripten/RunCMakeTest.cmake b/Tests/RunCMake/Emscripten/RunCMakeTest.cmake index dd04fd7b87..4ca526487f 100644 --- a/Tests/RunCMake/Emscripten/RunCMakeTest.cmake +++ b/Tests/RunCMake/Emscripten/RunCMakeTest.cmake @@ -57,6 +57,12 @@ foreach(_emscripten_toolchain IN LISTS _emscripten_toolchains) -DCMAKE_C_COMPILER=${c_comp} ) + # Create a shared library and executable from .c sources. + run_toolchain(C-lib-shared + -DCMAKE_SYSTEM_NAME=Emscripten + -DCMAKE_C_COMPILER=${c_comp} + ) + run_cmake_with_options(C-WHOLE_ARCHIVE -DCMAKE_SYSTEM_NAME=Emscripten -DCMAKE_C_COMPILER=${c_comp}