vcpkg/scripts/test_ports/vcpkg-cpp-module-consumer/portfile.cmake

61 lines
2.7 KiB
CMake

vcpkg_cmake_configure(
SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}"
)
vcpkg_cmake_install()
set(Z_VCPKG_CPP_MODULE_CONSUMER_CAN_RUN OFF)
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_HOST_IS_WINDOWS)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR
CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(ARM64|arm64)$" OR
(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(AMD64|amd64|x86_64)$") OR
(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(ARM|arm)$") OR
(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(ARM64|arm64)$"))
set(Z_VCPKG_CPP_MODULE_CONSUMER_CAN_RUN ON)
endif()
elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_HOST_IS_LINUX)
if((VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(x86|i.86|x86_64|AMD64|amd64)$") OR
(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64|amd64)$") OR
(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm|armv[6-8].*)$") OR
(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|ARM64)$"))
set(Z_VCPKG_CPP_MODULE_CONSUMER_CAN_RUN ON)
endif()
elseif(VCPKG_TARGET_IS_OSX AND VCPKG_HOST_IS_OSX)
if((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm64|ARM64)$") OR
(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm64|ARM64)$") OR
(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64|amd64)$"))
set(Z_VCPKG_CPP_MODULE_CONSUMER_CAN_RUN ON)
endif()
endif()
if(NOT VCPKG_BUILD_TYPE)
vcpkg_copy_tools(
TOOL_NAMES consumer
SEARCH_DIR "${CURRENT_PACKAGES_DIR}/debug/bin"
DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}"
)
if(Z_VCPKG_CPP_MODULE_CONSUMER_CAN_RUN)
execute_process(
COMMAND "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/consumer${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
COMMAND_ERROR_IS_FATAL ANY
)
endif()
endif()
vcpkg_copy_tools(
TOOL_NAMES consumer
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}"
)
if(Z_VCPKG_CPP_MODULE_CONSUMER_CAN_RUN)
execute_process(
COMMAND "${CURRENT_PACKAGES_DIR}/tools/${PORT}/consumer${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
COMMAND_ERROR_IS_FATAL ANY
)
endif()
vcpkg_clean_executables_in_bin(FILE_NAMES consumer)
file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "This test port is part of vcpkg.")
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)