[Bf-blender-cvs] [5628aaeee1b] master: Fix build of blender_test runner on macOS

Brecht Van Lommel noreply at git.blender.org
Fri Jul 31 14:16:50 CEST 2020


Commit: 5628aaeee1b678c58c67afbbe7d91565f45618a0
Author: Brecht Van Lommel
Date:   Fri Jul 31 14:14:56 2020 +0200
Branches: master
https://developer.blender.org/rB5628aaeee1b678c58c67afbbe7d91565f45618a0

Fix build of blender_test runner on macOS

===================================================================

M	tests/gtests/runner/CMakeLists.txt

===================================================================

diff --git a/tests/gtests/runner/CMakeLists.txt b/tests/gtests/runner/CMakeLists.txt
index 954fcf914a9..87cc124bda8 100644
--- a/tests/gtests/runner/CMakeLists.txt
+++ b/tests/gtests/runner/CMakeLists.txt
@@ -35,10 +35,8 @@ endif()
 # Test libraries need to be linked "whole archive", because they're not
 # directly referenced from other code.
 get_property(_test_libs GLOBAL PROPERTY BLENDER_TEST_LIBS)
-if(WIN32)
-  # Win32 is set using target_link_options after target creation.
-elseif(APPLE)
-  list(APPEND TEST_LIBS "-Wl,-force_load" ${_test_libs})
+if(WIN32 OR APPLE)
+  # Windows and macOS set target_link_options after target creation.
 elseif(UNIX)
   list(APPEND TEST_LIBS "-Wl,--whole-archive" ${_test_libs} "-Wl,--no-whole-archive")
 else()
@@ -63,6 +61,13 @@ if(WIN32)
     target_link_libraries(blender_test ${_lib})
     target_link_options(blender_test PRIVATE /wholearchive:$<TARGET_FILE:${_lib}>)
   endforeach()
+elseif(APPLE)
+  foreach(_lib ${_test_libs})
+    # We need -force_load for every test library and target_link_libraries will
+    # deduplicate it. So explicitly set as linker option for every test lib.
+    target_link_libraries(blender_test ${_lib})
+    target_link_options(blender_test PRIVATE "LINKER:-force_load,$<TARGET_FILE:${_lib}>")
+  endforeach()
 endif()
 
 unset(_test_libs)



More information about the Bf-blender-cvs mailing list