Properly handle prepending user-specified paths to DYLD_FRAMEWORK_PATH

This commit is contained in:
Martin Hořeňovský 2024-08-13 23:05:21 +02:00
parent 1538be67cb
commit a579b5f640
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A

View File

@ -65,7 +65,9 @@ function(catch_discover_tests_impl)
endif()
if(APPLE AND dl_framework_paths)
cmake_path(CONVERT "${dl_framework_paths}" TO_NATIVE_PATH_LIST paths)
cmake_path(CONVERT "$ENV{DYLD_FRAMEWORK_PATH}" TO_NATIVE_PATH_LIST env_dl_framework_paths)
list(PREPEND env_dl_framework_paths "${dl_framework_paths}")
cmake_path(CONVERT "${env_dl_framework_paths}" TO_NATIVE_PATH_LIST paths)
set(ENV{DYLD_FRAMEWORK_PATH} "${paths}")
endif()
@ -133,7 +135,7 @@ function(catch_discover_tests_impl)
if(APPLE AND dl_framework_paths)
foreach(path ${dl_framework_paths})
cmake_path(NATIVE_PATH path native_path)
list(APPEND environment_modifications "DYLD_FRAMEWORK_PATH=path_list_prepend:${native_path}")
list(PREPEND environment_modifications "DYLD_FRAMEWORK_PATH=path_list_prepend:${native_path}")
endforeach()
endif()