mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-28 19:25:27 +08:00
[vcpkg_copy_tools] support copying .app bundles (#20210)
* [vcpkg_copy_tools] support copying .app bundles * check for VCPKG_TARGET_IS_OSX * Fix formatting * [vcpkg_copy_tools] copy bundle and plain bin if both present * Update scripts/cmake/vcpkg_copy_tools.cmake Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com> Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
This commit is contained in:
parent
f670aa5657
commit
7aa1a14c5f
@ -10,6 +10,8 @@ VCPKG_HOST_IS_<host> with <host> being one of the following:
|
|||||||
VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "<something>${VCPKG_HOST_PATH_SEPARATOR}<something>"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "")
|
VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "<something>${VCPKG_HOST_PATH_SEPARATOR}<something>"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "")
|
||||||
VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host
|
VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host
|
||||||
VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target
|
VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target
|
||||||
|
VCPKG_HOST_BUNDLE_SUFFIX bundle suffix of the host
|
||||||
|
VCPKG_TARGET_BUNDLE_SUFFIX bundle suffix of the target
|
||||||
VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
|
VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
|
||||||
VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
|
VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
|
||||||
VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
|
VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
|
||||||
|
@ -9,6 +9,8 @@ VCPKG_HOST_IS_<host> with <host> being one of the following:
|
|||||||
VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "<something>${VCPKG_HOST_PATH_SEPARATOR}<something>"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "")
|
VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "<something>${VCPKG_HOST_PATH_SEPARATOR}<something>"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "")
|
||||||
VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host
|
VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host
|
||||||
VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target
|
VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target
|
||||||
|
VCPKG_HOST_BUNDLE_SUFFIX bundle suffix of the host
|
||||||
|
VCPKG_TARGET_BUNDLE_SUFFIX bundle suffix of the target
|
||||||
VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
|
VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
|
||||||
VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
|
VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
|
||||||
VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
|
VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
|
||||||
@ -88,6 +90,19 @@ else()
|
|||||||
set(VCPKG_TARGET_EXECUTABLE_SUFFIX "")
|
set(VCPKG_TARGET_EXECUTABLE_SUFFIX "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
#Helper variables to identify bundles on host/target
|
||||||
|
if(VCPKG_HOST_IS_OSX)
|
||||||
|
set(VCPKG_HOST_BUNDLE_SUFFIX ".app")
|
||||||
|
else()
|
||||||
|
set(VCPKG_HOST_BUNDLE_SUFFIX "")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(VCPKG_TARGET_IS_OSX)
|
||||||
|
set(VCPKG_TARGET_BUNDLE_SUFFIX ".app")
|
||||||
|
else()
|
||||||
|
set(VCPKG_TARGET_BUNDLE_SUFFIX "")
|
||||||
|
endif()
|
||||||
|
|
||||||
#Helper variables for libraries
|
#Helper variables for libraries
|
||||||
if(VCPKG_TARGET_IS_MINGW)
|
if(VCPKG_TARGET_IS_MINGW)
|
||||||
set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
|
set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
|
||||||
|
@ -58,6 +58,14 @@ function(vcpkg_copy_tools)
|
|||||||
set(tool_pdb "${arg_SEARCH_DIR}/${tool_name}.pdb")
|
set(tool_pdb "${arg_SEARCH_DIR}/${tool_name}.pdb")
|
||||||
if(EXISTS "${tool_path}")
|
if(EXISTS "${tool_path}")
|
||||||
file(COPY "${tool_path}" DESTINATION "${arg_DESTINATION}")
|
file(COPY "${tool_path}" DESTINATION "${arg_DESTINATION}")
|
||||||
|
elseif(NOT "${VCPKG_TARGET_BUNDLE_SUFFIX}" STREQUAL "" AND NOT "${VCPKG_TARGET_BUNDLE_SUFFIX}" STREQUAL "${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
|
||||||
|
set(bundle_path "${arg_SEARCH_DIR}/${tool_name}${VCPKG_TARGET_BUNDLE_SUFFIX}")
|
||||||
|
if(EXISTS "${bundle_path}")
|
||||||
|
file(COPY "${bundle_path}" DESTINATION "${arg_DESTINATION}")
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "Couldn't find tool \"${tool_name}\":
|
||||||
|
neither \"${tool_path}\" nor \"${bundle_path}\" exists")
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Couldn't find tool \"${tool_name}\":
|
message(FATAL_ERROR "Couldn't find tool \"${tool_name}\":
|
||||||
\"${tool_path}\" does not exist")
|
\"${tool_path}\" does not exist")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user