[Fix uwp toolchain|world rebuild] make ninja work for uwp (#22831)

This commit is contained in:
Alexander Neumann 2022-04-28 03:12:48 +02:00 committed by GitHub
parent e9d2b4c40e
commit 05c93c5c5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 250 additions and 128 deletions

View File

@ -96,10 +96,7 @@ if(VCPKG_DETECTED_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
list(TRANSFORM libpath_args PREPEND "/AI\"")
list(TRANSFORM libpath_args APPEND "\"")
list(JOIN libpath_args " " libpath_arg)
string(APPEND CXXFLAGS " /ZW")
string(APPEND COMPILEFLAGS " ${libpath_arg} /D_WIN32_WINNT=0x0A00")
string(APPEND CFLAGS " -Zl")
list(APPEND B2_OPTIONS windows-api=store)
list(APPEND B2_OPTIONS linkflags=WindowsApp.lib)
endif()

View File

@ -1,6 +1,7 @@
{
"name": "boost-modular-build-helper",
"version": "1.79.0",
"port-version": 1,
"description": "Internal vcpkg port used to build Boost libraries",
"license": "MIT",
"dependencies": [

View File

@ -23,9 +23,13 @@ vcpkg_check_features(
websockets CPPREST_EXCLUDE_WEBSOCKETS
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/Release
PREFER_NINJA
if(VCPKG_TARGET_IS_UWP)
set(configure_opts WINDOWS_USE_MSBUILD)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/Release"
${configure_opts}
OPTIONS
${OPTIONS}
${FEATURE_OPTIONS}
@ -38,16 +42,16 @@ vcpkg_configure_cmake(
-DCPPREST_INSTALL_HEADERS=OFF
)
vcpkg_install_cmake()
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/share/${PORT})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/share ${CURRENT_PACKAGES_DIR}/lib/share)
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/share/${PORT}")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/share" "${CURRENT_PACKAGES_DIR}/lib/share")
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/cpprest/details/cpprest_compat.h
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cpprest/details/cpprest_compat.h"
"#ifdef _NO_ASYNCRTIMP" "#if 1")
endif()
file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,6 +1,7 @@
{
"name": "cpprestsdk",
"version-string": "2.10.18",
"version": "2.10.18",
"port-version": 1,
"description": [
"C++11 JSON, REST, and OAuth library",
"The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services."
@ -42,6 +43,14 @@
{
"name": "openssl",
"platform": "!uwp & !windows"
},
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"default-features": [

View File

@ -1,10 +1,11 @@
{
"name": "igraph",
"version": "0.9.8",
"port-version": 1,
"port-version": 2,
"description": "igraph is a C library for network analysis and graph theory, with an emphasis on efficiency portability and ease of use.",
"homepage": "https://igraph.org/",
"license": "GPL-2.0-or-later",
"supports": "!uwp",
"dependencies": [
"blas",
"lapack",

View File

@ -16,18 +16,22 @@ vcpkg_extract_source_archive_ex(
PATCHES 001-fix-static-build.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
if(VCPKG_TARGET_IS_UWP)
set(configure_opts WINDOWS_USE_MSBUILD)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
${configure_opts}
OPTIONS
-DCERF_CPP=ON
-DLIB_MAN=OFF
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
)
vcpkg_install_cmake()
vcpkg_cmake_install()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcerf RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libcerf" RENAME copyright)
vcpkg_fixup_pkgconfig()

View File

@ -1,7 +1,13 @@
{
"name": "libcerf",
"version-string": "1.13",
"port-version": 2,
"version": "1.13",
"port-version": 3,
"description": "A self-contained numeric library that provides an efficient and accurate implementation of complex error functions, along with Dawson, Faddeeva, and Voigt functions.",
"homepage": "https://jugit.fz-juelich.de/mlz/libcerf"
"homepage": "https://jugit.fz-juelich.de/mlz/libcerf",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
}

View File

@ -8,15 +8,14 @@ vcpkg_from_github(
message(STATUS "source path is : ${SOURCE_PATH}")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFIX_NINJA
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
)
vcpkg_install_cmake()
vcpkg_cmake_install()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblbfgs RENAME copyright)
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/liblbfgs" RENAME copyright)

View File

@ -1,7 +1,13 @@
{
"name": "liblbfgs",
"version-string": "1.10",
"port-version": 1,
"version": "1.10",
"port-version": 2,
"description": "libLBFGS: a library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)",
"homepage": "http://www.chokkan.org/software/liblbfgs/"
"homepage": "http://www.chokkan.org/software/liblbfgs/",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
}

View File

@ -16,11 +16,7 @@ file(REMOVE "${SOURCE_PATH}/cmake_modules/FindProtobuf.cmake")
file(REMOVE "${SOURCE_PATH}/cmake_modules/FindSnappy.cmake")
file(REMOVE "${SOURCE_PATH}/cmake_modules/FindZLIB.cmake")
if(CMAKE_HOST_WIN32)
set(PROTOBUF_EXECUTABLE ${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc.exe)
else()
set(PROTOBUF_EXECUTABLE ${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc)
endif()
set(PROTOBUF_EXECUTABLE "${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX}")
if(VCPKG_TARGET_IS_WINDOWS)
set(BUILD_TOOLS OFF)
@ -28,9 +24,13 @@ else()
set(BUILD_TOOLS ON)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
if(VCPKG_TARGET_IS_UWP)
set(configure_opts WINDOWS_USE_MSBUILD)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
${configure_opts}
OPTIONS
-DBUILD_TOOLS=${BUILD_TOOLS}
-DBUILD_CPP_TESTS=OFF
@ -42,23 +42,23 @@ vcpkg_configure_cmake(
-DENABLE_TEST=OFF
)
vcpkg_install_cmake()
vcpkg_cmake_install()
vcpkg_copy_pdbs()
file(GLOB TOOLS ${CURRENT_PACKAGES_DIR}/bin/orc-*)
if(TOOLS)
file(COPY ${TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/orc)
file(COPY ${TOOLS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/orc")
file(REMOVE ${TOOLS})
endif()
file(GLOB BINS ${CURRENT_PACKAGES_DIR}/bin/*)
file(GLOB BINS "${CURRENT_PACKAGES_DIR}/bin/*")
if(NOT BINS)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,14 +1,22 @@
{
"name": "orc",
"version-string": "1.6.4",
"port-version": 2,
"version": "1.6.4",
"port-version": 3,
"description": "The smallest, fastest columnar storage for Hadoop workloads.",
"homepage": "https://orc.apache.org/",
"dependencies": [
"gtest",
"lz4",
"protobuf",
{
"name": "protobuf",
"host": true
},
"snappy",
{
"name": "vcpkg-cmake",
"host": true
},
"zlib",
"zstd"
]

View File

@ -9,7 +9,7 @@ vcpkg_download_distfile(ARCHIVE
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
ARCHIVE "${ARCHIVE}"
REF ${PHYSFS_VERSION}
PATCHES
"001-fix-lzmasdk-arm64-windows.patch"
@ -20,8 +20,13 @@ vcpkg_extract_source_archive_ex(
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED)
if(VCPKG_TARGET_IS_UWP)
set(configure_opts WINDOWS_USE_MSBUILD)
endif()
vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
SOURCE_PATH "${SOURCE_PATH}"
${configure_opts}
OPTIONS
-DPHYSFS_BUILD_STATIC=${PHYSFS_STATIC}
-DPHYSFS_BUILD_SHARED=${PHYSFS_SHARED}

View File

@ -1,7 +1,7 @@
{
"name": "physfs",
"version-semver": "3.0.2",
"port-version": 6,
"port-version": 7,
"description": "a library to provide abstract access to various archives",
"homepage": "https://icculus.org/physfs/",
"dependencies": [

View File

@ -40,6 +40,7 @@ set(OPTIONS_DEBUG
if(VCPKG_TARGET_IS_UWP)
list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=uwp")
set(configure_options WINDOWS_USE_MSBUILD)
elseif(VCPKG_TARGET_IS_WINDOWS)
list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=windows")
elseif(VCPKG_TARGET_IS_OSX)
@ -76,6 +77,7 @@ endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/physx/compiler/public"
${configure_options}
DISABLE_PARALLEL_CONFIGURE
OPTIONS ${OPTIONS}
OPTIONS_DEBUG ${OPTIONS_DEBUG}

View File

@ -1,7 +1,7 @@
{
"name": "physx",
"version-semver": "4.1.2",
"port-version": 2,
"version": "4.1.2",
"port-version": 3,
"description": "The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs",
"homepage": "https://github.com/NVIDIAGameWorks/PhysX",
"license": null,

View File

@ -29,8 +29,13 @@ if ("x11" IN_LIST FEATURES)
message(WARNING "You will need to install Xorg dependencies to use feature x11:\nsudo apt install libx11-dev libxft-dev libxext-dev\n")
endif()
if(VCPKG_TARGET_IS_UWP)
set(configure_opts WINDOWS_USE_MSBUILD)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
${configure_opts}
OPTIONS ${FEATURE_OPTIONS}
-DSDL_STATIC=${SDL_STATIC}
-DSDL_SHARED=${SDL_SHARED}

View File

@ -1,7 +1,7 @@
{
"name": "sdl2",
"version": "2.0.20",
"port-version": 2,
"port-version": 3,
"description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.",
"homepage": "https://www.libsdl.org/download-2.0.php",
"dependencies": [

View File

@ -147,6 +147,11 @@ foreach(flag CXX C SHARED_LINKER EXE_LINKER STATIC_LINKER RC)
# Transform MSVC /flags to -flags due to bash scripts intepreting /flag as a path.
# This is imperfect because it fails on directories with trailing spaces, but those are exceedingly rare
string(REGEX REPLACE "(^| )/" "\\1-" ${flag}_FLAGS "${${flag}_FLAGS}")
if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
if("${flag}" STREQUAL "CXX")
string(APPEND ${flag}_FLAGS " -ZW:nostdlib")
endif()
endif()
endif()
string(REPLACE "\\" "\\\\" ${flag}_FLAGS "${${flag}_FLAGS}")
string(REPLACE "\"" "\\\"" ${flag}_FLAGS "${${flag}_FLAGS}")

View File

@ -1,5 +1,5 @@
{
"name": "vcpkg-cmake",
"version-date": "2022-04-12",
"version-date": "2022-04-21",
"license": "MIT"
}

View File

@ -154,9 +154,6 @@ function(vcpkg_cmake_configure)
# Prebuilt ninja binaries are only provided for x64 hosts
set(ninja_can_be_used OFF)
set(ninja_host OFF)
elseif(VCPKG_TARGET_IS_UWP)
# Ninja and MSBuild have many differences when targetting UWP, so use MSBuild to maximize existing compatibility
set(ninja_can_be_used OFF)
endif()
set(generator "Ninja")

View File

@ -57,8 +57,6 @@ blitz:x64-uwp=fail
blitz:arm64-windows=fail
blitz:arm-uwp=fail
blosc:arm64-windows=fail
blosc:arm-uwp=fail
blosc:x64-uwp=fail
bond:arm-uwp=fail
bond:x64-osx=fail
bond:x64-uwp=fail
@ -93,8 +91,6 @@ catch-classic:x64-windows = skip
catch-classic:x64-windows-static = skip
catch-classic:x64-windows-static-md=skip
catch-classic:x86-windows = skip
ccd:arm-uwp=fail
ccd:x64-uwp=fail
cctag:x64-windows-static-md=fail
cello:arm-uwp=fail
cello:x64-uwp=fail
@ -122,8 +118,6 @@ chartdir:x86-windows=skip
chartdir:x64-windows=skip
chartdir:x64-windows-static-md=skip
chartdir:x64-osx=skip
chmlib:arm-uwp=fail
chmlib:x64-uwp=fail
# chromium-base has several problems and is upgraded to "skip" because it hits a lot of servers that can slow CI
# broken on Windows because it does not yet support VS2022
@ -218,10 +212,10 @@ discord-game-sdk:x64-windows-static=fail
discord-game-sdk:x64-windows-static-md=fail
discord-rpc:arm-uwp=fail
discord-rpc:x64-uwp=fail
# requires g++11
discordcoreapi:x64-linux=fail
dlib:arm-uwp=fail
dlib:x64-uwp=fail
dmlc:arm-uwp=fail
dmlc:x64-uwp=fail
dpdk:arm-uwp=fail
@ -257,8 +251,6 @@ embree2:x64-windows-static-md=skip
# embree2 conflicts with embree3
embree2:x64-linux=skip
embree2:x64-osx=skip
enet:arm-uwp=fail
enet:x64-uwp=fail
epsilon:arm-uwp=fail
epsilon:x64-uwp=fail
epsilon:x64-windows-static=fail
@ -267,10 +259,6 @@ fastrtps:arm-uwp=fail
fastrtps:x64-uwp=fail
fastrtps:x64-windows-static=fail
fastrtps:x64-windows-static-md=fail
fdlibm:arm-uwp=fail
fdlibm:x64-uwp=fail
fftw3:arm-uwp=fail
fftw3:x64-uwp=fail
# fluidlite conflicts with fluidsynth; we test fluidsynth rather than fluidlite because
# fluidlite has no dependencies and thus is less likely to be broken by another package.
fluidlite:arm-uwp=skip
@ -282,8 +270,6 @@ fluidlite:x64-windows-static=skip
fluidlite:x64-windows-static-md=skip
fluidlite:x64-windows=skip
fluidlite:x86-windows=skip
fmem:arm-uwp=fail
fmem:x64-uwp=fail
fmi4cpp:arm-uwp=fail
fmi4cpp:x64-uwp=fail
fmilib:arm64-windows=fail
@ -366,12 +352,6 @@ gperftools:x64-uwp=fail
gperftools:arm-uwp=fail
graphicsmagick:arm-uwp=fail
graphicsmagick:x64-uwp=fail
graphite2:arm-uwp=fail
graphite2:x64-uwp=fail
graphqlparser:arm-uwp=fail
graphqlparser:x64-uwp=fail
gsl:arm-uwp=fail
gsl:x64-uwp=fail
gstreamer:x64-osx=fail
gtk:x64-windows-static=fail
gtk:x64-windows-static-md=fail
@ -388,8 +368,6 @@ healpix:x64-uwp=fail
healpix:arm64-windows=fail
healpix:arm-uwp=fail
healpix:x64-osx=fail
hiredis:arm-uwp=fail
hiredis:x64-uwp=fail
hpx:x64-windows-static=fail
hpx:arm64-windows=fail
hunspell:x64-windows-static-md=fail
@ -435,8 +413,6 @@ isal:x64-windows=fail
isal:x64-windows-static=fail
isal:x64-windows-static-md=fail
isal:x86-windows=fail
jbig2dec:arm-uwp=fail
jbig2dec:x64-uwp=fail
jemalloc:arm64-windows=fail
jemalloc:arm-uwp=fail
jemalloc:x64-linux=fail
@ -509,8 +485,6 @@ libgpg-error:x64-uwp=fail
libhdfs3:x64-linux=fail
libhdfs3:x64-osx=fail
libhydrogen:arm64-windows=fail
libics:arm-uwp=fail
libics:x64-uwp=fail
libigl:arm64-windows=fail
libigl:arm-uwp=fail
libigl:x64-uwp=fail
@ -522,8 +496,6 @@ liblemon:arm-uwp=fail
liblemon:x64-uwp=fail
liblo:arm-uwp=fail
liblo:x64-uwp=fail
libmad:arm-uwp=fail
libmad:x64-uwp=fail
libmagic:x64-uwp=fail
libmagic:arm64-windows=fail
libmagic:arm-uwp=fail
@ -612,8 +584,6 @@ libsrt:x64-uwp=fail
libssh:arm64-windows=fail
libssh:arm-uwp=fail
libssh:x64-uwp=fail
libstk:arm-uwp=fail
libstk:x64-uwp=fail
libtcod:arm-uwp=fail
libtcod:x64-uwp=fail
libtins:arm-uwp=fail
@ -681,8 +651,6 @@ luajit:x86-windows = skip
luafilesystem:arm-uwp=fail
luafilesystem:x64-uwp=fail
luasec:x64-windows-static=fail
luasocket:arm-uwp=fail
luasocket:x64-uwp=fail
lzfse:arm-uwp=fail
magnum:arm64-windows=skip
marble:x64-windows-static=fail
@ -715,8 +683,6 @@ mfl:x64-osx=skip
milerius-sfml-imgui:x64-windows-static=fail
minifb:arm-uwp=fail
minifb:x64-uwp=fail
minisat-master-keying:arm-uwp=fail
minisat-master-keying:x64-uwp=fail
miniupnpc:arm-uwp=fail
miniupnpc:x64-uwp=fail
minizip:arm-uwp=fail
@ -752,6 +718,8 @@ mmx:x64-uwp=skip
mmx:arm64-windows=skip
# Flaky strange linker error
mongo-c-driver:x64-osx=skip
mongo-c-driver:arm-uwp=fail
mongo-c-driver:x64-uwp=fail
mongoose:arm-uwp=fail
mongoose:x64-uwp=fail
monkeys-audio:arm64-windows=fail
@ -937,8 +905,6 @@ optional-bare:x64-windows-static-md=skip
optional-bare:x86-windows = skip
opusfile:arm-uwp=fail
opusfile:x64-uwp=fail
orocos-kdl:arm-uwp=fail
orocos-kdl:x64-uwp=fail
paho-mqtt:arm-uwp=fail
paho-mqtt:x64-uwp=fail
pango:x64-windows-static=fail
@ -965,8 +931,6 @@ pmdk:x64-osx=fail
pmdk:x64-uwp=fail
pmdk:x64-windows-static=fail
pmdk:x86-windows=fail
pngwriter:arm-uwp=fail
pngwriter:x64-uwp=fail
popsift:x64-windows-static-md=fail
portable-snippets:arm-uwp=fail
pqp:arm-uwp=fail
@ -974,8 +938,6 @@ pqp:x64-uwp=fail
# Not yet ready for these platforms.
qbittorrent:x64-osx=fail
qbittorrent:x64-linux=fail
qhull:x64-uwp=fail
qhull:arm-uwp=fail
qpid-proton:arm-uwp=fail
qpid-proton:x64-uwp=fail
qpid-proton:x64-windows-static=fail
@ -1018,8 +980,6 @@ qwt:x64-osx=fail
qwt-qt6:x64-osx=fail
qwtw:x64-windows=fail
rabit:x64-osx=fail
ragel:arm-uwp=fail
ragel:x64-uwp=fail
range-v3-vs2015:arm64-windows = skip
range-v3-vs2015:arm-uwp = skip
range-v3-vs2015:x64-linux = skip
@ -1136,8 +1096,6 @@ septag-sx:arm64-windows=fail
septag-sx:arm-uwp=fail
septag-sx:x64-uwp=fail
sfml:arm64-windows=fail
shapelib:arm-uwp=fail
shapelib:x64-uwp=fail
shiva:x64-windows-static=fail
shiva:x64-windows-static-md=fail
shiva-sfml:x64-linux=fail
@ -1322,8 +1280,6 @@ xerces-c:arm-uwp=fail
xerces-c:x64-uwp=fail
xmlsec:arm-uwp=fail
xmlsec:x64-uwp=fail
yajl:arm-uwp=fail
yajl:x64-uwp=fail
yara:arm-uwp=fail
yara:x64-uwp=fail
z3:arm-uwp=fail

0
scripts/cmake/vcpkg_build_make.cmake Executable file → Normal file
View File

View File

@ -219,9 +219,6 @@ function(vcpkg_configure_cmake)
# Prebuilt ninja binaries are only provided for x64 hosts
set(ninja_can_be_used OFF)
set(ninja_host OFF)
elseif(VCPKG_TARGET_IS_UWP)
# Ninja and MSBuild have many differences when targeting UWP, so use MSBuild to maximize existing compatibility
set(ninja_can_be_used OFF)
endif()
endif()

View File

@ -240,6 +240,7 @@ function(vcpkg_configure_make)
z_vcpkg_get_cmake_vars(cmake_vars_file)
debug_message("Including cmake vars from: ${cmake_vars_file}")
include("${cmake_vars_file}")
if(DEFINED VCPKG_MAKE_BUILD_TRIPLET)
set(arg_BUILD_TRIPLET ${VCPKG_MAKE_BUILD_TRIPLET}) # Triplet overwrite for crosscompiling
endif()
@ -559,12 +560,15 @@ function(vcpkg_configure_make)
# IMPORTANT: The only way to pass linker flags through libtool AND the compile wrapper
# is to use the CL and LINK environment variables !!!
# (This is due to libtool and compiler wrapper using the same set of options to pass those variables around)
string(REPLACE "\\" "/" VCToolsInstallDir "$ENV{VCToolsInstallDir}")
file(TO_CMAKE_PATH "$ENV{VCToolsInstallDir}" VCToolsInstallDir)
set(_replacement -FU\"${VCToolsInstallDir}/lib/x86/store/references/platform.winmd\")
string(REPLACE "${_replacement}" "" VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "${_replacement}" "" VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG "${VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG}")
string(REPLACE "${_replacement}" "" VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE}")
string(REPLACE "${_replacement}" "" VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE "${VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE}")
# Can somebody please check if CMake's compiler flags for UWP are correct?
set(ENV{_CL_} "$ENV{_CL_} /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB_ -FU\"${VCToolsInstallDir}/lib/x86/store/references/platform.winmd\"")
string(APPEND VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE " -ZW:nostdlib")
string(APPEND VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG " -ZW:nostdlib")
set(ENV{_LINK_} "$ENV{_LINK_} ${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES} ${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES} /MANIFEST /DYNAMICBASE /WINMD:NO /APPCONTAINER")
set(ENV{_CL_} "$ENV{_CL_} -FU\"${VCToolsInstallDir}/lib/x86/store/references/platform.winmd\"")
set(ENV{_LINK_} "$ENV{_LINK_} ${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES} ${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}")
endif()
endif()
@ -723,7 +727,7 @@ function(vcpkg_configure_make)
set(LINK_ENV_${var_suffix} "${LINKER_FLAGS_${var_suffix}}")
endif()
else()
set(link_required_dirs)
set(link_required_dirs "")
if(EXISTS "${CURRENT_INSTALLED_DIR}${path_suffix_${var_suffix}}/lib")
set(link_required_dirs "-L${z_vcpkg_installed_path}${path_suffix_${var_suffix}}/lib")
endif()

View File

@ -92,12 +92,16 @@ endforeach()
macro(_vcpkg_adjust_flags flag_var)
if(MSVC) # Transform MSVC /flags to -flags due to bash scripts intepreting /flag as a path.
string(REGEX REPLACE "(^| )/" "\\1-" ${flag_var} "${${flag_var}}")
if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
if("${flag_var}" STREQUAL "CMAKE_CXX_FLAGS")
string(APPEND ${flag_var} " -ZW:nostdlib")
endif()
endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
if("${flag_var}" IN_LIST VCPKG_LANG_FLAGS)
# macOS - append arch and isysroot if cross-compiling
if(NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}")
foreach(arch IN LISTS CMAKE_OSX_ARCHITECTURES)
string(APPEND ${flag_var} " -arch ${arch}")
endforeach()
@ -113,6 +117,7 @@ endmacro()
foreach(flag IN LISTS VCPKG_FLAGS_TO_CHECK)
string(STRIP "${${flag}}" ${flag}) # Strip leading and trailing whitespaces
_vcpkg_adjust_flags(${flag})
string(REPLACE [[\\]] [[\]] ${flag} "${${flag}}")
string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_RAW_${flag} \" ${${flag}}\")\n")
foreach(config IN LISTS VCPKG_CONFIGS)
string(STRIP "${${flag}_${config}}" ${flag}_${config})

View File

@ -0,0 +1,61 @@
if(NOT _VCPKG_WINDOWS_TOOLCHAIN)
set(_VCPKG_WINDOWS_TOOLCHAIN 1)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>$<$<STREQUAL:${VCPKG_CRT_LINKAGE},dynamic>:DLL>" CACHE STRING "")
get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
if(NOT _CMAKE_IN_TRY_COMPILE)
if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
set(VCPKG_CRT_LINK_FLAG_PREFIX "/MD")
elseif(VCPKG_CRT_LINKAGE STREQUAL "static")
set(VCPKG_CRT_LINK_FLAG_PREFIX "/MT")
else()
message(FATAL_ERROR "Invalid setting for VCPKG_CRT_LINKAGE: \"${VCPKG_CRT_LINKAGE}\". It must be \"static\" or \"dynamic\"")
endif()
set(_vcpkg_charset "/utf-8")
if (NOT VCPKG_SET_CHARSET_FLAG OR VCPKG_PLATFORM_TOOLSET MATCHES "v120")
# VS 2013 does not support /utf-8
set(_vcpkg_charset "")
endif()
set(_vcpkg_cpp_flags "/DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__" ) # VS adds /D "_WINDLL" for DLLs;
set(_vcpkg_common_flags "/nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc")
#/ZW:nostdlib -> ZW is added by CMake # VS also normally adds /sdl but not cmake MSBUILD
set(_vcpkg_winmd_flag "")
file(TO_CMAKE_PATH "$ENV{VCToolsInstallDir}" _vcpkg_vctools)
set(ENV{_CL_} "/FU\"${_vcpkg_vctools}/lib/x86/store/references/platform.winmd\" $ENV{_CL_}")
# CMake has problems to correctly pass this in the compiler test so probably need special care in get_cmake_vars
#set(_vcpkg_winmd_flag "/FU\\\\\"${_vcpkg_vctools}/lib/x86/store/references/platform.winmd\\\\\"") # VS normally passes /ZW for Apps
set(CMAKE_CXX_FLAGS "${_vcpkg_cpp_flags} ${_vcpkg_common_flags} ${_vcpkg_winmd_flag} ${_vcpkg_charset} ${VCPKG_CXX_FLAGS}" CACHE STRING "")
set(CMAKE_C_FLAGS "${_vcpkg_cpp_flags} ${_vcpkg_common_flags} ${_vcpkg_winmd_flag} ${_vcpkg_charset} ${VCPKG_C_FLAGS}" CACHE STRING "")
set(CMAKE_RC_FLAGS "-c65001 ${_vcpkg_cpp_flags}" CACHE STRING "")
unset(_vcpkg_charset)
unset(_vcpkg_cpp_flags)
unset(_vcpkg_common_flags)
unset(_vcpkg_winmd_flag)
set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /RTC1 ${VCPKG_CRT_LINK_FLAG_PREFIX}d ${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "")
set(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /Od /RTC1 ${VCPKG_CRT_LINK_FLAG_PREFIX}d ${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "")
set(CMAKE_CXX_FLAGS_RELEASE "/Gy /O2 /Oi /DNDEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX} ${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "") # VS adds /GL
set(CMAKE_C_FLAGS_RELEASE "/Gy /O2 /Oi /DNDEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX} ${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "")
string(APPEND CMAKE_STATIC_LINKER_FLAGS_RELEASE_INIT " /nologo ") # VS adds /LTCG
if(CMAKE_GENERATOR MATCHES "Ninja")
set(additional_exe_flags "/WINMD") # VS Generator chokes on this in the compiler detection
endif()
string(APPEND CMAKE_SHARED_LINKER_FLAGS " /MANIFEST:NO /NXCOMPAT /DYNAMICBASE /DEBUG /WINMD:NO /APPCONTAINER /SUBSYSTEM:CONSOLE /MANIFESTUAC:NO ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_RELEASE}")
# VS adds /DEBUG:FULL /TLBID:1. WindowsApp.lib is in CMAKE_C|CXX_STANDARD_LIBRARIES
string(APPEND CMAKE_EXE_LINKER_FLAGS " /MANIFEST:NO /NXCOMPAT /DYNAMICBASE /DEBUG ${additional_exe_flags} /APPCONTAINER /MANIFESTUAC:NO ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_RELEASE}")
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF " CACHE STRING "") # VS uses /LTCG:incremental
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF " CACHE STRING "")
string(APPEND CMAKE_STATIC_LINKER_FLAGS_DEBUG_INIT " /nologo ")
string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " /nologo ")
string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " /nologo ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_DEBUG} ")
endif()
endif()

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "dcb306fc661bfab322c75b55472e402387396099",
"version": "1.79.0",
"port-version": 1
},
{
"git-tree": "03b0eb80e437663830851f7891d02125694b4ee0",
"version": "1.79.0",

View File

@ -826,7 +826,7 @@
},
"boost-modular-build-helper": {
"baseline": "1.79.0",
"port-version": 0
"port-version": 1
},
"boost-move": {
"baseline": "1.79.0",
@ -1622,7 +1622,7 @@
},
"cpprestsdk": {
"baseline": "2.10.18",
"port-version": 0
"port-version": 1
},
"cpptoml": {
"baseline": "v0.1.1",
@ -2898,7 +2898,7 @@
},
"igraph": {
"baseline": "0.9.8",
"port-version": 1
"port-version": 2
},
"iir1": {
"baseline": "1.9.1",
@ -3446,7 +3446,7 @@
},
"libcerf": {
"baseline": "1.13",
"port-version": 2
"port-version": 3
},
"libconfig": {
"baseline": "1.7.3",
@ -3710,7 +3710,7 @@
},
"liblbfgs": {
"baseline": "1.10",
"port-version": 1
"port-version": 2
},
"liblemon": {
"baseline": "2019-06-13",
@ -5226,7 +5226,7 @@
},
"orc": {
"baseline": "1.6.4",
"port-version": 2
"port-version": 3
},
"orocos-kdl": {
"baseline": "1.4",
@ -5386,11 +5386,11 @@
},
"physfs": {
"baseline": "3.0.2",
"port-version": 6
"port-version": 7
},
"physx": {
"baseline": "4.1.2",
"port-version": 2
"port-version": 3
},
"picojson": {
"baseline": "1.3.0",
@ -6378,7 +6378,7 @@
},
"sdl2": {
"baseline": "2.0.20",
"port-version": 2
"port-version": 3
},
"sdl2-gfx": {
"baseline": "1.0.4",
@ -7305,7 +7305,7 @@
"port-version": 1
},
"vcpkg-cmake": {
"baseline": "2022-04-12",
"baseline": "2022-04-21",
"port-version": 0
},
"vcpkg-cmake-config": {

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b37c56224faff461184f427b95f10dc320d74d50",
"version": "2.10.18",
"port-version": 1
},
{
"git-tree": "a4c5e50b9a83b6f9142256d1142b371da93db065",
"version-string": "2.10.18",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "562fb321b0c46134d9b876fe95a3796fd4404b24",
"version": "0.9.8",
"port-version": 2
},
{
"git-tree": "635707a7146747b8b5a35ba35d5e94669e499d3b",
"version": "0.9.8",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "1aed61567fd3da5dc36a9a5290262b389ab79fa5",
"version": "1.13",
"port-version": 3
},
{
"git-tree": "e4bb4a4b841e96215ccc856fa1b8acc56270a1e4",
"version-string": "1.13",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "cdf2ac29eb7e040dc4eefe6d623d5caa3b592de0",
"version": "1.10",
"port-version": 2
},
{
"git-tree": "f9251e490103e48e6ba9a01c6c61468381f0c8f1",
"version-string": "1.10",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "543e83b37120267db3f81b5fdb3d349717b20135",
"version": "1.6.4",
"port-version": 3
},
{
"git-tree": "8cd78baa4d8b7df9077f76b8f5d600aac6e09716",
"version-string": "1.6.4",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "0acbb8771db07ce3e4641f015189fb48e732bdd5",
"version-semver": "3.0.2",
"port-version": 7
},
{
"git-tree": "17d9ad3560e379cc51921a51982f4d31d106f1ed",
"version-semver": "3.0.2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "304769b6a45107c9a8abf12fad9b9d82bac22c3b",
"version": "4.1.2",
"port-version": 3
},
{
"git-tree": "8e20a94664b966271a5e7684e73b2efab2461ba8",
"version-semver": "4.1.2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "24fc8b7ae34a3a363c76820d4ca50f715648a0b2",
"version": "2.0.20",
"port-version": 3
},
{
"git-tree": "abf71c19917402dddef261e80d55c8ec04e9bf54",
"version": "2.0.20",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "8273918a04a5822ad7cc21ea5249402f2e999a7a",
"version-date": "2022-04-21",
"port-version": 0
},
{
"git-tree": "ef4a9463f802c1cd6f8b31e560529aeaee0faff4",
"version-date": "2022-04-12",