diff options
author | Ankit Meel <ankitjmeel@gmail.com> | 2020-10-10 14:43:03 +0300 |
---|---|---|
committer | Ankit Meel <ankitjmeel@gmail.com> | 2020-10-10 17:01:03 +0300 |
commit | c68338ee89fbd9e84aea56b1815facdb4bf645e8 (patch) | |
tree | 99e515c1005171a96bb58cfbc478fd9aa6e7c11d /build_files | |
parent | 4427a67c86450a704bd35b0f7539c0adf152fea2 (diff) |
CMake/macOS/OpenMP: copy the library near tests.
For multi-config generators, tests are in `bin/tests/<config>` folder.
and OpenMP cannot be found at `@executable_path/../Resources/lib`.
So create that folder and put the library there to be used by tests.
It is not ideal to copy the library around. When minimum CMake version
is changed to 3.12, FindOpenMP by CMake can be used for this whole
block of code. Then a nice rpath based solution can be used.
Diffstat (limited to 'build_files')
-rw-r--r-- | build_files/cmake/platform/platform_apple.cmake | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 1eaef149f30..fa64016392c 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -375,14 +375,22 @@ if(WITH_OPENMP) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L'${LIBDIR}/openmp/lib' -lomp") # Copy libomp.dylib to allow executables like datatoc and tests to work. + # `@executable_path/../Resources/lib/` is a default dylib search path. + # For single config generator datatoc, tests etc. execute_process( COMMAND mkdir -p ${CMAKE_BINARY_DIR}/Resources/lib COMMAND cp -p ${LIBDIR}/openmp/lib/libomp.dylib ${CMAKE_BINARY_DIR}/Resources/lib/libomp.dylib ) + # For multi-config generator datatoc, etc. execute_process( COMMAND mkdir -p ${CMAKE_BINARY_DIR}/bin/Resources/lib COMMAND cp -p ${LIBDIR}/openmp/lib/libomp.dylib ${CMAKE_BINARY_DIR}/bin/Resources/lib/libomp.dylib ) + # For multi-config generator tests. + execute_process( + COMMAND mkdir -p ${CMAKE_BINARY_DIR}/bin/tests/Resources/lib + COMMAND cp -p ${LIBDIR}/openmp/lib/libomp.dylib ${CMAKE_BINARY_DIR}/bin/tests/Resources/lib/libomp.dylib + ) endif() endif() |