diff --git a/ports/vcpkg-msbuild/portfile.cmake b/ports/vcpkg-msbuild/portfile.cmake
new file mode 100644
index 0000000000..42e0ac846e
--- /dev/null
+++ b/ports/vcpkg-msbuild/portfile.cmake
@@ -0,0 +1,10 @@
+file(INSTALL
+ "${CMAKE_CURRENT_LIST_DIR}/vcpkg_msbuild.props.in"
+ "${CMAKE_CURRENT_LIST_DIR}/vcpkg_msbuild.targets.in"
+ "${CMAKE_CURRENT_LIST_DIR}/z_vcpkg_msbuild_create_props.cmake"
+ "${CMAKE_CURRENT_LIST_DIR}/vcpkg_msbuild_install.cmake"
+ "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake"
+ DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+
+file(INSTALL "${VCPKG_ROOT_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
+set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled)
diff --git a/ports/vcpkg-msbuild/vcpkg-port-config.cmake b/ports/vcpkg-msbuild/vcpkg-port-config.cmake
new file mode 100644
index 0000000000..547ff61d98
--- /dev/null
+++ b/ports/vcpkg-msbuild/vcpkg-port-config.cmake
@@ -0,0 +1,5 @@
+include_guard(GLOBAL)
+include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-cmake-get-vars/vcpkg-port-config.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-pkgconfig-get-modules/vcpkg-port-config.cmake" OPTIONAL)
+include("${CMAKE_CURRENT_LIST_DIR}/z_vcpkg_msbuild_create_props.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_msbuild_install.cmake")
diff --git a/ports/vcpkg-msbuild/vcpkg.json b/ports/vcpkg-msbuild/vcpkg.json
new file mode 100644
index 0000000000..b381cab1c1
--- /dev/null
+++ b/ports/vcpkg-msbuild/vcpkg.json
@@ -0,0 +1,25 @@
+{
+ "name": "vcpkg-msbuild",
+ "version-date": "2023-06-22",
+ "documentation": "https://vcpkg.io/en/docs/README.html",
+ "license": "MIT",
+ "supports": "native & windows",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake-get-vars",
+ "host": true
+ },
+ {
+ "name": "vcpkg-pkgconfig-get-modules",
+ "host": true
+ }
+ ],
+ "features": {
+ "pkg-config": {
+ "description": "Enable pkg-config lookup for msbuild",
+ "dependencies": [
+ "pkgconf"
+ ]
+ }
+ }
+}
diff --git a/ports/vcpkg-msbuild/vcpkg_msbuild.props.in b/ports/vcpkg-msbuild/vcpkg_msbuild.props.in
new file mode 100644
index 0000000000..f04522c15e
--- /dev/null
+++ b/ports/vcpkg-msbuild/vcpkg_msbuild.props.in
@@ -0,0 +1,22 @@
+
+
+
+ true
+
+
+ @arg_TARGET_PLATFORM_VERSION@
+ @VCPKG_PLATFORM_TOOLSET@
+
+ false
+ false
+ false
+ false
+ @TARGET_TRIPLET@
+ @_VCPKG_INSTALLED_DIR@
+ No
+ false
+ vcpkg_msbuild.props
+ vcpkg_msbuild.targets
+
+ @VCPKG_MSBUILD_ADDITIONAL_PROPS_XML@
+
\ No newline at end of file
diff --git a/ports/vcpkg-msbuild/vcpkg_msbuild.targets.in b/ports/vcpkg-msbuild/vcpkg_msbuild.targets.in
new file mode 100644
index 0000000000..517aab0ed7
--- /dev/null
+++ b/ports/vcpkg-msbuild/vcpkg_msbuild.targets.in
@@ -0,0 +1,64 @@
+
+
+
+
+ @arg_TARGET_PLATFORM_VERSION@
+ @VCPKG_PLATFORM_TOOLSET@
+
+ false
+ false
+ false
+ false
+ @TARGET_TRIPLET@
+ @_VCPKG_INSTALLED_DIR@
+ No
+ false
+
+
+
+
+ MultiThreadedDebug
+ MultiThreaded
+ MultiThreadedDebugDLL
+ MultiThreadedDLL
+ @MSBUILD_INCLUDE_DIRS_DEBUG@
+ @MSBUILD_INCLUDE_DIRS_RELEASE@
+
+
+
+
+ %(AdditionalOptions) @VCPKG_COMBINED_CXX_FLAGS_DEBUG@ @MSBUILD_CFLAGS_DEBUG@ /WX-
+ %(AdditionalOptions) @VCPKG_COMBINED_CXX_FLAGS_RELEASE@ @MSBUILD_CFLAGS_RELEASE@ /WX-
+
+
+
+
+ %(AdditionalOptions) @VCPKG_COMBINED_C_FLAGS_DEBUG@ @MSBUILD_CFLAGS_DEBUG@ /WX-
+ %(AdditionalOptions) @VCPKG_COMBINED_C_FLAGS_RELEASE@ @MSBUILD_CFLAGS_RELEASE@ /WX-
+
+
+
+
+
+ @MSBUILD_LIBRARIES_DEBUG@
+ @MSBUILD_LIBRARIES_DIRS_DEBUG@
+ @MSBUILD_LIBRARIES_RELEASE@
+ @MSBUILD_LIBRARIES_DIRS_RELEASE@
+ %(AdditionalOptions) @VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG@ @MSBUILD_LIBS_DEBUG@ /WX:NO
+ %(AdditionalOptions) @VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE@ @MSBUILD_LIBS_RELEASE@ /WX:NO
+ %(AdditionalOptions) @VCPKG_COMBINED_EXE_LINKER_FLAGS_DEBUG@ @MSBUILD_LIBS_DEBUG@ /WX:NO
+ %(AdditionalOptions) @VCPKG_COMBINED_EXE_LINKER_FLAGS_RELEASE@ @MSBUILD_LIBS_RELEASE@ /WX:NO
+ %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_DEBUG@
+ %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE@
+
+
+ %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_DEBUG@
+ %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE@
+
+ MachineX86
+ MachineX64
+ MachineARM
+
+
+ @VCPKG_MSBUILD_ADDITIONAL_TARGETS_XML@
+
\ No newline at end of file
diff --git a/ports/vcpkg-msbuild/vcpkg_msbuild_install.cmake b/ports/vcpkg-msbuild/vcpkg_msbuild_install.cmake
new file mode 100644
index 0000000000..cf36000340
--- /dev/null
+++ b/ports/vcpkg-msbuild/vcpkg_msbuild_install.cmake
@@ -0,0 +1,152 @@
+function(vcpkg_msbuild_install)
+ cmake_parse_arguments(
+ PARSE_ARGV 0
+ "arg"
+ "CLEAN;NO_TOOLCHAIN_PROPS;NO_INSTALL"
+ "SOURCE_PATH;PROJECT_SUBPATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;TARGET"
+ "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;DEPENDENT_PKGCONFIG;ADDITIONAL_LIBS;ADDITIONAL_LIBS_DEBUG;ADDITIONAL_LIBS_RELEASE"
+ )
+
+ if(DEFINED arg_UNPARSED_ARGUMENTS)
+ message(WARNING "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}")
+ endif()
+ if(NOT DEFINED arg_RELEASE_CONFIGURATION)
+ set(arg_RELEASE_CONFIGURATION Release)
+ endif()
+ if(NOT DEFINED arg_DEBUG_CONFIGURATION)
+ set(arg_DEBUG_CONFIGURATION Debug)
+ endif()
+
+ if(NOT DEFINED arg_PLATFORM)
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(arg_PLATFORM x64)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(arg_PLATFORM Win32)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ set(arg_PLATFORM ARM)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(arg_PLATFORM arm64)
+ else()
+ message(FATAL_ERROR "Unsupported target architecture")
+ endif()
+ endif()
+ if(NOT DEFINED arg_PLATFORM_TOOLSET)
+ set(arg_PLATFORM_TOOLSET "${VCPKG_PLATFORM_TOOLSET}")
+ endif()
+
+ if(NOT DEFINED arg_TARGET)
+ set(arg_TARGET Rebuild)
+ endif()
+ if(DEFINED arg_ADDITIONAL_LIBS)
+ list(APPEND arg_ADDITIONAL_LIBS_DEBUG ${arg_ADDITIONAL_LIBS})
+ list(APPEND arg_ADDITIONAL_LIBS_RELEASE ${arg_ADDITIONAL_LIBS})
+ endif()
+
+ vcpkg_get_windows_sdk(arg_TARGET_PLATFORM_VERSION)
+
+ if(NOT arg_NO_TOOLCHAIN_PROPS)
+ file(RELATIVE_PATH project_root "${arg_SOURCE_PATH}/${arg_PROJECT_SUBPATH}" "${arg_SOURCE_PATH}") # required by z_vcpkg_msbuild_create_props
+ z_vcpkg_msbuild_create_props(OUTPUT_PROPS props_file
+ OUTPUT_TARGETS target_file
+ RELEASE_CONFIGURATION "${arg_RELEASE_CONFIGURATION}"
+ DEBUG_CONFIGURATION "${arg_DEBUG_CONFIGURATION}"
+ DEPENDENT_PKGCONFIG ${arg_DEPENDENT_PKGCONFIG}
+ ADDITIONAL_LIBS_DEBUG ${arg_ADDITIONAL_LIBS_DEBUG}
+ ADDITIONAL_LIBS_RELEASE ${arg_ADDITIONAL_LIBS_RELEASE})
+ list(APPEND arg_OPTIONS
+ "/p:ForceImportAfterCppProps=${props_file}"
+ "/p:ForceImportAfterCppTargets=${target_file}"
+ )
+ endif()
+
+
+ list(APPEND arg_OPTIONS
+ "/t:${arg_TARGET}"
+ "/p:UseMultiToolTask=true"
+ "/p:MultiProcMaxCount=${VCPKG_CONCURRENCY}"
+ "/p:EnforceProcessCountAcrossBuilds=true"
+ "/m:${VCPKG_CONCURRENCY}"
+ "-maxCpuCount:${VCPKG_CONCURRENCY}"
+ # other Properties
+ "/p:Platform=${arg_PLATFORM}"
+ "/p:PlatformToolset=${arg_PLATFORM_TOOLSET}"
+ "/p:WindowsTargetPlatformVersion=${arg_TARGET_PLATFORM_VERSION}"
+ # vcpkg properties
+ "/p:VcpkgApplocalDeps=false"
+ "/p:VcpkgManifestInstall=false"
+ "/p:VcpkgManifestEnabled=false"
+ "/p:VcpkgEnabled=false"
+ "/p:VcpkgTriplet=${TARGET_TRIPLET}"
+ "/p:VcpkgInstalledDir=${_VCPKG_INSTALLED_DIR}"
+ )
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ # Disable LTCG for static libraries because this setting introduces ABI incompatibility between minor compiler versions
+ # TODO: Add a way for the user to override this if they want to opt-in to incompatibility
+ list(APPEND arg_OPTIONS "/p:WholeProgramOptimization=false")
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ message(STATUS "Building ${arg_PROJECT_SUBPATH} for Release")
+ set(working_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
+ file(REMOVE_RECURSE "${working_dir}")
+ file(MAKE_DIRECTORY "${working_dir}")
+ file(COPY "${arg_SOURCE_PATH}/" DESTINATION "${working_dir}")
+ vcpkg_execute_required_process(
+ COMMAND msbuild "${working_dir}/${arg_PROJECT_SUBPATH}"
+ "/p:Configuration=${arg_RELEASE_CONFIGURATION}"
+ ${arg_OPTIONS}
+ ${arg_OPTIONS_RELEASE}
+ WORKING_DIRECTORY "${working_dir}"
+ LOGNAME "build-${TARGET_TRIPLET}-rel"
+ )
+ if(NOT arg_NO_INSTALL)
+ file(GLOB_RECURSE libs "${working_dir}/*.lib")
+ file(GLOB_RECURSE dlls "${working_dir}/*.dll")
+ file(GLOB_RECURSE exes "${working_dir}/*.exe")
+ if(NOT libs STREQUAL "")
+ file(COPY ${libs} DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+ endif()
+ if(NOT dlls STREQUAL "")
+ file(COPY ${dlls} DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
+ endif()
+ if(NOT exes STREQUAL "")
+ file(COPY ${exes} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
+ vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}")
+ endif()
+ endif()
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ message(STATUS "Building ${arg_PROJECT_SUBPATH} for Debug")
+ set(working_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
+ file(REMOVE_RECURSE "${working_dir}")
+ file(MAKE_DIRECTORY "${working_dir}")
+ file(COPY "${arg_SOURCE_PATH}/" DESTINATION "${working_dir}")
+ vcpkg_execute_required_process(
+ COMMAND msbuild "${working_dir}/${arg_PROJECT_SUBPATH}"
+ "/p:Configuration=${arg_DEBUG_CONFIGURATION}"
+ ${arg_OPTIONS}
+ ${arg_OPTIONS_DEBUG}
+ WORKING_DIRECTORY "${working_dir}"
+ LOGNAME "build-${TARGET_TRIPLET}-dbg"
+ )
+ if(NOT arg_NO_INSTALL)
+ file(GLOB_RECURSE libs "${working_dir}/*.lib")
+ file(GLOB_RECURSE dlls "${working_dir}/*.dll")
+ if(NOT libs STREQUAL "")
+ file(COPY ${libs} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+ endif()
+ if(NOT dlls STREQUAL "")
+ file(COPY ${dlls} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
+ endif()
+ endif()
+ endif()
+
+ vcpkg_copy_pdbs()
+
+ if(arg_CLEAN)
+ vcpkg_clean_msbuild()
+ endif()
+
+endfunction()
diff --git a/ports/vcpkg-msbuild/z_vcpkg_msbuild_create_props.cmake b/ports/vcpkg-msbuild/z_vcpkg_msbuild_create_props.cmake
new file mode 100644
index 0000000000..5cd6adeb39
--- /dev/null
+++ b/ports/vcpkg-msbuild/z_vcpkg_msbuild_create_props.cmake
@@ -0,0 +1,76 @@
+function(z_vcpkg_msbuild_create_props)
+ cmake_parse_arguments(
+ PARSE_ARGV 0
+ "arg"
+ ""
+ "OUTPUT_PROPS;OUTPUT_TARGETS;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION"
+ "DEPENDENT_PKGCONFIG;ADDITIONAL_LIBS_DEBUG;ADDITIONAL_LIBS_RELEASE"
+ )
+
+ if(NOT arg_OUTPUT_PROPS)
+ message(FATAL_ERROR "'${CMAKE_CURRENT_FUNCTION}' requires option 'OUTPUT_PROPS'!")
+ endif()
+ if(NOT arg_OUTPUT_TARGETS)
+ message(FATAL_ERROR "'${CMAKE_CURRENT_FUNCTION}' requires option 'OUTPUT_TARGETS'!")
+ endif()
+ if(DEFINED arg_UNPARSED_ARGUMENTS)
+ message(WARNING "'${CMAKE_CURRENT_FUNCTION}' was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}")
+ endif()
+
+ # TODO: detect and set these ?
+ # stdcpp20
+ # stdc17
+ if(NOT DEFINED arg_RELEASE_CONFIGURATION)
+ set(arg_RELEASE_CONFIGURATION Release)
+ endif()
+ if(NOT DEFINED arg_DEBUG_CONFIGURATION)
+ set(arg_DEBUG_CONFIGURATION Debug)
+ endif()
+
+ set(TARGET_PLATFORM_VERSION "")
+ vcpkg_get_windows_sdk(TARGET_PLATFORM_VERSION)
+
+ if(arg_DEPENDENT_PKGCONFIG)
+ if(NOT COMMAND x_vcpkg_pkgconfig_get_modules)
+ message(FATAL_ERROR "Port vcpkg-msbuild needs to have feature 'pkg-config' enabled for 'DEPENDENT_PKGCONFIG'")
+ endif()
+ x_vcpkg_pkgconfig_get_modules(PREFIX MSBUILD INCLUDE_DIRS LIBRARIES LIBRARIES_DIR CFLAGS USE_MSVC_SYNTAX_ON_WINDOWS MODULES ${arg_DEPENDENT_PKGCONFIG})
+
+ separate_arguments(MSBUILD_INCLUDE_DIRS_RELEASE WINDOWS_COMMAND "${MSBUILD_INCLUDE_DIRS_RELEASE}")
+ separate_arguments(MSBUILD_INCLUDE_DIRS_DEBUG WINDOWS_COMMAND "${MSBUILD_INCLUDE_DIRS_DEBUG}")
+ foreach(inc_dirs IN LISTS MSBUILD_INCLUDE_DIRS_RELEASE)
+ string(REPLACE "${inc_dirs}" "" MSBUILD_CFLAGS_RELEASE "${MSBUILD_CFLAGS_RELEASE}")
+ endforeach()
+ foreach(inc_dirs IN LISTS MSBUILD_INCLUDE_DIRS_DEBUG)
+ string(REPLACE "${inc_dirs}" "" MSBUILD_CFLAGS_DEBUG "${MSBUILD_CFLAGS_DEBUG}")
+ endforeach()
+ list(TRANSFORM MSBUILD_INCLUDE_DIRS_RELEASE REPLACE "^/I" "")
+ list(TRANSFORM MSBUILD_INCLUDE_DIRS_DEBUG REPLACE "^/I" "")
+
+ separate_arguments(MSBUILD_LIBRARIES_DIRS_RELEASE WINDOWS_COMMAND "${MSBUILD_LIBRARIES_DIRS_RELEASE}")
+ separate_arguments(MSBUILD_LIBRARIES_DIRS_DEBUG WINDOWS_COMMAND "${MSBUILD_LIBRARIES_DIRS_DEBUG}")
+
+ separate_arguments(MSBUILD_LIBRARIES_RELEASE WINDOWS_COMMAND "${MSBUILD_LIBRARIES_RELEASE}")
+ separate_arguments(MSBUILD_LIBRARIES_DEBUG WINDOWS_COMMAND "${MSBUILD_LIBRARIES_DEBUG}")
+ endif()
+ vcpkg_cmake_get_vars(vars_file)
+ include("${vars_file}")
+ vcpkg_list(APPEND MSBUILD_INCLUDE_DIRS_RELEASE "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_INSTALLED_DIR}/include")
+ vcpkg_list(APPEND MSBUILD_INCLUDE_DIRS_DEBUG "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_INSTALLED_DIR}/include")
+ vcpkg_list(APPEND MSBUILD_LIBRARIES_DIRS_RELEASE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_INSTALLED_DIR}/lib")
+ vcpkg_list(APPEND MSBUILD_LIBRARIES_DIRS_DEBUG "${CURRENT_PACKAGES_DIR}/debug/lib" "${CURRENT_INSTALLED_DIR}/debug/lib")
+ vcpkg_list(APPEND MSBUILD_LIBRARIES_RELEASE ${arg_ADDITIONAL_LIBS_RELEASE})
+ vcpkg_list(APPEND MSBUILD_LIBRARIES_DEBUG ${arg_ADDITIONAL_LIBS_DEBUG})
+
+ vcpkg_list(PREPEND MSBUILD_INCLUDE_DIRS_RELEASE "%(AdditionalIncludeDirectories)")
+ vcpkg_list(PREPEND MSBUILD_INCLUDE_DIRS_DEBUG "%(AdditionalIncludeDirectories)")
+ vcpkg_list(PREPEND MSBUILD_LIBRARIES_DIRS_RELEASE "%(AdditionalLibraryDirectories)")
+ vcpkg_list(PREPEND MSBUILD_LIBRARIES_DIRS_DEBUG "%(AdditionalLibraryDirectories)")
+ vcpkg_list(PREPEND MSBUILD_LIBRARIES_RELEASE "%(AdditionalDependencies)")
+ vcpkg_list(PREPEND MSBUILD_LIBRARIES_DEBUG "%(AdditionalDependencies)")
+
+ configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/vcpkg_msbuild.targets.in" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vcpkg_msbuild.targets")
+ configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/vcpkg_msbuild.props.in" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vcpkg_msbuild.props")
+ set(${arg_OUTPUT_PROPS} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vcpkg_msbuild.props" PARENT_SCOPE)
+ set(${arg_OUTPUT_TARGETS} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vcpkg_msbuild.targets" PARENT_SCOPE)
+endfunction()
diff --git a/ports/vcpkg-pkgconfig-get-modules/copyright b/ports/vcpkg-pkgconfig-get-modules/copyright
deleted file mode 100644
index 2e4eac8264..0000000000
--- a/ports/vcpkg-pkgconfig-get-modules/copyright
+++ /dev/null
@@ -1,23 +0,0 @@
-Copyright (c) Microsoft Corporation
-
-All rights reserved.
-
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/ports/vcpkg-pkgconfig-get-modules/portfile.cmake b/ports/vcpkg-pkgconfig-get-modules/portfile.cmake
index f82cf371bd..a807e7e7e2 100644
--- a/ports/vcpkg-pkgconfig-get-modules/portfile.cmake
+++ b/ports/vcpkg-pkgconfig-get-modules/portfile.cmake
@@ -5,9 +5,10 @@ endif()
file(COPY
"${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake"
- "${CMAKE_CURRENT_LIST_DIR}/copyright"
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+file(INSTALL "${VCPKG_ROOT_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
+
configure_file("${CMAKE_CURRENT_LIST_DIR}/x_vcpkg_pkgconfig_get_modules.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/x_vcpkg_pkgconfig_get_modules.cmake" @ONLY)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
diff --git a/ports/vcpkg-pkgconfig-get-modules/vcpkg.json b/ports/vcpkg-pkgconfig-get-modules/vcpkg.json
index f38c13d4d7..f03dd38680 100644
--- a/ports/vcpkg-pkgconfig-get-modules/vcpkg.json
+++ b/ports/vcpkg-pkgconfig-get-modules/vcpkg.json
@@ -1,7 +1,6 @@
{
"name": "vcpkg-pkgconfig-get-modules",
- "version-date": "2022-02-10",
- "port-version": 1,
+ "version-date": "2023-02-25",
"documentation": "https://vcpkg.io/en/docs/README.html",
"license": "MIT",
"dependencies": [
diff --git a/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake b/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake
index 0ed124cff4..54ad45ad28 100644
--- a/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake
+++ b/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake
@@ -1,7 +1,7 @@
include_guard(GLOBAL)
function(x_vcpkg_pkgconfig_get_modules)
- cmake_parse_arguments(PARSE_ARGV 0 "arg" "CFLAGS;LIBS;LIBRARIES;LIBRARIES_DIR;INCLUDE_DIRS" "PREFIX" "MODULES")
+ cmake_parse_arguments(PARSE_ARGV 0 "arg" "CFLAGS;LIBS;LIBRARIES;LIBRARIES_DIR;INCLUDE_DIRS;USE_MSVC_SYNTAX_ON_WINDOWS" "PREFIX" "MODULES")
if(NOT DEFINED arg_PREFIX OR arg_PREFIX STREQUAL "")
message(FATAL_ERROR "x_vcpkg_pkgconfig_get_modules requires parameter PREFIX!")
endif()
@@ -11,6 +11,10 @@ function(x_vcpkg_pkgconfig_get_modules)
if(DEFINED arg_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "extra arguments passed to x_vcpkg_pkgconfig_get_modules: ${arg_UNPARSED_ARGUMENTS}")
endif()
+ set(msvc "")
+ if(arg_USE_MSVC_SYNTAX_ON_WINDOWS AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+ set(msvc "--msvc-syntax")
+ endif()
set(PKGCONFIG "${CURRENT_INSTALLED_DIR}/../@HOST_TRIPLET@/tools/pkgconf/pkgconf@VCPKG_HOST_EXECUTABLE_SUFFIX@")
@@ -21,41 +25,46 @@ function(x_vcpkg_pkgconfig_get_modules)
z_vcpkg_set_pkgconfig_path("${CURRENT_INSTALLED_DIR}/lib/pkgconfig${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${backup_PKG_CONFIG_PATH}")
if(arg_LIBS)
execute_process(
- COMMAND "${PKGCONFIG}" --libs ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --libs ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_LIBS_RELEASE
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes LIBS_RELEASE)
endif()
if(arg_LIBRARIES)
execute_process(
- COMMAND "${PKGCONFIG}" --libs-only-l ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --libs-only-l ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_RELEASE
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes LIBRARIES_RELEASE)
endif()
if(arg_LIBRARIES_DIRS)
execute_process(
- COMMAND "${PKGCONFIG}" --libs-only-L ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --libs-only-L ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DIRS_RELEASE
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes LIBRARIES_DIRS_RELEASE)
endif()
if(arg_INCLUDE_DIRS)
execute_process(
- COMMAND "${PKGCONFIG}" --cflags-only-I ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --cflags-only-I ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_INCLUDE_DIRS_RELEASE
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes INCLUDE_DIRS_RELEASE)
endif()
if(arg_CFLAGS)
execute_process(
- COMMAND "${PKGCONFIG}" --cflags ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --cflags ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_CFLAGS_RELEASE
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes CFLAGS_RELEASE)
endif()
@@ -64,41 +73,46 @@ function(x_vcpkg_pkgconfig_get_modules)
z_vcpkg_set_pkgconfig_path("${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" "${backup_PKG_CONFIG_PATH}")
if(arg_LIBS)
execute_process(
- COMMAND "${PKGCONFIG}" --libs ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --libs ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_LIBS_DEBUG
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes LIBS_DEBUG)
endif()
if(arg_LIBRARIES)
execute_process(
- COMMAND "${PKGCONFIG}" --libs-only-l ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --libs-only-l ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DEBUG
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes LIBRARIES_DEBUG)
endif()
if(arg_LIBRARIES_DIRS)
execute_process(
- COMMAND "${PKGCONFIG}" --libs-only-L ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --libs-only-L ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DIRS_DEBUG
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes LIBRARIES_DIRS_DEBUG)
endif()
if(arg_INCLUDE_DIRS)
execute_process(
- COMMAND "${PKGCONFIG}" --cflags-only-I ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --cflags-only-I ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_INCLUDE_DIRS_DEBUG
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes INCLUDE_DIRS_DEBUG)
endif()
if(arg_CFLAGS)
execute_process(
- COMMAND "${PKGCONFIG}" --cflags ${arg_MODULES}
+ COMMAND "${PKGCONFIG}" ${msvc} --cflags ${arg_MODULES}
OUTPUT_VARIABLE ${arg_PREFIX}_CFLAGS_DEBUG
OUTPUT_STRIP_TRAILING_WHITESPACE
+ COMMAND_ERROR_IS_FATAL ANY
)
list(APPEND var_suffixes CFLAGS_DEBUG)
endif()
diff --git a/versions/baseline.json b/versions/baseline.json
index 593bd9db04..7c25a9da20 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -8416,9 +8416,13 @@
"baseline": "2021-11-16",
"port-version": 3
},
+ "vcpkg-msbuild": {
+ "baseline": "2023-06-22",
+ "port-version": 0
+ },
"vcpkg-pkgconfig-get-modules": {
- "baseline": "2022-02-10",
- "port-version": 1
+ "baseline": "2023-02-25",
+ "port-version": 0
},
"vcpkg-qmake": {
"baseline": "2023-03-22",
diff --git a/versions/v-/vcpkg-msbuild.json b/versions/v-/vcpkg-msbuild.json
new file mode 100644
index 0000000000..fb293066cb
--- /dev/null
+++ b/versions/v-/vcpkg-msbuild.json
@@ -0,0 +1,9 @@
+{
+ "versions": [
+ {
+ "git-tree": "e9effc7e0ed636888b0bf3660d602f0737cba97e",
+ "version-date": "2023-06-22",
+ "port-version": 0
+ }
+ ]
+}
diff --git a/versions/v-/vcpkg-pkgconfig-get-modules.json b/versions/v-/vcpkg-pkgconfig-get-modules.json
index 3bb85c48b8..ce08cd4ec9 100644
--- a/versions/v-/vcpkg-pkgconfig-get-modules.json
+++ b/versions/v-/vcpkg-pkgconfig-get-modules.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "57e857fda6b1dadd02036d9c012963db900bfc33",
+ "version-date": "2023-02-25",
+ "port-version": 0
+ },
{
"git-tree": "48bfa748f78837921860329547ed6e5799665698",
"version-date": "2022-02-10",