aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-05-14 23:01:53 -0700
committerGitHub <noreply@github.com>2017-05-14 23:01:53 -0700
commit7d17afb681cca16d5d88c0f20898f2619a2b04b5 (patch)
tree559b19b76577331436317eb6a0c72fe1b0d5f252 /scripts
parent74c2c23c13da7889787cb0c1c0bc857bc6122d9e (diff)
parent7759a557cbc798be00cc7e1a792bb055c1af49dc (diff)
downloadvcpkg-7d17afb681cca16d5d88c0f20898f2619a2b04b5.tar.gz
vcpkg-7d17afb681cca16d5d88c0f20898f2619a2b04b5.zip
Merge pull request #1078 from KindDragon/grpc
Grpc 1.3.1
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/vcpkg_fixup_cmake_targets.cmake47
1 files changed, 45 insertions, 2 deletions
diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
index f753f6396..7c1891584 100644
--- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
+++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
@@ -7,15 +7,58 @@
# Transform all references matching /bin/*.exe to /tools/<port>/*.exe
#
# ::
-# vcpkg_fixup_cmake_targets()
+# vcpkg_fixup_cmake_targets([CONFIG_PATH <config_path>])
+#
+# ``CONFIG_PATH``
+# *.cmake files subdirectory (like "lib/cmake/${PORT}").
#
function(vcpkg_fixup_cmake_targets)
- cmake_parse_arguments(_vfct "" "" "" ${ARGN})
+ cmake_parse_arguments(_vfct "" "CONFIG_PATH" "" ${ARGN})
set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/share/${PORT})
set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/share/${PORT})
+ if(NOT ${_vfct_CONFIG_PATH} STREQUAL "")
+ set(DEBUG_CONFIG ${CURRENT_PACKAGES_DIR}/debug/${_vfct_CONFIG_PATH})
+ set(RELEASE_CONFIG ${CURRENT_PACKAGES_DIR}/${_vfct_CONFIG_PATH})
+
+ if(NOT EXISTS ${DEBUG_CONFIG})
+ message(FATAL_ERROR "'${DEBUG_CONFIG}' does not exist.")
+ endif()
+
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/share)
+ file(RENAME ${DEBUG_CONFIG} ${DEBUG_SHARE})
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
+ file(RENAME ${RELEASE_CONFIG} ${RELEASE_SHARE})
+
+ get_filename_component(DEBUG_CONFIG_DIR_NAME ${DEBUG_CONFIG} NAME)
+ string(TOLOWER "${DEBUG_CONFIG_DIR_NAME}" DEBUG_CONFIG_DIR_NAME)
+ if(${DEBUG_CONFIG_DIR_NAME} STREQUAL "cmake")
+ file(REMOVE_RECURSE ${DEBUG_CONFIG})
+ else()
+ get_filename_component(DEBUG_CONFIG_PARENT_DIR ${DEBUG_CONFIG} DIRECTORY)
+ get_filename_component(DEBUG_CONFIG_DIR_NAME ${DEBUG_CONFIG_PARENT_DIR} NAME)
+ string(TOLOWER "${DEBUG_CONFIG_DIR_NAME}" DEBUG_CONFIG_DIR_NAME)
+ if(${DEBUG_CONFIG_DIR_NAME} STREQUAL "cmake")
+ file(REMOVE_RECURSE ${DEBUG_CONFIG_PARENT_DIR})
+ endif()
+ endif()
+
+ get_filename_component(RELEASE_CONFIG_DIR_NAME ${RELEASE_CONFIG} NAME)
+ string(TOLOWER "${RELEASE_CONFIG_DIR_NAME}" RELEASE_CONFIG_DIR_NAME)
+ if(${RELEASE_CONFIG_DIR_NAME} STREQUAL "cmake")
+ file(REMOVE_RECURSE ${RELEASE_CONFIG})
+ else()
+ get_filename_component(RELEASE_CONFIG_PARENT_DIR ${RELEASE_CONFIG} DIRECTORY)
+ get_filename_component(RELEASE_CONFIG_DIR_NAME ${RELEASE_CONFIG_PARENT_DIR} NAME)
+ string(TOLOWER "${RELEASE_CONFIG_DIR_NAME}" RELEASE_CONFIG_DIR_NAME)
+ if(${RELEASE_CONFIG_DIR_NAME} STREQUAL "cmake")
+ file(REMOVE_RECURSE ${RELEASE_CONFIG_PARENT_DIR})
+ endif()
+ endif()
+ endif()
+
if(NOT EXISTS ${DEBUG_SHARE})
message(FATAL_ERROR "'${DEBUG_SHARE}' does not exist.")
endif()