diff options
| -rw-r--r-- | docs/users/triplets.md | 11 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_configure_cmake.cmake | 11 | ||||
| -rw-r--r-- | scripts/toolchains/osx.cmake | 2 |
3 files changed, 24 insertions, 0 deletions
diff --git a/docs/users/triplets.md b/docs/users/triplets.md index 2bb9c74b3..9ff372aed 100644 --- a/docs/users/triplets.md +++ b/docs/users/triplets.md @@ -69,6 +69,17 @@ This option also has forms for configuration-specific and C flags: - `VCPKG_C_FLAGS_DEBUG` - `VCPKG_C_FLAGS_RELEASE` +## macOS Variables + +### VCPKG_INSTALL_NAME_DIR +Sets the install name used when building macOS dynamic libraries. Default value is `@rpath`. See the CMake documentation for [CMAKE_INSTALL_NAME_DIR](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_NAME_DIR.html) for more information. + +### VCPKG_OSX_DEPLOYMENT_TARGET +Sets the minimum macOS version for compiled binaries. This also changes what versions of the macOS platform SDK that CMake will search for. See the CMake documentation for [CMAKE_OSX_DEPLOYMENT_TARGET](https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_DEPLOYMENT_TARGET.html) for more information. + +### VCPKG_OSX_SYSROOT +Set the name or path of the macOS platform SDK that will be used by CMake. See the CMake documentation for [CMAKE_OSX_SYSROOT](https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_SYSROOT.html) for more information. + ## Per-port customization The CMake Macro `PORT` will be set when interpreting the triplet file and can be used to change settings (such as `VCPKG_LIBRARY_LINKAGE`) on a per-port basis. diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index e89ac660e..617fe1a0f 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -201,6 +201,17 @@ function(vcpkg_configure_cmake) ) endif() + # Sets configuration variables for macOS builds + if(DEFINED VCPKG_INSTALL_NAME_DIR) + list(APPEND _csc_OPTIONS "-DCMAKE_INSTALL_NAME_DIR=${VCPKG_INSTALL_NAME_DIR}") + endif() + if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) + list(APPEND _csc_OPTIONS "-DCMAKE_OSX_DEPLOYMENT_TARGET=${VCPKG_OSX_DEPLOYMENT_TARGET}") + endif() + if(DEFINED VCPKG_OSX_SYSROOT) + list(APPEND _csc_OPTIONS "-DCMAKE_OSX_SYSROOT=${VCPKG_OSX_SYSROOT}") + endif() + set(rel_command ${CMAKE_COMMAND} ${_csc_SOURCE_PATH} "${_csc_OPTIONS}" "${_csc_OPTIONS_RELEASE}" -G ${GENERATOR} diff --git a/scripts/toolchains/osx.cmake b/scripts/toolchains/osx.cmake index 9c4fdb12e..296d74ebe 100644 --- a/scripts/toolchains/osx.cmake +++ b/scripts/toolchains/osx.cmake @@ -9,6 +9,8 @@ else() endif()
set(CMAKE_SYSTEM_NAME Darwin CACHE STRING "")
+set(CMAKE_MACOSX_RPATH ON CACHE BOOL "")
+
get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
if(NOT _CMAKE_IN_TRY_COMPILE)
set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "")
|
