Skip to content

Commit 450c9e0

Browse files
authored
Fix packaging scripts on MacOS (#698)
1 parent 3f21222 commit 450c9e0

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ include(cmake/OpenSSL.cmake)
7676

7777
include(cmake/VersionInfo.cmake)
7878

79+
include(cmake/RPath.cmake)
80+
7981
add_subdirectory(core/platform)
8082
set(couchbase_cxx_client_FILES
8183
${CMAKE_CURRENT_BINARY_DIR}/generated/mozilla_ca_bundle.cxx

cmake/CompilerWarnings.cmake

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,6 @@ function(set_project_warnings project_name)
7070
)
7171

7272
set(CLANG_WARNINGS ${COMMON_WARNINGS})
73-
if(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL "17.0.0")
74-
set(CLANG_WARNINGS ${CLANG_WARNINGS} -Wshadow # warn the user if a variable declaration shadows one from a parent
75-
# context
76-
)
77-
endif()
7873

7974
if(MSVC)
8075
set(PROJECT_WARNINGS ${MSVC_WARNINGS})

cmake/Packaging.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,13 @@ set(COUCHBASE_CXX_CLIENT_MANIFEST "${PROJECT_BINARY_DIR}/packaging/MANIFEST")
4141
if(APPLE)
4242
find_program(TAR gtar)
4343
find_program(SED gsed)
44+
find_program(XARGS gxargs)
45+
find_program(CP gcp)
4446
else()
4547
find_program(TAR tar)
4648
find_program(SED sed)
49+
find_program(XARGS xargs)
50+
find_program(CP cp)
4751
endif()
4852

4953
add_custom_command(
@@ -86,12 +90,12 @@ add_custom_command(
8690
-DCPM_USE_LOCAL_PACKAGES=OFF -DCOUCHBASE_CXX_CLIENT_BUILD_STATIC=OFF -DCOUCHBASE_CXX_CLIENT_INSTALL=ON
8791
-DCOUCHBASE_CXX_RECORD_BUILD_INFO_FOR_TARBALL=ON
8892
COMMAND
89-
xargs --arg-file=${COUCHBASE_CXX_TARBALL_THIRD_PARTY_GLOB_FILE} -I {} find
93+
${XARGS} --arg-file=${COUCHBASE_CXX_TARBALL_THIRD_PARTY_GLOB_FILE} -I {} find
9094
"${COUCHBASE_CXX_CLIENT_TARBALL_NAME}/tmp/cache" -wholename "${COUCHBASE_CXX_CLIENT_TARBALL_NAME}/tmp/cache/{}"
9195
-type f | grep -v "crypto_test_data\\|googletest" | uniq >
9296
"${COUCHBASE_CXX_CLIENT_TARBALL_NAME}/tmp/third_party_manifest.txt"
9397
COMMAND ${CMAKE_COMMAND} -E make_directory "${COUCHBASE_CXX_CLIENT_TARBALL_NAME}/tmp/filtered_cache"
94-
COMMAND xargs --arg-file="${COUCHBASE_CXX_CLIENT_TARBALL_NAME}/tmp/third_party_manifest.txt" -I {} cp --parents {}
98+
COMMAND ${XARGS} --arg-file="${COUCHBASE_CXX_CLIENT_TARBALL_NAME}/tmp/third_party_manifest.txt" -I {} ${CP} --parents {}
9599
"${COUCHBASE_CXX_CLIENT_TARBALL_NAME}/tmp/filtered_cache"
96100
COMMAND
97101
${CMAKE_COMMAND} -E rename

cmake/RPath.cmake

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
if(NOT MSVC)
2+
if(APPLE)
3+
set(CMAKE_MACOSX_RPATH ON)
4+
endif()
5+
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
6+
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" isSystemDir)
7+
if("${isSystemDir}" STREQUAL "-1")
8+
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
9+
endif()
10+
endif()

0 commit comments

Comments
 (0)