diff options
| author | Arkadiy Shapkin <arkady.shapkin@gmail.com> | 2017-05-11 01:08:52 +0300 |
|---|---|---|
| committer | Arkadiy Shapkin <arkady.shapkin@gmail.com> | 2017-05-11 14:44:13 +0300 |
| commit | 083bfa14b0dd1481e08e1c6424dadd090fbb8bad (patch) | |
| tree | ebce370e1af436adaab0f076f99ded3bff6466ad /scripts/cmake | |
| parent | 6721b5337d00ea65cc8cb5fe1d8fa8c65e7a8246 (diff) | |
| download | vcpkg-083bfa14b0dd1481e08e1c6424dadd090fbb8bad.tar.gz vcpkg-083bfa14b0dd1481e08e1c6424dadd090fbb8bad.zip | |
[c-ares] Initial commit for c-ares library
vcpkg_fixup_cmake_targets() support CONFIG_PATH parameter
Diffstat (limited to 'scripts/cmake')
| -rw-r--r-- | scripts/cmake/vcpkg_fixup_cmake_targets.cmake | 47 |
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() |
