Skip to content
Snippets Groups Projects
Commit e840b5eb authored by Nicky Dasmijn's avatar Nicky Dasmijn
Browse files

MacOs packaging is weird, as Nat already did point out :(

Part of his change was omly taking Release builds into account, the other
part from me made the same mistake.
Use a generator expression with a custom command to get the symlink the way
we want.
parent 8c1427c3
No related branches found
No related tags found
No related merge requests found
...@@ -152,15 +152,6 @@ if(WINDOWS) ...@@ -152,15 +152,6 @@ if(WINDOWS)
endforeach() endforeach()
elseif(DARWIN) elseif(DARWIN)
# Support our "@executable_path/../Resources" load path for executables
# that end up in any of the above SHARED_LIB_STAGING_DIR_MUMBLE
# directories.
# Cannot use ${SHARED_LIB_STAGING_DIR} here as it used a generator expression and tha this not
# supported by file(...)
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/sharedlibs/Release/Resources")
file(CREATE_LINK "${CMAKE_BINARY_DIR}/sharedlibs/Release/Resources" "${CMAKE_BINARY_DIR}/sharedlibs/Resources"
SYMBOLIC)
set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}") set(vivox_lib_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
set(slvoice_files SLVoice) set(slvoice_files SLVoice)
set(vivox_libs set(vivox_libs
...@@ -299,3 +290,12 @@ add_custom_target( ...@@ -299,3 +290,12 @@ add_custom_target(
stage_third_party_libs ALL stage_third_party_libs ALL
DEPENDS ${third_party_targets} DEPENDS ${third_party_targets}
) )
if(DARWIN)
# Support our "@executable_path/../Resources" load path for executables
# that end up in any of the above SHARED_LIB_STAGING_DIR_MUMBLE
# directories.
add_custom_command( TARGET stage_third_party_libs POST_BUILD
COMMAND cmake -E create_symlink ${SHARED_LIB_STAGING_DIR} ${CMAKE_BINARY_DIR}/sharedlibs/Resources
)
endif()
\ No newline at end of file
...@@ -74,15 +74,6 @@ if (WINDOWS) ...@@ -74,15 +74,6 @@ if (WINDOWS)
LINK_FLAGS "/NODEFAULTLIB:LIBCMT" LINK_FLAGS "/NODEFAULTLIB:LIBCMT"
LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\"" LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\""
) )
elseif (DARWIN)
# Support our "@executable_path/../Resources" load path for our test
# executable. This SHOULD properly be "$<TARGET_FILE_DIR:lltest>/Resources",
# but the CMake $<TARGET_FILE_DIR> generator expression isn't evaluated by
# CREATE_LINK, so fudge it.
# Make sure the symlink's parent directory exists...
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/test")
file(CREATE_LINK "../sharedlibs/Release/Resources" "${CMAKE_BINARY_DIR}/test/Resources"
SYMBOLIC)
endif (WINDOWS) endif (WINDOWS)
set(TEST_EXE $<TARGET_FILE:lltest>) set(TEST_EXE $<TARGET_FILE:lltest>)
...@@ -111,4 +102,13 @@ set(test_results ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt) ...@@ -111,4 +102,13 @@ set(test_results ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt)
# developers choose to disable LL_TESTS. # developers choose to disable LL_TESTS.
if (LL_TESTS) if (LL_TESTS)
add_custom_target(tests_ok ALL DEPENDS ${test_results}) add_custom_target(tests_ok ALL DEPENDS ${test_results})
if(DARWIN)
# Support our "@executable_path/../Resources" load path for our test
# executable. This SHOULD properly be "$<TARGET_FILE_DIR:lltest>/Resources",
# but the CMake $<TARGET_FILE_DIR> generator expression isn't evaluated by
# CREATE_LINK, so fudge it.
add_custom_command( TARGET tests_ok PRE_BUILD
COMMAND cmake -E create_symlink ${SHARED_LIB_STAGING_DIR} ${CMAKE_BINARY_DIR}/test/Resource
)
endif()
endif (LL_TESTS) endif (LL_TESTS)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment