Skip to content

Merge from microsoft-master #1843

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jan 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 12 additions & 90 deletions ports/msh3/dependencies_fix.patch
Original file line number Diff line number Diff line change
@@ -1,100 +1,22 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d8a81ab..edf5651 100644
index c4c0814..f400566 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,9 +28,6 @@ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
@@ -36,9 +36,6 @@ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

if (WIN32)
- # Statically link the OS included part of the runtime.
- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
- set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib")
set(QUIC_COMMON_DEFINES WIN32_LEAN_AND_MEAN SECURITY_WIN32)
# TODO - Get these to work on Linux
list(APPEND MSH3_COMMON_DEFINES VER_BUILD_ID=${MSH3_VER_BUILD_ID})
@@ -66,7 +63,8 @@ target_include_directories(msh3_headers INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
option(LSQPACK_TESTS "Build tests" OFF)
option(LSQPACK_BIN "Build binaries" OFF)
-add_subdirectory(ls-qpack)
+find_package(ls-qpack CONFIG REQUIRED)
+add_library(ls-qpack ALIAS ls-qpack::ls-qpack)

# Configure and build msquic dependency.
if (WIN32)
@@ -76,9 +74,11 @@ else()
endif()
set(QUIC_BUILD_SHARED ON CACHE BOOL "Builds MsQuic as a dynamic library")
set(QUIC_ENABLE_LOGGING ON CACHE BOOL "Enable MsQuic logging")
-set(CMAKE_BUILD_TYPE "Release")
-add_subdirectory(msquic)
-target_compile_features(inc INTERFACE cxx_std_20)
+find_package(msquic CONFIG REQUIRED)
+# polyfill
+add_library(inc ALIAS msquic)
+add_library(platform ALIAS msquic)
+add_library(warnings ALIAS msquic)

# Build msh3 library (and cmd line tool).
add_subdirectory(lib)
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 4d7aeb7..6da8e1a 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -7,6 +7,8 @@ else()
set(SOURCES msh3.cpp)
endif()
add_library(msh3 SHARED ${SOURCES})
+target_compile_features(msh3 PRIVATE cxx_std_20)
+target_include_directories(msh3 PUBLIC $<INSTALL_INTERFACE:include>)
target_link_libraries(msh3 PRIVATE inc warnings msquic ls-qpack msh3_headers)
if (NOT BUILD_SHARED_LIBS)
target_link_libraries(msh3 PRIVATE base_link)
@@ -24,12 +26,16 @@ elseif (CX_PLATFORM STREQUAL "darwin")
PROPERTIES LINK_FLAGS "-exported_symbols_list \"${CMAKE_CURRENT_SOURCE_DIR}/darwin/exports.txt\"")
endif()

-install(TARGETS msh3 EXPORT msh3 DESTINATION lib)
+install(TARGETS msh3 EXPORT msh3
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
install(FILES ../msh3.h DESTINATION include)
-configure_file(msh3-config.cmake.in ${CMAKE_BINARY_DIR}/msh3-config.cmake)
+configure_file(msh3-config.cmake.in ${CMAKE_BINARY_DIR}/msh3-config.cmake @ONLY)
install(FILES ${CMAKE_BINARY_DIR}/msh3-config.cmake DESTINATION share/msh3)
install(EXPORT msh3 DESTINATION share/msh3)
-configure_file(libmsh3.pc.in ${CMAKE_BINARY_DIR}/libmsh3.pc)
-if(NOT WIN32)
+configure_file(libmsh3.pc.in ${CMAKE_BINARY_DIR}/libmsh3.pc @ONLY)
+if(1)
install(FILES ${CMAKE_BINARY_DIR}/libmsh3.pc DESTINATION lib/pkgconfig)
endif()
diff --git a/lib/libmsh3.pc.in b/lib/libmsh3.pc.in
index f156204..aad76ab 100644
--- a/lib/libmsh3.pc.in
+++ b/lib/libmsh3.pc.in
@@ -4,10 +4,10 @@
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
-includedir=${exec_prefix}/include
+includedir=${prefix}/include

Name: libmsh3
Description: Minimal HTTP/3 client on top of MsQuic
Version: 0.1.0
Libs: -L${libdir} -lmsh3
-Cflags: -I${includedir}/libmsh3
+Cflags: -I${includedir}
diff --git a/lib/msh3-config.cmake.in b/lib/msh3-config.cmake.in
index b4a54bf..540d56d 100644
--- a/lib/msh3-config.cmake.in
+++ b/lib/msh3-config.cmake.in
@@ -1,4 +1,4 @@
include(CMakeFindDependencyMacro)
@FILENAME_DEP_REPLACE@

-include(${SELF_DIR}/msh3.cmake)
+include("${CMAKE_CURRENT_LIST_DIR}/msh3.cmake")
add_compile_definitions(WIN32_LEAN_AND_MEAN)
if(HAS_SPECTRE)
@@ -76,6 +73,7 @@ endif()
option(MSH3_USE_EXTERNAL_MSQUIC "Use an external msquic installation")
if(MSH3_USE_EXTERNAL_MSQUIC)
find_package(msquic CONFIG REQUIRED)
+ add_library(msquic_platform ALIAS msquic) # with ports/msquic/exports-for-msh3.diff
else()
# Configure and build
if (WIN32)
7 changes: 5 additions & 2 deletions ports/msh3/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,18 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO nibanks/msh3
REF v${VERSION}
SHA512 dedd8be43e44b4bebbf601d76b1f3b0135501330ed128ca710de942ef7d9142a21f1c1eb9efecf57881e72d93d68c7c2c085bc35d402eac5eabc57e77773be6b
SHA512 0573647b2bea669b34343379319702513da884949b45b2e678aa6c9677ed8e5947ef85e6dcf47f5e5b798c9bfff62b41df53f65848a465b4b37596f5fefebbe6
HEAD_REF main
PATCHES
dependencies_fix.patch
width-exceeds-type.diff
)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DMSH3_INSTALL_PKGCONFIG=ON
-DMSH3_USE_EXTERNAL_LSQPACK=ON
-DMSH3_USE_EXTERNAL_MSQUIC=ON
)

vcpkg_cmake_install()
Expand Down
2 changes: 1 addition & 1 deletion ports/msh3/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "msh3",
"version": "0.7.0",
"version": "0.8.0",
"description": "Minimal HTTP/3 library",
"homepage": "https://github.com/nibanks/msh3",
"license": "MIT",
Expand Down
32 changes: 0 additions & 32 deletions ports/msh3/width-exceeds-type.diff

This file was deleted.

10 changes: 4 additions & 6 deletions ports/paraview/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -103,17 +103,15 @@ file(COPY "${QTTESTING_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/ThirdParty/QtT
file(COPY "${ICET_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/ThirdParty/IceT/vtkicet")

if("python" IN_LIST FEATURES)
# This sections relies on target package python3.
set(python_ver "")
if(NOT VCPKG_TARGET_IS_WINDOWS)
file(GLOB _py3_include_path "${CURRENT_INSTALLED_DIR}/include/python3*")
string(REGEX MATCH "python3\\.([0-9]+)" _python_version_tmp ${_py3_include_path})
set(PYTHON_VERSION_MINOR "${CMAKE_MATCH_1}")
set(python_ver "3.${PYTHON_VERSION_MINOR}")
set(python_ver "3")
endif()
list(APPEND ADDITIONAL_OPTIONS
-DPython3_FIND_REGISTRY=NEVER
"-DPython3_EXECUTABLE:PATH=${CURRENT_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_EXECUTABLE_SUFFIX}"
-DPARAVIEW_PYTHON_SITE_PACKAGES_SUFFIX=${PYTHON3_SITE}
"-DPython3_EXECUTABLE:PATH=${CURRENT_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
"-DPARAVIEW_PYTHON_SITE_PACKAGES_SUFFIX=${PYTHON3_SITE}" # from vcpkg-port-config.cmake
-DVTK_MODULE_ENABLE_ParaView_PythonCatalyst:STRING=YES
)
endif()
Expand Down
2 changes: 1 addition & 1 deletion ports/paraview/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "paraview",
"version": "5.12.1",
"port-version": 2,
"port-version": 3,
"description": "VTK-based Data Analysis and Visualization Application",
"homepage": "https://www.paraview.org/",
"license": "BSD-3-Clause",
Expand Down
5 changes: 2 additions & 3 deletions ports/spirv-headers/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ vcpkg_cmake_configure(
vcpkg_cmake_install()
vcpkg_copy_pdbs()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")

vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/SPIRV-Headers")
vcpkg_fixup_pkgconfig()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
1 change: 1 addition & 0 deletions ports/spirv-headers/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "spirv-headers",
"version": "1.3.296.0",
"port-version": 1,
"description": "Machine-readable files for the SPIR-V Registry",
"homepage": "https://github.com/KhronosGroup/SPIRV-Headers",
"dependencies": [
Expand Down
9 changes: 3 additions & 6 deletions ports/vtk-dicom/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO dgobbi/vtk-dicom
REF cfeceadfa68d2cc3172632bd1fd3ea8a38b6c609 # v0.8.16
REF cfeceadfa68d2cc3172632bd1fd3ea8a38b6c609 # v0.8.16
SHA512 0715ef91a1c585c9c819efd2bd6e2b73d3bff73a626b89f4877812fa6587e8379fb55ad99a376fb4d8dfa46c438e7a7052ba02ae61feb950cafb00c95df09b3f
HEAD_REF master
)
Expand All @@ -21,18 +21,15 @@ endif()

set(python_ver "")
if(NOT VCPKG_TARGET_IS_WINDOWS)
file(GLOB _py3_include_path "${CURRENT_HOST_INSTALLED_DIR}/include/python3*")
string(REGEX MATCH "python3\\.([0-9]+)" _python_version_tmp ${_py3_include_path})
set(PYTHON_VERSION_MINOR "${CMAKE_MATCH_1}")
set(python_ver "3.${PYTHON_VERSION_MINOR}")
set(python_ver "3")
endif()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBUILD_PROGRAMS=OFF
-DBUILD_EXAMPLES=OFF
"-DPython3_EXECUTABLE:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_EXECUTABLE_SUFFIX}"
"-DPython3_EXECUTABLE:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
${ADDITIONAL_OPTIONS}
)

Expand Down
2 changes: 1 addition & 1 deletion ports/vtk-dicom/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "vtk-dicom",
"version": "0.8.16",
"port-version": 1,
"port-version": 2,
"description": "DICOM for VTK",
"homepage": "https://github.com/dgobbi/vtk-dicom",
"license": "BSD-3-Clause",
Expand Down
25 changes: 12 additions & 13 deletions ports/vtk/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -172,21 +172,19 @@ if("qt" IN_LIST FEATURES)
endif()

if("python" IN_LIST FEATURES)
# This sections relies on target package python3.
set(python_ver "")
if(NOT VCPKG_TARGET_IS_WINDOWS)
file(GLOB _py3_include_path "${CURRENT_INSTALLED_DIR}/include/python3*")
string(REGEX MATCH "python3\\.([0-9]+)" _python_version_tmp ${_py3_include_path})
set(PYTHON_VERSION_MINOR "${CMAKE_MATCH_1}")
set(python_ver "3.${PYTHON_VERSION_MINOR}")
set(python_ver "3")
endif()
list(APPEND ADDITIONAL_OPTIONS
-DVTK_WRAP_PYTHON=ON
-DPython3_FIND_REGISTRY=NEVER
"-DPython3_EXECUTABLE:PATH=${CURRENT_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_EXECUTABLE_SUFFIX}"
"-DPython3_EXECUTABLE:PATH=${CURRENT_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
-DVTK_MODULE_ENABLE_VTK_Python=YES
-DVTK_MODULE_ENABLE_VTK_PythonContext2D=YES # TODO: recheck
-DVTK_MODULE_ENABLE_VTK_PythonInterpreter=YES
-DVTK_PYTHON_SITE_PACKAGES_SUFFIX=${PYTHON3_SITE}
"-DVTK_PYTHON_SITE_PACKAGES_SUFFIX=${PYTHON3_SITE}" # from vcpkg-port-config.cmake
)
#VTK_PYTHON_SITE_PACKAGES_SUFFIX should be set to the install dir of the site-packages
endif()
Expand Down Expand Up @@ -418,15 +416,16 @@ endforeach()
# Use vcpkg provided find method
file(REMOVE "${CURRENT_PACKAGES_DIR}/share/${PORT}/FindEXPAT.cmake")

file(RENAME "${CURRENT_PACKAGES_DIR}/share/licenses" "${CURRENT_PACKAGES_DIR}/share/${PORT}/licenses")

if(EXISTS "${CURRENT_PACKAGES_DIR}/include/vtk-${VTK_SHORT_VERSION}/vtkChemistryConfigure.h")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/vtk-${VTK_SHORT_VERSION}/vtkChemistryConfigure.h" "${SOURCE_PATH}" "not/existing" IGNORE_UNCHANGED)
endif()
# =============================================================================
# Usage
configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY)
# Handle copyright
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright.txt")

vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/vtk/VTK-vtk-module-properties.cmake" "_vtk_module_import_prefix}/lib/vtk-9.3/hierarchy" "_vtk_module_import_prefix}$<$<CONFIG:Debug>:/debug>/lib/vtk-9.3/hierarchy")

file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")

file(RENAME "${CURRENT_PACKAGES_DIR}/share/licenses" "${CURRENT_PACKAGES_DIR}/share/${PORT}/licenses")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright.txt" COMMENT [[
This file presents the top-level Copyright.txt.
Additional licenses and notes are located in the licenses directory.
]])
4 changes: 2 additions & 2 deletions ports/vtk/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "vtk",
"version-semver": "9.3.0-pv5.12.1",
"port-version": 5,
"port-version": 6,
"description": "Software system for 3D computer graphics, image processing, and visualization",
"homepage": "https://github.com/Kitware/VTK",
"license": "BSD-3-Clause",
"license": null,
"dependencies": [
"double-conversion",
"eigen3",
Expand Down
14 changes: 13 additions & 1 deletion ports/zlib-ng/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,18 @@ vcpkg_from_github(
HEAD_REF develop
)

# Set ZLIB_COMPAT in the triplet file to turn on
if(NOT DEFINED ZLIB_COMPAT)
set(ZLIB_COMPAT OFF)
endif()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
"-DZLIB_FULL_VERSION=${ZLIB_FULL_VERSION}"
-DZLIB_ENABLE_TESTS=OFF
-DWITH_NEW_STRATEGIES=ON
-DZLIB_COMPAT=${ZLIB_COMPAT}
OPTIONS_RELEASE
-DWITH_OPTIM=ON
)
Expand Down Expand Up @@ -46,7 +52,13 @@ if(VCPKG_TARGET_IS_WINDOWS AND (NOT (VCPKG_LIBRARY_LINKAGE STREQUAL static AND V
endif()

vcpkg_fixup_pkgconfig()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/zlib-ng)

if(ZLIB_COMPAT)
set(_cmake_dir "ZLIB")
else()
set(_cmake_dir "zlib-ng")
endif()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${_cmake_dir})

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/debug/include"
Expand Down
1 change: 1 addition & 0 deletions ports/zlib-ng/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "zlib-ng",
"version": "2.2.3",
"port-version": 1,
"description": "zlib replacement with optimizations for 'next generation' systems",
"homepage": "https://github.com/zlib-ng/zlib-ng",
"license": "Zlib",
Expand Down
Loading
Loading