diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 863353dcbb..ec82ee9ae0 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -64,6 +64,12 @@ MACRO(CREATE_TESTS BACKEND AFLIBNAME GTEST_LIBS OTHER_LIBS) SET(TEST_FILES ${FILES}) ENDIF(${BACKEND} STREQUAL "unified") + # libcuda.dylib depends on @rpath/CUDA.framework/Versions/A/CUDA in /Library/Frameworks + SET(TEST_LINK_FLAGS) + IF(${DEF_NAME} STREQUAL "CUDA" AND "${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") + SET(TEST_LINK_FLAGS -F/Library/Frameworks -Xlinker -framework -Xlinker CUDA) + ENDIF(${DEF_NAME} STREQUAL "CUDA" AND "${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") + IF (${BUILD_SINGLE_TEST_FILE}) SET(TEST_NAME test_${BACKEND}) SET(TEST_NAME_BASIC test_basic_${BACKEND}) @@ -85,6 +91,10 @@ MACRO(CREATE_TESTS BACKEND AFLIBNAME GTEST_LIBS OTHER_LIBS) COMPILE_FLAGS -DAF_${DEF_NAME} FOLDER "Tests/${BACKEND}") + IF(TEST_LINK_FLAGS) + SET_TARGET_PROPERTIES(${TEST_NAME_BASIC} PROPERTIES LINK_FLAGS ${TEST_LINK_FLAGS}) + ENDIF(TEST_LINK_FLAGS) + ELSE() FOREACH(FILE ${TEST_FILES}) GET_FILENAME_COMPONENT(FNAME ${FILE} NAME_WE) @@ -109,6 +119,10 @@ MACRO(CREATE_TESTS BACKEND AFLIBNAME GTEST_LIBS OTHER_LIBS) PROPERTIES COMPILE_FLAGS -DAF_${DEF_NAME} FOLDER "Tests/${BACKEND}") + + IF(TEST_LINK_FLAGS) + SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES LINK_FLAGS ${TEST_LINK_FLAGS}) + ENDIF(TEST_LINK_FLAGS) ENDFOREACH() ENDIF()