aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/scripts/test_ports/cmake-user
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/scripts/test_ports/cmake-user
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/scripts/test_ports/cmake-user')
-rw-r--r--vcpkg/scripts/test_ports/cmake-user/portfile.cmake248
-rw-r--r--vcpkg/scripts/test_ports/cmake-user/project/CMakeLists.txt150
-rw-r--r--vcpkg/scripts/test_ports/cmake-user/project/FindZLIBviaPkgConfig.cmake11
-rw-r--r--vcpkg/scripts/test_ports/cmake-user/vcpkg.json183
4 files changed, 592 insertions, 0 deletions
diff --git a/vcpkg/scripts/test_ports/cmake-user/portfile.cmake b/vcpkg/scripts/test_ports/cmake-user/portfile.cmake
new file mode 100644
index 0000000..f1c3ae8
--- /dev/null
+++ b/vcpkg/scripts/test_ports/cmake-user/portfile.cmake
@@ -0,0 +1,248 @@
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+
+set(cmake_commands "")
+if("cmake-current" IN_LIST FEATURES)
+ list(APPEND cmake_commands "${CMAKE_COMMAND}")
+endif()
+if("cmake-3-16" IN_LIST FEATURES)
+ # For convenient updates, use
+ # vcpkg install ... --cmake-args=-DVCPKG_CMAKE_USER_UPDATE=1
+ set(cmake_version 3.16.3)
+ set(legacy_cmake_archive NOTFOUND)
+ string(REGEX REPLACE "([^.]*[.][^.]*).*" "\\1" cmake_major_minor "${cmake_version}")
+ if(VCPKG_HOST_IS_WINDOWS OR VCPKG_CMAKE_USER_UPDATE)
+ set(name "cmake-${cmake_version}-win64-x64")
+ vcpkg_download_distfile(legacy_cmake_archive
+ FILENAME "${name}.zip"
+ URLS "https://github.com/Kitware/CMake/releases/download/v${cmake_version}/${name}.zip"
+ "https://cmake.org/files/v${cmake_major_minor}/${name}.zip"
+ SHA512 724d22f3736f0f3503ceb6b49ebec64cd569c4c16ad4fae8ac38918b09ee67e3eaa8072e30546f14f4c13bb94c5639ec940ea1b4695c94225b2a597bb4da1ede
+ )
+ set(cmake_bin_dir "/bin")
+ endif()
+ if(VCPKG_HOST_IS_OSX OR VCPKG_CMAKE_USER_UPDATE)
+ set(name "cmake-${cmake_version}-Darwin-x86_64")
+ vcpkg_download_distfile(legacy_cmake_archive
+ FILENAME "${name}.tar.gz"
+ URLS "https://github.com/Kitware/CMake/releases/download/v${cmake_version}/${name}.tar.gz"
+ "https://cmake.org/files/v${cmake_major_minor}/${name}.tar.gz"
+ SHA512 3e59e2406f4e088b60922fbf23e92e1be3bb34c00f919625210fd93c059b5e6785afa40d3a501f36b281cde29de592f2ccffade6fa3980d0cf31dc845483184f
+ )
+ set(cmake_bin_dir "/CMake.app/Contents/bin")
+ endif()
+ if(VCPKG_HOST_IS_LINUX OR VCPKG_CMAKE_USER_UPDATE)
+ set(name "cmake-${cmake_version}-Linux-x86_64")
+ vcpkg_download_distfile(legacy_cmake_archive
+ FILENAME "${name}.tar.gz"
+ URLS "https://github.com/Kitware/CMake/releases/download/v${cmake_version}/${name}.tar.gz"
+ "https://cmake.org/files/v${cmake_major_minor}/${name}.tar.gz"
+ SHA512 03be16ad06fcabe40a36d0a510fdb58f5612108aed70cef7f68879d82b9e04ad62a9d0c30f3406df618ec219c74fc27b4be533d970bc60ac22333951d6cabe1a
+ )
+ set(cmake_bin_dir "/bin")
+ endif()
+ if(NOT legacy_cmake_archive)
+ message(FATAL_ERROR "Unable to test feature 'cmake-3-16' for '${HOST_TRIPLET}' host.")
+ endif()
+ if(VCPKG_CMAKE_USER_UPDATE)
+ message(STATUS "All downloads are up-to-date.")
+ message(FATAL_ERROR "Stopping due to VCPKG_CMAKE_USER_UPDATE being enabled.")
+ endif()
+
+ vcpkg_extract_source_archive(legacy_cmake
+ ARCHIVE "${legacy_cmake_archive}"
+ SOURCE_BASE "${cmake_version}"
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/cmake"
+ )
+ list(APPEND cmake_commands "${legacy_cmake}${cmake_bin_dir}/cmake")
+endif()
+
+vcpkg_find_acquire_program(NINJA)
+
+function(get_packages out_packages cmake_version)
+ set(packages "")
+ if("find-package" IN_LIST FEATURES)
+ file(READ "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" vcpkg_json)
+ string(JSON packages_json GET "${vcpkg_json}" "features" "find-package" "dependencies")
+ string(JSON packages_count LENGTH "${packages_json}")
+ if(packages_count GREATER 0)
+ math(EXPR last "${packages_count} - 1")
+ foreach(i RANGE 0 ${last})
+ # Some ports may be excluded via platform expressions,
+ # because they don't support particular platforms.
+ # Using the installed vcpkg_abi_info.txt as an indicator.
+ string(JSON port GET "${packages_json}" "${i}" "name")
+ if(NOT EXISTS "${CURRENT_INSTALLED_DIR}/share/${port}/vcpkg_abi_info.txt")
+ continue()
+ endif()
+ string(JSON since ERROR_VARIABLE since_not_found GET "${packages_json}" "${i}" "\$since")
+ if(since AND cmake_version VERSION_LESS since)
+ continue()
+ endif()
+ if(NOT EXISTS "${CURRENT_INSTALLED_DIR}/share/${port}/vcpkg_abi_info.txt")
+ continue()
+ endif()
+ string(JSON package GET "${packages_json}" "${i}" "\$package")
+ list(APPEND packages "${package}")
+ endforeach()
+ endif()
+ endif()
+ if("pkg-check-modules" IN_LIST FEATURES)
+ list(APPEND packages "ZLIBviaPkgConfig")
+ endif()
+ set("${out_packages}" "${packages}" PARENT_SCOPE)
+endfunction()
+
+function(test_cmake_project)
+ cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "CMAKE_COMMAND;NAME" "OPTIONS")
+ if(NOT arg_NAME)
+ message(FATAL_ERROR "The NAME argument is mandatory.")
+ endif()
+ if(NOT arg_CMAKE_COMMAND)
+ set(arg_CMAKE_COMMAND "${CMAKE_COMMAND}")
+ endif()
+
+ execute_process(
+ COMMAND "${arg_CMAKE_COMMAND}" --version
+ OUTPUT_VARIABLE cmake_version_output
+ RESULT_VARIABLE cmake_version_result
+ )
+ string(REGEX MATCH "[1-9][0-9]*\\.[0-9]*\\.[0-9]*" cmake_version "${cmake_version_output}")
+ if(cmake_version_result OR NOT cmake_version)
+ message(FATAL_ERROR "Unable to determine version for '${arg_CMAKE_COMMAND}'.")
+ endif()
+
+ set(build_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-${arg_NAME}")
+ set(base_options
+ # Interface: CMake
+ -G "Ninja"
+ "-DCMAKE_MAKE_PROGRAM=${NINJA}"
+ "-DCMAKE_VERBOSE_MAKEFILE=ON"
+ "-DCMAKE_INSTALL_PREFIX=${build_dir}/install"
+ "-DCMAKE_TOOLCHAIN_FILE=${SCRIPTS}/buildsystems/vcpkg.cmake"
+ # Interface: vcpkg.cmake and scripts/toolchains/*.cmake
+ "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}"
+ "-DVCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}"
+ "-DVCPKG_TARGET_TRIPLET=${TARGET_TRIPLET}"
+ "-DVCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE}"
+ "-DVCPKG_HOST_TRIPLET=${HOST_TRIPLET}"
+ "-DVCPKG_INSTALLED_DIR=${_VCPKG_INSTALLED_DIR}"
+ "-DVCPKG_MANIFEST_MODE=OFF"
+ # Interface: project/CMakeLists.txt
+ "-DCHECK_BUILD_TYPE=${VCPKG_BUILD_TYPE}"
+ "-DCHECK_CMAKE_VERSION=${cmake_version}"
+ # Interface: generic override
+ ${VCPKG_CMAKE_CONFIGURE_OPTIONS}
+ )
+
+ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ # Interface: CMake
+ list(APPEND base_options "-DCMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}")
+ endif()
+ if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION)
+ # Interface: scripts/toolchains/*.cmake
+ list(APPEND base_options "-DCMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}")
+ endif()
+
+ if(DEFINED VCPKG_XBOX_CONSOLE_TARGET)
+ # Interface: scripts/toolchains/xbox.cmake
+ list(APPEND base_options "-DXBOX_CONSOLE_TARGET=${VCPKG_XBOX_CONSOLE_TARGET}")
+ endif()
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ list(APPEND base_options -DBUILD_SHARED_LIBS=ON)
+ else()
+ list(APPEND base_options -DBUILD_SHARED_LIBS=OFF)
+ endif()
+
+ message(STATUS "Running tests with CMake ${cmake_version} for '${arg_NAME}'")
+ file(REMOVE_RECURSE "${build_dir}")
+ file(MAKE_DIRECTORY "${build_dir}")
+ vcpkg_execute_required_process(
+ COMMAND
+ "${arg_CMAKE_COMMAND}" "${CMAKE_CURRENT_LIST_DIR}/project"
+ ${base_options}
+ ${arg_OPTIONS}
+ WORKING_DIRECTORY "${build_dir}"
+ LOGNAME "${TARGET_TRIPLET}-${cmake_version}-${arg_NAME}-config"
+ )
+ vcpkg_execute_required_process(
+ COMMAND
+ "${arg_CMAKE_COMMAND}" --build . --target install
+ WORKING_DIRECTORY "${build_dir}"
+ LOGNAME "${TARGET_TRIPLET}-${cmake_version}-${arg_NAME}-build"
+ )
+ # To produce better error messages for failing wrappers,
+ # we run execute_process directly here, for each wrapper.
+ string(REPLACE " OFF:" ":" message
+ " CMake ${cmake_version}: @step@ with `find_package(@package@)` failed.\n"
+ " See logs for more information:\n"
+ " @log_out@\n"
+ " @log_err@\n"
+ )
+ if(DEFINED ENV{BUILD_REASON}) # On Azure Pipelines, add extra markup.
+ string(REPLACE " CMake" "##vso[task.logissue type=error]CMake" message "${message}")
+ endif()
+ get_packages(packages "${cmake_version}")
+ foreach(package IN LISTS packages)
+ string(MAKE_C_IDENTIFIER "${package}" package_string)
+ set(find_package_build_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}")
+ set(log_out "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}-out.log")
+ set(log_err "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}-err.log")
+
+ message(STATUS " find_package(${package})")
+ file(REMOVE_RECURSE "${find_package_build_dir}")
+ file(MAKE_DIRECTORY "${find_package_build_dir}")
+ execute_process(
+ COMMAND
+ "${arg_CMAKE_COMMAND}" "${CMAKE_CURRENT_LIST_DIR}/project"
+ ${base_options}
+ ${arg_OPTIONS}
+ "-DFIND_PACKAGES=${package}"
+ --trace-expand
+ OUTPUT_FILE "${log_out}"
+ ERROR_FILE "${log_err}"
+ RESULT_VARIABLE package_result
+ WORKING_DIRECTORY "${find_package_build_dir}"
+ )
+ if(package_result)
+ set(step "configuration")
+ string(CONFIGURE "${message}" package_message @ONLY)
+ message(SEND_ERROR "${package_message}")
+ else()
+ set(log_out "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}-build-out.log")
+ set(log_err "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}-build-err.log")
+ execute_process(
+ COMMAND
+ "${arg_CMAKE_COMMAND}" --build .
+ OUTPUT_FILE "${log_out}"
+ ERROR_FILE "${log_err}"
+ RESULT_VARIABLE package_result
+ WORKING_DIRECTORY "${find_package_build_dir}"
+ )
+ if(package_result)
+ set(step "build")
+ string(CONFIGURE "${message}" package_message @ONLY)
+ message(SEND_ERROR "${package_message}")
+ endif()
+ endif()
+ endforeach()
+endfunction()
+
+if(NOT DEFINED VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
+ z_vcpkg_select_default_vcpkg_chainload_toolchain()
+endif()
+
+foreach(executable IN LISTS cmake_commands)
+ test_cmake_project(NAME "release"
+ CMAKE_COMMAND "${executable}"
+ OPTIONS
+ "-DCMAKE_BUILD_TYPE=Release"
+ )
+ if (NOT VCPKG_BUILD_TYPE)
+ test_cmake_project(NAME "debug"
+ CMAKE_COMMAND "${executable}"
+ OPTIONS
+ "-DCMAKE_BUILD_TYPE=Debug"
+ )
+ endif()
+endforeach()
diff --git a/vcpkg/scripts/test_ports/cmake-user/project/CMakeLists.txt b/vcpkg/scripts/test_ports/cmake-user/project/CMakeLists.txt
new file mode 100644
index 0000000..3ebb7a3
--- /dev/null
+++ b/vcpkg/scripts/test_ports/cmake-user/project/CMakeLists.txt
@@ -0,0 +1,150 @@
+cmake_minimum_required(VERSION 3.5)
+project(cmake-user LANGUAGES C)
+
+message(STATUS "CMAKE_COMMAND: ${CMAKE_COMMAND}")
+set(CHECK_CMAKE_VERSION "NOTFOUND" CACHE STRING "Version of CMake expected to be found")
+if(NOT CHECK_CMAKE_VERSION)
+ message(WARNING "CMake version check: skipped (actual: ${CMAKE_VERSION})")
+elseif(NOT CHECK_CMAKE_VERSION VERSION_EQUAL CMAKE_VERSION)
+ message(SEND_ERROR "CMake version check: failed (actual: ${CMAKE_VERSION} expected: ${CHECK_CMAKE_VERSION})")
+else()
+ message(STATUS "CMake version check: success (actual: ${CMAKE_VERSION})")
+endif()
+
+# add_library overload
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lib.c" "int lib_unused() { return 1; }")
+add_library(lib "${CMAKE_CURRENT_BINARY_DIR}/lib.c")
+
+# add_executable overload
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/exe.c" "int main() { return 0; }")
+add_executable(exe "${CMAKE_CURRENT_BINARY_DIR}/exe.c")
+
+# install overload
+set(X_VCPKG_APPLOCAL_DEPS_INSTALL 1)
+install(TARGETS exe lib
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+
+# find_package overload and wrapper
+set(FIND_PACKAGES "" CACHE STRING "List of packages to be found and used")
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
+foreach(package ${FIND_PACKAGES})
+ set(extra_args "")
+ if(package STREQUAL "Curses")
+ set(CURSES_NEED_WIDE 1)
+ elseif(package STREQUAL "ICU")
+ set(extra_args COMPONENTS uc)
+ endif()
+ string(TOUPPER "${package}" package_upper)
+ set(CMAKE_FIND_DEBUG_MODE ON)
+ find_package("${package}" ${extra_args} QUIET)
+ set(CMAKE_FIND_DEBUG_MODE OFF)
+ if(NOT ${package}_FOUND AND NOT ${package_upper}_FOUND)
+ message(SEND_ERROR "find_package(${package} ${extra_args}) check: failed")
+ continue()
+ endif()
+ # REQUIRED changes the behaviour find_package_handle_standard_args.
+ find_package("${package}" ${extra_args} REQUIRED)
+ message(STATUS "find_package(${package} ${extra_args}) check: success")
+
+ set(libraries_var "")
+ if(DEFINED ${package}_LIBRARIES)
+ set(libraries_var "${package}_LIBRARIES")
+ elseif(DEFINED ${package_upper}_LIBRARIES)
+ set(libraries_var "${package_upper}_LIBRARIES")
+ elseif(DEFINED ${package}_LIBRARY)
+ set(libraries_var "${package}_LIBRARY")
+ elseif(DEFINED ${package_upper}_LIBRARY)
+ set(libraries_var "${package_upper}_LIBRARY")
+ else()
+ message(STATUS "${package}_LIBRARY/IES: undefined")
+ continue()
+ endif()
+ set(libraries "${${libraries_var}}")
+ message(STATUS "${libraries_var}: ${libraries}")
+
+ if(package STREQUAL "Intl" AND NOT Intl_LIBRARY)
+ continue() # using libintl.h from C runtime library
+ endif()
+ target_link_libraries(exe PRIVATE ${libraries})
+
+ set(last_keyword "")
+ foreach(item IN LISTS libraries)
+ if(item STREQUAL "optimized" OR item STREQUAL "debug")
+ set(last_keyword "${item}")
+ continue()
+ endif()
+ string(FIND "${item}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/" starts_with_release)
+ string(FIND "${item}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/" starts_with_debug)
+ if(starts_with_release EQUAL "0")
+ if(last_keyword STREQUAL "optimized")
+ # okay
+ elseif(last_keyword STREQUAL "debug")
+ message(SEND_ERROR "Release lib for 'debug' keyword: ${item}")
+ elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ message(SEND_ERROR "Release lib for 'Debug' build: ${item}")
+ endif()
+ elseif(starts_with_debug EQUAL "0")
+ if(last_keyword STREQUAL "debug")
+ # okay
+ elseif(last_keyword STREQUAL "optimized")
+ message(SEND_ERROR "Debug lib for 'optimized' keyword: ${item}")
+ elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
+ message(SEND_ERROR "Debug lib for 'Release' build: ${item}")
+ endif()
+ endif()
+ set(last_keyword "")
+ continue()
+ endforeach()
+
+ set(target "${package}::${package}")
+ string(REPLACE "SQLite3::" "SQLite::" target "${target}")
+ if(TARGET "${target}")
+ get_target_property(type "${target}" TYPE)
+ message(STATUS "${target}: ${type}")
+ if(type MATCHES "LIBRARY" AND NOT type MATCHES "INTERFACE")
+ get_target_property(configurations "${target}" IMPORTED_CONFIGURATIONS)
+ message(STATUS "IMPORTED_CONFIGURATIONS: ${configurations}")
+ if(configurations)
+ string(TOLOWER "${configurations}" configurations)
+ if("release" IN_LIST configurations)
+ set(property IMPORTED_IMPLIB_RELEASE)
+ get_target_property(location "${target}" "${property}")
+ if(NOT location)
+ set(property IMPORTED_LOCATION_RELEASE)
+ get_target_property(location "${target}" "${property}")
+ endif()
+ message(STATUS "${property}: ${location}")
+ string(FIND "${location}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" index)
+ if (NOT index EQUAL "0")
+ message(SEND_ERROR "Release lib is in wrong location.")
+ endif()
+ elseif(NOT CHECK_BUILD_TYPE OR CHECK_BUILD_TYPE STREQUAL "release")
+ message(SEND_ERROR "Release configuration is missing.")
+ endif()
+ if("debug" IN_LIST configurations)
+ set(property IMPORTED_IMPLIB_DEBUG)
+ get_target_property(location "${target}" "${property}")
+ if(NOT location)
+ set(property IMPORTED_LOCATION_DEBUG)
+ get_target_property(location "${target}" "${property}")
+ endif()
+ message(STATUS "${property}: ${location}")
+ string(FIND "${location}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" index)
+ if (NOT index EQUAL "0")
+ message(SEND_ERROR "Debug lib is in wrong location.")
+ endif()
+ elseif(NOT CHECK_BUILD_TYPE OR CHECK_BUILD_TYPE STREQUAL "debug")
+ message(SEND_ERROR "Debug configuration is missing.")
+ endif()
+ endif()
+ endif()
+ else()
+ get_directory_property(imported_targets IMPORTED_TARGETS)
+ if(imported_targets)
+ message(STATUS "Imported targets: ${imported_targets}")
+ endif()
+ endif()
+endforeach()
diff --git a/vcpkg/scripts/test_ports/cmake-user/project/FindZLIBviaPkgConfig.cmake b/vcpkg/scripts/test_ports/cmake-user/project/FindZLIBviaPkgConfig.cmake
new file mode 100644
index 0000000..5f46a94
--- /dev/null
+++ b/vcpkg/scripts/test_ports/cmake-user/project/FindZLIBviaPkgConfig.cmake
@@ -0,0 +1,11 @@
+# `pkgconf` is not recognized before CMake 3.22
+find_program(PKG_CONFIG_EXECUTABLE NAMES pkgconf REQUIRED)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(PC_ZLIB zlib)
+if(PC_ZLIB_FOUND)
+ if(NOT PC_ZLIB_LDFLAGS)
+ message(SEND_ERROR "ZLIBviaPkgConfig_LIBRARIES is empty")
+ endif()
+ set(ZLIBviaPkgConfig_LIBRARIES "${PC_ZLIB_LDFLAGS}")
+ set(ZLIBviaPkgConfig_FOUND "${PC_ZLIB_FOUND}")
+endif()
diff --git a/vcpkg/scripts/test_ports/cmake-user/vcpkg.json b/vcpkg/scripts/test_ports/cmake-user/vcpkg.json
new file mode 100644
index 0000000..4cc62e1
--- /dev/null
+++ b/vcpkg/scripts/test_ports/cmake-user/vcpkg.json
@@ -0,0 +1,183 @@
+{
+ "name": "cmake-user",
+ "version-string": "ci",
+ "description": "Test port to verify the vcpkg toolchain in cmake user projects",
+ "license": "MIT",
+ "default-features": [
+ {
+ "name": "cmake-3-16",
+ "platform": "x64 & (windows | linux | osx) & !uwp"
+ },
+ "cmake-current",
+ "find-package",
+ "pkg-check-modules"
+ ],
+ "features": {
+ "cmake-3-16": {
+ "description": "Run the tests with CMake 3.16"
+ },
+ "cmake-current": {
+ "description": "Run the tests with vcpkg's current version of CMake"
+ },
+ "find-package": {
+ "description": "Ports to be tested via find_package($package)",
+ "dependencies": [
+ {
+ "$package": "ALSA",
+ "name": "alsa",
+ "platform": "linux"
+ },
+ {
+ "$package": "Boost",
+ "name": "boost",
+ "platform": "!uwp"
+ },
+ {
+ "$package": "BZip2",
+ "name": "bzip2"
+ },
+ {
+ "$package": "CURL",
+ "name": "curl",
+ "default-features": false
+ },
+ {
+ "$package": "EXPAT",
+ "name": "expat"
+ },
+ {
+ "$package": "Fontconfig",
+ "name": "fontconfig",
+ "platform": "!mingw & !uwp"
+ },
+ {
+ "$package": "GLUT",
+ "name": "freeglut",
+ "platform": "!android & !osx & !uwp"
+ },
+ {
+ "$package": "Freetype",
+ "name": "freetype",
+ "default-features": false
+ },
+ {
+ "$package": "GDAL",
+ "name": "gdal",
+ "default-features": false,
+ "platform": "!uwp"
+ },
+ {
+ "$package": "Intl",
+ "name": "gettext-libintl"
+ },
+ {
+ "$package": "GIF",
+ "name": "giflib"
+ },
+ {
+ "$package": "ICU",
+ "name": "icu",
+ "platform": "!uwp"
+ },
+ {
+ "$package": "LAPACK",
+ "name": "lapack",
+ "platform": "!android & !(uwp & arm)"
+ },
+ {
+ "$package": "GnuTLS",
+ "name": "libgnutls",
+ "platform": "!android & (!windows | mingw)"
+ },
+ {
+ "$package": "Iconv",
+ "name": "libiconv"
+ },
+ {
+ "$package": "JPEG",
+ "name": "libjpeg-turbo"
+ },
+ {
+ "$package": "LibLZMA",
+ "name": "liblzma"
+ },
+ {
+ "$package": "PNG",
+ "name": "libpng"
+ },
+ {
+ "$package": "PostgreSQL",
+ "name": "libpq",
+ "default-features": false,
+ "platform": "!uwp & !mingw"
+ },
+ {
+ "$package": "LibXml2",
+ "name": "libxml2",
+ "default-features": false,
+ "features": [
+ "icu"
+ ]
+ },
+ {
+ "$package": "LibXslt",
+ "name": "libxslt",
+ "default-features": false,
+ "platform": "!uwp & !mingw"
+ },
+ {
+ "$package": "Curses",
+ "name": "ncurses",
+ "platform": "!windows | mingw"
+ },
+ {
+ "$package": "PhysFS",
+ "name": "physfs"
+ },
+ {
+ "$package": "GnuTLS",
+ "name": "shiftmedia-libgnutls",
+ "platform": "windows & !arm & !mingw & !uwp & !xbox"
+ },
+ {
+ "$package": "SQLite3",
+ "name": "sqlite3",
+ "default-features": false,
+ "features": [
+ "unicode"
+ ]
+ },
+ {
+ "$package": "TIFF",
+ "name": "tiff",
+ "default-features": false,
+ "features": [
+ "lerc",
+ "libdeflate",
+ "zstd"
+ ]
+ },
+ {
+ "$package": "wxWidgets",
+ "name": "wxwidgets",
+ "default-features": false,
+ "platform": "!android & !uwp"
+ },
+ {
+ "$package": "ZLIB",
+ "name": "zlib"
+ }
+ ]
+ },
+ "pkg-check-modules": {
+ "description": "Test `find_package(PkgConfig)` and pkg_check_modules(...)",
+ "dependencies": [
+ {
+ "name": "pkgconf",
+ "host": true
+ },
+ "zlib"
+ ]
+ }
+ }
+}