From ad4d61462e71bbeb1d2a61da0036ae80a7d197bc Mon Sep 17 00:00:00 2001 From: mcbarton Date: Fri, 6 Jun 2025 16:27:08 +0100 Subject: [PATCH] Fix case where preloaded paths have @ in them --- unittests/CppInterOp/CMakeLists.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/unittests/CppInterOp/CMakeLists.txt b/unittests/CppInterOp/CMakeLists.txt index 0ba35053f..3372dd147 100644 --- a/unittests/CppInterOp/CMakeLists.txt +++ b/unittests/CppInterOp/CMakeLists.txt @@ -24,6 +24,7 @@ add_cppinterop_unittest(CppInterOpTests ) if(EMSCRIPTEN) + string(REPLACE "@" "@@" ESCAPED_SYSROOT_PATH "${SYSROOT_PATH}") # Explanation of Emscripten-specific link flags for CppInterOpTests: # # MAIN_MODULE=1: @@ -55,7 +56,7 @@ if(EMSCRIPTEN) PUBLIC "SHELL: -s ALLOW_MEMORY_GROWTH=1" PUBLIC "SHELL: -s STACK_SIZE=32mb" PUBLIC "SHELL: -s INITIAL_MEMORY=128mb" - PUBLIC "SHELL: --preload-file ${SYSROOT_PATH}/include@/include" + PUBLIC "SHELL: --preload-file ${ESCAPED_SYSROOT_PATH}/include@/include" PUBLIC "SHELL: --emrun" ) endif() @@ -96,6 +97,8 @@ target_link_libraries(DynamicLibraryManagerTests ) if(EMSCRIPTEN) + set(TEST_SHARED_LIBRARY_PATH "${CMAKE_CURRENT_BINARY_DIR}/TestSharedLib/unittests/bin/Release/") + string(REPLACE "@" "@@" ESCAPED_TEST_SHARED_LIBRARY_PATH "${TEST_SHARED_LIBRARY_PATH}") # Check explanation of Emscripten-specific link flags for CppInterOpTests above for DynamicLibraryManagerTests as well. target_link_options(DynamicLibraryManagerTests PUBLIC "SHELL: -s MAIN_MODULE=1" @@ -103,9 +106,9 @@ if(EMSCRIPTEN) PUBLIC "SHELL: -s ALLOW_MEMORY_GROWTH=1" PUBLIC "SHELL: -s STACK_SIZE=32mb" PUBLIC "SHELL: -s INITIAL_MEMORY=128mb" - PUBLIC "SHELL: --preload-file ${SYSROOT_PATH}/include@/include" + PUBLIC "SHELL: --preload-file ${ESCAPED_SYSROOT_PATH}/include@/include" PUBLIC "SHELL: --emrun" - PUBLIC "SHELL: --preload-file ${CMAKE_CURRENT_BINARY_DIR}/TestSharedLib/unittests/bin/Release/libTestSharedLib.so@/libTestSharedLib.so" + PUBLIC "SHELL: --preload-file ${ESCAPED_TEST_SHARED_LIBRARY_PATH}/libTestSharedLib.so@/libTestSharedLib.so" ) endif()