From b7d6160b80f417137bc480137b946c91f3272bf5 Mon Sep 17 00:00:00 2001 From: Curtis J Bezault Date: Wed, 12 Jun 2019 14:18:43 -0700 Subject: [PATCH 001/123] [icu] Enable parallel builds (#6695) * Add VCPKG_NUM_LOGICAL_CORES * break out logic that retries running a command several times into its own function * Parallelize icu --- ports/icu/fix_parallel_build_on_windows.patch | 13 ++ ports/icu/portfile.cmake | 44 ++++-- scripts/cmake/vcpkg_build_cmake.cmake | 133 ++--------------- scripts/cmake/vcpkg_common_functions.cmake | 1 + .../cmake/vcpkg_execute_build_process.cmake | 138 ++++++++++++++++++ toolsrc/include/vcpkg/base/system.h | 2 + toolsrc/src/vcpkg/base/system.cpp | 5 + toolsrc/src/vcpkg/build.cpp | 18 +++ 8 files changed, 220 insertions(+), 134 deletions(-) create mode 100644 ports/icu/fix_parallel_build_on_windows.patch create mode 100644 scripts/cmake/vcpkg_execute_build_process.cmake diff --git a/ports/icu/fix_parallel_build_on_windows.patch b/ports/icu/fix_parallel_build_on_windows.patch new file mode 100644 index 0000000000..b0ea7556c8 --- /dev/null +++ b/ports/icu/fix_parallel_build_on_windows.patch @@ -0,0 +1,13 @@ +diff --git a/source/data/Makefile.in b/source/data/Makefile.in +index 1140b69..936ef81 100644 +--- a/source/data/Makefile.in ++++ b/source/data/Makefile.in +@@ -514,7 +514,7 @@ build-dir: + # The | is an order-only prerequisite. This helps when the -j option is used, + # and we don't want the files to be built before the directories are built. + ifneq ($(filter order-only,$(.FEATURES)),) +-$(ALL_FILES) $(ALL_INDEX_SRC_FILES): | build-dir ++$(ALL_FILES) $(ALL_INDEX_SRC_FILES) $(SO_VERSION_DATA): | build-dir + endif + + # Now, sections for building each kind of data. diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake index 2061111e9a..9225246f3d 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -15,11 +15,13 @@ vcpkg_download_distfile( FILENAME "icu4c-${VERSION2}-src.tgz" SHA512 4c37691246db802e4bae0c8c5f6ac1dac64c5753b607e539c5c1c36e361fcd9dd81bd1d3b5416c2960153b83700ccdb356412847d0506ab7782ae626ac0ffb94 ) -vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src/icu-${VERSION}) - -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/disable-escapestr-tool.patch - ${CMAKE_CURRENT_LIST_DIR}/remove-MD-from-configure.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/disable-escapestr-tool.patch + ${CMAKE_CURRENT_LIST_DIR}/remove-MD-from-configure.patch + ${CMAKE_CURRENT_LIST_DIR}/fix_parallel_build_on_windows.patch ) set(CONFIGURE_OPTIONS "--disable-samples --disable-tests") @@ -94,8 +96,8 @@ else() message(STATUS "Configuring ${TARGET_TRIPLET}-rel") file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - set(ENV{CFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}") - set(ENV{CXXFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE}") + set(ENV{CFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi -FS ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}") + set(ENV{CXXFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi -FS ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE}") set(ENV{LDFLAGS} "-DEBUG -INCREMENTAL:NO -OPT:REF -OPT:ICF") vcpkg_execute_required_process( COMMAND ${BASH} --noprofile --norc -c @@ -110,8 +112,8 @@ else() message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - set(ENV{CFLAGS} "${ICU_RUNTIME}d -Od -Zi -RTC1 ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}") - set(ENV{CXXFLAGS} "${ICU_RUNTIME}d -Od -Zi -RTC1 ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG}") + set(ENV{CFLAGS} "${ICU_RUNTIME}d -Od -Zi -FS -RTC1 ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}") + set(ENV{CXXFLAGS} "${ICU_RUNTIME}d -Od -Zi -FS -RTC1 ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG}") set(ENV{LDFLAGS} "-DEBUG") vcpkg_execute_required_process( COMMAND ${BASH} --noprofile --norc -c @@ -129,20 +131,32 @@ unset(ENV{LDFLAGS}) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") # Build release message(STATUS "Package ${TARGET_TRIPLET}-rel") - vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c "make && make install" + vcpkg_execute_build_process( + COMMAND ${BASH} --noprofile --norc -c "make -j ${VCPKG_CONCURRENCY}" + NO_PARALLEL_COMMAND ${BASH} --noprofile --norc -c "make" WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - LOGNAME "build-${TARGET_TRIPLET}-rel") + LOGNAME "make-build-${TARGET_TRIPLET}-rel") + + vcpkg_execute_build_process( + COMMAND ${BASH} --noprofile --norc -c "make install" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" + LOGNAME "make-install-${TARGET_TRIPLET}-rel") message(STATUS "Package ${TARGET_TRIPLET}-rel done") endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") # Build debug message(STATUS "Package ${TARGET_TRIPLET}-dbg") - vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c "make && make install" + vcpkg_execute_build_process( + COMMAND ${BASH} --noprofile --norc -c "make -j ${VCPKG_CONCURRENCY}" + NO_PARALLEL_COMMAND ${BASH} --noprofile --norc -c "make" WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" - LOGNAME "build-${TARGET_TRIPLET}-dbg") + LOGNAME "make-build-${TARGET_TRIPLET}-dbg") + + vcpkg_execute_build_process( + COMMAND ${BASH} --noprofile --norc -c "make install" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + LOGNAME "make-install-${TARGET_TRIPLET}-dbg") message(STATUS "Package ${TARGET_TRIPLET}-dbg done") endif() diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake index 3db6597b46..b110d2cc90 100644 --- a/scripts/cmake/vcpkg_build_cmake.cmake +++ b/scripts/cmake/vcpkg_build_cmake.cmake @@ -60,10 +60,6 @@ function(vcpkg_build_cmake) set(TARGET_PARAM) endif() - if(_bc_DISABLE_PARALLEL) - set(PARALLEL_ARG ${NO_PARALLEL_ARG}) - endif() - foreach(BUILDTYPE "debug" "release") if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL BUILDTYPE) if(BUILDTYPE STREQUAL "debug") @@ -75,8 +71,6 @@ function(vcpkg_build_cmake) endif() message(STATUS "Building ${TARGET_TRIPLET}-${SHORT_BUILDTYPE}") - set(LOGPREFIX "${CURRENT_BUILDTREES_DIR}/${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-${SHORT_BUILDTYPE}") - set(LOGS) if(_bc_ADD_BIN_TO_PATH) set(_BACKUP_ENV_PATH "$ENV{PATH}") @@ -91,121 +85,22 @@ function(vcpkg_build_cmake) set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin${_PATHSEP}$ENV{PATH}") endif() endif() - execute_process( - COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG} - OUTPUT_FILE "${LOGPREFIX}-out.log" - ERROR_FILE "${LOGPREFIX}-err.log" - RESULT_VARIABLE error_code - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) - if(error_code) - file(READ "${LOGPREFIX}-out.log" out_contents) - file(READ "${LOGPREFIX}-err.log" err_contents) - if(out_contents) - list(APPEND LOGS "${LOGPREFIX}-out.log") - endif() - if(err_contents) - list(APPEND LOGS "${LOGPREFIX}-err.log") - endif() - - if(out_contents MATCHES "LINK : fatal error LNK1102:" OR out_contents MATCHES " fatal error C1060: ") - # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled. - message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} without parallelism because memory exceeded") - execute_process( - COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG} - OUTPUT_FILE "${LOGPREFIX}-out-1.log" - ERROR_FILE "${LOGPREFIX}-err-1.log" - RESULT_VARIABLE error_code - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) - - if(error_code) - file(READ "${LOGPREFIX}-out-1.log" out_contents) - file(READ "${LOGPREFIX}-err-1.log" err_contents) - - if(out_contents) - list(APPEND LOGS "${LOGPREFIX}-out-1.log") - endif() - if(err_contents) - list(APPEND LOGS "${LOGPREFIX}-err-1.log") - endif() - endif() - elseif(out_contents MATCHES ": No such file or directory") - # WSL workaround - WSL occassionally fails with no such file or directory. Detect if we are running in WSL and restart. - execute_process(COMMAND "uname" "-r" - OUTPUT_VARIABLE UNAME_R ERROR_VARIABLE UNAME_R - OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE) - - if (UNAME_R MATCHES "Microsoft") - set(ITERATION 0) - while (ITERATION LESS 10 AND out_contents MATCHES ": No such file or directory") - MATH(EXPR ITERATION "${ITERATION}+1") - message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} because of wsl subsystem issue. Iteration: ${ITERATION}") - execute_process( - COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} - OUTPUT_FILE "${LOGPREFIX}-out-${ITERATION}.log" - ERROR_FILE "${LOGPREFIX}-err-${ITERATION}.log" - RESULT_VARIABLE error_code - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) - - if(error_code) - file(READ "${LOGPREFIX}-out-${ITERATION}.log" out_contents) - file(READ "${LOGPREFIX}-err-${ITERATION}.log" err_contents) - - if(out_contents) - list(APPEND LOGS "${LOGPREFIX}-out-${ITERATION}.log") - endif() - if(err_contents) - list(APPEND LOGS "${LOGPREFIX}-err-${ITERATION}.log") - endif() - else() - break() - endif() - endwhile() - endif() - elseif(out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: ") - # Antivirus workaround - occasionally files are locked and cause mt.exe to fail - set(ITERATION 0) - while (ITERATION LESS 3 AND (out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: ")) - MATH(EXPR ITERATION "${ITERATION}+1") - message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} because of mt.exe file locking issue. Iteration: ${ITERATION}") - execute_process( - COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG} - OUTPUT_FILE "${LOGPREFIX}-out-${ITERATION}.log" - ERROR_FILE "${LOGPREFIX}-err-${ITERATION}.log" - RESULT_VARIABLE error_code - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) - - if(error_code) - file(READ "${LOGPREFIX}-out-${ITERATION}.log" out_contents) - file(READ "${LOGPREFIX}-err-${ITERATION}.log" err_contents) - - if(out_contents) - list(APPEND LOGS "${LOGPREFIX}-out-${ITERATION}.log") - endif() - if(err_contents) - list(APPEND LOGS "${LOGPREFIX}-err-${ITERATION}.log") - endif() - else() - break() - endif() - endwhile() - endif() - - if(error_code) - set(STRINGIFIED_LOGS) - foreach(LOG ${LOGS}) - file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG) - list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n") - endforeach() - set(_eb_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG}) - set(_eb_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) - message(FATAL_ERROR - " Command failed: ${_eb_COMMAND}\n" - " Working Directory: ${_eb_WORKING_DIRECTORY}\n" - " See logs for more information:\n" - ${STRINGIFIED_LOGS}) - endif() + if (_bc_DISABLE_PARALLEL) + vcpkg_execute_build_process( + COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE} + LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-${SHORT_BUILDTYPE}" + ) + else() + vcpkg_execute_build_process( + COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG} + NO_PARALLEL_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE} + LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-${SHORT_BUILDTYPE}" + ) endif() + if(_bc_ADD_BIN_TO_PATH) set(ENV{PATH} "${_BACKUP_ENV_PATH}") endif() diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake index d66fc5effd..b99f8bee8d 100644 --- a/scripts/cmake/vcpkg_common_functions.cmake +++ b/scripts/cmake/vcpkg_common_functions.cmake @@ -7,6 +7,7 @@ include(vcpkg_extract_source_archive) include(vcpkg_extract_source_archive_ex) include(vcpkg_execute_required_process) include(vcpkg_execute_required_process_repeat) +include(vcpkg_execute_build_process) include(vcpkg_find_acquire_program) include(vcpkg_fixup_cmake_targets) include(vcpkg_from_github) diff --git a/scripts/cmake/vcpkg_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake new file mode 100644 index 0000000000..f02aa296da --- /dev/null +++ b/scripts/cmake/vcpkg_execute_build_process.cmake @@ -0,0 +1,138 @@ +## # vcpkg_execute_build_process +## +## Execute a required build process +## +## ## Usage +## ```cmake +## vcpkg_execute_build_process( +## COMMAND [...] +## [NO_PARALLEL_COMMAND [...]] +## WORKING_DIRECTORY +## LOGNAME ) +## ) +## ``` +## ## Parameters +## ### COMMAND +## The command to be executed, along with its arguments. +## +## ### NO_PARALLEL_COMMAND +## Optional parameter which specifies a non-parallel command to attempt if a +## failure potentially due to parallelism is detected. +## +## ### WORKING_DIRECTORY +## The directory to execute the command in. +## +## ### LOGNAME +## The prefix to use for the log files. +## +## This should be a unique name for different triplets so that the logs don't +## conflict when building multiple at once. +## +## ## Examples +## +## * [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake) +function(vcpkg_execute_build_process) + cmake_parse_arguments(_ebp "" "WORKING_DIRECTORY;LOGNAME" "COMMAND;NO_PARALLEL_COMMAND" ${ARGN}) + + set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-out.log") + set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-err.log") + + execute_process( + COMMAND ${_ebp_COMMAND} + WORKING_DIRECTORY ${_ebp_WORKING_DIRECTORY} + OUTPUT_FILE ${LOG_OUT} + ERROR_FILE ${LOG_ERR} + RESULT_VARIABLE error_code + ) + + if(error_code) + file(READ ${LOG_OUT} out_contents) + file(READ ${LOG_ERR} err_contents) + + if(out_contents) + list(APPEND LOGS ${LOG_OUT}) + endif() + if(err_contents) + list(APPEND LOGS ${LOG_ERR}) + endif() + + if(out_contents MATCHES "LINK : fatal error LNK1102:" OR out_contents MATCHES " fatal error C1060: " + OR err_contents MATCHES "LINK : fatal error LNK1102:" OR err_contents MATCHES " fatal error C1060: ") + # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled. + message(STATUS "Restarting Build without parallelism because memory exceeded") + set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-out-1.log") + set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-err-1.log") + + if(${_ebp_NO_PARALLEL_COMMAND}) + execute_process( + COMMAND ${_ebp_NO_PARALLEL_COMMAND} + WORKING_DIRECTORY ${_ebp_WORKING_DIRECTORY} + OUTPUT_FILE ${LOG_OUT} + ERROR_FILE ${LOG_ERR} + RESULT_VARIABLE error_code + ) + else() + execute_process( + COMMAND ${_ebp_COMMAND} + WORKING_DIRECTORY ${_ebp_WORKING_DIRECTORY} + OUTPUT_FILE ${LOG_OUT} + ERROR_FILE ${LOG_ERR} + RESULT_VARIABLE error_code + ) + endif() + + if(error_code) + file(READ ${LOG_OUT} out_contents) + file(READ ${LOG_ERR} err_contents) + + if(out_contents) + list(APPEND LOGS ${LOG_OUT}) + endif() + if(err_contents) + list(APPEND LOGS ${LOG_ERR}) + endif() + endif() + elseif(out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: ") + # Antivirus workaround - occasionally files are locked and cause mt.exe to fail + message(STATUS "mt.exe has failed. This may be the result of anti-virus. Disabling anti-virus on the buildtree folder may improve build speed") + set(ITERATION 0) + while (ITERATION LESS 3 AND (out_contents MATCHES "mt : general error c101008d: " OR out_contents MATCHES "mt.exe : general error c101008d: ")) + MATH(EXPR ITERATION "${ITERATION}+1") + message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} because of mt.exe file locking issue. Iteration: ${ITERATION}") + execute_process( + COMMAND ${_ebp_COMMAND} + OUTPUT_FILE "${LOGPREFIX}-out-${ITERATION}.log" + ERROR_FILE "${LOGPREFIX}-err-${ITERATION}.log" + RESULT_VARIABLE error_code + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) + + if(error_code) + file(READ "${LOGPREFIX}-out-${ITERATION}.log" out_contents) + file(READ "${LOGPREFIX}-err-${ITERATION}.log" err_contents) + + if(out_contents) + list(APPEND LOGS "${LOGPREFIX}-out-${ITERATION}.log") + endif() + if(err_contents) + list(APPEND LOGS "${LOGPREFIX}-err-${ITERATION}.log") + endif() + else() + break() + endif() + endwhile() + endif() + + if(error_code) + set(STRINGIFIED_LOGS) + foreach(LOG ${LOGS}) + file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG) + list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n") + endforeach() + message(FATAL_ERROR + " Command failed: ${_ebp_COMMAND}\n" + " Working Directory: ${_ebp_WORKING_DIRECTORY}\n" + " See logs for more information:\n" + ${STRINGIFIED_LOGS}) + endif(error_code) + endif(error_code) +endfunction(vcpkg_execute_build_process) diff --git a/toolsrc/include/vcpkg/base/system.h b/toolsrc/include/vcpkg/base/system.h index 0245b684a7..907a692a27 100644 --- a/toolsrc/include/vcpkg/base/system.h +++ b/toolsrc/include/vcpkg/base/system.h @@ -28,4 +28,6 @@ namespace vcpkg::System const Optional& get_program_files_32_bit(); const Optional& get_program_files_platform_bitness(); + + int get_num_logical_cores(); } diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index 48a701bfa6..a118535241 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -596,6 +596,11 @@ namespace vcpkg #else void System::register_console_ctrl_handler() {} #endif + + int System::get_num_logical_cores() + { + return std::thread::hardware_concurrency(); + } } namespace vcpkg::Debug diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 7bd6f467b7..0a7c854b5a 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -334,6 +334,23 @@ namespace vcpkg::Build return ret; } + static int get_concurrency() + { + static int concurrency = []{ + auto user_defined_concurrency = System::get_environment_variable("VCPKG_MAX_CONCURRENCY"); + if (user_defined_concurrency) + { + return std::stoi(user_defined_concurrency.value_or_exit(VCPKG_LINE_INFO)); + } + else + { + return System::get_num_logical_cores() + 1; + } + }(); + + return concurrency; + } + static ExtendedBuildResult do_build_package(const VcpkgPaths& paths, const PreBuildInfo& pre_build_info, const PackageSpec& spec, @@ -372,6 +389,7 @@ namespace vcpkg::Build {"_VCPKG_DOWNLOAD_TOOL", to_string(config.build_package_options.download_tool)}, {"FEATURES", Strings::join(";", config.feature_list)}, {"ALL_FEATURES", all_features}, + {"VCPKG_CONCURRENCY", std::to_string(get_concurrency())}, }; if (!System::get_environment_variable("VCPKG_FORCE_SYSTEM_BINARIES").has_value()) From d4412e0ee2c8842bf54f0d70aeb07d184578bc1f Mon Sep 17 00:00:00 2001 From: Cheney Wang <38240633+Cheney-W@users.noreply.github.com> Date: Thu, 13 Jun 2019 06:44:25 +0800 Subject: [PATCH 002/123] [glew] Disable the link option /nodefaultlib and /noentry (#6853) * [glew] Disable the link option /nodefaultlib and /noentry * [glew] Combine with vcpkg_extract_source_archive_ex --- ports/glew/CONTROL | 2 +- ports/glew/fix-LNK2019.patch | 13 +++++++++++++ ports/glew/portfile.cmake | 9 +++++++-- 3 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 ports/glew/fix-LNK2019.patch diff --git a/ports/glew/CONTROL b/ports/glew/CONTROL index 54b2d09df4..13cc922304 100644 --- a/ports/glew/CONTROL +++ b/ports/glew/CONTROL @@ -1,3 +1,3 @@ Source: glew -Version: 2.1.0-3 +Version: 2.1.0-4 Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. diff --git a/ports/glew/fix-LNK2019.patch b/ports/glew/fix-LNK2019.patch new file mode 100644 index 0000000000..d45e61a880 --- /dev/null +++ b/ports/glew/fix-LNK2019.patch @@ -0,0 +1,13 @@ +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index 5081e0f..f76725a 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -108,7 +108,7 @@ if (MSVC) + target_compile_options (glew PRIVATE -GS-) + target_compile_options (glew_s PRIVATE -GS-) + # remove stdlib dependency +- target_link_libraries (glew LINK_PRIVATE -nodefaultlib -noentry) ++ # target_link_libraries (glew LINK_PRIVATE -nodefaultlib -noentry) + string(REGEX REPLACE "/RTC(su|[1su])" "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) + elseif (WIN32 AND ((CMAKE_C_COMPILER_ID MATCHES "GNU") OR (CMAKE_C_COMPILER_ID MATCHES "Clang"))) + # remove stdlib dependency on windows with GCC and Clang (for similar reasons diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake index 9b982db7f0..f05934f05f 100644 --- a/ports/glew/portfile.cmake +++ b/ports/glew/portfile.cmake @@ -1,6 +1,6 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glew/glew-2.1.0) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glew-58abdfb190) # Don't change to vcpkg_from_github! The github-auto-generated archives are missing some files. # More info: https://github.com/nigels-com/glew/issues/31 and https://github.com/nigels-com/glew/issues/13 @@ -9,7 +9,12 @@ vcpkg_download_distfile(ARCHIVE_FILE FILENAME "glew-2.1.0.tgz" SHA512 9a9b4d81482ccaac4b476c34ed537585ae754a82ebb51c3efa16d953c25cc3931be46ed2e49e79c730cd8afc6a1b78c97d52cd714044a339c3bc29734cd4d2ab ) -vcpkg_extract_source_archive(${ARCHIVE_FILE} ${CURRENT_BUILDTREES_DIR}/src/glew) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH ${SOURCE_PATH} + ARCHIVE ${ARCHIVE_FILE} + REF glew + PATCHES fix-LNK2019.patch +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/build/cmake From 70149722d758c21b5f49a22f3a4a0c15ea8c6852 Mon Sep 17 00:00:00 2001 From: ct-clmsn Date: Wed, 12 Jun 2019 19:04:18 -0400 Subject: [PATCH 003/123] [libfabric] initial port of libfabric #4739 (#4740) * [networkdirect-sdk] Add networkdirect sdk install --- ports/libfabric/CONTROL | 5 ++ ports/libfabric/add_additional_includes.patch | 58 +++++++++++++++++++ ports/libfabric/portfile.cmake | 46 +++++++++++++++ ports/networkdirect-sdk/CONTROL | 4 ++ ports/networkdirect-sdk/portfile.cmake | 42 ++++++++++++++ 5 files changed, 155 insertions(+) create mode 100644 ports/libfabric/CONTROL create mode 100644 ports/libfabric/add_additional_includes.patch create mode 100644 ports/libfabric/portfile.cmake create mode 100644 ports/networkdirect-sdk/CONTROL create mode 100644 ports/networkdirect-sdk/portfile.cmake diff --git a/ports/libfabric/CONTROL b/ports/libfabric/CONTROL new file mode 100644 index 0000000000..931d10f5e4 --- /dev/null +++ b/ports/libfabric/CONTROL @@ -0,0 +1,5 @@ +Source: libfabric +Version: 1.7.1 +Description: The OpenFabrics Interfaces Working Group (OFIWG) and the Libfabric open-source community are pleased to announce the release of version v1.6.2 of libfabric. See NEWS.md for the list of features and enhancements that have been added since the last release. +Homepage: https://github.com/ofiwg/libfabric +Build-Depends: networkdirect-sdk (windows) diff --git a/ports/libfabric/add_additional_includes.patch b/ports/libfabric/add_additional_includes.patch new file mode 100644 index 0000000000..377a810d28 --- /dev/null +++ b/ports/libfabric/add_additional_includes.patch @@ -0,0 +1,58 @@ +diff --git a/libfabric.vcxproj b/libfabric.vcxproj +index 43a05e7..ceb596f 100644 +--- a/libfabric.vcxproj ++++ b/libfabric.vcxproj +@@ -125,7 +125,7 @@ + Disabled + WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) + true +- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include ++ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include + CompileAsC + 4127;4200;4204;4221;4115;4201;4100 + true +@@ -148,7 +148,7 @@ + Disabled + WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) + true +- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; ++ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; + CompileAsC + 4127;4200;4204;4221;4115;4201;4100 + true +@@ -171,7 +171,7 @@ + Disabled + WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) + true +- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include ++ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include + CompileAsC + 4127;4200;94;4204;4221;869 + true +@@ -195,7 +195,7 @@ + true + WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) + true +- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include ++ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include + 4127;4200;4204;4221;4115;4201;4100 + true + false +@@ -220,7 +220,7 @@ + true + WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) + true +- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; ++ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; + 4127;4200;4204;4221;4115;4201;4100 + true + false +@@ -245,7 +245,7 @@ + true + WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) + true +- $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; ++ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; + 4127;4200;94;4204;4221;869 + true + false diff --git a/ports/libfabric/portfile.cmake b/ports/libfabric/portfile.cmake new file mode 100644 index 0000000000..f7dc21226a --- /dev/null +++ b/ports/libfabric/portfile.cmake @@ -0,0 +1,46 @@ +include(vcpkg_common_functions) + +if (VCPKG_CMAKE_SYSTEM_NAME) + # The library supports Linux/Darwin/BSD, it is just not yet added here + message(FATAL_ERROR "vcpkg libfabric currently suports windows. Please consider a pull request to add additional support!") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ofiwg/libfabric + REF v1.7.1 + HEAD_REF master + SHA512 3ae06839295a5b581a5d9936ee991bb597672a4981cc7fa385f4db7645d5328156d758848827ec186c0056cf3abd97f8f3859ec16a8b5bbd0d1f979143ee7bb1 + PATCHES + add_additional_includes.patch +) + +if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + message(FATAL_ERROR "VCPKG BUILD ERROR: libfabric only supports x64") +endif() + +set(LIBFABRIC_RELEASE_CONFIGURATION "Release-v141") +set(LIBFABRIC_DEBUG_CONFIGURATION "Debug-v141") + +vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH libfabric.vcxproj + INCLUDES_SUBPATH include + LICENSE_SUBPATH COPYING + PLATFORM "x64" + RELEASE_CONFIGURATION ${LIBFABRIC_RELEASE_CONFIGURATION} + DEBUG_CONFIGURATION ${LIBFABRIC_RELEASE_CONFIGURATION} + USE_VCPKG_INTEGRATION + ALLOW_ROOT_INCLUDES + OPTIONS + /p:SolutionDir=${SOURCE_PATH} + /p:AdditionalIncludeDirectories="${CURRENT_INSTALLED_DIR}/include" +) + +#Move includes under subdirectory to avoid colisions with other libraries +file(RENAME ${CURRENT_PACKAGES_DIR}/include ${CURRENT_PACKAGES_DIR}/includetemp) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) +file(RENAME ${CURRENT_PACKAGES_DIR}/includetemp ${CURRENT_PACKAGES_DIR}/include/libfabric) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libfabric RENAME copyright) diff --git a/ports/networkdirect-sdk/CONTROL b/ports/networkdirect-sdk/CONTROL new file mode 100644 index 0000000000..3cc939c8e5 --- /dev/null +++ b/ports/networkdirect-sdk/CONTROL @@ -0,0 +1,4 @@ +Source: networkdirect-sdk +Version: 2.0.1 +Description: The Network Direct architecture allows hardware vendors to expose the advanced capabilities of their networking devices. +Homepage: https://www.nuget.org/packages/NetworkDirect \ No newline at end of file diff --git a/ports/networkdirect-sdk/portfile.cmake b/ports/networkdirect-sdk/portfile.cmake new file mode 100644 index 0000000000..bb893ed906 --- /dev/null +++ b/ports/networkdirect-sdk/portfile.cmake @@ -0,0 +1,42 @@ +include(vcpkg_common_functions) + +#only supports windows +if (VCPKG_CMAKE_SYSTEM_NAME) + message(FATAL_ERROR "networkDirect-sdk only supports windows") +endif() + +if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + message(FATAL_ERROR "networkDirect-sdk only supports x64 and x86") +endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.nuget.org/api/v2/package/NetworkDirect/2.0.1" + FILENAME "networkDirect-2.0.1.zip" + SHA512 97e48ab293c164a80a3ed9e51f1f9f5ae85c07ee91c49950a76b486567d2e50346a2379b8284ffcb9d7d2fe70f76eff9455dce740cf9d3e0c1b83100e25168a8 +) + +vcpkg_download_distfile(LICENSE + URLS "https://raw.githubusercontent.com/microsoft/NetworkDirect/master/LICENSE.txt" + FILENAME "networkingDirect_license.txt" + SHA512 7d79aae4c9beb85811a3e122a2b12aad231f519dd12a461ac49d52864a735a6b05a263d433c11ede1406d2e49b6dc62dd38487eb7bd8c079d7198a20cf85fc4d +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL +) + +file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}/ ) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + file(COPY ${SOURCE_PATH}/lib/x64/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) + file(COPY ${SOURCE_PATH}/lib/x64/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + file(COPY ${SOURCE_PATH}/lib/Win32/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) + file(COPY ${SOURCE_PATH}/lib/Win32/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) +endif() + +file(COPY ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/networkdirect-sdk/COPYRIGHT) From 8c49e565c0eb565fd76df76144dd78d70a211d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0smail=20D=C3=B6nmez?= Date: Thu, 13 Jun 2019 01:30:03 +0200 Subject: [PATCH 004/123] Protect #pragma comment(lib, "foo") with _WIN32 checks (#6867) lld on Linux can now process #pragma comment(lib, "foo") macros which results in build failures on Linux when lld is used. Fix this by protecting these macros with _WIN32 checks. --- toolsrc/src/tests.arguments.cpp | 4 +++- toolsrc/src/tests.dependencies.cpp | 2 ++ toolsrc/src/tests.packagespec.cpp | 2 ++ toolsrc/src/tests.paragraph.cpp | 2 ++ toolsrc/src/vcpkg.cpp | 2 ++ toolsrc/src/vcpkg/base/system.cpp | 2 ++ toolsrc/src/vcpkg/metrics.cpp | 2 ++ 7 files changed, 15 insertions(+), 1 deletion(-) diff --git a/toolsrc/src/tests.arguments.cpp b/toolsrc/src/tests.arguments.cpp index 72bdbdb653..51ababd3db 100644 --- a/toolsrc/src/tests.arguments.cpp +++ b/toolsrc/src/tests.arguments.cpp @@ -1,7 +1,9 @@ #include "tests.pch.h" +#if defined(_WIN32) #pragma comment(lib, "version") #pragma comment(lib, "winhttp") +#endif using namespace Microsoft::VisualStudio::CppUnitTestFramework; @@ -61,4 +63,4 @@ namespace UnitTest1 Assert::AreEqual(size_t{0}, v.command_arguments.size()); } }; -} \ No newline at end of file +} diff --git a/toolsrc/src/tests.dependencies.cpp b/toolsrc/src/tests.dependencies.cpp index f82fad4e47..7d8283ed63 100644 --- a/toolsrc/src/tests.dependencies.cpp +++ b/toolsrc/src/tests.dependencies.cpp @@ -1,7 +1,9 @@ #include "tests.pch.h" +#if defined(_WIN32) #pragma comment(lib, "version") #pragma comment(lib, "winhttp") +#endif using namespace Microsoft::VisualStudio::CppUnitTestFramework; diff --git a/toolsrc/src/tests.packagespec.cpp b/toolsrc/src/tests.packagespec.cpp index 32ad81227a..d3bc18c79b 100644 --- a/toolsrc/src/tests.packagespec.cpp +++ b/toolsrc/src/tests.packagespec.cpp @@ -2,8 +2,10 @@ #include +#if defined(_WIN32) #pragma comment(lib, "version") #pragma comment(lib, "winhttp") +#endif using namespace Microsoft::VisualStudio::CppUnitTestFramework; diff --git a/toolsrc/src/tests.paragraph.cpp b/toolsrc/src/tests.paragraph.cpp index 9a56ad9ee3..e99d07694e 100644 --- a/toolsrc/src/tests.paragraph.cpp +++ b/toolsrc/src/tests.paragraph.cpp @@ -1,7 +1,9 @@ #include "tests.pch.h" +#if defined(_WIN32) #pragma comment(lib, "version") #pragma comment(lib, "winhttp") +#endif using namespace Microsoft::VisualStudio::CppUnitTestFramework; diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index ab7586eebe..e02bdc71f1 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -40,8 +40,10 @@ #include #include +#if defined(_WIN32) #pragma comment(lib, "ole32") #pragma comment(lib, "shell32") +#endif using namespace vcpkg; diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index a118535241..3d89d2fd4b 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -16,7 +16,9 @@ #include #endif +#if defined(_WIN32) #pragma comment(lib, "Advapi32") +#endif using namespace vcpkg::System; diff --git a/toolsrc/src/vcpkg/metrics.cpp b/toolsrc/src/vcpkg/metrics.cpp index 5ca2b056a1..9dd520ed64 100644 --- a/toolsrc/src/vcpkg/metrics.cpp +++ b/toolsrc/src/vcpkg/metrics.cpp @@ -9,8 +9,10 @@ #include #include +#if defined(_WIN32) #pragma comment(lib, "version") #pragma comment(lib, "winhttp") +#endif namespace vcpkg::Metrics { From 57eea4e7c243d4e13af0b9d1dacf9ccdf583969a Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 13 Jun 2019 07:30:49 +0800 Subject: [PATCH 005/123] [netcdf-c]Fix build error on linux. (#6865) --- ports/netcdf-c/CONTROL | 2 +- ports/netcdf-c/fix-build-error-on-linux.patch | 28 +++++++++++++++++++ ports/netcdf-c/portfile.cmake | 1 + 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 ports/netcdf-c/fix-build-error-on-linux.patch diff --git a/ports/netcdf-c/CONTROL b/ports/netcdf-c/CONTROL index e27c923f8f..91d73cacb6 100644 --- a/ports/netcdf-c/CONTROL +++ b/ports/netcdf-c/CONTROL @@ -1,4 +1,4 @@ Source: netcdf-c -Version: 4.7.0-1 +Version: 4.7.0-2 Build-Depends: hdf5, curl Description: a set of self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. diff --git a/ports/netcdf-c/fix-build-error-on-linux.patch b/ports/netcdf-c/fix-build-error-on-linux.patch new file mode 100644 index 0000000000..bdcd7c97a4 --- /dev/null +++ b/ports/netcdf-c/fix-build-error-on-linux.patch @@ -0,0 +1,28 @@ +diff --git a/include/ncconfigure.h b/include/ncconfigure.h +index 2c5b2c8..d397790 100644 +--- a/include/ncconfigure.h ++++ b/include/ncconfigure.h +@@ -25,20 +25,20 @@ missing functions should be + defined and missing types defined. + */ + +-#ifndef HAVE_STRDUP ++#ifndef strdup + extern char* strdup(const char*); + #endif + + /* handle null arguments */ + #ifndef nulldup +-#ifdef HAVE_STRDUP ++#ifdef strdup + #define nulldup(s) ((s)==NULL?NULL:strdup(s)) + #else + char *nulldup(const char* s); + #endif + #endif + +-#ifdef _MSC_VER ++#ifdef _WIN32 + #ifndef HAVE_SSIZE_T + #include + typedef SSIZE_T ssize_t; diff --git a/ports/netcdf-c/portfile.cmake b/ports/netcdf-c/portfile.cmake index 37ed2f04eb..a2f81cdb0e 100644 --- a/ports/netcdf-c/portfile.cmake +++ b/ports/netcdf-c/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_from_github( transitive-hdf5.patch hdf5.patch hdf5_2.patch + fix-build-error-on-linux.patch ) #Remove outdated find modules From 3860c11da25821ace8beade116741b7474b05fb8 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 13 Jun 2019 07:31:18 +0800 Subject: [PATCH 006/123] [argparse] Add new port (#6866) --- ports/argparse/CONTROL | 4 ++++ ports/argparse/portfile.cmake | 30 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/argparse/CONTROL create mode 100644 ports/argparse/portfile.cmake diff --git a/ports/argparse/CONTROL b/ports/argparse/CONTROL new file mode 100644 index 0000000000..c7c33adac9 --- /dev/null +++ b/ports/argparse/CONTROL @@ -0,0 +1,4 @@ +Source: argparse +Version: 2019-06-10 +Description: Argument parser for modern C++ +Homepage: https://github.com/p-ranav/argparse diff --git a/ports/argparse/portfile.cmake b/ports/argparse/portfile.cmake new file mode 100644 index 0000000000..0ad21e10af --- /dev/null +++ b/ports/argparse/portfile.cmake @@ -0,0 +1,30 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO p-ranav/argparse + REF 2c71311b5fa49b7d65e6628375f2748d58830856 + SHA512 08a28a3fb424befe7df9a428fbad8e2687a1b331d7099bfaca2c3e04d8d4b4888e99d481226407bf90bfce282388545b09e4125128215cc95dc56fb313641bf6 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DARGPARSE_BUILD_TESTS=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) From 72657582cff173ce285611f32716110cc0ada989 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Thu, 13 Jun 2019 01:52:52 +0200 Subject: [PATCH 007/123] [prometheus-cpp] Update to version 0.7.0 (#6822) * [prometheus-cpp] Update to version 0.7.0 * [prometheus-cpp] add a testing feature --- ports/prometheus-cpp/CONTROL | 6 +++++- ports/prometheus-cpp/portfile.cmake | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ports/prometheus-cpp/CONTROL b/ports/prometheus-cpp/CONTROL index e89b84cb27..341af0e8ca 100644 --- a/ports/prometheus-cpp/CONTROL +++ b/ports/prometheus-cpp/CONTROL @@ -1,5 +1,5 @@ Source: prometheus-cpp -Version: 0.6.0 +Version: 0.7.0 Description: Prometheus Client Library for Modern C++ Default-Features: compression, pull @@ -7,6 +7,10 @@ Feature: compression Build-Depends: zlib Description: Enable zlib compression +Feature: tests +Build-Depends: gtest +Description: Additional testing support + Feature: pull Build-Depends: civetweb Description: Support for regular pull mode diff --git a/ports/prometheus-cpp/portfile.cmake b/ports/prometheus-cpp/portfile.cmake index 388623d489..20f58c8a25 100644 --- a/ports/prometheus-cpp/portfile.cmake +++ b/ports/prometheus-cpp/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jupp0r/prometheus-cpp - REF v0.6.0 - SHA512 a7e6f902f3007007ec68add5ac63e833c6f383ed0ce103e238b7248497f495e664446df7801000e36021adcb7cfb1d461bbb45e1b4fba9ffa4edfcaf5b5957dd + REF v0.7.0 + SHA512 ff946585e24d84596e851f838b42566512fe368f164254d309b2aa3bda770c5442b6eeb880055351f89e0e2d0b581fddb5b0e70dd5b2a15370e508c4aabbcb1c HEAD_REF master ) @@ -21,13 +21,13 @@ endmacro() feature(compression ENABLE_COMPRESSION) feature(pull ENABLE_PULL) feature(push ENABLE_PUSH) +feature(tests ENABLE_TESTING) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DUSE_THIRDPARTY_LIBRARIES=OFF # use vcpkg packages - -DENABLE_TESTING=FALSE # need gtest 1.8.1 ${FEATURE_OPTIONS} ) From 555b760c67fcadea334c109b219c41b12b063413 Mon Sep 17 00:00:00 2001 From: shadowxiali <276404541@qq.com> Date: Thu, 13 Jun 2019 08:41:28 +0800 Subject: [PATCH 008/123] Update applocal.ps1 (#4942) * Update applocal.ps1 * Update applocal.ps1 Fix Microsoft#2801, prev modify mistake UTF8 to UTF * Update applocal.ps1 in win7 chinese path, must utf8 to avoid copy dll fail --- scripts/buildsystems/msbuild/applocal.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/buildsystems/msbuild/applocal.ps1 b/scripts/buildsystems/msbuild/applocal.ps1 index cf363f12e3..2fdd9fdb43 100644 --- a/scripts/buildsystems/msbuild/applocal.ps1 +++ b/scripts/buildsystems/msbuild/applocal.ps1 @@ -9,7 +9,7 @@ $g_is_debug = $g_install_root -match '(.*\\)?debug(\\)?$' # Ensure we create the copied files log, even if we don't end up copying any files if ($copiedFilesLog) { - Set-Content -Path $copiedFilesLog -Value "" -Encoding Ascii + Set-Content -Path $copiedFilesLog -Value "" -Encoding UTF8 } # Note: this function signature is depended upon by the qtdeploy.ps1 script introduced in 5.7.1-7 @@ -28,7 +28,7 @@ function deployBinary([string]$targetBinaryDir, [string]$SourceDir, [string]$tar Write-Verbose " ${targetBinaryName}: Copying $SourceDir\$targetBinaryName" Copy-Item "$SourceDir\$targetBinaryName" $targetBinaryDir } - if ($copiedFilesLog) { Add-Content $copiedFilesLog "$targetBinaryDir\$targetBinaryName" } + if ($copiedFilesLog) { Add-Content $copiedFilesLog "$targetBinaryDir\$targetBinaryName" -Encoding UTF8 } if ($tlogFile) { Add-Content $tlogFile "$targetBinaryDir\$targetBinaryName" } } From e1d58276662e0a4d006142776421ae48740440c3 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Wed, 12 Jun 2019 21:28:29 -0700 Subject: [PATCH 009/123] [glbinding] remove conflict with other opengl ports (#6876) --- ports/glbinding/CONTROL | 3 ++- ports/glbinding/portfile.cmake | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ports/glbinding/CONTROL b/ports/glbinding/CONTROL index a6db3dcdec..5e2d8a6389 100644 --- a/ports/glbinding/CONTROL +++ b/ports/glbinding/CONTROL @@ -1,3 +1,4 @@ Source: glbinding -Version: 3.1.0 +Version: 3.1.0-1 Description: glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API +Build-Depends: egl-registry diff --git a/ports/glbinding/portfile.cmake b/ports/glbinding/portfile.cmake index 659d7c23cd..dbbff30da9 100644 --- a/ports/glbinding/portfile.cmake +++ b/ports/glbinding/portfile.cmake @@ -6,8 +6,8 @@ vcpkg_from_github( SHA512 d7294c9a0dc47a7c107b134e5dfa78c5812fc6bf739b9fd778fa7ce946d5ea971839a65c3985e0915fd75311e4a85fb221d33a71856c460199eab0e7622f7151 HEAD_REF master PATCHES - force-system-install.patch - fix-uwpmacro.patch + force-system-install.patch + fix-uwpmacro.patch ) vcpkg_configure_cmake( @@ -52,6 +52,9 @@ endforeach() file(WRITE ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-config.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/glbinding/glbinding-export.cmake)\ninclude(\${CMAKE_CURRENT_LIST_DIR}/glbinding-aux/glbinding-aux-export.cmake)\ninclude(\${CMAKE_CURRENT_LIST_DIR}/KHRplatform/KHRplatform-export.cmake)\nset(glbinding_FOUND TRUE)\n") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +# Remove files already published by egl-registry +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/KHR) + # Handle copyright file(RENAME ${CURRENT_PACKAGES_DIR}/share/glbinding/LICENSE ${CURRENT_PACKAGES_DIR}/share/glbinding/copyright) From 58e0d4029e44ebfbe19f3b0fc6cc9dc88eaf1f4b Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Wed, 12 Jun 2019 21:39:10 -0700 Subject: [PATCH 010/123] [libsodium/darts-clone] remove conflicting makefile (#6875) * [libsodium/darts-clone] remove conflicting makefile --- ports/darts-clone/CONTROL | 2 +- ports/darts-clone/portfile.cmake | 2 ++ ports/libsodium/CONTROL | 2 +- ports/libsodium/portfile.cmake | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ports/darts-clone/CONTROL b/ports/darts-clone/CONTROL index 2d34f86c70..a0bfad433c 100644 --- a/ports/darts-clone/CONTROL +++ b/ports/darts-clone/CONTROL @@ -1,3 +1,3 @@ Source: darts-clone -Version: 1767ab87cffe +Version: 1767ab87cffe-1 Description: A static double-array trie structure diff --git a/ports/darts-clone/portfile.cmake b/ports/darts-clone/portfile.cmake index 2979e83b5e..d7eb7941c1 100644 --- a/ports/darts-clone/portfile.cmake +++ b/ports/darts-clone/portfile.cmake @@ -23,4 +23,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am) + file(INSTALL ${SOURCE_PATH}/COPYING.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/darts-clone RENAME copyright) diff --git a/ports/libsodium/CONTROL b/ports/libsodium/CONTROL index a994a17296..cff52a1b2d 100644 --- a/ports/libsodium/CONTROL +++ b/ports/libsodium/CONTROL @@ -1,3 +1,3 @@ Source: libsodium -Version: 1.0.17-2 +Version: 1.0.17-3 Description: A modern and easy-to-use crypto library diff --git a/ports/libsodium/portfile.cmake b/ports/libsodium/portfile.cmake index b8321c6ac4..c18f079923 100644 --- a/ports/libsodium/portfile.cmake +++ b/ports/libsodium/portfile.cmake @@ -40,6 +40,8 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ) +file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_replace_string( ${CURRENT_PACKAGES_DIR}/include/sodium/export.h From 08cbf0b3cde9284ec398c1b87d969d9bcaefbed0 Mon Sep 17 00:00:00 2001 From: Phoebe <925731795@qq.com> Date: Thu, 13 Jun 2019 14:08:09 +0800 Subject: [PATCH 011/123] [libbson mongo-c-driver mongo-cxx-driver] upgrades to new revision (#6862) * [libbson mongo-c-driver mongo-cxx-driver] upgrades to new revision * [mongo-cxx-driver] Minimize patch * [mongo-c-driver] Fix dependencies on openssl and zlib --- ports/libbson/CONTROL | 2 +- ports/libbson/portfile.cmake | 6 +- ports/mongo-c-driver/CONTROL | 4 +- ports/mongo-c-driver/portfile.cmake | 8 +- ports/mongo-cxx-driver/CONTROL | 2 +- .../disable_test_and_example.patch | 145 +++--------------- ports/mongo-cxx-driver/portfile.cmake | 6 +- 7 files changed, 35 insertions(+), 138 deletions(-) diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL index 541286c50a..21c9f9fdd6 100644 --- a/ports/libbson/CONTROL +++ b/ports/libbson/CONTROL @@ -1,3 +1,3 @@ Source: libbson -Version: 1.13.0 +Version: 1.14.0 Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents. diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake index dc4de34dd7..18f567b710 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -1,10 +1,11 @@ include(vcpkg_common_functions) +set(BUILD_VERSION 1.14.0) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-c-driver - REF 1.13.0 - SHA512 d2f5b04b3d2dbdeba4547ec1fe8a0da7bad5214de92fff480ef0ff7d97ea45d5e6347c11c249867d4905b1dd81b76c7cfbb9094a58df586dae881955ee246907 + REF ${BUILD_VERSION} + SHA512 bf2bb835543dd2a445aac6cafa7bbbf90921ec41014534779924a5eb7cbd9fd532acd8146ce81dfcf1bcac33a78d8fce22b962ed7f776449e4357eccab8d6110 HEAD_REF master PATCHES fix-uwp.patch ) @@ -24,6 +25,7 @@ vcpkg_configure_cmake( -DENABLE_TESTS=OFF -DENABLE_EXAMPLES=OFF -DENABLE_STATIC=${ENABLE_STATIC} + -DBUILD_VERSION=${BUILD_VERSION} ) vcpkg_install_cmake() diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL index 4f45aa9b6a..577cea1aaf 100644 --- a/ports/mongo-c-driver/CONTROL +++ b/ports/mongo-c-driver/CONTROL @@ -1,4 +1,4 @@ Source: mongo-c-driver -Version: 1.13.0 -Build-Depends: libbson, openssl (uwp) +Version: 1.14.0-1 +Build-Depends: libbson, openssl (!windows), zlib Description: Client library written in C for MongoDB. diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index 2d4c88460d..5a0c484c0c 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -1,9 +1,11 @@ include(vcpkg_common_functions) +set(BUILD_VERSION 1.14.0) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-c-driver - REF 1.13.0 - SHA512 d2f5b04b3d2dbdeba4547ec1fe8a0da7bad5214de92fff480ef0ff7d97ea45d5e6347c11c249867d4905b1dd81b76c7cfbb9094a58df586dae881955ee246907 + REF ${BUILD_VERSION} + SHA512 bf2bb835543dd2a445aac6cafa7bbbf90921ec41014534779924a5eb7cbd9fd532acd8146ce81dfcf1bcac33a78d8fce22b962ed7f776449e4357eccab8d6110 HEAD_REF master PATCHES fix-uwp.patch ) @@ -30,7 +32,9 @@ vcpkg_configure_cmake( -DENABLE_TESTS=OFF -DENABLE_EXAMPLES=OFF -DENABLE_SSL=${ENABLE_SSL} + -DENABLE_ZLIB=SYSTEM -DENABLE_STATIC=${ENABLE_STATIC} + -DBUILD_VERSION=${BUILD_VERSION} ) vcpkg_install_cmake() diff --git a/ports/mongo-cxx-driver/CONTROL b/ports/mongo-cxx-driver/CONTROL index f143f422f8..8d98763dd6 100644 --- a/ports/mongo-cxx-driver/CONTROL +++ b/ports/mongo-cxx-driver/CONTROL @@ -1,5 +1,5 @@ Source: mongo-cxx-driver -Version: 3.2.0-2 +Version: 3.4.0-1 Build-Depends: libbson, mongo-c-driver, boost-smart-ptr, boost-optional, boost-utility Description: MongoDB C++ Driver. diff --git a/ports/mongo-cxx-driver/disable_test_and_example.patch b/ports/mongo-cxx-driver/disable_test_and_example.patch index 734f52f263..2c24024a8c 100644 --- a/ports/mongo-cxx-driver/disable_test_and_example.patch +++ b/ports/mongo-cxx-driver/disable_test_and_example.patch @@ -1,151 +1,42 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 27cf3b6b8..896eee19a 100644 +index c6f56e4..5601f90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -87,68 +87,68 @@ endif() +@@ -89,6 +89,8 @@ endif() set(CMAKE_EXPORT_COMPILE_COMMANDS ON) --add_custom_target(hugo_dir -- COMMAND ${CMAKE_COMMAND} -E make_directory hugo --) -- --add_custom_target(hugo -- DEPENDS hugo_dir -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/docs -- COMMAND hugo -- VERBATIM --) -- --add_custom_target(hugo-deploy -- DEPENDS hugo -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- COMMAND etc/deploy-to-ghpages.pl --hugo git@github.com:mongodb/mongo-cxx-driver -- VERBATIM --) -- --add_custom_target(docs_dir_current -- COMMAND ${CMAKE_COMMAND} -E make_directory docs/api/current --) -- --add_custom_target(doxygen-current -- DEPENDS docs_dir_current -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- COMMAND doxygen ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile -- VERBATIM --) -- --add_custom_target(doxygen-all -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- COMMAND etc/generate-all-apidocs.pl -- VERBATIM --) -- --add_custom_target(doxygen-deploy -- DEPENDS doxygen-all -- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- COMMAND etc/deploy-to-ghpages.pl --doxygen git@github.com:mongodb/mongo-cxx-driver -- VERBATIM --) -- --add_custom_target(format -- python ${CMAKE_SOURCE_DIR}/etc/clang_format.py format -- VERBATIM --) -- --add_custom_target(format-lint -- python ${CMAKE_SOURCE_DIR}/etc/clang_format.py lint -- VERBATIM --) -- --add_custom_target(docs -- DEPENDS hugo doxygen-current --) -- --set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party) -+# add_custom_target(hugo_dir -+# COMMAND ${CMAKE_COMMAND} -E make_directory hugo -+# ) ++if(0) + -+# add_custom_target(hugo -+# DEPENDS hugo_dir -+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/docs -+# COMMAND hugo -+# VERBATIM -+# ) -+ -+# add_custom_target(hugo-deploy -+# DEPENDS hugo -+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -+# COMMAND etc/deploy-to-ghpages.pl --hugo git@github.com:mongodb/mongo-cxx-driver -+# VERBATIM -+# ) -+ -+# add_custom_target(docs_dir_current -+# COMMAND ${CMAKE_COMMAND} -E make_directory docs/api/current -+# ) -+ -+# add_custom_target(doxygen-current -+# DEPENDS docs_dir_current -+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -+# COMMAND doxygen ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile -+# VERBATIM -+# ) -+ -+# add_custom_target(doxygen-all -+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -+# COMMAND etc/generate-all-apidocs.pl -+# VERBATIM -+# ) -+ -+# add_custom_target(doxygen-deploy -+# DEPENDS doxygen-all -+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -+# COMMAND etc/deploy-to-ghpages.pl --doxygen git@github.com:mongodb/mongo-cxx-driver -+# VERBATIM -+# ) -+ -+# add_custom_target(format -+# python ${CMAKE_SOURCE_DIR}/etc/clang_format.py format -+# VERBATIM -+# ) -+ -+# add_custom_target(format-lint -+# python ${CMAKE_SOURCE_DIR}/etc/clang_format.py lint -+# VERBATIM -+# ) -+ -+# add_custom_target(docs -+# DEPENDS hugo doxygen-current -+# ) -+ -+# set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party) + add_custom_target(hugo_dir + COMMAND ${CMAKE_COMMAND} -E make_directory hugo + ) +@@ -147,6 +149,8 @@ add_custom_target(docs + set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party) + ++endif() ++ enable_testing() add_subdirectory(src) - --add_subdirectory(examples EXCLUDE_FROM_ALL) -+#add_subdirectory(examples EXCLUDE_FROM_ALL) - - add_subdirectory(benchmark EXCLUDE_FROM_ALL) diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt -index bd6e40662..d6054b022 100644 +index 50085d0..5966d21 100644 --- a/src/bsoncxx/CMakeLists.txt +++ b/src/bsoncxx/CMakeLists.txt @@ -249,4 +249,4 @@ install( - DESTINATION lib/cmake/${PKG}-${BSONCXX_VERSION} + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PKG}-${BSONCXX_VERSION} ) -add_subdirectory(test) -+#add_subdirectory(test) ++# add_subdirectory(test) diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt -index a05021228..3dd7c1224 100644 +index 3cba62d..64ff936 100644 --- a/src/mongocxx/CMakeLists.txt +++ b/src/mongocxx/CMakeLists.txt -@@ -238,4 +238,4 @@ install( - DESTINATION lib/cmake/${PKG}-${MONGOCXX_VERSION} +@@ -259,4 +259,4 @@ install( + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PKG}-${MONGOCXX_VERSION} ) -add_subdirectory(test) -+#add_subdirectory(test) ++# add_subdirectory(test) diff --git a/ports/mongo-cxx-driver/portfile.cmake b/ports/mongo-cxx-driver/portfile.cmake index e94902bcce..a5a1c6f399 100644 --- a/ports/mongo-cxx-driver/portfile.cmake +++ b/ports/mongo-cxx-driver/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) set(VERSION_MAJOR 3) -set(VERSION_MINOR 2) +set(VERSION_MINOR 4) set(VERSION_PATCH 0) set(VERSION_FULL ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) @@ -9,12 +9,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-cxx-driver REF r${VERSION_FULL} - SHA512 cad8dd6e9fd75aa3aee15321c9b3df21d43c346f5b0b3dd75c86f9117d3376ad83fcda0c4a333c0a23d555e76d79432016623dd5f860ffef9964a6e8046e84b5 + SHA512 28c052904f1b456b92482097166238eae1ad50c3ed207496f09366b46f2c9465c7e98c7219f4f10314e4d8fdd01c36b70a2221891bb75231adcc1edf013d43ce HEAD_REF master PATCHES - disable_test_and_example.patch fix-uwp.patch disable-c2338-mongo-cxx-driver.patch + disable_test_and_example.patch ) if ("mnmlstc" IN_LIST FEATURES) From def997b9dd562b31e1648e165fce4d1091621970 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Wed, 12 Jun 2019 23:10:50 -0700 Subject: [PATCH 012/123] [zydis] Add new port (#6861) --- ports/zydis/CONTROL | 3 +++ ports/zydis/portfile.cmake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/zydis/CONTROL create mode 100644 ports/zydis/portfile.cmake diff --git a/ports/zydis/CONTROL b/ports/zydis/CONTROL new file mode 100644 index 0000000000..bd4f59d952 --- /dev/null +++ b/ports/zydis/CONTROL @@ -0,0 +1,3 @@ +Source: zydis +Version: 2.0.3 +Description: Fast and lightweight x86/x86-64 disassembler library. \ No newline at end of file diff --git a/ports/zydis/portfile.cmake b/ports/zydis/portfile.cmake new file mode 100644 index 0000000000..412cbdf877 --- /dev/null +++ b/ports/zydis/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zyantific/zydis + REF v2.0.3 + SHA512 254aee734f93ee51a8b963404f79d6edfd0831867763243b8020c44ec2d7dd4cb7e445248df4a9af7cd2743c020674df482661d59d3278a44d2ad9a2e0611a39 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) +if(EXES) + file(REMOVE ${EXES}) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +vcpkg_copy_pdbs() + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) From d69ea6fe408d3af12613a26f4a987ed6d8bf0752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E4=B8=B0=20=28Zhao=20Feng=29?= <616545598@qq.com> Date: Fri, 14 Jun 2019 01:15:24 +0800 Subject: [PATCH 013/123] [liblemon] made into a rolling-release port (#6679) * add liblemon preflow patch, see https://lemon.cs.elte.hu/trac/lemon/ticket/608 * [liblemon] track HEAD of version 1.3 * [liblemon] update version --- ports/liblemon/CONTROL | 2 +- ports/liblemon/portfile.cmake | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/liblemon/CONTROL b/ports/liblemon/CONTROL index 87234c68ae..1ec6050e0d 100644 --- a/ports/liblemon/CONTROL +++ b/ports/liblemon/CONTROL @@ -1,3 +1,3 @@ Source: liblemon -Version: 1.3.1-5 +Version: 2019-06-13 Description: Library for Efficient Modeling and Optimization in Networks diff --git a/ports/liblemon/portfile.cmake b/ports/liblemon/portfile.cmake index 1fe64d3fec..960b09987e 100644 --- a/ports/liblemon/portfile.cmake +++ b/ports/liblemon/portfile.cmake @@ -2,12 +2,12 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(VERSION 1.3.1) +set(VERSION ed2c21cbd6ef) vcpkg_download_distfile(ARCHIVE - URLS "http://lemon.cs.elte.hu/pub/sources/lemon-${VERSION}.zip" + URLS "http://lemon.cs.elte.hu/hg/lemon/archive/${VERSION}.zip" FILENAME "lemon-${VERSION}.zip" - SHA512 86d15914b8c3cd206a20c37dbe3b8ca4b553060567a07603db7b6f8dd7dcf9cb043cca31660ff1b7fb77e359b59fac5ca0aab57fd415fda5ecca0f42eade6567 + SHA512 029640e4f791a18068cb2e2b4e794d09822d9d56fb957eb3e2cceae3a30065c0041a31c465637cfcadf7b2473564070b34adc88513439cdf9046831854e2aa70 ) vcpkg_extract_source_archive_ex( From f1e5cd064d909687eeecfafd9033d8eb08c4092f Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Thu, 13 Jun 2019 10:48:58 -0700 Subject: [PATCH 014/123] [harfbuzz] Propagate dependency on glib downstream (#6879) --- ports/harfbuzz/CONTROL | 2 +- ports/harfbuzz/portfile.cmake | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL index 133d0bc0ef..d0e544d7a7 100644 --- a/ports/harfbuzz/CONTROL +++ b/ports/harfbuzz/CONTROL @@ -1,5 +1,5 @@ Source: harfbuzz -Version: 2.5.1 +Version: 2.5.1-1 Description: HarfBuzz OpenType text shaping engine Build-Depends: freetype, ragel, gettext (osx) Default-Features: ucdn diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index d28bd656f7..08b20f2702 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -68,9 +68,22 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() + vcpkg_fixup_cmake_targets(CONFIG_PATH share/harfbuzz TARGET_PATH share/harfbuzz) + vcpkg_copy_pdbs() +if (HAVE_GLIB) + # Propagate dependency on glib downstream + file(READ "${CURRENT_PACKAGES_DIR}/share/harfbuzz/harfbuzzConfig.cmake" _contents) + file(WRITE "${CURRENT_PACKAGES_DIR}/share/harfbuzz/harfbuzzConfig.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(unofficial-glib CONFIG) + +${_contents} +") +endif() + # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/harfbuzz RENAME copyright) From eb6e28279772e97d835ef6d0152a57b4f9697d91 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 14 Jun 2019 02:01:07 +0800 Subject: [PATCH 015/123] [taglib]Upgrade version to 1.11.1-20190531. (#6851) --- ports/taglib/CONTROL | 2 +- ports/taglib/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/taglib/CONTROL b/ports/taglib/CONTROL index cc5fdb0f73..fe0567998e 100644 --- a/ports/taglib/CONTROL +++ b/ports/taglib/CONTROL @@ -1,4 +1,4 @@ Source: taglib -Version: 1.11.1-4 +Version: 1.11.1-20190531 Description: TagLib Audio Meta-Data Library Build-Depends: zlib diff --git a/ports/taglib/portfile.cmake b/ports/taglib/portfile.cmake index c90d16ca8b..4ccb6a9fe0 100644 --- a/ports/taglib/portfile.cmake +++ b/ports/taglib/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO taglib/taglib - REF 662f340f933077a926de443c9882f483973570e3 - SHA512 34087f77bb099f1f8ec82926a212a562bf589fc13f54eac50a56730c4411af2f4dbf1b7d09877087899048c3070325aea02297c6a94d0ad43fbf6742363dd2b6 + REF ba7adc2bc261ed634c2a964185bcffb9365ad2f4 + SHA512 faf516f40f12031a37414ce9246ec409e64e570faebe2d604afdefbb7d665e0a0c9c68bec0e6dcb1c5ceb8fa8e1c3477f5ac75029f17beedd679fa3ea735ce6d HEAD_REF master ) From 7b41dc688a381e1701bd4dbe1ccf3c16d0979594 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Thu, 13 Jun 2019 14:12:21 -0700 Subject: [PATCH 016/123] retry on flaky linker (#6880) * retry on flaky linker --- scripts/cmake/vcpkg_execute_build_process.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/cmake/vcpkg_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake index f02aa296da..27e8c81632 100644 --- a/scripts/cmake/vcpkg_execute_build_process.cmake +++ b/scripts/cmake/vcpkg_execute_build_process.cmake @@ -57,13 +57,15 @@ function(vcpkg_execute_build_process) endif() if(out_contents MATCHES "LINK : fatal error LNK1102:" OR out_contents MATCHES " fatal error C1060: " - OR err_contents MATCHES "LINK : fatal error LNK1102:" OR err_contents MATCHES " fatal error C1060: ") + OR err_contents MATCHES "LINK : fatal error LNK1102:" OR err_contents MATCHES " fatal error C1060: " + OR out_contents MATCHES "LINK : fatal error LNK1318: Unexpected PDB error; ACCESS_DENIED" + OR out_contents MATCHES "LINK : fatal error LNK1104:") # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled. message(STATUS "Restarting Build without parallelism because memory exceeded") set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-out-1.log") set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-err-1.log") - if(${_ebp_NO_PARALLEL_COMMAND}) + if(_ebp_NO_PARALLEL_COMMAND) execute_process( COMMAND ${_ebp_NO_PARALLEL_COMMAND} WORKING_DIRECTORY ${_ebp_WORKING_DIRECTORY} From b03f62e0ebc1b5515bc8a1f41f3bfe9eca6589d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Maia?= Date: Fri, 14 Jun 2019 00:19:57 +0300 Subject: [PATCH 017/123] [assimp] Fix install assimp when passing --head (#6887) Instead of using hardcoded `assimp-4.1` folder, check directories with pattern `assimp-*` and select the first one. This fixes `vcpkg install vcpkg --head`, since the latest version creates a folder named `assimp-5.0` instead. --- ports/assimp/portfile.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 95aefe0208..559dd249c2 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -32,7 +32,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/assimp-4.1") +FILE(GLOB lib_cmake_directories RELATIVE "${CURRENT_PACKAGES_DIR}" "${CURRENT_PACKAGES_DIR}/lib/cmake/assimp-*") +list(GET lib_cmake_directories 0 lib_cmake_directory) +vcpkg_fixup_cmake_targets(CONFIG_PATH "${lib_cmake_directory}") vcpkg_copy_pdbs() From 9a24bd109e3c52be14d381e374f4533059b3c2ef Mon Sep 17 00:00:00 2001 From: Tobias Markus Date: Fri, 14 Jun 2019 19:23:54 +0200 Subject: [PATCH 018/123] [libraqm] Add new port (0.6.0) (#6659) * Add libraqm * [libraqm] Whitespace changes to force rebuild * [harfbuzz] Propagate dependency on glib downstream * [fribidi] Force rebuild on CI * [libraqm] Force CI build --- ports/fribidi/portfile.cmake | 11 +++++++---- ports/harfbuzz/portfile.cmake | 2 ++ ports/libraqm/CMakeLists.txt | 34 +++++++++++++++++++++++++++++++++ ports/libraqm/CONTROL | 4 ++++ ports/libraqm/FindFribidi.cmake | 12 ++++++++++++ ports/libraqm/portfile.cmake | 31 ++++++++++++++++++++++++++++++ 6 files changed, 90 insertions(+), 4 deletions(-) create mode 100644 ports/libraqm/CMakeLists.txt create mode 100644 ports/libraqm/CONTROL create mode 100644 ports/libraqm/FindFribidi.cmake create mode 100644 ports/libraqm/portfile.cmake diff --git a/ports/fribidi/portfile.cmake b/ports/fribidi/portfile.cmake index ec5dc15538..5b45a17b16 100644 --- a/ports/fribidi/portfile.cmake +++ b/ports/fribidi/portfile.cmake @@ -5,12 +5,15 @@ vcpkg_from_github( REPO fribidi/fribidi REF 58c6cb390a9a18c98b2cbaac555d8ea9352a9e4f SHA512 1ec9c19faa87886786ce1589e2c66cab173b48e34d0e43487becc8606001f21f6ed17d0abd1c322fbbcaeb96a47ed882cad228be2e9beb019020ca2a475fc298 -HEAD_REF master) + HEAD_REF master +) -vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH} +vcpkg_configure_meson( + SOURCE_PATH ${SOURCE_PATH} OPTIONS -Ddocs=false - --backend=ninja) + --backend=ninja +) vcpkg_install_meson() vcpkg_copy_pdbs() @@ -28,4 +31,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fribidi RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fribidi RENAME copyright) diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index 08b20f2702..48cfaf1b74 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -17,9 +17,11 @@ vcpkg_from_github( ) file(READ ${SOURCE_PATH}/CMakeLists.txt _contents) + if("${_contents}" MATCHES "include \\(FindFreetype\\)") message(FATAL_ERROR "Harfbuzz's cmake must not directly include() FindFreetype.") endif() + if("${_contents}" MATCHES "find_library\\(GLIB_LIBRARIES") message(FATAL_ERROR "Harfbuzz's cmake must not directly find_library() glib.") endif() diff --git a/ports/libraqm/CMakeLists.txt b/ports/libraqm/CMakeLists.txt new file mode 100644 index 0000000000..f50153e631 --- /dev/null +++ b/ports/libraqm/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.11) + +project(raqm) + +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_MODULE_PATH}") + +find_package(Freetype REQUIRED) +find_package(Fribidi REQUIRED) +find_package(harfbuzz CONFIG REQUIRED) + +find_path(HARFBUZZ_INCLUDE_DIRS + NAMES hb.h + PATH_SUFFIXES harfbuzz) +find_path(FREETYPE_ADDITIONAL_INCLUDE_DIRS NAMES ft2build.h) +add_library(raqm ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.c ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h) + +target_include_directories(raqm SYSTEM PUBLIC ${FREETYPE_ADDITIONAL_INCLUDE_DIRS}) +target_include_directories(raqm SYSTEM PUBLIC ${FREETYPE_INCLUDE_DIRS}) +target_include_directories(raqm SYSTEM PUBLIC ${HARFBUZZ_INCLUDE_DIRS}) +target_include_directories(raqm SYSTEM PUBLIC ${FRIBIDI_INCLUDE_DIR}) + +target_link_libraries(raqm PRIVATE Freetype::Freetype) +target_link_libraries(raqm PRIVATE harfbuzz::harfbuzz ${FRIBIDI_LIBRARY}) + +install(TARGETS raqm + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +set(RAQM_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src") +set(RAQM_LIBRARY raqm) +set(RAQM_LIBRARIES ${HARFBUZZ_LIBRARY} ${FRIBIDI_LIBRARY} ${RAQM_LIBRARY}) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/libraqm/CONTROL b/ports/libraqm/CONTROL new file mode 100644 index 0000000000..131527a4a5 --- /dev/null +++ b/ports/libraqm/CONTROL @@ -0,0 +1,4 @@ +Source: libraqm +Version: 0.6.0 +Description: A library for complex text layout +Build-Depends: freetype, harfbuzz, fribidi \ No newline at end of file diff --git a/ports/libraqm/FindFribidi.cmake b/ports/libraqm/FindFribidi.cmake new file mode 100644 index 0000000000..a12bdb60ea --- /dev/null +++ b/ports/libraqm/FindFribidi.cmake @@ -0,0 +1,12 @@ +find_path(FRIBIDI_INCLUDE_DIR + NAMES fribidi/fribidi.h) + +set(FRIBIDI_INCLUDE_DIR "${FRIBIDI_INCLUDE_DIR}/fribidi") +find_library(FRIBIDI_LIBRARY NAMES fribidi) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(FriBidi + FOUND_VAR FRIBIDI_FOUND + REQUIRED_VARS FRIBIDI_LIBRARY FRIBIDI_INCLUDE_DIR + VERSION_VAR FRIBIDI_VERSION_STRING +) \ No newline at end of file diff --git a/ports/libraqm/portfile.cmake b/ports/libraqm/portfile.cmake new file mode 100644 index 0000000000..067f63ddea --- /dev/null +++ b/ports/libraqm/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO HOST-Oman/libraqm + REF v0.6.0 + SHA512 cd223d97b80e9d2cf26a5b68fbb84a87e53df819f12ffd06f84f1786a2207b34828d0888058a40c1d89a1466bb68b75dd326e25415afab029d51e1ed98f6a924 + HEAD_REF master +) + +file(COPY ${CURRENT_PORT_DIR}/FindFribidi.cmake DESTINATION ${SOURCE_PATH}) +file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCURRENT_PACKAGES_DIR=${CURRENT_PACKAGES_DIR} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libraqm RENAME copyright) + +# Post-build test for cmake libraries +vcpkg_test_cmake(PACKAGE_NAME raqm) From 6ad6ba75a0e28fc64a0b05ee1c69fbad5fead89f Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Fri, 14 Jun 2019 11:45:18 -0700 Subject: [PATCH 019/123] [sndfile/libsndfile] remove duplicate port, forward to libsndfile (#6896) --- ports/libsndfile/CONTROL | 4 +- ports/sndfile/CONTROL | 9 +-- ports/sndfile/portfile.cmake | 63 +------------------ .../uwp-createfile-getfilesize-addendum.patch | 13 ---- .../sndfile/uwp-createfile-getfilesize.patch | 58 ----------------- 5 files changed, 9 insertions(+), 138 deletions(-) delete mode 100644 ports/sndfile/uwp-createfile-getfilesize-addendum.patch delete mode 100644 ports/sndfile/uwp-createfile-getfilesize.patch diff --git a/ports/libsndfile/CONTROL b/ports/libsndfile/CONTROL index d8de159b21..657a24424e 100644 --- a/ports/libsndfile/CONTROL +++ b/ports/libsndfile/CONTROL @@ -1,8 +1,8 @@ Source: libsndfile -Version: 1.0.29-6830c42-6 +Version: 1.0.29-6830c42-7 Description: Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo Default-Features: external-libs Feature: external-libs -Description: Support OGG and FLAC audio files +Description: Support Ogg Vorbis and FLAC audio files Build-Depends: libogg, libflac, libvorbis diff --git a/ports/sndfile/CONTROL b/ports/sndfile/CONTROL index eeee6d909c..8c020a5f90 100644 --- a/ports/sndfile/CONTROL +++ b/ports/sndfile/CONTROL @@ -1,8 +1,9 @@ Source: sndfile -Version: 1.0.29-cebfdf2-1 -Description: Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo +Version: deprecated +Description: Deprecated port, use libsndfile instead +Build-Depends: libsndfile Default-Features: external-libs Feature: external-libs -Description: Support Ogg Vorbis and FLAC audio files -Build-Depends: libogg, libflac, libvorbis +Description: Deprecated port, use libsndfile[external-libs] instead +Build-Depends: libsndfile[external-libs] diff --git a/ports/sndfile/portfile.cmake b/ports/sndfile/portfile.cmake index f11a8695e5..47fe8ca236 100644 --- a/ports/sndfile/portfile.cmake +++ b/ports/sndfile/portfile.cmake @@ -1,62 +1,3 @@ -include(vcpkg_common_functions) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO erikd/libsndfile - REF cebfdf275e6173259bee6bfd40de22c8c102cf23 - SHA512 b981b9a5a457b73f444f4b134a76d9d7ab328369171a0043f89cfcf4567ca29a91ff75abfb362c4bc76c5fb0d25cb88cc397c37dd8f9d98b8892999c2e4e4123 - HEAD_REF master - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/uwp-createfile-getfilesize.patch" - "${CMAKE_CURRENT_LIST_DIR}/uwp-createfile-getfilesize-addendum.patch" -) - -string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" CRT_LIB_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) - -option(BUILD_EXECUTABLES "Build sndfile tools and install to folder tools" OFF) - -if("external-libs" IN_LIST FEATURES) - set(SNDFILE_WITH_EXTERNAL_LIBS ON) -else() - set(SNDFILE_WITH_EXTERNAL_LIBS OFF) -endif() - -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -vcpkg_add_to_path(${PYTHON3_EXE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DBUILD_EXAMPLES=0 -DBUILD_REGTEST=0 -DBUILD_TESTING=0 -DENABLE_STATIC_RUNTIME=${CRT_LIB_STATIC} -DBUILD_STATIC_LIBS=${BUILD_STATIC} -DENABLE_EXTERNAL_LIBS=${SNDFILE_WITH_EXTERNAL_LIBS} - OPTIONS_RELEASE -DBUILD_PROGRAMS=${BUILD_EXECUTABLES} - # Setting ENABLE_PACKAGE_CONFIG=0 has no effect - OPTIONS_DEBUG -DBUILD_PROGRAMS=0 -) - -vcpkg_install_cmake() - -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SndFile) -endif() - -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/doc/libsndfile ${CURRENT_PACKAGES_DIR}/share/${PORT}/doc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) - -if(BUILD_EXECUTABLES) - file(GLOB TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) - file(COPY ${TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - file(REMOVE ${TOOLS}) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -endif(BUILD_EXECUTABLES) - -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +message(WARNING "The sndfile port is deprecated, use libsndfile instead") diff --git a/ports/sndfile/uwp-createfile-getfilesize-addendum.patch b/ports/sndfile/uwp-createfile-getfilesize-addendum.patch deleted file mode 100644 index 62e6b1131f..0000000000 --- a/ports/sndfile/uwp-createfile-getfilesize-addendum.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/file_io.c b/src/file_io.c -index 47351bc..54741c9 100644 ---- a/src/file_io.c -+++ b/src/file_io.c -@@ -799,6 +799,8 @@ psf_open_handle (PSF_FILE * pfile) - - if (handle == INVALID_HANDLE_VALUE) - return NULL; -+ -+ return handle; - #else - if (pfile->use_wchar) - handle = CreateFileW ( diff --git a/ports/sndfile/uwp-createfile-getfilesize.patch b/ports/sndfile/uwp-createfile-getfilesize.patch deleted file mode 100644 index 0e60cde545..0000000000 --- a/ports/sndfile/uwp-createfile-getfilesize.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/src/file_io.c b/src/file_io.c -index 7cf8f0c..47351bc 100644 ---- a/src/file_io.c -+++ b/src/file_io.c -@@ -787,6 +787,19 @@ psf_open_handle (PSF_FILE * pfile) - return NULL ; - } ; - -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+ if (!pfile->use_wchar) -+ return NULL; -+ -+ CREATEFILE2_EXTENDED_PARAMETERS cfParams = {0}; -+ cfParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS); -+ cfParams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL; -+ -+ handle = CreateFile2(pfile->path.wc, dwDesiredAccess, dwShareMode, dwCreationDistribution, &cfParams); -+ -+ if (handle == INVALID_HANDLE_VALUE) -+ return NULL; -+#else - if (pfile->use_wchar) - handle = CreateFileW ( - pfile->path.wc, /* pointer to name of the file */ -@@ -812,6 +825,7 @@ psf_open_handle (PSF_FILE * pfile) - return NULL ; - - return handle ; -+#endif - } /* psf_open_handle */ - - /* USE_WINDOWS_API */ static void -@@ -1104,7 +1118,16 @@ psf_is_pipe (SF_PRIVATE *psf) - - /* USE_WINDOWS_API */ sf_count_t - psf_get_filelen_handle (HANDLE handle) --{ sf_count_t filelen ; -+{ -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+ LARGE_INTEGER size; -+ -+ if (!GetFileSizeEx(handle, &size) && GetLastError() != NO_ERROR) -+ return (sf_count_t) -1 ; -+ -+ return size.QuadPart; -+#else -+ sf_count_t filelen ; - DWORD dwFileSizeLow, dwFileSizeHigh, dwError = NO_ERROR ; - - dwFileSizeLow = GetFileSize (handle, &dwFileSizeHigh) ; -@@ -1118,6 +1141,7 @@ psf_get_filelen_handle (HANDLE handle) - filelen = dwFileSizeLow + ((__int64) dwFileSizeHigh << 32) ; - - return filelen ; -+#endif - } /* psf_get_filelen_handle */ - - /* USE_WINDOWS_API */ void From 8c288f4bf85338861b7ac9c6516dcc207972d5b4 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Fri, 14 Jun 2019 11:45:35 -0700 Subject: [PATCH 020/123] [sqlite-orm] fix tag, update hash (#6894) --- ports/sqlite-orm/CONTROL | 2 +- ports/sqlite-orm/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/sqlite-orm/CONTROL b/ports/sqlite-orm/CONTROL index 622e7b9c86..6382eeca09 100644 --- a/ports/sqlite-orm/CONTROL +++ b/ports/sqlite-orm/CONTROL @@ -1,4 +1,4 @@ Source: sqlite-orm -Version: 1.3 +Version: 1.3-1 Build-Depends: sqlite3 Description: SQLite ORM light header only library for modern C++ diff --git a/ports/sqlite-orm/portfile.cmake b/ports/sqlite-orm/portfile.cmake index c7fcec417e..6df00f77f7 100644 --- a/ports/sqlite-orm/portfile.cmake +++ b/ports/sqlite-orm/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fnc12/sqlite_orm - REF 1.3 - SHA512 9d61d65a8987f875aacca9dd262d5b1e4dca273aef938fc5c292469b215b244edc63fb6428199e16ed6d254f752e1a9574306b15ebb099a4bf4f744510975da3 + REF v1.3 + SHA512 43adcd28bdca5d0165ca0313c5ff90e048144e4841541704f49e443deaf0d8e027655a3bb88677f3f3c62c5764fdda8b1e472d74e68f3a32cad052f3b4ed63a7 HEAD_REF master ) From 9cc9978c5bcbe24cb75bc906a1d714a23f09a077 Mon Sep 17 00:00:00 2001 From: dan-shaw <51385773+dan-shaw@users.noreply.github.com> Date: Fri, 14 Jun 2019 13:09:38 -0700 Subject: [PATCH 021/123] set CMAKE_SYSTEM_PROCESSOR in Linux (#6872) * add vcpkg_target_architecture to vcpkg_configure_cmake * modify shogun and thrift * update glbinding --- ports/glbinding/portfile.cmake | 1 + ports/shogun/CONTROL | 2 +- ports/shogun/portfile.cmake | 1 + ports/thrift/CONTROL | 2 +- ports/thrift/portfile.cmake | 1 + scripts/cmake/vcpkg_configure_cmake.cmake | 1 + scripts/toolchains/linux.cmake | 3 +++ 7 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ports/glbinding/portfile.cmake b/ports/glbinding/portfile.cmake index dbbff30da9..99f233982c 100644 --- a/ports/glbinding/portfile.cmake +++ b/ports/glbinding/portfile.cmake @@ -18,6 +18,7 @@ vcpkg_configure_cmake( -DOPTION_BUILD_TOOLS=OFF -DGIT_REV=0 -DCMAKE_DISABLE_FIND_PACKAGE_cpplocate=ON + -DOPTION_BUILD_EXAMPLES=OFF ) vcpkg_install_cmake() diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL index 9854596b5f..e57f129feb 100644 --- a/ports/shogun/CONTROL +++ b/ports/shogun/CONTROL @@ -1,4 +1,4 @@ Source: shogun -Version: 6.1.3-2 +Version: 6.1.3-3 Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64&!osx), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent Description: Unified and efficient Machine Learning diff --git a/ports/shogun/portfile.cmake b/ports/shogun/portfile.cmake index 68d3ddf741..dfabdf4aa5 100644 --- a/ports/shogun/portfile.cmake +++ b/ports/shogun/portfile.cmake @@ -60,6 +60,7 @@ vcpkg_configure_cmake( -DCMAKE_DISABLE_FIND_PACKAGE_ARPREC=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_Ctags=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_CCache=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_LAPACK=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_BLAS=${CMAKE_DISABLE_FIND_PACKAGE_BLAS} diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index b85a03cda3..e1afc6ccf5 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -1,4 +1,4 @@ Source: thrift -Version: 2019-05-07 +Version: 2019-05-07-1 Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010. diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake index da59907cfb..efd76472b4 100644 --- a/ports/thrift/portfile.cmake +++ b/ports/thrift/portfile.cmake @@ -27,6 +27,7 @@ vcpkg_configure_cmake( -DBUILD_HASKELL=off -DBUILD_TUTORIALS=off -DFLEX_EXECUTABLE=${FLEX} + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=TRUE -DBISON_EXECUTABLE=${BISON} ) diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index ceff199ab5..8f3aa64257 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -207,6 +207,7 @@ function(vcpkg_configure_cmake) "-DVCPKG_C_FLAGS_DEBUG=${VCPKG_C_FLAGS_DEBUG}" "-DVCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE}" "-DVCPKG_LINKER_FLAGS=${VCPKG_LINKER_FLAGS}" + "-DVCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" ) diff --git a/scripts/toolchains/linux.cmake b/scripts/toolchains/linux.cmake index b9cbc0ff35..70f224da99 100644 --- a/scripts/toolchains/linux.cmake +++ b/scripts/toolchains/linux.cmake @@ -4,6 +4,9 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") endif() set(CMAKE_SYSTEM_NAME Linux CACHE STRING "") +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") +endif() get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) if(NOT _CMAKE_IN_TRY_COMPILE) From d95b4029802ace0c80c647563fbba3b6e94cb200 Mon Sep 17 00:00:00 2001 From: wangli28 <47812810+wangli28@users.noreply.github.com> Date: Sat, 15 Jun 2019 06:04:58 +0800 Subject: [PATCH 022/123] [itk] Upgrade to 5.0.0 (#6767) --- ports/itk/CONTROL | 2 +- ports/itk/fix_conflict_with_openjp2_pc.patch | 66 ++++++++++---------- ports/itk/portfile.cmake | 9 +-- 3 files changed, 37 insertions(+), 40 deletions(-) diff --git a/ports/itk/CONTROL b/ports/itk/CONTROL index 3feedf4964..7f7a12251e 100644 --- a/ports/itk/CONTROL +++ b/ports/itk/CONTROL @@ -1,5 +1,5 @@ Source: itk -Version: 4.13.0-906736bd-3 +Version: 5.0.0-1 Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis. Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat, eigen3, hdf5[cpp], openjpeg diff --git a/ports/itk/fix_conflict_with_openjp2_pc.patch b/ports/itk/fix_conflict_with_openjp2_pc.patch index fc2ad11328..b1a2fb6ec1 100644 --- a/ports/itk/fix_conflict_with_openjp2_pc.patch +++ b/ports/itk/fix_conflict_with_openjp2_pc.patch @@ -1,33 +1,33 @@ -diff --git a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt -index 6e3504d..1d641c2 100644 ---- a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt -+++ b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt -@@ -375,7 +375,8 @@ else() - endif() - - if(GDCM_USE_SYSTEM_OPENJPEG) -- find_package(OpenJPEG 2.0.0 REQUIRED) -+ # openjpeg version in vcpkg is already greater than 2.0.0 and openjpeg has no version.cmake file -+ find_package(OpenJPEG REQUIRED) - set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) - else() - set(GDCM_OPENJPEG_LIBRARIES itkgdcmopenjp2) -diff --git a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -index 4ffe98e..a269690 100644 ---- a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -+++ b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -@@ -347,12 +347,8 @@ endif() - - #----------------------------------------------------------------------------- - # pkgconfig support --# enabled by default on Unix, disabled by default on other platforms --if(UNIX) -- option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" ON) --else() -- option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF) --endif() -+# Cannot use the built-in openjp2 because the configuration path is under buildtrees -+option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF) - if(BUILD_PKGCONFIG_FILES) - # install in lib and not share (see multi-arch note above) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp2/libopenjp2.pc.cmake.in +diff --git a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt +index 6ac16ab6..2bde9952 100644 +--- a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt ++++ b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt +@@ -373,7 +373,8 @@ else() + endif() + + if(GDCM_USE_SYSTEM_OPENJPEG) +- find_package(OpenJPEG 2.0.0 REQUIRED) ++ # openjpeg version in vcpkg is already greater than 2.0.0 and openjpeg has no version.cmake file ++ find_package(OpenJPEG REQUIRED) + set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) + else() + set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) +diff --git a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt +index 565cc338..ec126ef9 100644 +--- a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt ++++ b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt +@@ -359,12 +359,8 @@ endif() + + #----------------------------------------------------------------------------- + # pkgconfig support +-# enabled by default on Unix, disabled by default on other platforms +-if(UNIX) +- option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" ON) +-else() +- option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF) +-endif() ++# Cannot use the built-in openjp2 because the configuration path is under buildtrees ++option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF) + if(BUILD_PKGCONFIG_FILES) + # install in lib and not share (see multi-arch note above) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp2/libopenjp2.pc.cmake.in diff --git a/ports/itk/portfile.cmake b/ports/itk/portfile.cmake index e4f415a1a1..77dd88d9db 100644 --- a/ports/itk/portfile.cmake +++ b/ports/itk/portfile.cmake @@ -10,8 +10,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO InsightSoftwareConsortium/ITK - REF 906736bd453e95ccf03b318d3d07cb7884285161 - SHA512 8ac62262d46e7acbb0e5b2e964292ec17e1687bb162b8cec666e5b67acbe3449f093a0b1c03737e9951cb88248ed890805ffd57df6eae21220488620da833c57 + REF 3e12e7006a5881136414be54216a35bbacb55baa + SHA512 9796429f8750faffc87e44052455740d1a560883e83c3ed9614d1c7ae9cc1ae22a360b572d9bb1c5ec62ca12ac81d3aa0b8dbaffff3e4ad4c2f85077ed04a10b HEAD_REF master PATCHES fix_conflict_with_openjp2_pc.patch ) @@ -67,13 +67,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() # combines release and debug build configurations - -file(RENAME ${CURRENT_PACKAGES_DIR}/vcl_compiler_detection.h ${CURRENT_PACKAGES_DIR}/include/ITK-5.0/vcl_compiler_detection.h) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) # combines release and debug build configurations file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/vcl_compiler_detection.h) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/itk) From 0ad6aaeebb0fe574a683536e8de0f67033adc99a Mon Sep 17 00:00:00 2001 From: evpobr Date: Sat, 15 Jun 2019 03:57:33 +0500 Subject: [PATCH 023/123] [libogg] Update to 1.3.3-3 (#6588) * [libogg] Update to 1.3.3-3 * No patches required (merged in upstream) Notes: Target name changed: Ogg::Ogg -> Ogg::ogg (official). --- ...-Install-CMake-package-config-module.patch | 97 ------------------- ports/libogg/CONTROL | 2 +- ports/libogg/missing_usize64.patch | 12 +++ ports/libogg/portfile.cmake | 12 +-- 4 files changed, 19 insertions(+), 104 deletions(-) delete mode 100644 ports/libogg/0001-Install-CMake-package-config-module.patch create mode 100644 ports/libogg/missing_usize64.patch diff --git a/ports/libogg/0001-Install-CMake-package-config-module.patch b/ports/libogg/0001-Install-CMake-package-config-module.patch deleted file mode 100644 index 2a33a641ef..0000000000 --- a/ports/libogg/0001-Install-CMake-package-config-module.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 0d3c307cee6e8135c84f3f7755bbc10dfd26e02b Mon Sep 17 00:00:00 2001 -From: evpobr -Date: Sat, 16 Feb 2019 11:50:16 +0500 -Subject: [PATCH] Install CMake package config module - ---- - CMakeLists.txt | 40 ++++++++++++++++++++++++++++++++++------ - 1 file changed, 34 insertions(+), 6 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5ab14a2..9f5ee5a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,9 +1,10 @@ --cmake_minimum_required(VERSION 2.8.7) -+cmake_minimum_required(VERSION 2.8.12) - project(libogg) - - # Required modules - include(GNUInstallDirs) - include(CheckIncludeFiles) -+include(CMakePackageConfigHelpers) - - # Build options - option(BUILD_SHARED_LIBS "Build shared library" OFF) -@@ -80,18 +81,24 @@ if(BUILD_FRAMEWORK) - set(BUILD_SHARED_LIBS TRUE) - endif() - --include_directories(include ${CMAKE_CURRENT_BINARY_DIR}/include) --add_library(ogg ${OGG_HEADERS} ${OGG_SOURCES}) -+add_library(Ogg ${OGG_HEADERS} ${OGG_SOURCES}) -+ -+target_include_directories(Ogg -+ PUBLIC -+ $ -+ $ -+ $ -+) - - get_version_info(OGG_VERSION_INFO "LIB_CURRENT" "LIB_AGE" "LIB_REVISION") - set_target_properties( -- ogg PROPERTIES -+ Ogg PROPERTIES - SOVERSION ${OGG_VERSION_INFO} - PUBLIC_HEADER "${OGG_HEADERS}" - ) - - if(BUILD_FRAMEWORK) -- set_target_properties(ogg PROPERTIES -+ set_target_properties(Ogg PROPERTIES - FRAMEWORK TRUE - FRAMEWORK_VERSION ${PROJECT_VERSION} - MACOSX_FRAMEWORK_IDENTIFIER org.xiph.ogg -@@ -100,17 +107,38 @@ if(BUILD_FRAMEWORK) - XCODE_ATTRIBUTE_INSTALL_PATH "@rpath" - OUTPUT_NAME Ogg - ) -+else() -+ set_target_properties(Ogg PROPERTIES OUTPUT_NAME ogg) - endif() - - configure_pkg_config_file(ogg.pc.in) - --install(TARGETS ogg -+set(CMAKE_INSTALL_PACKAGEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/Ogg) -+ -+install(TARGETS Ogg -+ EXPORT OggConfig - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ogg - ) -+install(EXPORT OggConfig -+ NAMESPACE Ogg:: -+ DESTINATION ${CMAKE_INSTALL_PACKAGEDIR} -+) -+ -+if(CMAKE_VERSION VERSION_LESS 3.11) -+ write_basic_package_version_file(OggConfigVersion.cmake COMPATIBILITY SameMajorVersion) -+else() -+ write_basic_package_version_file(OggConfigVersion.cmake COMPATIBILITY SameMinorVersion) -+endif() -+ -+install( -+ FILES ${CMAKE_CURRENT_BINARY_DIR}/OggConfigVersion.cmake -+ DESTINATION ${CMAKE_INSTALL_PACKAGEDIR} -+) -+ - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ogg.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig - ) --- -2.20.1.windows.1 - diff --git a/ports/libogg/CONTROL b/ports/libogg/CONTROL index 965e4e46f6..3d52a9dcac 100644 --- a/ports/libogg/CONTROL +++ b/ports/libogg/CONTROL @@ -1,3 +1,3 @@ Source: libogg -Version: 1.3.3-2 +Version: 1.3.3-3 Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs. diff --git a/ports/libogg/missing_usize64.patch b/ports/libogg/missing_usize64.patch new file mode 100644 index 0000000000..556bc2a546 --- /dev/null +++ b/ports/libogg/missing_usize64.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c31a3c..c3c060a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,6 +63,7 @@ set(USIZE16 uint16_t) + set(SIZE32 int32_t) + set(USIZE32 uint32_t) + set(SIZE64 int64_t) ++set(USIZE64 uint64_t) + + configure_file(include/ogg/config_types.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/ogg/config_types.h @ONLY) + diff --git a/ports/libogg/portfile.cmake b/ports/libogg/portfile.cmake index 3a37e17445..b42ad81361 100644 --- a/ports/libogg/portfile.cmake +++ b/ports/libogg/portfile.cmake @@ -1,24 +1,24 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/ogg - REF v1.3.3 - SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b + REF 6ccfcc2dce48c0d430b45064d0e13c962a64c42f + SHA512 441950d541f626a2e668efab4ed429c453534ef0334aad410013f07870a4a99e347f7a7eed335d77af41f02ce3dd600564d982e4c976a0c4cb76c19b1231d39e HEAD_REF master - PATCHES 0001-Install-CMake-package-config-module.patch + PATCHES + missing_usize64.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS -DINSTALL_DOCS=0 -DINSTALL_PKG_CONFIG_MODULE=0 ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Ogg TARGET_PATH share/Ogg) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ogg TARGET_PATH share/ogg) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) From aac6c06af49a91c1d847c838d2059983080dc6d5 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sat, 15 Jun 2019 01:04:22 +0200 Subject: [PATCH 024/123] [arrow] fix findzstd patch (#6757) --- ports/arrow/CONTROL | 2 +- ports/arrow/findzstd.patch | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ports/arrow/CONTROL b/ports/arrow/CONTROL index 1bfaa8a977..1b32c76b62 100644 --- a/ports/arrow/CONTROL +++ b/ports/arrow/CONTROL @@ -1,4 +1,4 @@ Source: arrow -Version: 0.13.0-3 +Version: 0.13.0-4 Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog, uriparser Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations. diff --git a/ports/arrow/findzstd.patch b/ports/arrow/findzstd.patch index c45f12d0be..ac77202f95 100644 --- a/ports/arrow/findzstd.patch +++ b/ports/arrow/findzstd.patch @@ -11,11 +11,12 @@ index 21b4981ec..818e4b5e1 100644 -endif() - +set(ZSTD_LIB_NAME_DEBUG_SUFFIX d) - set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") +-set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") ++set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}") set(ZSTD_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}zstd${ZSTD_STATIC_LIB_SUFFIX}) -+set(ZSTD_LIB_NAMES_RELEASE zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" -+ "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}") ++set(ZSTD_LIB_NAMES_RELEASE zstd "${ZSTD_STATIC_LIB_NAME}" ++ "${CMAKE_SHARED_LIBRARY_PREFIX}zstd") +set(ZSTD_LIB_NAMES_DEBUG) +foreach(_zstd_name ${ZSTD_LIB_NAMES_RELEASE}) + list(APPEND ZSTD_LIB_NAMES_DEBUG ${_zstd_name}${ZSTD_LIB_NAME_DEBUG_SUFFIX}) From 23f11284c1e0234695e46ecb11f6ff365e720252 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Fri, 14 Jun 2019 16:05:02 -0700 Subject: [PATCH 025/123] [OpenIGTLInk] Add new port (#6769) --- ports/openigtlink/CONTROL | 3 +++ ports/openigtlink/portfile.cmake | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 ports/openigtlink/CONTROL create mode 100644 ports/openigtlink/portfile.cmake diff --git a/ports/openigtlink/CONTROL b/ports/openigtlink/CONTROL new file mode 100644 index 0000000000..488c4061b0 --- /dev/null +++ b/ports/openigtlink/CONTROL @@ -0,0 +1,3 @@ +Source: openigtlink +Version: 3.0 +Description: OpenIGTLink is an open-source network communication interface specifically designed for image-guided interventions. diff --git a/ports/openigtlink/portfile.cmake b/ports/openigtlink/portfile.cmake new file mode 100644 index 0000000000..a5a240fae3 --- /dev/null +++ b/ports/openigtlink/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO openigtlink/OpenIGTLink + REF v3.0 + SHA512 3f62ef1c4ca349f653712cecd43af8b5afce642cc3950256498905999861d68143ba3003f6b0899f5f5c3c5c755eb282c63488ac59b4793b3622a47571452739 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/igtl/cmake) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +vcpkg_copy_pdbs() + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file From 8148e41eb94356b7297db92ea9635f23a37b8f4d Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Sat, 15 Jun 2019 01:06:26 +0200 Subject: [PATCH 026/123] [vtk] fix static hdf5 linkage. (#6782) --- ports/vtk/CONTROL | 2 +- ports/vtk/hdf5_static.patch | 22 ++++++++++++++++++++++ ports/vtk/portfile.cmake | 2 ++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 ports/vtk/hdf5_static.patch diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index 0625a3ac11..5917bbf686 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,5 +1,5 @@ Source: vtk -Version: 8.2.0-2 +Version: 8.2.0-4 Description: Software system for 3D computer graphics, image processing, and visualization Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c diff --git a/ports/vtk/hdf5_static.patch b/ports/vtk/hdf5_static.patch new file mode 100644 index 0000000000..52ade3f082 --- /dev/null +++ b/ports/vtk/hdf5_static.patch @@ -0,0 +1,22 @@ +diff --git a/CMake/FindHDF5.cmake b/CMake/FindHDF5.cmake +index 6d558e39..c301e165 100644 +--- a/CMake/FindHDF5.cmake ++++ b/CMake/FindHDF5.cmake +@@ -8,7 +8,16 @@ if(CMAKE_VERSION VERSION_LESS 3.6.1) + else() + include(${CMAKE_ROOT}/Modules/FindHDF5.cmake) + endif() +- ++#It would be better if VTK would actually use HDF5 & SZIP targets. ++#But current module load order is wrong which will lead to the target being used before it is defined! ++if("${HDF5_LIBRARIES}" MATCHES "libhdf5") ++ find_library(SZIP_LIBRARY_RELEASE NAMES sz libsz szip libszip NAMES_PER_DIR) ++ find_library(SZIP_LIBRARY_DEBUG NAMES sz_d libsz_d szip_d libszip_d NAMES_PER_DIR) ++ select_library_configurations(SZIP) ++ list(APPEND HDF5_LIBRARIES "${SZIP_LIBRARIES}") ++ find_package(ZLIB) ++ list(APPEND HDF5_LIBRARIES "${ZLIB_LIBRARIES}") ++endif() + if(HDF5_FOUND AND (HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL)) + include(vtkMPI) + if(MPI_C_INCLUDE_PATH) diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index 536a811411..69d2ddd2a6 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -48,6 +48,7 @@ vcpkg_from_github( fix-find-lz4.patch fix_ogg_linkage.patch fix-pugixml-link.patch + hdf5_static.patch ) # Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK, @@ -57,6 +58,7 @@ vcpkg_from_github( # so we provide an own one. file(REMOVE ${SOURCE_PATH}/CMake/FindGLEW.cmake) file(REMOVE ${SOURCE_PATH}/CMake/FindPythonLibs.cmake) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindGDAL.cmake DESTINATION ${SOURCE_PATH}/CMake) # ============================================================================= From 7157f7efbf3d0a41374fde760dbed416a3b58bee Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Fri, 14 Jun 2019 16:46:57 -0700 Subject: [PATCH 027/123] [libsquish] fix flaky build (#6893) --- ports/libsquish/CONTROL | 2 +- ports/libsquish/portfile.cmake | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/libsquish/CONTROL b/ports/libsquish/CONTROL index 9cc2e50973..1e193d1b13 100644 --- a/ports/libsquish/CONTROL +++ b/ports/libsquish/CONTROL @@ -1,3 +1,3 @@ Source: libsquish -Version: 1.15 +Version: 1.15-1 Description: Open source DXT compression library. diff --git a/ports/libsquish/portfile.cmake b/ports/libsquish/portfile.cmake index dbebf95667..02fdc4f909 100644 --- a/ports/libsquish/portfile.cmake +++ b/ports/libsquish/portfile.cmake @@ -30,6 +30,7 @@ vcpkg_extract_source_archive_ex( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE ) vcpkg_install_cmake() From 18b029a5e3997fa4fdc7d3d06d56568a1d6f74ad Mon Sep 17 00:00:00 2001 From: pravic Date: Sun, 16 Jun 2019 02:54:47 +0300 Subject: [PATCH 028/123] [WIP] Add a Homepage URL entry for vcpkg ports (#2933) * [vcpkg] Add "Homepage" field to the CONTROL files. --- ports/abseil/CONTROL | 3 ++- ports/ace/CONTROL | 1 + ports/alac-decoder/CONTROL | 1 + ports/alac/CONTROL | 1 + ports/alembic/CONTROL | 2 +- ports/allegro5/CONTROL | 1 + ports/angle/CONTROL | 1 + ports/antlr4/CONTROL | 1 + ports/apr-util/CONTROL | 1 + ports/apr/CONTROL | 1 + ports/arb/CONTROL | 1 + ports/args/CONTROL | 1 + ports/arrow/CONTROL | 1 + ports/asio/CONTROL | 1 + ports/asmjit/CONTROL | 1 + ports/assimp/CONTROL | 3 ++- ports/atk/CONTROL | 1 + ports/atkmm/CONTROL | 1 + ports/aubio/CONTROL | 3 ++- ports/aurora/CONTROL | 1 + ports/avro-c/CONTROL | 1 + ports/aws-sdk-cpp/CONTROL | 1 + ports/azure-storage-cpp/CONTROL | 2 +- ports/benchmark/CONTROL | 1 + ports/berkeleydb/CONTROL | 1 + ports/bigint/CONTROL | 1 + ports/blaze/CONTROL | 1 + ports/blosc/CONTROL | 1 + ports/boost-accumulators/CONTROL | 1 + ports/boost-algorithm/CONTROL | 1 + ports/boost-align/CONTROL | 1 + ports/boost-any/CONTROL | 1 + ports/boost-array/CONTROL | 1 + ports/boost-asio/CONTROL | 1 + ports/boost-assert/CONTROL | 1 + ports/boost-assign/CONTROL | 1 + ports/boost-atomic/CONTROL | 1 + ports/boost-beast/CONTROL | 1 + ports/boost-bimap/CONTROL | 1 + ports/boost-bind/CONTROL | 1 + ports/boost-build/CONTROL | 1 + ports/boost-callable-traits/CONTROL | 1 + ports/boost-chrono/CONTROL | 1 + ports/boost-circular-buffer/CONTROL | 1 + ports/boost-compatibility/CONTROL | 1 + ports/boost-compute/CONTROL | 1 + ports/boost-concept-check/CONTROL | 1 + ports/boost-config/CONTROL | 1 + ports/boost-container/CONTROL | 1 + ports/boost-context/CONTROL | 1 + ports/boost-conversion/CONTROL | 1 + ports/boost-convert/CONTROL | 1 + ports/boost-core/CONTROL | 1 + ports/boost-coroutine/CONTROL | 1 + ports/boost-coroutine2/CONTROL | 1 + ports/boost-crc/CONTROL | 1 + ports/boost-date-time/CONTROL | 1 + ports/boost-detail/CONTROL | 1 + ports/boost-di/CONTROL | 3 ++- ports/boost-disjoint-sets/CONTROL | 1 + ports/boost-dll/CONTROL | 1 + ports/boost-dynamic-bitset/CONTROL | 1 + ports/boost-endian/CONTROL | 1 + ports/boost-exception/CONTROL | 1 + ports/boost-fiber/CONTROL | 1 + ports/boost-filesystem/CONTROL | 1 + ports/boost-flyweight/CONTROL | 1 + ports/boost-foreach/CONTROL | 1 + ports/boost-format/CONTROL | 1 + ports/boost-function-types/CONTROL | 1 + ports/boost-function/CONTROL | 1 + ports/boost-functional/CONTROL | 1 + ports/boost-fusion/CONTROL | 1 + ports/boost-geometry/CONTROL | 1 + ports/boost-gil/CONTROL | 1 + ports/boost-graph-parallel/CONTROL | 1 + ports/boost-graph/CONTROL | 1 + ports/boost-hana/CONTROL | 1 + ports/boost-heap/CONTROL | 1 + ports/boost-icl/CONTROL | 1 + ports/boost-integer/CONTROL | 1 + ports/boost-interprocess/CONTROL | 1 + ports/boost-interval/CONTROL | 1 + ports/boost-intrusive/CONTROL | 1 + ports/boost-io/CONTROL | 1 + ports/boost-iostreams/CONTROL | 1 + ports/boost-iterator/CONTROL | 1 + ports/boost-lambda/CONTROL | 1 + ports/boost-lexical-cast/CONTROL | 1 + ports/boost-local-function/CONTROL | 1 + ports/boost-locale/CONTROL | 1 + ports/boost-lockfree/CONTROL | 1 + ports/boost-log/CONTROL | 1 + ports/boost-logic/CONTROL | 1 + ports/boost-math/CONTROL | 1 + ports/boost-metaparse/CONTROL | 1 + ports/boost-move/CONTROL | 1 + ports/boost-mp11/CONTROL | 1 + ports/boost-mpi/CONTROL | 1 + ports/boost-mpl/CONTROL | 1 + ports/boost-msm/CONTROL | 1 + ports/boost-multi-array/CONTROL | 1 + ports/boost-multi-index/CONTROL | 1 + ports/boost-multiprecision/CONTROL | 1 + ports/boost-numeric-conversion/CONTROL | 1 + ports/boost-odeint/CONTROL | 1 + ports/boost-optional/CONTROL | 1 + ports/boost-parameter/CONTROL | 1 + ports/boost-phoenix/CONTROL | 1 + ports/boost-poly-collection/CONTROL | 1 + ports/boost-polygon/CONTROL | 1 + ports/boost-pool/CONTROL | 1 + ports/boost-predef/CONTROL | 1 + ports/boost-preprocessor/CONTROL | 1 + ports/boost-process/CONTROL | 1 + ports/boost-program-options/CONTROL | 1 + ports/boost-property-map/CONTROL | 1 + ports/boost-property-tree/CONTROL | 1 + ports/boost-proto/CONTROL | 1 + ports/boost-ptr-container/CONTROL | 1 + ports/boost-python/CONTROL | 1 + ports/boost-qvm/CONTROL | 1 + ports/boost-random/CONTROL | 1 + ports/boost-range/CONTROL | 1 + ports/boost-ratio/CONTROL | 1 + ports/boost-rational/CONTROL | 1 + ports/boost-regex/CONTROL | 1 + ports/boost-scope-exit/CONTROL | 1 + ports/boost-serialization/CONTROL | 1 + ports/boost-signals/CONTROL | 1 + ports/boost-signals2/CONTROL | 1 + ports/boost-smart-ptr/CONTROL | 1 + ports/boost-sort/CONTROL | 1 + ports/boost-spirit/CONTROL | 1 + ports/boost-stacktrace/CONTROL | 1 + ports/boost-statechart/CONTROL | 1 + ports/boost-static-assert/CONTROL | 1 + ports/boost-system/CONTROL | 1 + ports/boost-test/CONTROL | 1 + ports/boost-thread/CONTROL | 1 + ports/boost-throw-exception/CONTROL | 1 + ports/boost-timer/CONTROL | 1 + ports/boost-tokenizer/CONTROL | 1 + ports/boost-tti/CONTROL | 1 + ports/boost-tuple/CONTROL | 1 + ports/boost-type-erasure/CONTROL | 1 + ports/boost-type-index/CONTROL | 1 + ports/boost-type-traits/CONTROL | 1 + ports/boost-typeof/CONTROL | 1 + ports/boost-ublas/CONTROL | 1 + ports/boost-units/CONTROL | 1 + ports/boost-unordered/CONTROL | 1 + ports/boost-utility/CONTROL | 1 + ports/boost-uuid/CONTROL | 1 + ports/boost-variant/CONTROL | 1 + ports/boost-vmd/CONTROL | 1 + ports/boost-wave/CONTROL | 1 + ports/boost-winapi/CONTROL | 1 + ports/boost-xpressive/CONTROL | 1 + ports/boost/CONTROL | 1 + ports/botan/CONTROL | 3 ++- ports/box2d/CONTROL | 2 +- ports/breakpad/CONTROL | 1 + ports/brotli/CONTROL | 3 ++- ports/brynet/CONTROL | 1 + ports/bullet3/CONTROL | 3 ++- ports/butteraugli/CONTROL | 3 ++- ports/bzip2/CONTROL | 1 + ports/c-ares/CONTROL | 1 + ports/caffe2/CONTROL | 1 + ports/cairo/CONTROL | 1 + ports/cairomm/CONTROL | 1 + ports/capstone/CONTROL | 1 + ports/cartographer/CONTROL | 5 +++-- ports/catch-classic/CONTROL | 1 + ports/cccapstone/CONTROL | 1 + ports/ccd/CONTROL | 1 + ports/ccfits/CONTROL | 1 + ports/cctz/CONTROL | 1 + ports/celero/CONTROL | 1 + ports/cereal/CONTROL | 1 + ports/ceres/CONTROL | 1 + ports/cfitsio/CONTROL | 1 + ports/cgal/CONTROL | 1 + ports/cgicc/CONTROL | 1 + ports/chaiscript/CONTROL | 1 + ports/chakracore/CONTROL | 1 + ports/charls/CONTROL | 1 + ports/chipmunk/CONTROL | 1 + ports/chmlib/CONTROL | 1 + ports/cimg/CONTROL | 1 + ports/clapack/CONTROL | 1 + ports/clara/CONTROL | 1 + ports/clfft/CONTROL | 1 + ports/clockutils/CONTROL | 1 + ports/console-bridge/CONTROL | 1 + ports/constexpr/CONTROL | 1 + ports/coolprop/CONTROL | 1 + ports/corrade/CONTROL | 2 +- ports/cpp-redis/CONTROL | 1 + ports/cppcms/CONTROL | 3 ++- ports/cpprestsdk/CONTROL | 1 + ports/cppwinrt/CONTROL | 1 + ports/cppzmq/CONTROL | 1 + ports/cpr/CONTROL | 1 + ports/crc32c/CONTROL | 1 + ports/crow/CONTROL | 1 + ports/cryptopp/CONTROL | 1 + ports/ctemplate/CONTROL | 1 + ports/cunit/CONTROL | 1 + ports/curl/CONTROL | 1 + ports/cxxopts/CONTROL | 1 + ports/date/CONTROL | 1 + ports/devil/CONTROL | 1 + ports/dimcli/CONTROL | 1 + ports/directxmesh/CONTROL | 3 ++- ports/directxtex/CONTROL | 5 +++-- ports/directxtk/CONTROL | 1 + ports/directxtk12/CONTROL | 1 + ports/dirent/CONTROL | 1 + ports/discord-rpc/CONTROL | 1 + ports/dlfcn-win32/CONTROL | 1 + ports/dlib/CONTROL | 1 + ports/doctest/CONTROL | 1 + ports/double-conversion/CONTROL | 3 ++- ports/draco/CONTROL | 1 + ports/duktape/CONTROL | 3 ++- ports/dx/CONTROL | 3 ++- ports/dxut/CONTROL | 3 ++- ports/eastl/CONTROL | 3 ++- ports/ebml/CONTROL | 1 + ports/ecm/CONTROL | 1 + ports/eigen3/CONTROL | 1 + ports/embree2/CONTROL | 1 + ports/enet/CONTROL | 1 + ports/epsilon/CONTROL | 1 + ports/evpp/CONTROL | 1 + ports/exiv2/CONTROL | 2 +- ports/expat/CONTROL | 1 + ports/exprtk/CONTROL | 1 + ports/fadbad/CONTROL | 1 + ports/fastlz/CONTROL | 1 + ports/fcl/CONTROL | 1 + ports/fdk-aac/CONTROL | 1 + ports/ffmpeg/CONTROL | 1 + ports/fftw3/CONTROL | 1 + ports/flann/CONTROL | 1 + ports/flatbuffers/CONTROL | 2 +- ports/flint/CONTROL | 1 + ports/fltk/CONTROL | 1 + ports/fmilib/CONTROL | 2 +- ports/fmt/CONTROL | 1 + ports/folly/CONTROL | 1 + ports/fontconfig/CONTROL | 1 + ports/forest/CONTROL | 1 + ports/freeglut/CONTROL | 1 + ports/freeimage/CONTROL | 1 + ports/freerdp/CONTROL | 1 + ports/freetype-gl/CONTROL | 1 + ports/freetype/CONTROL | 1 + ports/freexl/CONTROL | 1 + ports/fuzzylite/CONTROL | 1 + ports/g2o/CONTROL | 2 +- ports/gainput/CONTROL | 1 + ports/gdal/CONTROL | 1 + ports/gdcm2/CONTROL | 1 + ports/gdk-pixbuf/CONTROL | 1 + ports/geogram/CONTROL | 1 + ports/geographiclib/CONTROL | 1 + ports/geos/CONTROL | 1 + ports/gettext/CONTROL | 1 + ports/gflags/CONTROL | 1 + ports/giflib/CONTROL | 1 + ports/gl2ps/CONTROL | 1 + ports/gl3w/CONTROL | 1 + ports/glbinding/CONTROL | 1 + ports/glew/CONTROL | 7 ++++--- ports/glfw3/CONTROL | 1 + ports/glib/CONTROL | 1 + ports/glibmm/CONTROL | 2 +- ports/glog/CONTROL | 1 + ports/glslang/CONTROL | 1 + ports/gmime/CONTROL | 1 + ports/graphicsmagick/CONTROL | 1 + ports/graphite2/CONTROL | 1 + ports/grpc/CONTROL | 1 + ports/gsl-lite/CONTROL | 1 + ports/gsl/CONTROL | 1 + ports/gtest/CONTROL | 1 + ports/gtk/CONTROL | 1 + ports/gtkmm/CONTROL | 1 + ports/gts/CONTROL | 1 + ports/guetzli/CONTROL | 1 + ports/gumbo/CONTROL | 1 + ports/halide/CONTROL | 1 + ports/harfbuzz/CONTROL | 1 + ports/hdf5/CONTROL | 1 + ports/highfive/CONTROL | 1 + ports/hpx/CONTROL | 1 + ports/http-parser/CONTROL | 3 ++- ports/hunspell/CONTROL | 1 + ports/hwloc/CONTROL | 1 + ports/hypre/CONTROL | 1 + ports/icu/CONTROL | 1 + ports/if97/CONTROL | 1 + ports/imgui/CONTROL | 1 + ports/itk/CONTROL | 15 ++++++++------- ports/jack2/CONTROL | 1 + ports/jansson/CONTROL | 1 + ports/jasper/CONTROL | 1 + ports/jbig2dec/CONTROL | 1 + ports/jbigkit/CONTROL | 1 + ports/jemalloc/CONTROL | 1 + ports/jsoncpp/CONTROL | 1 + ports/jsonnet/CONTROL | 1 + ports/jxrlib/CONTROL | 1 + ports/kd-soap/CONTROL | 2 +- ports/kealib/CONTROL | 1 + ports/kf5plotting/CONTROL | 1 + ports/lcm/CONTROL | 1 + ports/lcms/CONTROL | 1 + ports/leptonica/CONTROL | 1 + ports/leveldb/CONTROL | 1 + ports/libaiff/CONTROL | 1 + ports/libarchive/CONTROL | 1 + ports/libbson/CONTROL | 1 + ports/libcds/CONTROL | 1 + ports/libconfig/CONTROL | 1 + ports/libdatrie/CONTROL | 1 + ports/libdisasm/CONTROL | 1 + ports/libepoxy/CONTROL | 3 ++- ports/libevent/CONTROL | 1 + ports/libexif/CONTROL | 1 + ports/libffi/CONTROL | 1 + ports/libflac/CONTROL | 1 + ports/libfreenect2/CONTROL | 1 + ports/libgd/CONTROL | 1 + ports/libgeotiff/CONTROL | 1 + ports/libgit2/CONTROL | 3 ++- ports/libgta/CONTROL | 1 + ports/libharu/CONTROL | 1 + ports/libiconv/CONTROL | 1 + ports/libidn2/CONTROL | 1 + ports/libjpeg-turbo/CONTROL | 1 + ports/libkml/CONTROL | 1 + ports/liblo/CONTROL | 1 + ports/liblzma/CONTROL | 1 + ports/libmariadb/CONTROL | 3 ++- ports/libmicrohttpd/CONTROL | 1 + ports/libmikmod/CONTROL | 1 + ports/libmodplug/CONTROL | 1 + ports/libmspack/CONTROL | 1 + ports/libmupdf/CONTROL | 1 + ports/libmysql/CONTROL | 1 + ports/libnice/CONTROL | 1 + ports/libodb-mysql/CONTROL | 1 + ports/libodb-pgsql/CONTROL | 1 + ports/libodb-sqlite/CONTROL | 1 + ports/libodb/CONTROL | 1 + ports/libogg/CONTROL | 7 ++++--- ports/libopenmpt/CONTROL | 1 + ports/libopusenc/CONTROL | 1 + ports/libp7-baical/CONTROL | 1 + ports/libpng-apng/CONTROL | 1 + ports/libpng/CONTROL | 1 + ports/libpq/CONTROL | 1 + ports/libpqxx/CONTROL | 1 + ports/libqrencode/CONTROL | 1 + ports/librabbitmq/CONTROL | 1 + ports/libraw/CONTROL | 1 + ports/librtmp/CONTROL | 1 + ports/libsamplerate/CONTROL | 1 + ports/libsndfile/CONTROL | 1 + ports/libsodium/CONTROL | 1 + ports/libspatialite/CONTROL | 1 + ports/libssh/CONTROL | 1 + ports/libssh2/CONTROL | 1 + ports/libstemmer/CONTROL | 1 + ports/libtheora/CONTROL | 1 + ports/libtorrent/CONTROL | 1 + ports/libudis86/CONTROL | 1 + ports/libunibreak/CONTROL | 3 ++- ports/libusb-win32/CONTROL | 1 + ports/libusb/CONTROL | 1 + ports/libuv/CONTROL | 1 + ports/libvorbis/CONTROL | 1 + ports/libvpx/CONTROL | 1 + ports/libwebm/CONTROL | 1 + ports/libwebp/CONTROL | 1 + ports/libwebsockets/CONTROL | 1 + ports/libxml2/CONTROL | 1 + ports/libxmp-lite/CONTROL | 1 + ports/libxslt/CONTROL | 1 + ports/libzip/CONTROL | 1 + ports/live555/CONTROL | 1 + ports/llvm/CONTROL | 1 + ports/lmdb/CONTROL | 1 + ports/lodepng/CONTROL | 1 + ports/log4cplus/CONTROL | 1 + ports/lpeg/CONTROL | 1 + ports/lua/CONTROL | 1 + ports/luafilesystem/CONTROL | 1 + ports/luajit/CONTROL | 1 + ports/luasocket/CONTROL | 1 + ports/lz4/CONTROL | 1 + ports/lzfse/CONTROL | 1 + ports/lzo/CONTROL | 1 + ports/magnum-extras/CONTROL | 2 +- ports/magnum-integration/CONTROL | 2 +- ports/magnum-plugins/CONTROL | 2 +- ports/magnum/CONTROL | 2 +- ports/matio/CONTROL | 1 + ports/matroska/CONTROL | 1 + ports/mbedtls/CONTROL | 1 + ports/mdnsresponder/CONTROL | 2 +- ports/meschach/CONTROL | 1 + ports/metis/CONTROL | 1 + ports/minizip/CONTROL | 1 + ports/mman/CONTROL | 1 + ports/mongo-c-driver/CONTROL | 1 + ports/mongo-cxx-driver/CONTROL | 1 + ports/monkeys-audio/CONTROL | 1 + ports/mozjpeg/CONTROL | 1 + ports/mpfr/CONTROL | 1 + ports/mpg123/CONTROL | 3 ++- ports/mpir/CONTROL | 1 + ports/ms-gsl/CONTROL | 3 ++- ports/msgpack/CONTROL | 1 + ports/msinttypes/CONTROL | 1 + ports/mujs/CONTROL | 1 + ports/muparser/CONTROL | 1 + ports/nana/CONTROL | 3 ++- ports/nanodbc/CONTROL | 1 + ports/netcdf-c/CONTROL | 1 + ports/netcdf-cxx4/CONTROL | 1 + ports/nghttp2/CONTROL | 1 + ports/nlohmann-json/CONTROL | 1 + ports/nlopt/CONTROL | 1 + ports/nmslib/CONTROL | 3 ++- ports/nuklear/CONTROL | 1 + ports/ode/CONTROL | 1 + ports/ogre/CONTROL | 1 + ports/openal-soft/CONTROL | 1 + ports/openblas/CONTROL | 1 + ports/opencl/CONTROL | 1 + ports/opencv/CONTROL | 1 + ports/openexr/CONTROL | 1 + ports/openimageio/CONTROL | 1 + ports/openjpeg/CONTROL | 1 + ports/openmama/CONTROL | 1 + ports/openni2/CONTROL | 1 + ports/openssl/CONTROL | 1 + ports/opentracing/CONTROL | 2 +- ports/openvdb/CONTROL | 1 + ports/openvr/CONTROL | 1 + ports/opus/CONTROL | 1 + ports/opusfile/CONTROL | 1 + ports/osg/CONTROL | 1 + ports/paho-mqtt/CONTROL | 1 + ports/pango/CONTROL | 1 + ports/pangolin/CONTROL | 1 + ports/pangomm/CONTROL | 1 + ports/parmetis/CONTROL | 1 + ports/pcl/CONTROL | 1 + ports/pcre2/CONTROL | 1 + ports/pdcurses/CONTROL | 1 + ports/physfs/CONTROL | 1 + ports/picojson/CONTROL | 1 + ports/picosha2/CONTROL | 1 + ports/piex/CONTROL | 1 + ports/pixman/CONTROL | 1 + ports/plibsys/CONTROL | 1 + ports/plog/CONTROL | 1 + ports/podofo/CONTROL | 1 + ports/portaudio/CONTROL | 1 + ports/portmidi/CONTROL | 1 + ports/pqp/CONTROL | 1 + ports/proj4/CONTROL | 1 + ports/protobuf/CONTROL | 1 + ports/ptex/CONTROL | 1 + ports/pthreads/CONTROL | 1 + ports/pugixml/CONTROL | 1 + ports/pybind11/CONTROL | 1 + ports/pystring/CONTROL | 1 + ports/python3/CONTROL | 1 + ports/qhull/CONTROL | 1 + ports/qpid-proton/CONTROL | 3 ++- ports/qscintilla/CONTROL | 1 + ports/qt5-base/CONTROL | 1 + ports/qt5/CONTROL | 1 + ports/qwt/CONTROL | 1 + ports/ragel/CONTROL | 1 + ports/range-v3/CONTROL | 1 + ports/rapidxml/CONTROL | 1 + ports/re2/CONTROL | 1 + ports/readosm/CONTROL | 1 + ports/realsense2/CONTROL | 1 + ports/recast/CONTROL | 1 + ports/refprop-headers/CONTROL | 1 + ports/rhash/CONTROL | 1 + ports/rocksdb/CONTROL | 1 + ports/rpclib/CONTROL | 1 + ports/rs-core-lib/CONTROL | 1 + ports/rtmidi/CONTROL | 1 + ports/rttr/CONTROL | 1 + ports/rxcpp/CONTROL | 1 + ports/scintilla/CONTROL | 1 + ports/sciter/CONTROL | 1 + ports/scylla-wrapper/CONTROL | 2 +- ports/sdl2-image/CONTROL | 1 + ports/sdl2-mixer/CONTROL | 1 + ports/sdl2-net/CONTROL | 1 + ports/sdl2-ttf/CONTROL | 1 + ports/sdl2/CONTROL | 1 + ports/secp256k1/CONTROL | 1 + ports/sfgui/CONTROL | 1 + ports/sfml/CONTROL | 1 + ports/shaderc/CONTROL | 1 + ports/shapelib/CONTROL | 1 + ports/signalrclient/CONTROL | 1 + ports/smpeg2/CONTROL | 1 + ports/snappy/CONTROL | 1 + ports/sobjectizer/CONTROL | 1 + ports/soci/CONTROL | 1 + ports/sol2/CONTROL | 1 + ports/sophus/CONTROL | 1 + ports/soundtouch/CONTROL | 1 + ports/spatialite-tools/CONTROL | 1 + ports/spdlog/CONTROL | 1 + ports/speex/CONTROL | 1 + ports/speexdsp/CONTROL | 1 + ports/spirit-po/CONTROL | 1 + ports/spirv-tools/CONTROL | 1 + ports/sqlite-modern-cpp/CONTROL | 1 + ports/sqlite3/CONTROL | 1 + ports/sqlitecpp/CONTROL | 1 + ports/stb/CONTROL | 1 + ports/string-theory/CONTROL | 1 + ports/strtk/CONTROL | 1 + ports/suitesparse/CONTROL | 1 + ports/sundials/CONTROL | 1 + ports/szip/CONTROL | 1 + ports/tacopie/CONTROL | 1 + ports/taglib/CONTROL | 1 + ports/tbb/CONTROL | 1 + ports/tclap/CONTROL | 1 + ports/telnetpp/CONTROL | 1 + ports/tesseract/CONTROL | 1 + ports/theia/CONTROL | 1 + ports/thor/CONTROL | 1 + ports/thrift/CONTROL | 1 + ports/tidy-html5/CONTROL | 1 + ports/tiff/CONTROL | 1 + ports/tiny-dnn/CONTROL | 1 + ports/tinydir/CONTROL | 1 + ports/tinyexif/CONTROL | 1 + ports/tinyexr/CONTROL | 1 + ports/tinythread/CONTROL | 1 + ports/tinytoml/CONTROL | 1 + ports/tinyxml/CONTROL | 1 + ports/tinyxml2/CONTROL | 1 + ports/torch-th/CONTROL | 1 + ports/tre/CONTROL | 1 + ports/unicorn-lib/CONTROL | 1 + ports/unicorn/CONTROL | 1 + ports/units/CONTROL | 1 + ports/unittest-cpp/CONTROL | 1 + ports/unrar/CONTROL | 1 + ports/urdfdom-headers/CONTROL | 1 + ports/urdfdom/CONTROL | 3 ++- ports/uriparser/CONTROL | 1 + ports/utf8proc/CONTROL | 1 + ports/utfcpp/CONTROL | 3 ++- ports/utfz/CONTROL | 1 + ports/uvatlas/CONTROL | 3 ++- ports/uwebsockets/CONTROL | 1 + ports/vlpp/CONTROL | 1 + ports/vtk/CONTROL | 1 + ports/websocketpp/CONTROL | 1 + ports/wildmidi/CONTROL | 3 ++- ports/winpcap/CONTROL | 1 + ports/wt/CONTROL | 1 + ports/wtl/CONTROL | 1 + ports/wxwidgets/CONTROL | 1 + ports/x264/CONTROL | 1 + ports/x265/CONTROL | 1 + ports/xalan-c/CONTROL | 1 + ports/xerces-c/CONTROL | 1 + ports/xlnt/CONTROL | 1 + ports/xxhash/CONTROL | 1 + ports/yaml-cpp/CONTROL | 1 + ports/yara/CONTROL | 1 + ports/yoga/CONTROL | 1 + ports/zeromq/CONTROL | 1 + ports/zlib/CONTROL | 1 + ports/zstd/CONTROL | 2 +- ports/zziplib/CONTROL | 3 ++- 597 files changed, 644 insertions(+), 65 deletions(-) diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index 65c35d7eca..b611fe9e7e 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -1,5 +1,6 @@ Source: abseil -Version: 2019-05-08 +Version: 2019-05-08 +Homepage: https://github.com/abseil/abseil-cpp Description: an open-source collection designed to augment the C++ standard library. Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives. In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you. diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index 8b76f644a2..4153cdc48a 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,5 +1,6 @@ Source: ace Version: 6.5.5-1 +Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html Description: The ADAPTIVE Communication Environment Feature: wchar diff --git a/ports/alac-decoder/CONTROL b/ports/alac-decoder/CONTROL index e2b3da2b1a..dcbf3922e1 100644 --- a/ports/alac-decoder/CONTROL +++ b/ports/alac-decoder/CONTROL @@ -1,3 +1,4 @@ Source: alac-decoder Version: 0.2-1 +Homepage: https://distfiles.macports.org/alac_decoder Description: ALAC C implementation of a decoder, written from reverse engineering the file format diff --git a/ports/alac/CONTROL b/ports/alac/CONTROL index 07ca2b5a2a..1bea4dc145 100644 --- a/ports/alac/CONTROL +++ b/ports/alac/CONTROL @@ -1,3 +1,4 @@ Source: alac Version: 2017-11-03-c38887c5-1 +Homepage: https://github.com/macosforge/alac Description: The Apple Lossless Audio Codec (ALAC) is a lossless audio codec developed by Apple and deployed on all of its platforms and devices. diff --git a/ports/alembic/CONTROL b/ports/alembic/CONTROL index 8b19b03cb0..0adc152bb7 100644 --- a/ports/alembic/CONTROL +++ b/ports/alembic/CONTROL @@ -2,4 +2,4 @@ Source: alembic Version: 1.7.11 Build-Depends: ilmbase, hdf5 Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. -Homepage: http://alembic.io/ +Homepage: https://alembic.io/ diff --git a/ports/allegro5/CONTROL b/ports/allegro5/CONTROL index 0a18649f8b..defd1b481b 100644 --- a/ports/allegro5/CONTROL +++ b/ports/allegro5/CONTROL @@ -1,4 +1,5 @@ Source: allegro5 Version: 5.2.5.0 +Homepage: https://github.com/liballeg/allegro5 Description: Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform. However, Allegro is not a game engine: you are free to design and structure your program as you like. Build-Depends: opengl, zlib, freetype, libogg, libvorbis, libflac, openal-soft, libpng, bzip2, physfs, libtheora, opus, opusfile diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL index 8bc53822e5..cac71fae2a 100644 --- a/ports/angle/CONTROL +++ b/ports/angle/CONTROL @@ -1,5 +1,6 @@ Source: angle Version: 2019-03-13-c2ee2cc-3 +Homepage: https://github.com/google/angle Description: A conformant OpenGL ES implementation for Windows, Mac and Linux. The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support. Build-Depends: egl-registry diff --git a/ports/antlr4/CONTROL b/ports/antlr4/CONTROL index 4af73fb8a5..46852dbf5a 100644 --- a/ports/antlr4/CONTROL +++ b/ports/antlr4/CONTROL @@ -1,4 +1,5 @@ Source: antlr4 Version: 4.7.1-3 +Homepage: https://www.antlr.org Description: ANother Tool for Language Recognition Build-Depends: libuuid (!uwp&!windows&!osx) \ No newline at end of file diff --git a/ports/apr-util/CONTROL b/ports/apr-util/CONTROL index 80ca3d94da..8dcd5af03f 100644 --- a/ports/apr-util/CONTROL +++ b/ports/apr-util/CONTROL @@ -1,4 +1,5 @@ Source: apr-util Version: 1.6.0-3 +Homepage: https://apr.apache.org/ Description: Apache Portable Runtime (APR) project mission is to create and maintain software libraries that provide a predictable and consistent interface to underlying platform-specific implementation Build-Depends: expat, apr, openssl diff --git a/ports/apr/CONTROL b/ports/apr/CONTROL index 19be22b19f..7a35c5b48d 100644 --- a/ports/apr/CONTROL +++ b/ports/apr/CONTROL @@ -1,5 +1,6 @@ Source: apr Version: 1.6.5-1 +Homepage: https://apr.apache.org/ Description: The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems. Feature: private-headers diff --git a/ports/arb/CONTROL b/ports/arb/CONTROL index 7505432983..02baf69b8c 100644 --- a/ports/arb/CONTROL +++ b/ports/arb/CONTROL @@ -1,4 +1,5 @@ Source: arb Version: 2.16.0 +Homepage: https://github.com/fredrik-johansson/arb Description: a C library for arbitrary-precision interval arithmetic Build-Depends: flint diff --git a/ports/args/CONTROL b/ports/args/CONTROL index 0b5bd4e948..8d9d88a500 100644 --- a/ports/args/CONTROL +++ b/ports/args/CONTROL @@ -1,3 +1,4 @@ Source: args Version: 2019-05-01 +Homepage: https://github.com/Taywee/args Description: A simple header-only C++ argument parser library. diff --git a/ports/arrow/CONTROL b/ports/arrow/CONTROL index 1b32c76b62..ada95e2d07 100644 --- a/ports/arrow/CONTROL +++ b/ports/arrow/CONTROL @@ -1,4 +1,5 @@ Source: arrow Version: 0.13.0-4 Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog, uriparser +Homepage: https://github.com/apache/arrow Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations. diff --git a/ports/asio/CONTROL b/ports/asio/CONTROL index 951c80e29a..49a2be94c9 100644 --- a/ports/asio/CONTROL +++ b/ports/asio/CONTROL @@ -1,3 +1,4 @@ Source: asio Version: 1.12.2-1 +Homepage: https://github.com/chriskohlhoff/asio Description: Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. diff --git a/ports/asmjit/CONTROL b/ports/asmjit/CONTROL index b4c5b6b5a1..5387b8a1cf 100644 --- a/ports/asmjit/CONTROL +++ b/ports/asmjit/CONTROL @@ -1,3 +1,4 @@ Source: asmjit Version: 2019-03-29 +Homepage: https://github.com/asmjit/asmjit Description: Complete x86/x64 JIT and Remote Assembler for C++ diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL index 0756978d6a..ddc2627f0b 100644 --- a/ports/assimp/CONTROL +++ b/ports/assimp/CONTROL @@ -1,4 +1,5 @@ Source: assimp -Version: 4.1.0-5 +Version: 4.1.0-5 +Homepage: https://github.com/assimp/assimp Description: The Open Asset import library Build-Depends: zlib, rapidjson diff --git a/ports/atk/CONTROL b/ports/atk/CONTROL index 824052721f..66890b039d 100644 --- a/ports/atk/CONTROL +++ b/ports/atk/CONTROL @@ -1,4 +1,5 @@ Source: atk Version: 2.24.0-3 +Homepage: https://developer.gnome.org/atk/ Description: GNOME Accessibility Toolkit Build-Depends: glib, gettext diff --git a/ports/atkmm/CONTROL b/ports/atkmm/CONTROL index 329a329b80..3900e1698f 100644 --- a/ports/atkmm/CONTROL +++ b/ports/atkmm/CONTROL @@ -1,4 +1,5 @@ Source: atkmm Version: 2.24.2-1 +Homepage: https://www.gtkmm.org Description: atkmm is the official C++ interface for the ATK accessibility toolkit library. It may be used, for instance, by user interfaces implemented with gtkmm. Build-Depends: glib, gettext, atk, glibmm diff --git a/ports/aubio/CONTROL b/ports/aubio/CONTROL index 1f97f467cb..906fefe454 100644 --- a/ports/aubio/CONTROL +++ b/ports/aubio/CONTROL @@ -1,4 +1,5 @@ Source: aubio -Version: 0.4.9 +Version: 0.4.9 +Homepage: https://github.com/aubio/aubio Description: Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio. Build-Depends: ffmpeg, libsndfile, libogg, libflac, libvorbis, bzip2, liblzma diff --git a/ports/aurora/CONTROL b/ports/aurora/CONTROL index 172c019cd0..b99aed73eb 100644 --- a/ports/aurora/CONTROL +++ b/ports/aurora/CONTROL @@ -1,3 +1,4 @@ Source: aurora Version: 2017-06-21-c75699d2a8caa726260c29b6d7a0fd35f8f28933 +Homepage: https://github.com/Bromeon/Aurora Description: Aurora is an open-source C++ library providing various rather uncommon C++ utilities diff --git a/ports/avro-c/CONTROL b/ports/avro-c/CONTROL index 527090f0dd..4374814d52 100644 --- a/ports/avro-c/CONTROL +++ b/ports/avro-c/CONTROL @@ -1,4 +1,5 @@ Source: avro-c Version: 1.8.2-2 +Homepage: https://github.com/apache/avro Description: Apache Avro is a data serialization system Build-Depends: jansson, liblzma, zlib diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index b1c7f58ab2..194f4d2152 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,5 +1,6 @@ Source: aws-sdk-cpp Version: 1.7.106 +Homepage: https://github.com/aws/aws-sdk-cpp Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream Default-Features: dynamodb, s3, kinesis diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL index d799b45121..9eabe9faf6 100644 --- a/ports/azure-storage-cpp/CONTROL +++ b/ports/azure-storage-cpp/CONTROL @@ -3,4 +3,4 @@ Version: 6.1.0 Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp&!osx), gettext Description: Microsoft Azure Storage Client SDK for C++ A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. -Homepage: http://blogs.msdn.com/b/windowsazurestorage/ \ No newline at end of file +Homepage: https://blogs.msdn.com/b/windowsazurestorage/ \ No newline at end of file diff --git a/ports/benchmark/CONTROL b/ports/benchmark/CONTROL index 4df389778c..27c4c82562 100644 --- a/ports/benchmark/CONTROL +++ b/ports/benchmark/CONTROL @@ -1,3 +1,4 @@ Source: benchmark Version: 1.5 +Homepage: https://github.com/google/benchmark Description: A library to support the benchmarking of functions, similar to unit-tests. diff --git a/ports/berkeleydb/CONTROL b/ports/berkeleydb/CONTROL index b4fd6dae06..c1416e07bf 100644 --- a/ports/berkeleydb/CONTROL +++ b/ports/berkeleydb/CONTROL @@ -1,3 +1,4 @@ Source: berkeleydb Version: 4.8.30-2 +Homepage: https://download.oracle.com/ Description: BDB - A high-performance embedded database for key/value data. diff --git a/ports/bigint/CONTROL b/ports/bigint/CONTROL index 9f508306ca..d862b4b510 100644 --- a/ports/bigint/CONTROL +++ b/ports/bigint/CONTROL @@ -1,3 +1,4 @@ Source: bigint Version: 2010.04.30-3 +Homepage: https://mattmccutchen.net/bigint Description: C++ Big Integer Library diff --git a/ports/blaze/CONTROL b/ports/blaze/CONTROL index c70a72a6c3..8e91f8df6d 100644 --- a/ports/blaze/CONTROL +++ b/ports/blaze/CONTROL @@ -1,4 +1,5 @@ Source: blaze Version: 3.5 Build-Depends: clapack (!osx), boost-exception +Homepage: https://bitbucket.org/blaze-lib/blaze Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic. diff --git a/ports/blosc/CONTROL b/ports/blosc/CONTROL index 3a2f82d4f8..7c0d95842a 100644 --- a/ports/blosc/CONTROL +++ b/ports/blosc/CONTROL @@ -1,4 +1,5 @@ Source: blosc Version: 1.16.3 Build-Depends: lz4, snappy, zlib, zstd +Homepage: https://github.com/Blosc/c-blosc Description: A blocking, shuffling and loss-less compression library that can be faster than `memcpy()` diff --git a/ports/boost-accumulators/CONTROL b/ports/boost-accumulators/CONTROL index 2133992d2f..0d0be2efd0 100644 --- a/ports/boost-accumulators/CONTROL +++ b/ports/boost-accumulators/CONTROL @@ -2,4 +2,5 @@ Source: boost-accumulators Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-interval, boost-iterator, boost-mpl, boost-numeric-conversion, boost-odeint, boost-parameter, boost-preprocessor, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-ublas, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/accumulators Description: Boost accumulators module diff --git a/ports/boost-algorithm/CONTROL b/ports/boost-algorithm/CONTROL index 38218d800c..bda5627cbd 100644 --- a/ports/boost-algorithm/CONTROL +++ b/ports/boost-algorithm/CONTROL @@ -2,4 +2,5 @@ Source: boost-algorithm Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-iterator, boost-mpl, boost-range, boost-regex, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/algorithm Description: Boost algorithm module diff --git a/ports/boost-align/CONTROL b/ports/boost-align/CONTROL index 5e196d31a1..31d92ab53f 100644 --- a/ports/boost-align/CONTROL +++ b/ports/boost-align/CONTROL @@ -2,4 +2,5 @@ Source: boost-align Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/align Description: Boost align module diff --git a/ports/boost-any/CONTROL b/ports/boost-any/CONTROL index 184be21071..b7f37834e3 100644 --- a/ports/boost-any/CONTROL +++ b/ports/boost-any/CONTROL @@ -2,4 +2,5 @@ Source: boost-any Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/any Description: Boost any module diff --git a/ports/boost-array/CONTROL b/ports/boost-array/CONTROL index 262b29c4a0..442caaf0f6 100644 --- a/ports/boost-array/CONTROL +++ b/ports/boost-array/CONTROL @@ -2,4 +2,5 @@ Source: boost-array Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/array Description: Boost array module diff --git a/ports/boost-asio/CONTROL b/ports/boost-asio/CONTROL index a0bff2adc2..3d93e7c073 100644 --- a/ports/boost-asio/CONTROL +++ b/ports/boost-asio/CONTROL @@ -2,4 +2,5 @@ Source: boost-asio Version: 1.70.0-1 Build-Depends: boost-array, boost-assert, boost-bind, boost-chrono, boost-compatibility, boost-config, boost-coroutine (!uwp), boost-date-time, boost-detail, boost-function, boost-integer, boost-regex, boost-smart-ptr, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, openssl +Homepage: https://github.com/boostorg/asio Description: Boost asio module diff --git a/ports/boost-assert/CONTROL b/ports/boost-assert/CONTROL index bc8c119517..9b2b6f1e52 100644 --- a/ports/boost-assert/CONTROL +++ b/ports/boost-assert/CONTROL @@ -2,4 +2,5 @@ Source: boost-assert Version: 1.70.0 Build-Depends: boost-config, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/assert Description: Boost assert module diff --git a/ports/boost-assign/CONTROL b/ports/boost-assign/CONTROL index ce4050e10c..60d906bb8d 100644 --- a/ports/boost-assign/CONTROL +++ b/ports/boost-assign/CONTROL @@ -2,4 +2,5 @@ Source: boost-assign Version: 1.70.0 Build-Depends: boost-array, boost-config, boost-detail, boost-move, boost-mpl, boost-preprocessor, boost-ptr-container, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/assign Description: Boost assign module diff --git a/ports/boost-atomic/CONTROL b/ports/boost-atomic/CONTROL index 29061c6f03..ffa7c49a36 100644 --- a/ports/boost-atomic/CONTROL +++ b/ports/boost-atomic/CONTROL @@ -2,4 +2,5 @@ Source: boost-atomic Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-config, boost-integer, boost-modular-build-helper, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/atomic Description: Boost atomic module diff --git a/ports/boost-beast/CONTROL b/ports/boost-beast/CONTROL index a2fc18353a..7355df55bf 100644 --- a/ports/boost-beast/CONTROL +++ b/ports/boost-beast/CONTROL @@ -2,4 +2,5 @@ Source: boost-beast Version: 1.70.0 Build-Depends: boost-align, boost-asio, boost-assert, boost-bind, boost-config, boost-container, boost-core, boost-endian, boost-intrusive, boost-logic, boost-mp11, boost-optional, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/beast Description: Boost beast module diff --git a/ports/boost-bimap/CONTROL b/ports/boost-bimap/CONTROL index 4f4ea28d09..681ea87f24 100644 --- a/ports/boost-bimap/CONTROL +++ b/ports/boost-bimap/CONTROL @@ -2,4 +2,5 @@ Source: boost-bimap Version: 1.70.0 Build-Depends: boost-concept-check, boost-config, boost-container-hash, boost-functional, boost-iterator, boost-lambda, boost-mpl, boost-multi-index, boost-preprocessor, boost-property-map, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/bimap Description: Boost bimap module diff --git a/ports/boost-bind/CONTROL b/ports/boost-bind/CONTROL index fa0f4cb573..93418102fd 100644 --- a/ports/boost-bind/CONTROL +++ b/ports/boost-bind/CONTROL @@ -2,4 +2,5 @@ Source: boost-bind Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/bind Description: Boost bind module diff --git a/ports/boost-build/CONTROL b/ports/boost-build/CONTROL index a2a96648ec..ce5473df57 100644 --- a/ports/boost-build/CONTROL +++ b/ports/boost-build/CONTROL @@ -1,3 +1,4 @@ Source: boost-build Version: 1.70.0-1 +Homepage: https://github.com/boostorg/build Description: Boost.Build diff --git a/ports/boost-callable-traits/CONTROL b/ports/boost-callable-traits/CONTROL index ac0c45c3b5..af030d66fe 100644 --- a/ports/boost-callable-traits/CONTROL +++ b/ports/boost-callable-traits/CONTROL @@ -2,4 +2,5 @@ Source: boost-callable-traits Version: 1.70.0 Build-Depends: boost-vcpkg-helpers +Homepage: https://github.com/boostorg/callable_traits Description: Boost callable_traits module diff --git a/ports/boost-chrono/CONTROL b/ports/boost-chrono/CONTROL index 6992e72d9d..f2a630bb32 100644 --- a/ports/boost-chrono/CONTROL +++ b/ports/boost-chrono/CONTROL @@ -2,4 +2,5 @@ Source: boost-chrono Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-move, boost-mpl, boost-predef, boost-ratio, boost-static-assert, boost-system, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/chrono Description: Boost chrono module diff --git a/ports/boost-circular-buffer/CONTROL b/ports/boost-circular-buffer/CONTROL index 8119f6f866..aa6d712176 100644 --- a/ports/boost-circular-buffer/CONTROL +++ b/ports/boost-circular-buffer/CONTROL @@ -2,4 +2,5 @@ Source: boost-circular-buffer Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-move, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/circular_buffer Description: Boost circular_buffer module diff --git a/ports/boost-compatibility/CONTROL b/ports/boost-compatibility/CONTROL index d3465c69fb..12d325b068 100644 --- a/ports/boost-compatibility/CONTROL +++ b/ports/boost-compatibility/CONTROL @@ -2,4 +2,5 @@ Source: boost-compatibility Version: 1.70.0 Build-Depends: boost-vcpkg-helpers +Homepage: https://github.com/boostorg/compatibility Description: Boost compatibility module diff --git a/ports/boost-compute/CONTROL b/ports/boost-compute/CONTROL index a4c5168b3d..04534face9 100644 --- a/ports/boost-compute/CONTROL +++ b/ports/boost-compute/CONTROL @@ -2,4 +2,5 @@ Source: boost-compute Version: 1.70.0 Build-Depends: boost-algorithm, boost-array, boost-assert, boost-chrono, boost-config, boost-core, boost-filesystem (!uwp), boost-function, boost-function-types, boost-fusion, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-preprocessor, boost-property-tree, boost-proto, boost-range, boost-smart-ptr, boost-static-assert, boost-thread (!arm), boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-uuid, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/compute Description: Boost compute module diff --git a/ports/boost-concept-check/CONTROL b/ports/boost-concept-check/CONTROL index d198dcec40..ca012575dd 100644 --- a/ports/boost-concept-check/CONTROL +++ b/ports/boost-concept-check/CONTROL @@ -2,4 +2,5 @@ Source: boost-concept-check Version: 1.70.0 Build-Depends: boost-config, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/concept_check Description: Boost concept_check module diff --git a/ports/boost-config/CONTROL b/ports/boost-config/CONTROL index b1b30fb363..1d680a096e 100644 --- a/ports/boost-config/CONTROL +++ b/ports/boost-config/CONTROL @@ -2,4 +2,5 @@ Source: boost-config Version: 1.70.0 Build-Depends: boost-compatibility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/config Description: Boost config module diff --git a/ports/boost-container/CONTROL b/ports/boost-container/CONTROL index fa5d4f8f9b..b96609d6a6 100644 --- a/ports/boost-container/CONTROL +++ b/ports/boost-container/CONTROL @@ -2,4 +2,5 @@ Source: boost-container Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-config, boost-container-hash, boost-core, boost-integer, boost-intrusive, boost-modular-build-helper, boost-move, boost-static-assert, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/container Description: Boost container module diff --git a/ports/boost-context/CONTROL b/ports/boost-context/CONTROL index 493f018e06..8e476df79c 100644 --- a/ports/boost-context/CONTROL +++ b/ports/boost-context/CONTROL @@ -2,4 +2,5 @@ Source: boost-context Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-pool, boost-predef, boost-smart-ptr, boost-thread (!arm), boost-vcpkg-helpers +Homepage: https://github.com/boostorg/context Description: Boost context module diff --git a/ports/boost-conversion/CONTROL b/ports/boost-conversion/CONTROL index 2d1fdf17aa..194ae53474 100644 --- a/ports/boost-conversion/CONTROL +++ b/ports/boost-conversion/CONTROL @@ -2,4 +2,5 @@ Source: boost-conversion Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-throw-exception, boost-typeof, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/conversion Description: Boost conversion module diff --git a/ports/boost-convert/CONTROL b/ports/boost-convert/CONTROL index 33fa90d504..a21fc8f537 100644 --- a/ports/boost-convert/CONTROL +++ b/ports/boost-convert/CONTROL @@ -2,4 +2,5 @@ Source: boost-convert Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-function-types, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-parameter, boost-range, boost-spirit, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/convert Description: Boost convert module diff --git a/ports/boost-core/CONTROL b/ports/boost-core/CONTROL index 41f16e8649..af70d8a142 100644 --- a/ports/boost-core/CONTROL +++ b/ports/boost-core/CONTROL @@ -2,4 +2,5 @@ Source: boost-core Version: 1.70.0 Build-Depends: boost-config, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/core Description: Boost core module diff --git a/ports/boost-coroutine/CONTROL b/ports/boost-coroutine/CONTROL index c6bc86e945..5b5db2bdc2 100644 --- a/ports/boost-coroutine/CONTROL +++ b/ports/boost-coroutine/CONTROL @@ -2,4 +2,5 @@ Source: boost-coroutine Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-config, boost-context (!uwp), boost-detail, boost-exception, boost-integer, boost-modular-build-helper, boost-move, boost-range, boost-system, boost-thread (!arm), boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/coroutine Description: Boost coroutine module diff --git a/ports/boost-coroutine2/CONTROL b/ports/boost-coroutine2/CONTROL index f1679befd7..96706e78aa 100644 --- a/ports/boost-coroutine2/CONTROL +++ b/ports/boost-coroutine2/CONTROL @@ -2,4 +2,5 @@ Source: boost-coroutine2 Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-context (!uwp), boost-detail, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/coroutine2 Description: Boost coroutine2 module diff --git a/ports/boost-crc/CONTROL b/ports/boost-crc/CONTROL index 9dc0e2045e..33536aafab 100644 --- a/ports/boost-crc/CONTROL +++ b/ports/boost-crc/CONTROL @@ -2,4 +2,5 @@ Source: boost-crc Version: 1.70.0 Build-Depends: boost-array, boost-compatibility, boost-config, boost-integer, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/crc Description: Boost crc module diff --git a/ports/boost-date-time/CONTROL b/ports/boost-date-time/CONTROL index e8d85f4143..2c9a8392f5 100644 --- a/ports/boost-date-time/CONTROL +++ b/ports/boost-date-time/CONTROL @@ -2,4 +2,5 @@ Source: boost-date-time Version: 1.70.0 Build-Depends: boost-algorithm, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/date_time Description: Boost date_time module diff --git a/ports/boost-detail/CONTROL b/ports/boost-detail/CONTROL index 593adbba9a..0f31662939 100644 --- a/ports/boost-detail/CONTROL +++ b/ports/boost-detail/CONTROL @@ -2,4 +2,5 @@ Source: boost-detail Version: 1.70.0 Build-Depends: boost-compatibility, boost-config, boost-preprocessor, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/detail Description: Boost detail module diff --git a/ports/boost-di/CONTROL b/ports/boost-di/CONTROL index 6243b1446f..d7c9aea416 100644 --- a/ports/boost-di/CONTROL +++ b/ports/boost-di/CONTROL @@ -1,3 +1,4 @@ Source: boost-di Version: 1.1.0 -Description: C++14 Dependency Injection Library. +Homepage: https://github.com/boost-experimental/di +Description: C++14 Dependency Injection Library. \ No newline at end of file diff --git a/ports/boost-disjoint-sets/CONTROL b/ports/boost-disjoint-sets/CONTROL index 6ef6bfbbd1..56df8c910e 100644 --- a/ports/boost-disjoint-sets/CONTROL +++ b/ports/boost-disjoint-sets/CONTROL @@ -2,4 +2,5 @@ Source: boost-disjoint-sets Version: 1.70.0 Build-Depends: boost-graph, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/disjoint_sets Description: Boost disjoint_sets module diff --git a/ports/boost-dll/CONTROL b/ports/boost-dll/CONTROL index 702bf37ef3..ae2ee519dd 100644 --- a/ports/boost-dll/CONTROL +++ b/ports/boost-dll/CONTROL @@ -2,4 +2,5 @@ Source: boost-dll Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-filesystem (!uwp), boost-function, boost-integer, boost-move, boost-mpl, boost-predef, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-throw-exception, boost-type-index, boost-type-traits, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/dll Description: Boost dll module diff --git a/ports/boost-dynamic-bitset/CONTROL b/ports/boost-dynamic-bitset/CONTROL index 86b48d7da4..c7144e6079 100644 --- a/ports/boost-dynamic-bitset/CONTROL +++ b/ports/boost-dynamic-bitset/CONTROL @@ -2,4 +2,5 @@ Source: boost-dynamic-bitset Version: 1.70.0 Build-Depends: boost-serialization, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/dynamic_bitset Description: Boost dynamic_bitset module diff --git a/ports/boost-endian/CONTROL b/ports/boost-endian/CONTROL index 33afff4cdc..a57b0e7dcb 100644 --- a/ports/boost-endian/CONTROL +++ b/ports/boost-endian/CONTROL @@ -2,4 +2,5 @@ Source: boost-endian Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-predef, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/endian Description: Boost endian module diff --git a/ports/boost-exception/CONTROL b/ports/boost-exception/CONTROL index 869b64b78b..89927da457 100644 --- a/ports/boost-exception/CONTROL +++ b/ports/boost-exception/CONTROL @@ -2,4 +2,5 @@ Source: boost-exception Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-modular-build-helper, boost-smart-ptr, boost-tuple, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/exception Description: Boost exception module diff --git a/ports/boost-fiber/CONTROL b/ports/boost-fiber/CONTROL index 5ef6fdd556..2dc4f4e789 100644 --- a/ports/boost-fiber/CONTROL +++ b/ports/boost-fiber/CONTROL @@ -2,4 +2,5 @@ Source: boost-fiber Version: 1.70.0 Build-Depends: boost-algorithm, boost-assert, boost-build, boost-config, boost-context (!uwp), boost-core, boost-detail, boost-filesystem (!uwp), boost-format, boost-intrusive, boost-modular-build-helper, boost-predef, boost-smart-ptr, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/fiber Description: Boost fiber module diff --git a/ports/boost-filesystem/CONTROL b/ports/boost-filesystem/CONTROL index db1233d574..954ab287ac 100644 --- a/ports/boost-filesystem/CONTROL +++ b/ports/boost-filesystem/CONTROL @@ -2,4 +2,5 @@ Source: boost-filesystem Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-smart-ptr, boost-system, boost-type-traits, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/filesystem Description: Boost filesystem module diff --git a/ports/boost-flyweight/CONTROL b/ports/boost-flyweight/CONTROL index 491e7a1bec..61c80822ff 100644 --- a/ports/boost-flyweight/CONTROL +++ b/ports/boost-flyweight/CONTROL @@ -2,4 +2,5 @@ Source: boost-flyweight Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-functional, boost-interprocess, boost-mpl, boost-multi-index, boost-parameter, boost-preprocessor, boost-serialization, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/flyweight Description: Boost flyweight module diff --git a/ports/boost-foreach/CONTROL b/ports/boost-foreach/CONTROL index b168e81c27..3574b53c86 100644 --- a/ports/boost-foreach/CONTROL +++ b/ports/boost-foreach/CONTROL @@ -2,4 +2,5 @@ Source: boost-foreach Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-detail, boost-iterator, boost-mpl, boost-range, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/foreach Description: Boost foreach module diff --git a/ports/boost-format/CONTROL b/ports/boost-format/CONTROL index c4f20397b7..689d74729e 100644 --- a/ports/boost-format/CONTROL +++ b/ports/boost-format/CONTROL @@ -2,4 +2,5 @@ Source: boost-format Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-optional, boost-smart-ptr, boost-throw-exception, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/format Description: Boost format module diff --git a/ports/boost-function-types/CONTROL b/ports/boost-function-types/CONTROL index d27f00231f..b71fffba52 100644 --- a/ports/boost-function-types/CONTROL +++ b/ports/boost-function-types/CONTROL @@ -2,4 +2,5 @@ Source: boost-function-types Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-detail, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/function_types Description: Boost function_types module diff --git a/ports/boost-function/CONTROL b/ports/boost-function/CONTROL index e3b03f35cd..310e9b4972 100644 --- a/ports/boost-function/CONTROL +++ b/ports/boost-function/CONTROL @@ -2,4 +2,5 @@ Source: boost-function Version: 1.70.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-integer, boost-preprocessor, boost-throw-exception, boost-type-index, boost-typeof, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/function Description: Boost function module diff --git a/ports/boost-functional/CONTROL b/ports/boost-functional/CONTROL index e6628b2ed0..138c8c6e37 100644 --- a/ports/boost-functional/CONTROL +++ b/ports/boost-functional/CONTROL @@ -2,4 +2,5 @@ Source: boost-functional Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-iterator, boost-mpl, boost-preprocessor, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/functional Description: Boost functional module diff --git a/ports/boost-fusion/CONTROL b/ports/boost-fusion/CONTROL index c91ce68709..28305e0827 100644 --- a/ports/boost-fusion/CONTROL +++ b/ports/boost-fusion/CONTROL @@ -2,4 +2,5 @@ Source: boost-fusion Version: 1.70.0 Build-Depends: boost-config, boost-container-hash, boost-core, boost-detail, boost-function-types, boost-mpl, boost-preprocessor, boost-static-assert, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/fusion Description: Boost fusion module diff --git a/ports/boost-geometry/CONTROL b/ports/boost-geometry/CONTROL index 02bab48327..a616793a96 100644 --- a/ports/boost-geometry/CONTROL +++ b/ports/boost-geometry/CONTROL @@ -2,4 +2,5 @@ Source: boost-geometry Version: 1.70.0 Build-Depends: boost-algorithm, boost-array, boost-assert, boost-concept-check, boost-config, boost-container, boost-core, boost-detail, boost-function-types, boost-fusion, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multiprecision, boost-numeric-conversion, boost-polygon, boost-qvm, boost-range, boost-rational, boost-serialization, boost-smart-ptr, boost-static-assert, boost-thread (!arm), boost-throw-exception, boost-tokenizer, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/geometry Description: Boost geometry module diff --git a/ports/boost-gil/CONTROL b/ports/boost-gil/CONTROL index 0057978a47..45c378a720 100644 --- a/ports/boost-gil/CONTROL +++ b/ports/boost-gil/CONTROL @@ -2,4 +2,5 @@ Source: boost-gil Version: 1.70.0 Build-Depends: boost-assert, boost-concept-check, boost-config, boost-core, boost-filesystem (!uwp), boost-integer, boost-iterator, boost-mpl, boost-numeric-conversion, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/gil Description: Boost gil module diff --git a/ports/boost-graph-parallel/CONTROL b/ports/boost-graph-parallel/CONTROL index 569ca21f95..f78581dc68 100644 --- a/ports/boost-graph-parallel/CONTROL +++ b/ports/boost-graph-parallel/CONTROL @@ -2,4 +2,5 @@ Source: boost-graph-parallel Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container-hash, boost-detail, boost-dynamic-bitset, boost-filesystem (!uwp), boost-foreach, boost-function, boost-graph, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/graph_parallel Description: Boost graph_parallel module diff --git a/ports/boost-graph/CONTROL b/ports/boost-graph/CONTROL index d99a2c0133..14d3555ad1 100644 --- a/ports/boost-graph/CONTROL +++ b/ports/boost-graph/CONTROL @@ -2,4 +2,5 @@ Source: boost-graph Version: 1.70.0 Build-Depends: boost-algorithm, boost-any, boost-array, boost-assert, boost-bimap, boost-bind, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-container-hash, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-preprocessor, boost-property-map, boost-property-tree, boost-random, boost-range, boost-regex, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-test (!uwp), boost-throw-exception, boost-tti, boost-tuple, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers, boost-xpressive +Homepage: https://github.com/boostorg/graph Description: Boost graph module diff --git a/ports/boost-hana/CONTROL b/ports/boost-hana/CONTROL index 4d7599dd27..26acfb0c13 100644 --- a/ports/boost-hana/CONTROL +++ b/ports/boost-hana/CONTROL @@ -2,4 +2,5 @@ Source: boost-hana Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-fusion, boost-mpl, boost-tuple, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/hana Description: Boost hana module diff --git a/ports/boost-heap/CONTROL b/ports/boost-heap/CONTROL index ff2a65ea38..f0865f2653 100644 --- a/ports/boost-heap/CONTROL +++ b/ports/boost-heap/CONTROL @@ -2,4 +2,5 @@ Source: boost-heap Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-integer, boost-intrusive, boost-iterator, boost-parameter, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/heap Description: Boost heap module diff --git a/ports/boost-icl/CONTROL b/ports/boost-icl/CONTROL index 213b1a76a9..09e77e7447 100644 --- a/ports/boost-icl/CONTROL +++ b/ports/boost-icl/CONTROL @@ -2,4 +2,5 @@ Source: boost-icl Version: 1.70.0 Build-Depends: boost-assert, boost-concept-check, boost-config, boost-container, boost-date-time, boost-detail, boost-iterator, boost-move, boost-mpl, boost-range, boost-rational, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/icl Description: Boost icl module diff --git a/ports/boost-integer/CONTROL b/ports/boost-integer/CONTROL index aadc1e67f7..72fe9d83fe 100644 --- a/ports/boost-integer/CONTROL +++ b/ports/boost-integer/CONTROL @@ -2,4 +2,5 @@ Source: boost-integer Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/integer Description: Boost integer module diff --git a/ports/boost-interprocess/CONTROL b/ports/boost-interprocess/CONTROL index 7ad6c8ef5a..d1aebd1e0c 100644 --- a/ports/boost-interprocess/CONTROL +++ b/ports/boost-interprocess/CONTROL @@ -2,4 +2,5 @@ Source: boost-interprocess Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-integer, boost-intrusive, boost-move, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/interprocess Description: Boost interprocess module diff --git a/ports/boost-interval/CONTROL b/ports/boost-interval/CONTROL index 6418e0985f..0c74b3e490 100644 --- a/ports/boost-interval/CONTROL +++ b/ports/boost-interval/CONTROL @@ -2,4 +2,5 @@ Source: boost-interval Version: 1.70.0 Build-Depends: boost-compatibility, boost-config, boost-logic, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/interval Description: Boost interval module diff --git a/ports/boost-intrusive/CONTROL b/ports/boost-intrusive/CONTROL index 8a12b51aef..18a831adc0 100644 --- a/ports/boost-intrusive/CONTROL +++ b/ports/boost-intrusive/CONTROL @@ -2,4 +2,5 @@ Source: boost-intrusive Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-container-hash, boost-core, boost-integer, boost-move, boost-static-assert, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/intrusive Description: Boost intrusive module diff --git a/ports/boost-io/CONTROL b/ports/boost-io/CONTROL index db01201eae..aa633c00b8 100644 --- a/ports/boost-io/CONTROL +++ b/ports/boost-io/CONTROL @@ -2,4 +2,5 @@ Source: boost-io Version: 1.70.0 Build-Depends: boost-detail, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/io Description: Boost io module diff --git a/ports/boost-iostreams/CONTROL b/ports/boost-iostreams/CONTROL index 84d1448b8b..e1dafa33b0 100644 --- a/ports/boost-iostreams/CONTROL +++ b/ports/boost-iostreams/CONTROL @@ -2,4 +2,5 @@ Source: boost-iostreams Version: 1.70.0-1 Build-Depends: boost-assert, boost-bind, boost-build, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, liblzma, zlib, zstd +Homepage: https://github.com/boostorg/iostreams Description: Boost iostreams module diff --git a/ports/boost-iterator/CONTROL b/ports/boost-iterator/CONTROL index 5ce5195ae2..c13a8fdb9e 100644 --- a/ports/boost-iterator/CONTROL +++ b/ports/boost-iterator/CONTROL @@ -2,4 +2,5 @@ Source: boost-iterator Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-conversion, boost-core, boost-detail, boost-function-types, boost-fusion, boost-mpl, boost-optional, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/iterator Description: Boost iterator module diff --git a/ports/boost-lambda/CONTROL b/ports/boost-lambda/CONTROL index 9cdda01cdd..645334323f 100644 --- a/ports/boost-lambda/CONTROL +++ b/ports/boost-lambda/CONTROL @@ -2,4 +2,5 @@ Source: boost-lambda Version: 1.70.0 Build-Depends: boost-bind, boost-config, boost-detail, boost-mpl, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/lambda Description: Boost lambda module diff --git a/ports/boost-lexical-cast/CONTROL b/ports/boost-lexical-cast/CONTROL index 3f4c4056bc..9ca38af91a 100644 --- a/ports/boost-lexical-cast/CONTROL +++ b/ports/boost-lexical-cast/CONTROL @@ -2,4 +2,5 @@ Source: boost-lexical-cast Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-detail, boost-integer, boost-numeric-conversion, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/lexical_cast Description: Boost lexical_cast module diff --git a/ports/boost-local-function/CONTROL b/ports/boost-local-function/CONTROL index a91ba64993..b00904108d 100644 --- a/ports/boost-local-function/CONTROL +++ b/ports/boost-local-function/CONTROL @@ -2,4 +2,5 @@ Source: boost-local-function Version: 1.70.0 Build-Depends: boost-config, boost-mpl, boost-preprocessor, boost-scope-exit, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/local_function Description: Boost local_function module diff --git a/ports/boost-locale/CONTROL b/ports/boost-locale/CONTROL index 218b75c977..d2b5a4e5a9 100644 --- a/ports/boost-locale/CONTROL +++ b/ports/boost-locale/CONTROL @@ -2,6 +2,7 @@ Source: boost-locale Version: 1.70.0-2 Build-Depends: boost-assert, boost-build, boost-config, boost-function, boost-integer, boost-iterator, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-system, boost-thread, boost-type-traits, boost-unordered, boost-vcpkg-helpers, libiconv (!uwp&!windows) +Homepage: https://github.com/boostorg/locale Description: Boost locale module Feature: icu diff --git a/ports/boost-lockfree/CONTROL b/ports/boost-lockfree/CONTROL index 9a362826f7..c7346cf6d0 100644 --- a/ports/boost-lockfree/CONTROL +++ b/ports/boost-lockfree/CONTROL @@ -2,4 +2,5 @@ Source: boost-lockfree Version: 1.70.0 Build-Depends: boost-align, boost-array, boost-assert, boost-atomic, boost-config, boost-core, boost-integer, boost-mpl, boost-parameter, boost-predef, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/lockfree Description: Boost lockfree module diff --git a/ports/boost-log/CONTROL b/ports/boost-log/CONTROL index 211cd892e7..bb1ce39549 100644 --- a/ports/boost-log/CONTROL +++ b/ports/boost-log/CONTROL @@ -2,4 +2,5 @@ Source: boost-log Version: 1.70.0 Build-Depends: boost-align, boost-array, boost-asio, boost-assert, boost-atomic, boost-bind, boost-build, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-filesystem (!uwp), boost-function-types, boost-fusion, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-parameter, boost-phoenix, boost-predef, boost-preprocessor, boost-property-tree, boost-proto, boost-random, boost-range, boost-regex, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-thread (!arm), boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi, boost-xpressive +Homepage: https://github.com/boostorg/log Description: Boost log module diff --git a/ports/boost-logic/CONTROL b/ports/boost-logic/CONTROL index 4bac34876c..7d6f02fbbf 100644 --- a/ports/boost-logic/CONTROL +++ b/ports/boost-logic/CONTROL @@ -2,4 +2,5 @@ Source: boost-logic Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/logic Description: Boost logic module diff --git a/ports/boost-math/CONTROL b/ports/boost-math/CONTROL index 9fb6605b8c..a1ddd7c94d 100644 --- a/ports/boost-math/CONTROL +++ b/ports/boost-math/CONTROL @@ -2,4 +2,5 @@ Source: boost-math Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-modular-build-helper, boost-mpl, boost-multiprecision, boost-predef, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/math Description: Boost math module diff --git a/ports/boost-metaparse/CONTROL b/ports/boost-metaparse/CONTROL index 003fbb3595..d5fd144287 100644 --- a/ports/boost-metaparse/CONTROL +++ b/ports/boost-metaparse/CONTROL @@ -2,4 +2,5 @@ Source: boost-metaparse Version: 1.70.0 Build-Depends: boost-config, boost-mpl, boost-predef, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/metaparse Description: Boost metaparse module diff --git a/ports/boost-move/CONTROL b/ports/boost-move/CONTROL index c8b2210579..90b2f4a60a 100644 --- a/ports/boost-move/CONTROL +++ b/ports/boost-move/CONTROL @@ -2,4 +2,5 @@ Source: boost-move Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-static-assert, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/move Description: Boost move module diff --git a/ports/boost-mp11/CONTROL b/ports/boost-mp11/CONTROL index ca170f489d..3ae9d9e6ff 100644 --- a/ports/boost-mp11/CONTROL +++ b/ports/boost-mp11/CONTROL @@ -2,4 +2,5 @@ Source: boost-mp11 Version: 1.70.0 Build-Depends: boost-vcpkg-helpers +Homepage: https://github.com/boostorg/mp11 Description: Boost mp11 module diff --git a/ports/boost-mpi/CONTROL b/ports/boost-mpi/CONTROL index b5b194de2e..3e788cd09a 100644 --- a/ports/boost-mpi/CONTROL +++ b/ports/boost-mpi/CONTROL @@ -2,4 +2,5 @@ Source: boost-mpi Version: 1.70.0-1 Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-optional, boost-property-map, boost-python (windows), boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, msmpi +Homepage: https://github.com/boostorg/mpi Description: Boost mpi module diff --git a/ports/boost-mpl/CONTROL b/ports/boost-mpl/CONTROL index 134fc468d2..d29e93e4d5 100644 --- a/ports/boost-mpl/CONTROL +++ b/ports/boost-mpl/CONTROL @@ -2,4 +2,5 @@ Source: boost-mpl Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-detail, boost-predef, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/mpl Description: Boost mpl module diff --git a/ports/boost-msm/CONTROL b/ports/boost-msm/CONTROL index a3a1749c57..6f9e70094d 100644 --- a/ports/boost-msm/CONTROL +++ b/ports/boost-msm/CONTROL @@ -2,4 +2,5 @@ Source: boost-msm Version: 1.70.0 Build-Depends: boost-any, boost-assert, boost-bind, boost-circular-buffer, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-parameter, boost-phoenix, boost-preprocessor, boost-proto, boost-serialization, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/msm Description: Boost msm module diff --git a/ports/boost-multi-array/CONTROL b/ports/boost-multi-array/CONTROL index 96721b8c79..6250f68add 100644 --- a/ports/boost-multi-array/CONTROL +++ b/ports/boost-multi-array/CONTROL @@ -2,4 +2,5 @@ Source: boost-multi-array Version: 1.70.0 Build-Depends: boost-compatibility, boost-config, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/multi_array Description: Boost multi_array module diff --git a/ports/boost-multi-index/CONTROL b/ports/boost-multi-index/CONTROL index 2abdffb006..19a250e3e9 100644 --- a/ports/boost-multi-index/CONTROL +++ b/ports/boost-multi-index/CONTROL @@ -2,4 +2,5 @@ Source: boost-multi-index Version: 1.70.0 Build-Depends: boost-assert, boost-bind, boost-compatibility, boost-config, boost-container-hash, boost-core, boost-detail, boost-foreach, boost-functional, boost-integer, boost-iterator, boost-move, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/multi_index Description: Boost multi_index module diff --git a/ports/boost-multiprecision/CONTROL b/ports/boost-multiprecision/CONTROL index 2c37832543..49d3fb4f01 100644 --- a/ports/boost-multiprecision/CONTROL +++ b/ports/boost-multiprecision/CONTROL @@ -2,4 +2,5 @@ Source: boost-multiprecision Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-config, boost-container-hash, boost-core, boost-functional, boost-integer, boost-lexical-cast, boost-mpl, boost-predef, boost-rational, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/multiprecision Description: Boost multiprecision module diff --git a/ports/boost-numeric-conversion/CONTROL b/ports/boost-numeric-conversion/CONTROL index 9f73c1b571..702c4f5de2 100644 --- a/ports/boost-numeric-conversion/CONTROL +++ b/ports/boost-numeric-conversion/CONTROL @@ -2,4 +2,5 @@ Source: boost-numeric-conversion Version: 1.70.0 Build-Depends: boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-integer, boost-preprocessor, boost-throw-exception, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/numeric_conversion Description: Boost numeric_conversion module diff --git a/ports/boost-odeint/CONTROL b/ports/boost-odeint/CONTROL index 840af19542..a4c0381f76 100644 --- a/ports/boost-odeint/CONTROL +++ b/ports/boost-odeint/CONTROL @@ -2,4 +2,5 @@ Source: boost-odeint Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-compute, boost-config, boost-core, boost-function, boost-fusion, boost-iterator, boost-math, boost-mpl, boost-multi-array, boost-preprocessor, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-units, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/odeint Description: Boost odeint module diff --git a/ports/boost-optional/CONTROL b/ports/boost-optional/CONTROL index 7ed366b761..b97a5df254 100644 --- a/ports/boost-optional/CONTROL +++ b/ports/boost-optional/CONTROL @@ -2,4 +2,5 @@ Source: boost-optional Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-move, boost-predef, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/optional Description: Boost optional module diff --git a/ports/boost-parameter/CONTROL b/ports/boost-parameter/CONTROL index bddf7d0fbb..0e11e2e8bf 100644 --- a/ports/boost-parameter/CONTROL +++ b/ports/boost-parameter/CONTROL @@ -2,4 +2,5 @@ Source: boost-parameter Version: 1.70.0 Build-Depends: boost-config, boost-detail, boost-mpl, boost-optional, boost-preprocessor, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/parameter Description: Boost parameter module diff --git a/ports/boost-phoenix/CONTROL b/ports/boost-phoenix/CONTROL index 0eefaa0d96..4ef5e2b67b 100644 --- a/ports/boost-phoenix/CONTROL +++ b/ports/boost-phoenix/CONTROL @@ -2,4 +2,5 @@ Source: boost-phoenix Version: 1.70.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-predef, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/phoenix Description: Boost phoenix module diff --git a/ports/boost-poly-collection/CONTROL b/ports/boost-poly-collection/CONTROL index 763d6ac193..eccbe48353 100644 --- a/ports/boost-poly-collection/CONTROL +++ b/ports/boost-poly-collection/CONTROL @@ -2,4 +2,5 @@ Source: boost-poly-collection Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-iterator, boost-mp11, boost-mpl, boost-type-erasure (!arm), boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/poly_collection Description: Boost poly_collection module diff --git a/ports/boost-polygon/CONTROL b/ports/boost-polygon/CONTROL index 026765118e..1f0f0bc121 100644 --- a/ports/boost-polygon/CONTROL +++ b/ports/boost-polygon/CONTROL @@ -2,4 +2,5 @@ Source: boost-polygon Version: 1.70.0 Build-Depends: boost-config, boost-integer, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/polygon Description: Boost polygon module diff --git a/ports/boost-pool/CONTROL b/ports/boost-pool/CONTROL index 3d6c00d2bf..95fff6e7d7 100644 --- a/ports/boost-pool/CONTROL +++ b/ports/boost-pool/CONTROL @@ -2,4 +2,5 @@ Source: boost-pool Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-detail, boost-integer, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/pool Description: Boost pool module diff --git a/ports/boost-predef/CONTROL b/ports/boost-predef/CONTROL index 8853e304a4..018f5737c4 100644 --- a/ports/boost-predef/CONTROL +++ b/ports/boost-predef/CONTROL @@ -2,4 +2,5 @@ Source: boost-predef Version: 1.70.0 Build-Depends: boost-vcpkg-helpers +Homepage: https://github.com/boostorg/predef Description: Boost predef module diff --git a/ports/boost-preprocessor/CONTROL b/ports/boost-preprocessor/CONTROL index 0d90c853b6..6eacdff963 100644 --- a/ports/boost-preprocessor/CONTROL +++ b/ports/boost-preprocessor/CONTROL @@ -2,4 +2,5 @@ Source: boost-preprocessor Version: 1.70.0 Build-Depends: boost-vcpkg-helpers +Homepage: https://github.com/boostorg/preprocessor Description: Boost preprocessor module diff --git a/ports/boost-process/CONTROL b/ports/boost-process/CONTROL index 684f323384..36d5b8ca69 100644 --- a/ports/boost-process/CONTROL +++ b/ports/boost-process/CONTROL @@ -2,4 +2,5 @@ Source: boost-process Version: 1.70.0 Build-Depends: boost-algorithm, boost-asio, boost-config, boost-core, boost-filesystem (!uwp), boost-fusion, boost-iterator, boost-move, boost-optional, boost-system, boost-tokenizer, boost-type-index, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/process Description: Boost process module diff --git a/ports/boost-program-options/CONTROL b/ports/boost-program-options/CONTROL index 51796a46d0..25d37164e0 100644 --- a/ports/boost-program-options/CONTROL +++ b/ports/boost-program-options/CONTROL @@ -2,4 +2,5 @@ Source: boost-program-options Version: 1.70.0 Build-Depends: boost-any, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/program_options Description: Boost program_options module diff --git a/ports/boost-property-map/CONTROL b/ports/boost-property-map/CONTROL index 82f22f7394..9592eee2f8 100644 --- a/ports/boost-property-map/CONTROL +++ b/ports/boost-property-map/CONTROL @@ -2,4 +2,5 @@ Source: boost-property-map Version: 1.70.0 Build-Depends: boost-any, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-multi-index, boost-optional, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/property_map Description: Boost property_map module diff --git a/ports/boost-property-tree/CONTROL b/ports/boost-property-tree/CONTROL index 9856fa6ff6..f896ed5cdb 100644 --- a/ports/boost-property-tree/CONTROL +++ b/ports/boost-property-tree/CONTROL @@ -2,4 +2,5 @@ Source: boost-property-tree Version: 1.70.0 Build-Depends: boost-any, boost-assert, boost-bind, boost-compatibility, boost-config, boost-core, boost-format, boost-iterator, boost-mpl, boost-multi-index, boost-optional, boost-range, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/property_tree Description: Boost property_tree module diff --git a/ports/boost-proto/CONTROL b/ports/boost-proto/CONTROL index 00b2ca8d4c..6f16038c2a 100644 --- a/ports/boost-proto/CONTROL +++ b/ports/boost-proto/CONTROL @@ -2,4 +2,5 @@ Source: boost-proto Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-detail, boost-fusion, boost-mpl, boost-preprocessor, boost-range, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/proto Description: Boost proto module diff --git a/ports/boost-ptr-container/CONTROL b/ports/boost-ptr-container/CONTROL index 8250e74e5d..573dd2cedb 100644 --- a/ports/boost-ptr-container/CONTROL +++ b/ports/boost-ptr-container/CONTROL @@ -2,4 +2,5 @@ Source: boost-ptr-container Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/ptr_container Description: Boost ptr_container module diff --git a/ports/boost-python/CONTROL b/ports/boost-python/CONTROL index f088b8ec18..2dc872ec09 100644 --- a/ports/boost-python/CONTROL +++ b/ports/boost-python/CONTROL @@ -2,4 +2,5 @@ Source: boost-python Version: 1.70.0-1 Build-Depends: boost-bind, boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-property-map, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, python3 +Homepage: https://github.com/boostorg/python Description: Boost python module diff --git a/ports/boost-qvm/CONTROL b/ports/boost-qvm/CONTROL index 7b338b30be..0cdc846b47 100644 --- a/ports/boost-qvm/CONTROL +++ b/ports/boost-qvm/CONTROL @@ -2,4 +2,5 @@ Source: boost-qvm Version: 1.70.0 Build-Depends: boost-assert, boost-exception, boost-static-assert, boost-throw-exception, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/qvm Description: Boost qvm module diff --git a/ports/boost-random/CONTROL b/ports/boost-random/CONTROL index f1af030cc2..a76d33a7b9 100644 --- a/ports/boost-random/CONTROL +++ b/ports/boost-random/CONTROL @@ -2,4 +2,5 @@ Source: boost-random Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-dynamic-bitset, boost-integer, boost-io, boost-math, boost-modular-build-helper, boost-mpl, boost-multiprecision, boost-range, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/random Description: Boost random module diff --git a/ports/boost-range/CONTROL b/ports/boost-range/CONTROL index 8ba112604d..bfb40f1556 100644 --- a/ports/boost-range/CONTROL +++ b/ports/boost-range/CONTROL @@ -2,4 +2,5 @@ Source: boost-range Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-concept-check, boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-iterator, boost-mpl, boost-optional, boost-preprocessor, boost-regex, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/range Description: Boost range module diff --git a/ports/boost-ratio/CONTROL b/ports/boost-ratio/CONTROL index 38abf0e8c8..ac2e082145 100644 --- a/ports/boost-ratio/CONTROL +++ b/ports/boost-ratio/CONTROL @@ -2,4 +2,5 @@ Source: boost-ratio Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-integer, boost-mpl, boost-rational, boost-static-assert, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/ratio Description: Boost ratio module diff --git a/ports/boost-rational/CONTROL b/ports/boost-rational/CONTROL index d117dae186..9ec2449965 100644 --- a/ports/boost-rational/CONTROL +++ b/ports/boost-rational/CONTROL @@ -2,4 +2,5 @@ Source: boost-rational Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-integer, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/rational Description: Boost rational module diff --git a/ports/boost-regex/CONTROL b/ports/boost-regex/CONTROL index d10267c3f0..c5f323543e 100644 --- a/ports/boost-regex/CONTROL +++ b/ports/boost-regex/CONTROL @@ -2,6 +2,7 @@ Source: boost-regex Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-iterator, boost-modular-build-helper, boost-mpl, boost-predef, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/regex Description: Boost regex module Feature: icu diff --git a/ports/boost-scope-exit/CONTROL b/ports/boost-scope-exit/CONTROL index d72178eae2..0d088b73c2 100644 --- a/ports/boost-scope-exit/CONTROL +++ b/ports/boost-scope-exit/CONTROL @@ -2,4 +2,5 @@ Source: boost-scope-exit Version: 1.70.0 Build-Depends: boost-config, boost-detail, boost-function, boost-preprocessor, boost-typeof, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/scope_exit Description: Boost scope_exit module diff --git a/ports/boost-serialization/CONTROL b/ports/boost-serialization/CONTROL index 911fe09688..4d24cae117 100644 --- a/ports/boost-serialization/CONTROL +++ b/ports/boost-serialization/CONTROL @@ -2,4 +2,5 @@ Source: boost-serialization Version: 1.70.0 Build-Depends: boost-array, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-spirit, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/serialization Description: Boost serialization module diff --git a/ports/boost-signals/CONTROL b/ports/boost-signals/CONTROL index 10f1465f30..5b58c978c0 100644 --- a/ports/boost-signals/CONTROL +++ b/ports/boost-signals/CONTROL @@ -2,4 +2,5 @@ Source: boost-signals Version: 1.68.0 Build-Depends: boost-any, boost-build, boost-config, boost-core, boost-function, boost-iterator, boost-modular-build-helper, boost-optional, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/signals Description: Boost signals module diff --git a/ports/boost-signals2/CONTROL b/ports/boost-signals2/CONTROL index b6ac55cf8e..d4b2367780 100644 --- a/ports/boost-signals2/CONTROL +++ b/ports/boost-signals2/CONTROL @@ -2,4 +2,5 @@ Source: boost-signals2 Version: 1.70.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/signals2 Description: Boost signals2 module diff --git a/ports/boost-smart-ptr/CONTROL b/ports/boost-smart-ptr/CONTROL index d5167c2311..dab71c99eb 100644 --- a/ports/boost-smart-ptr/CONTROL +++ b/ports/boost-smart-ptr/CONTROL @@ -2,4 +2,5 @@ Source: boost-smart-ptr Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-integer, boost-move, boost-predef, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/smart_ptr Description: Boost smart_ptr module diff --git a/ports/boost-sort/CONTROL b/ports/boost-sort/CONTROL index 1aec3ee683..db9a38674b 100644 --- a/ports/boost-sort/CONTROL +++ b/ports/boost-sort/CONTROL @@ -2,4 +2,5 @@ Source: boost-sort Version: 1.70.0 Build-Depends: boost-integer, boost-range, boost-serialization, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/sort Description: Boost sort module diff --git a/ports/boost-spirit/CONTROL b/ports/boost-spirit/CONTROL index e70aedd34d..89644cb618 100644 --- a/ports/boost-spirit/CONTROL +++ b/ports/boost-spirit/CONTROL @@ -2,4 +2,5 @@ Source: boost-spirit Version: 1.70.0 Build-Depends: boost-algorithm, boost-array, boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-endian, boost-filesystem (!uwp), boost-foreach, boost-function, boost-function-types, boost-fusion, boost-integer, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-move, boost-mpl, boost-optional, boost-phoenix, boost-pool, boost-predef, boost-preprocessor, boost-proto, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-thread (!arm), boost-throw-exception, boost-tti, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/spirit Description: Boost spirit module diff --git a/ports/boost-stacktrace/CONTROL b/ports/boost-stacktrace/CONTROL index 05c7148859..d1b709934b 100644 --- a/ports/boost-stacktrace/CONTROL +++ b/ports/boost-stacktrace/CONTROL @@ -2,4 +2,5 @@ Source: boost-stacktrace Version: 1.70.0 Build-Depends: boost-array, boost-build, boost-config, boost-container-hash, boost-core, boost-modular-build-helper, boost-predef, boost-static-assert, boost-type-traits, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/stacktrace Description: Boost stacktrace module diff --git a/ports/boost-statechart/CONTROL b/ports/boost-statechart/CONTROL index 9266a233be..242256a8c6 100644 --- a/ports/boost-statechart/CONTROL +++ b/ports/boost-statechart/CONTROL @@ -2,4 +2,5 @@ Source: boost-statechart Version: 1.70.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-conversion, boost-core, boost-detail, boost-function, boost-mpl, boost-smart-ptr, boost-static-assert, boost-thread (!arm), boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/statechart Description: Boost statechart module diff --git a/ports/boost-static-assert/CONTROL b/ports/boost-static-assert/CONTROL index b3ffbb5e73..0c8f3a5322 100644 --- a/ports/boost-static-assert/CONTROL +++ b/ports/boost-static-assert/CONTROL @@ -2,4 +2,5 @@ Source: boost-static-assert Version: 1.70.0 Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/static_assert Description: Boost static_assert module diff --git a/ports/boost-system/CONTROL b/ports/boost-system/CONTROL index d83a45a429..79089afd92 100644 --- a/ports/boost-system/CONTROL +++ b/ports/boost-system/CONTROL @@ -2,4 +2,5 @@ Source: boost-system Version: 1.70.0 Build-Depends: boost-build, boost-config, boost-integer, boost-modular-build-helper, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/system Description: Boost system module diff --git a/ports/boost-test/CONTROL b/ports/boost-test/CONTROL index 9d86dfee28..e1c83b08a2 100644 --- a/ports/boost-test/CONTROL +++ b/ports/boost-test/CONTROL @@ -2,4 +2,5 @@ Source: boost-test Version: 1.70.0-2 Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/test Description: Boost test module diff --git a/ports/boost-thread/CONTROL b/ports/boost-thread/CONTROL index 41f0d4066c..e38b6f31af 100644 --- a/ports/boost-thread/CONTROL +++ b/ports/boost-thread/CONTROL @@ -2,4 +2,5 @@ Source: boost-thread Version: 1.70.0-1 Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-chrono, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-integer, boost-intrusive, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-predef, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/thread Description: Boost thread module diff --git a/ports/boost-throw-exception/CONTROL b/ports/boost-throw-exception/CONTROL index b6cd1641ab..31502e60cf 100644 --- a/ports/boost-throw-exception/CONTROL +++ b/ports/boost-throw-exception/CONTROL @@ -2,4 +2,5 @@ Source: boost-throw-exception Version: 1.70.0 Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/throw_exception Description: Boost throw_exception module diff --git a/ports/boost-timer/CONTROL b/ports/boost-timer/CONTROL index 271674b036..213ccc19c8 100644 --- a/ports/boost-timer/CONTROL +++ b/ports/boost-timer/CONTROL @@ -2,4 +2,5 @@ Source: boost-timer Version: 1.70.0 Build-Depends: boost-build, boost-chrono, boost-compatibility, boost-config, boost-core, boost-integer, boost-io, boost-modular-build-helper, boost-predef, boost-system, boost-throw-exception, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/timer Description: Boost timer module diff --git a/ports/boost-tokenizer/CONTROL b/ports/boost-tokenizer/CONTROL index b223b92317..3b7497e820 100644 --- a/ports/boost-tokenizer/CONTROL +++ b/ports/boost-tokenizer/CONTROL @@ -2,4 +2,5 @@ Source: boost-tokenizer Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-detail, boost-iterator, boost-mpl, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/tokenizer Description: Boost tokenizer module diff --git a/ports/boost-tti/CONTROL b/ports/boost-tti/CONTROL index 4f6e98679f..f284303ea9 100644 --- a/ports/boost-tti/CONTROL +++ b/ports/boost-tti/CONTROL @@ -2,4 +2,5 @@ Source: boost-tti Version: 1.70.0 Build-Depends: boost-config, boost-detail, boost-function-types, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/tti Description: Boost tti module diff --git a/ports/boost-tuple/CONTROL b/ports/boost-tuple/CONTROL index 2b64a0472b..ba38ab2672 100644 --- a/ports/boost-tuple/CONTROL +++ b/ports/boost-tuple/CONTROL @@ -2,4 +2,5 @@ Source: boost-tuple Version: 1.70.0 Build-Depends: boost-config, boost-core, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/tuple Description: Boost tuple module diff --git a/ports/boost-type-erasure/CONTROL b/ports/boost-type-erasure/CONTROL index f9fc4e24fa..d9090d787e 100644 --- a/ports/boost-type-erasure/CONTROL +++ b/ports/boost-type-erasure/CONTROL @@ -2,4 +2,5 @@ Source: boost-type-erasure Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-fusion, boost-iterator, boost-modular-build-helper, boost-mp11, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-thread (!arm), boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-vmd +Homepage: https://github.com/boostorg/type_erasure Description: Boost type_erasure module diff --git a/ports/boost-type-index/CONTROL b/ports/boost-type-index/CONTROL index 542bd4ea68..4f52f63681 100644 --- a/ports/boost-type-index/CONTROL +++ b/ports/boost-type-index/CONTROL @@ -2,4 +2,5 @@ Source: boost-type-index Version: 1.70.0 Build-Depends: boost-config, boost-container-hash, boost-core, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/type_index Description: Boost type_index module diff --git a/ports/boost-type-traits/CONTROL b/ports/boost-type-traits/CONTROL index 825b9e87d6..eeacc17367 100644 --- a/ports/boost-type-traits/CONTROL +++ b/ports/boost-type-traits/CONTROL @@ -2,4 +2,5 @@ Source: boost-type-traits Version: 1.70.0-1 Build-Depends: boost-config, boost-detail, boost-static-assert, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/type_traits Description: Boost type_traits module diff --git a/ports/boost-typeof/CONTROL b/ports/boost-typeof/CONTROL index fbf241061b..aeca892fe1 100644 --- a/ports/boost-typeof/CONTROL +++ b/ports/boost-typeof/CONTROL @@ -2,4 +2,5 @@ Source: boost-typeof Version: 1.70.0 Build-Depends: boost-config, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/typeof Description: Boost typeof module diff --git a/ports/boost-ublas/CONTROL b/ports/boost-ublas/CONTROL index 0a801349ef..319b99bed3 100644 --- a/ports/boost-ublas/CONTROL +++ b/ports/boost-ublas/CONTROL @@ -2,4 +2,5 @@ Source: boost-ublas Version: 1.70.0 Build-Depends: boost-compute, boost-concept-check, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/ublas Description: Boost ublas module diff --git a/ports/boost-units/CONTROL b/ports/boost-units/CONTROL index ad757315d4..8e1fe4a8ac 100644 --- a/ports/boost-units/CONTROL +++ b/ports/boost-units/CONTROL @@ -2,4 +2,5 @@ Source: boost-units Version: 1.70.0 Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-io, boost-lambda, boost-math, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/units Description: Boost units module diff --git a/ports/boost-unordered/CONTROL b/ports/boost-unordered/CONTROL index 518e7ac5e1..d128e273fa 100644 --- a/ports/boost-unordered/CONTROL +++ b/ports/boost-unordered/CONTROL @@ -2,4 +2,5 @@ Source: boost-unordered Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-container-hash, boost-core, boost-detail, boost-functional, boost-move, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/unordered Description: Boost unordered module diff --git a/ports/boost-utility/CONTROL b/ports/boost-utility/CONTROL index f1781fafce..7f54df7de0 100644 --- a/ports/boost-utility/CONTROL +++ b/ports/boost-utility/CONTROL @@ -2,4 +2,5 @@ Source: boost-utility Version: 1.70.0 Build-Depends: boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/utility Description: Boost utility module diff --git a/ports/boost-uuid/CONTROL b/ports/boost-uuid/CONTROL index a20805a971..efc4b3094a 100644 --- a/ports/boost-uuid/CONTROL +++ b/ports/boost-uuid/CONTROL @@ -2,4 +2,5 @@ Source: boost-uuid Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container-hash, boost-core, boost-integer, boost-io, boost-move, boost-numeric-conversion, boost-predef, boost-random, boost-serialization, boost-static-assert, boost-throw-exception, boost-tti, boost-type-traits, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/uuid Description: Boost uuid module diff --git a/ports/boost-variant/CONTROL b/ports/boost-variant/CONTROL index 45e40a9b8c..395d00758d 100644 --- a/ports/boost-variant/CONTROL +++ b/ports/boost-variant/CONTROL @@ -2,4 +2,5 @@ Source: boost-variant Version: 1.69.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-move, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/variant Description: Boost variant module diff --git a/ports/boost-vmd/CONTROL b/ports/boost-vmd/CONTROL index b274887075..6c2bda21a4 100644 --- a/ports/boost-vmd/CONTROL +++ b/ports/boost-vmd/CONTROL @@ -2,4 +2,5 @@ Source: boost-vmd Version: 1.70.0 Build-Depends: boost-preprocessor, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/vmd Description: Boost vmd module diff --git a/ports/boost-wave/CONTROL b/ports/boost-wave/CONTROL index 32235abb36..279eb57006 100644 --- a/ports/boost-wave/CONTROL +++ b/ports/boost-wave/CONTROL @@ -2,4 +2,5 @@ Source: boost-wave Version: 1.70.0 Build-Depends: boost-assert, boost-build, boost-concept-check, boost-config, boost-core, boost-detail, boost-filesystem (!uwp), boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-multi-index, boost-pool, boost-preprocessor, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/wave Description: Boost wave module diff --git a/ports/boost-winapi/CONTROL b/ports/boost-winapi/CONTROL index 64912f1e3c..985612d101 100644 --- a/ports/boost-winapi/CONTROL +++ b/ports/boost-winapi/CONTROL @@ -2,4 +2,5 @@ Source: boost-winapi Version: 1.70.0 Build-Depends: boost-config, boost-predef, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/winapi Description: Boost winapi module diff --git a/ports/boost-xpressive/CONTROL b/ports/boost-xpressive/CONTROL index f0d61399f8..d2960cf5b9 100644 --- a/ports/boost-xpressive/CONTROL +++ b/ports/boost-xpressive/CONTROL @@ -2,4 +2,5 @@ Source: boost-xpressive Version: 1.70.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-exception, boost-fusion, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/xpressive Description: Boost xpressive module diff --git a/ports/boost/CONTROL b/ports/boost/CONTROL index b97b99f9a4..54dfc3c7a6 100644 --- a/ports/boost/CONTROL +++ b/ports/boost/CONTROL @@ -1,6 +1,7 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost Version: 1.70.0 +Homepage: https://boost.org Description: Peer-reviewed portable C++ source libraries Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-context (!uwp), boost-contract (!arm), boost-conversion, boost-convert, boost-core, boost-coroutine (!uwp), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-histogram, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp), boost-local-function, boost-lockfree, boost-log (!uwp), boost-logic, boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-optional, boost-outcome, boost-parameter, boost-parameter-python (windows), boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options, boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-scope-exit, boost-serialization, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert, boost-system, boost-test (!uwp), boost-thread (!arm), boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (!arm), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive, boost-yap diff --git a/ports/botan/CONTROL b/ports/botan/CONTROL index 3961c2ccb8..8ceb0118c9 100644 --- a/ports/botan/CONTROL +++ b/ports/botan/CONTROL @@ -1,3 +1,4 @@ Source: botan Version: 2.9.0 -Description: A cryptography library written in C++11 +Homepage: https://botan.randombit.net +Description: A cryptography library written in C++11 \ No newline at end of file diff --git a/ports/box2d/CONTROL b/ports/box2d/CONTROL index e95eea2ba4..98f6e2cbd5 100644 --- a/ports/box2d/CONTROL +++ b/ports/box2d/CONTROL @@ -1,4 +1,4 @@ Source: box2d Version: 2.3.1-374664b-2 Description: An open source C++ engine for simulating rigid bodies in 2D. -Homepage: http://box2d.org +Homepage: https://box2d.org diff --git a/ports/breakpad/CONTROL b/ports/breakpad/CONTROL index b9efe8ee6d..0f6ba1dcbf 100644 --- a/ports/breakpad/CONTROL +++ b/ports/breakpad/CONTROL @@ -1,4 +1,5 @@ Source: breakpad Version: 2019-05-08 Build-Depends: libdisasm +Homepage: https://github.com/google/breakpad Description: a set of client and server components which implement a crash-reporting system. diff --git a/ports/brotli/CONTROL b/ports/brotli/CONTROL index d61b8b25e4..aef306101d 100644 --- a/ports/brotli/CONTROL +++ b/ports/brotli/CONTROL @@ -1,3 +1,4 @@ Source: brotli -Version: 1.0.7 +Version: 1.0.7 +Homepage: https://github.com/google/brotli Description: a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling. diff --git a/ports/brynet/CONTROL b/ports/brynet/CONTROL index 9133017a1e..5566fad324 100644 --- a/ports/brynet/CONTROL +++ b/ports/brynet/CONTROL @@ -1,4 +1,5 @@ Source: brynet Version: 1.0.2 +Homepage: https://github.com/IronsDu/brynet Description: A C++ cross platform high performance tcp network library, and support SSL/HTTP/Websocket. Build-Depends: openssl diff --git a/ports/bullet3/CONTROL b/ports/bullet3/CONTROL index efcb927d2d..437908356e 100644 --- a/ports/bullet3/CONTROL +++ b/ports/bullet3/CONTROL @@ -1,3 +1,4 @@ Source: bullet3 -Version: 2.88 +Version: 2.88 +Homepage: https://github.com/bulletphysics/bullet3 Description: Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library diff --git a/ports/butteraugli/CONTROL b/ports/butteraugli/CONTROL index 621e42a8af..d210263c3b 100644 --- a/ports/butteraugli/CONTROL +++ b/ports/butteraugli/CONTROL @@ -1,4 +1,5 @@ Source: butteraugli -Version: 2019-05-08 +Version: 2019-05-08 +Homepage: https://github.com/google/butteraugli Description: butteraugli estimates the psychovisual difference between two images Build-Depends: libpng, libjpeg-turbo diff --git a/ports/bzip2/CONTROL b/ports/bzip2/CONTROL index 00995aed95..5f52faad48 100644 --- a/ports/bzip2/CONTROL +++ b/ports/bzip2/CONTROL @@ -1,3 +1,4 @@ Source: bzip2 Version: 1.0.6-4 +Homepage: http://www.bzip.org/ Description: High-quality data compressor. diff --git a/ports/c-ares/CONTROL b/ports/c-ares/CONTROL index 525bd89859..dda2acde09 100644 --- a/ports/c-ares/CONTROL +++ b/ports/c-ares/CONTROL @@ -1,4 +1,5 @@ Source: c-ares Version: 2019-5-2 +Homepage: https://github.com/c-ares/c-ares Description: A C library for asynchronous DNS requests Build-Depends: diff --git a/ports/caffe2/CONTROL b/ports/caffe2/CONTROL index 5cac9b00d4..4d72fb7645 100644 --- a/ports/caffe2/CONTROL +++ b/ports/caffe2/CONTROL @@ -1,4 +1,5 @@ Source: caffe2 Version: 0.8.1-3 Build-Depends: lmdb, gflags, glog, eigen3, protobuf +Homepage: https://github.com/caffe2/caffe2 Description: Caffe2 is a lightweight, modular, and scalable deep learning framework. diff --git a/ports/cairo/CONTROL b/ports/cairo/CONTROL index 3a82ccc979..d53d5003da 100644 --- a/ports/cairo/CONTROL +++ b/ports/cairo/CONTROL @@ -1,4 +1,5 @@ Source: cairo Version: 1.16.0-1 +Homepage: https://cairographics.org Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB. Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig diff --git a/ports/cairomm/CONTROL b/ports/cairomm/CONTROL index df07bd81d1..4705065fc3 100644 --- a/ports/cairomm/CONTROL +++ b/ports/cairomm/CONTROL @@ -1,4 +1,5 @@ Source: cairomm Version: 1.15.3-3 +Homepage: https://www.cairographics.org Description: A C++ wrapper for the cairo graphics library Build-Depends: cairo, libsigcpp diff --git a/ports/capstone/CONTROL b/ports/capstone/CONTROL index e7baa3d974..d7d422d257 100644 --- a/ports/capstone/CONTROL +++ b/ports/capstone/CONTROL @@ -1,5 +1,6 @@ Source: capstone Version: 4.0.1-120373dc +Homepage: https://github.com/aquynh/capstone Description: Multi-architecture disassembly framework Feature: arm diff --git a/ports/cartographer/CONTROL b/ports/cartographer/CONTROL index a1b0fb53c4..b91c4a52ee 100644 --- a/ports/cartographer/CONTROL +++ b/ports/cartographer/CONTROL @@ -1,4 +1,5 @@ Source: cartographer -Version: 1.0.0 +Version: 1.0.0 Build-Depends: ceres[suitesparse], gflags, glog, lua, cairo, boost-iostreams, gtest, protobuf -Description: Google 2D & 3D SLAM package \ No newline at end of file +Homepage: https://github.com/googlecartographer/cartographer +Description: Google 2D & 3D SLAM package diff --git a/ports/catch-classic/CONTROL b/ports/catch-classic/CONTROL index af4d6a7371..bce6fc1060 100644 --- a/ports/catch-classic/CONTROL +++ b/ports/catch-classic/CONTROL @@ -1,5 +1,6 @@ Source: catch-classic Version: 1.12.2 +Homepage: https://github.com/catchorg/Catch2 Description: A modern, header-only test framework for unit tests This is specifically the legacy 1.x branch provided for compatibility with older compilers. diff --git a/ports/cccapstone/CONTROL b/ports/cccapstone/CONTROL index 05403f434d..8681f23282 100644 --- a/ports/cccapstone/CONTROL +++ b/ports/cccapstone/CONTROL @@ -1,4 +1,5 @@ Source: cccapstone Version: 9b4128ee1153e78288a1b5433e2c06a0d47a4c4e-1 +Homepage: https://github.com/zer0mem/cccapstone Description: c++ bindings for capstone disasembly framework Build-Depends: capstone diff --git a/ports/ccd/CONTROL b/ports/ccd/CONTROL index d621c107ab..e2b4463ba8 100644 --- a/ports/ccd/CONTROL +++ b/ports/ccd/CONTROL @@ -1,3 +1,4 @@ Source: ccd Version: 2.1 +Homepage: https://github.com/danfis/libccd Description: Library for collision detection between two convex shapes diff --git a/ports/ccfits/CONTROL b/ports/ccfits/CONTROL index 5cd10f63db..18937d5e79 100644 --- a/ports/ccfits/CONTROL +++ b/ports/ccfits/CONTROL @@ -1,4 +1,5 @@ Source: ccfits Version: 2.5-2 +Homepage: https://heasarc.gsfc.nasa.gov/fitsio/ccfits Description: CCfits is an object oriented interface to the cfitsio library. It is designed to make the capabilities of cfitsio available to programmers working in C++. Build-Depends: cfitsio diff --git a/ports/cctz/CONTROL b/ports/cctz/CONTROL index 2934951b44..a223586d63 100644 --- a/ports/cctz/CONTROL +++ b/ports/cctz/CONTROL @@ -1,4 +1,5 @@ Source: cctz Version: 2.3-2 +Homepage: https://github.com/google/cctz Build-Depends: benchmark Description: two libraries that cooperate with to give C++ programmers all the necessary tools for computing with dates, times, and time zones in a simple and correct manner. diff --git a/ports/celero/CONTROL b/ports/celero/CONTROL index 6b762e572f..c9670b14f8 100644 --- a/ports/celero/CONTROL +++ b/ports/celero/CONTROL @@ -1,3 +1,4 @@ Source: celero Version: 2.5.0-1 +Homepage: https://github.com/DigitalInBlue/Celero Description: Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++. diff --git a/ports/cereal/CONTROL b/ports/cereal/CONTROL index fc3c7921a4..ce879198fa 100644 --- a/ports/cereal/CONTROL +++ b/ports/cereal/CONTROL @@ -1,3 +1,4 @@ Source: cereal Version: 1.2.2-1 +Homepage: https://github.com/USCiLab/cereal Description: a header-only C++11 serialization library (built in support for binary, XML and JSon) diff --git a/ports/ceres/CONTROL b/ports/ceres/CONTROL index 47ae7051e5..8cd34102e5 100644 --- a/ports/ceres/CONTROL +++ b/ports/ceres/CONTROL @@ -1,6 +1,7 @@ Source: ceres Version: 1.14.0-4 Build-Depends: glog, eigen3 +Homepage: https://github.com/ceres-solver/ceres-solver Description: non-linear optimization package Feature: lapack diff --git a/ports/cfitsio/CONTROL b/ports/cfitsio/CONTROL index 7c50b295d0..316269f88f 100644 --- a/ports/cfitsio/CONTROL +++ b/ports/cfitsio/CONTROL @@ -1,3 +1,4 @@ Source: cfitsio Version: 3.410-2 +Homepage: https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c Description: Library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data format diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL index d42389635b..184d4f221f 100644 --- a/ports/cgal/CONTROL +++ b/ports/cgal/CONTROL @@ -1,6 +1,7 @@ Source: cgal Version: 4.14-2 Build-Depends: mpfr, mpir, zlib, boost-format, boost-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random, boost-foreach, boost-graph, boost-heap, boost-logic, boost-multiprecision +Homepage: https://github.com/CGAL/cgal Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry. Feature: qt diff --git a/ports/cgicc/CONTROL b/ports/cgicc/CONTROL index cf25b698d5..9e18277a9a 100644 --- a/ports/cgicc/CONTROL +++ b/ports/cgicc/CONTROL @@ -1,3 +1,4 @@ Source: cgicc Version: 3.2.19-1 +Homepage: https://www.gnu.org/software/cgicc/ Description: GNU Cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide Web diff --git a/ports/chaiscript/CONTROL b/ports/chaiscript/CONTROL index 8fbd830d96..fd55e973eb 100644 --- a/ports/chaiscript/CONTROL +++ b/ports/chaiscript/CONTROL @@ -1,3 +1,4 @@ Source: chaiscript Version: 6.1.0 +Homepage: https://github.com/ChaiScript/ChaiScript Description: Embedded Scripting Language Designed for C++ diff --git a/ports/chakracore/CONTROL b/ports/chakracore/CONTROL index 6368fb5fb0..919391eb69 100644 --- a/ports/chakracore/CONTROL +++ b/ports/chakracore/CONTROL @@ -1,3 +1,4 @@ Source: chakracore Version: 1.11.9 +Homepage: https://github.com/Microsoft/ChakraCore Description: Core part of the Chakra Javascript engine diff --git a/ports/charls/CONTROL b/ports/charls/CONTROL index 562a6f6883..00f6777a4a 100644 --- a/ports/charls/CONTROL +++ b/ports/charls/CONTROL @@ -1,3 +1,4 @@ Source: charls Version: 2.0.0-1 +Homepage: https://github.com/team-charls/charls Description: CharLS, a C++ JPEG-LS library implementation. diff --git a/ports/chipmunk/CONTROL b/ports/chipmunk/CONTROL index 64b66067bd..0a4d6a62f5 100644 --- a/ports/chipmunk/CONTROL +++ b/ports/chipmunk/CONTROL @@ -1,3 +1,4 @@ Source: chipmunk Version: 7.0.2 +Homepage: https://github.com/slembcke/Chipmunk2D Description: A fast and lightweight 2D game physics library. \ No newline at end of file diff --git a/ports/chmlib/CONTROL b/ports/chmlib/CONTROL index 32c86554e5..cde69a41e7 100644 --- a/ports/chmlib/CONTROL +++ b/ports/chmlib/CONTROL @@ -1,3 +1,4 @@ Source: chmlib Version: 0.40-3 +Homepage: https://www.jedrea.com/chmlib/ Description: CHMLIB is a library for dealing with Microsoft ITSS/CHM format files. Right now, it is a very simple library, but sufficient for dealing with all of the .chm files I've come across. Due to the fairly well-designed indexing built into this particular file format, even a small library is able to gain reasonably good performance indexing into ITSS archives. diff --git a/ports/cimg/CONTROL b/ports/cimg/CONTROL index af149556a7..93a2e4ee70 100644 --- a/ports/cimg/CONTROL +++ b/ports/cimg/CONTROL @@ -1,3 +1,4 @@ Source: cimg Version: 2.6.2 +Homepage: https://github.com/dtschump/CImg Description: The CImg Library is a small, open-source, and modern C++ toolkit for image processing diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL index 9cdebdf74a..75755fe211 100644 --- a/ports/clapack/CONTROL +++ b/ports/clapack/CONTROL @@ -1,4 +1,5 @@ Source: clapack Version: 3.2.1-6 +Homepage: https://www.netlib.org/clapack Description: CLAPACK (f2c'ed version of LAPACK) Build-Depends: openblas (!osx) diff --git a/ports/clara/CONTROL b/ports/clara/CONTROL index b471db0706..cb0c84df35 100644 --- a/ports/clara/CONTROL +++ b/ports/clara/CONTROL @@ -1,3 +1,4 @@ Source: clara Version: 2019-03-29 +Homepage: https://github.com/philsquared/Clara Description: A simple to use command line parser for C++ \ No newline at end of file diff --git a/ports/clfft/CONTROL b/ports/clfft/CONTROL index 0a109ac145..d65da19951 100644 --- a/ports/clfft/CONTROL +++ b/ports/clfft/CONTROL @@ -1,4 +1,5 @@ Source: clfft Version: 2.12.2 Build-Depends: opencl +Homepage: https://github.com/clMathLibraries/clFFT Description: clFFT is an OpenCL 1.2 accelerated Fast Fourier Transform library. diff --git a/ports/clockutils/CONTROL b/ports/clockutils/CONTROL index 37c5ec8cab..c555fd4182 100644 --- a/ports/clockutils/CONTROL +++ b/ports/clockutils/CONTROL @@ -1,3 +1,4 @@ Source: clockutils Version: 1.1.1-3651f232c27074c4ceead169e223edf5f00247c5-3 +Homepage: https://github.com/ClockworkOrigins/clockUtils Description: A lightweight c++ library for commonly needed tasks. Optimized for simplicity and speed. diff --git a/ports/console-bridge/CONTROL b/ports/console-bridge/CONTROL index 533c63944b..f9d10b7e04 100644 --- a/ports/console-bridge/CONTROL +++ b/ports/console-bridge/CONTROL @@ -1,3 +1,4 @@ Source: console-bridge Version: 0.3.2-3 +Homepage: https://github.com/ros/console_bridge Description: a ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages. diff --git a/ports/constexpr/CONTROL b/ports/constexpr/CONTROL index 85b3bc0c70..78dc70aa42 100644 --- a/ports/constexpr/CONTROL +++ b/ports/constexpr/CONTROL @@ -1,3 +1,4 @@ Source: constexpr Version: 1.0-1 +Homepage: https://github.com/elbeno/constexpr Description: Small MIT License Library of general stdlib functions written as C++11 constexpr functions. diff --git a/ports/coolprop/CONTROL b/ports/coolprop/CONTROL index 01e67e0dfb..4f5390ca1e 100644 --- a/ports/coolprop/CONTROL +++ b/ports/coolprop/CONTROL @@ -1,4 +1,5 @@ Source: coolprop Version: 6.1.0-4 +Homepage: https://github.com/CoolProp/CoolProp Description: Thermophysical properties for the masses Build-Depends: catch, eigen3, pybind11, if97, fmt, rapidjson, msgpack, refprop-headers diff --git a/ports/corrade/CONTROL b/ports/corrade/CONTROL index fdce770332..3cf18ab10a 100644 --- a/ports/corrade/CONTROL +++ b/ports/corrade/CONTROL @@ -1,7 +1,7 @@ Source: corrade Version: 2019.01-1 Description: C++11/C++14 multiplatform utility library -Homepage: http://magnum.graphics/corrade/ +Homepage: https://magnum.graphics/corrade/ Default-Features: interconnect, pluginmanager, testsuite, utility Feature: interconnect diff --git a/ports/cpp-redis/CONTROL b/ports/cpp-redis/CONTROL index 4030f9ce9d..7d8823866f 100644 --- a/ports/cpp-redis/CONTROL +++ b/ports/cpp-redis/CONTROL @@ -1,4 +1,5 @@ Source: cpp-redis Version: 4.3.1-1 Build-Depends: tacopie +Homepage: https://github.com/Cylix/cpp_redis Description: cpp-redis is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations and pipelining. diff --git a/ports/cppcms/CONTROL b/ports/cppcms/CONTROL index b2db0ffa1c..35296edc15 100644 --- a/ports/cppcms/CONTROL +++ b/ports/cppcms/CONTROL @@ -1,4 +1,5 @@ Source: cppcms -Version: 1.2.1 +Version: 1.2.1 +Homepage: https://github.com/artyom-beilis/cppcms Description: CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed at Rapid Web Application Development Build-Depends: icu, pcre, openssl, zlib diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL index e5331ab148..016bad4544 100644 --- a/ports/cpprestsdk/CONTROL +++ b/ports/cpprestsdk/CONTROL @@ -1,6 +1,7 @@ Source: cpprestsdk Version: 2.10.13-1 Build-Depends: zlib, openssl (!uwp&!windows), boost-system (!uwp&!windows), boost-date-time (!uwp&!windows), boost-regex (!uwp&!windows), boost-thread (!uwp&!windows), boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows), boost-asio (!uwp&!windows) +Homepage: https://github.com/Microsoft/cpprestsdk 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. Default-Features: default-features diff --git a/ports/cppwinrt/CONTROL b/ports/cppwinrt/CONTROL index cd911b99e2..df7cff03ea 100644 --- a/ports/cppwinrt/CONTROL +++ b/ports/cppwinrt/CONTROL @@ -1,3 +1,4 @@ Source: cppwinrt Version: fall_2017_creators_update_for_vs_15.3-2 +Homepage: https://github.com/Microsoft/cppwinrt Description: C++/WinRT is a standard C++ language projection for the Windows Runtime. diff --git a/ports/cppzmq/CONTROL b/ports/cppzmq/CONTROL index d54de7494d..f50dd41035 100644 --- a/ports/cppzmq/CONTROL +++ b/ports/cppzmq/CONTROL @@ -1,4 +1,5 @@ Source: cppzmq Version: 4.3.0-1 Build-Depends: zeromq +Homepage: https://github.com/zeromq/cppzmq Description: lightweight messaging kernel, C++ bindings diff --git a/ports/cpr/CONTROL b/ports/cpr/CONTROL index 89cc6b8474..de5c3478f5 100644 --- a/ports/cpr/CONTROL +++ b/ports/cpr/CONTROL @@ -1,4 +1,5 @@ Source: cpr Version: 1.3.0-7 +Homepage: https://github.com/whoshuu/cpr Description: C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project. Build-Depends: curl[core] diff --git a/ports/crc32c/CONTROL b/ports/crc32c/CONTROL index 013cc542ec..329b5a3bf1 100644 --- a/ports/crc32c/CONTROL +++ b/ports/crc32c/CONTROL @@ -1,3 +1,4 @@ Source: crc32c Version: 1.0.7 +Homepage: https://github.com/google/crc32c Description: CRC32C implementation with support for CPU-specific acceleration instructions. diff --git a/ports/crow/CONTROL b/ports/crow/CONTROL index e2200c8135..96efb27bf1 100644 --- a/ports/crow/CONTROL +++ b/ports/crow/CONTROL @@ -1,3 +1,4 @@ Source: crow Version: 0.1-1 +Homepage: https://github.com/ipkn/crow Description: Very fast and easy to use C++ micro web framework diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL index c65a43c905..76c754565d 100644 --- a/ports/cryptopp/CONTROL +++ b/ports/cryptopp/CONTROL @@ -1,3 +1,4 @@ Source: cryptopp Version: 8.1.0-1 +Homepage: https://github.com/weidai11/cryptopp Description: Crypto++ is a free C++ class library of cryptographic schemes. diff --git a/ports/ctemplate/CONTROL b/ports/ctemplate/CONTROL index 1125efc18d..d5fadf3ead 100644 --- a/ports/ctemplate/CONTROL +++ b/ports/ctemplate/CONTROL @@ -1,3 +1,4 @@ Source: ctemplate Version: 2017-06-23-44b7c5-3 +Homepage: https://github.com/OlafvdSpek/ctemplate Description: C++ CTemplate system diff --git a/ports/cunit/CONTROL b/ports/cunit/CONTROL index 4b43a0159d..9304949921 100644 --- a/ports/cunit/CONTROL +++ b/ports/cunit/CONTROL @@ -1,3 +1,4 @@ Source: cunit Version: 2.1.3-2 +Homepage: https://sourceforge.net/projects/cunit/ Description: CUnit is a lightweight system for writing, administering, and running unit tests in C. It provides C programmers a basic testing functionality with a flexible variety of user interfaces diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 3f5539de79..1c607bce3b 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,6 +1,7 @@ Source: curl Version: 7.65.0-1 Build-Depends: zlib +Homepage: https://github.com/curl/curl Description: A library for transferring data with URLs Default-Features: ssl diff --git a/ports/cxxopts/CONTROL b/ports/cxxopts/CONTROL index a13aeb7343..5d1a92d915 100644 --- a/ports/cxxopts/CONTROL +++ b/ports/cxxopts/CONTROL @@ -1,3 +1,4 @@ Source: cxxopts Version: 2.1.2 +Homepage: https://github.com/jarro2783/cxxopts Description: This is a lightweight C++ option parser library, supporting the standard GNU style syntax for options diff --git a/ports/date/CONTROL b/ports/date/CONTROL index 0a67f589b8..93f4b37cd4 100644 --- a/ports/date/CONTROL +++ b/ports/date/CONTROL @@ -1,5 +1,6 @@ Source: date Version: ed0368f +Homepage: https://github.com/HowardHinnant/date Description: A date and time library based on the C++11/14/17 header Feature: remote-api diff --git a/ports/devil/CONTROL b/ports/devil/CONTROL index 98c27363a7..8c65b2ddf5 100644 --- a/ports/devil/CONTROL +++ b/ports/devil/CONTROL @@ -1,6 +1,7 @@ Source: devil Version: 1.8.0-4 Build-Depends: +Homepage: https://github.com/DentonW/DevIL Description: A full featured cross-platform image library Default-Features: libpng, tiff, libjpeg, openexr, jasper, lcms diff --git a/ports/dimcli/CONTROL b/ports/dimcli/CONTROL index e9d17c1221..e98f115658 100644 --- a/ports/dimcli/CONTROL +++ b/ports/dimcli/CONTROL @@ -1,3 +1,4 @@ Source: dimcli Version: 4.1.0 +Homepage: https://github.com/gknowles/dimcli Description: C++ command line parser toolkit diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL index a9f4aa9b78..700756964f 100644 --- a/ports/directxmesh/CONTROL +++ b/ports/directxmesh/CONTROL @@ -1,3 +1,4 @@ Source: directxmesh Version: apr2019 -Description: DirectXMesh geometry processing library +Homepage: https://github.com/Microsoft/DirectXMesh +Description: DirectXMesh geometry processing library \ No newline at end of file diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL index 6ca6a224ba..69b6d2ee2c 100644 --- a/ports/directxtex/CONTROL +++ b/ports/directxtex/CONTROL @@ -1,3 +1,4 @@ Source: directxtex -Version: apr2019 -Description: DirectXTex texture processing library +Version: apr2019 +Homepage: https://github.com/Microsoft/DirectXTex +Description: DirectXTex texture processing library \ No newline at end of file diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL index 035c5d3a45..469788934a 100644 --- a/ports/directxtk/CONTROL +++ b/ports/directxtk/CONTROL @@ -1,3 +1,4 @@ Source: directxtk Version: apr2019 +Homepage: https://github.com/Microsoft/DirectXTK Description: A collection of helper classes for writing DirectX 11.x code in C++. diff --git a/ports/directxtk12/CONTROL b/ports/directxtk12/CONTROL index 41ffd54f75..466acece60 100644 --- a/ports/directxtk12/CONTROL +++ b/ports/directxtk12/CONTROL @@ -1,3 +1,4 @@ Source: directxtk12 Version: dec2016-1 +Homepage: https://github.com/Microsoft/DirectXTK12 Description: A collection of helper classes for writing DirectX 12 code in C++. diff --git a/ports/dirent/CONTROL b/ports/dirent/CONTROL index 8fb9b1fa8b..b8444bc989 100644 --- a/ports/dirent/CONTROL +++ b/ports/dirent/CONTROL @@ -1,3 +1,4 @@ Source: dirent Version: 1.23.2 +Homepage: https://github.com/tronkko/dirent Description: Dirent is a C/C++ programming interface that allows programmers to retrieve information about files and directories under Linux/UNIX. This project provides Linux compatible Dirent interface for Microsoft Windows. diff --git a/ports/discord-rpc/CONTROL b/ports/discord-rpc/CONTROL index e4d98f5247..094c4eaa39 100644 --- a/ports/discord-rpc/CONTROL +++ b/ports/discord-rpc/CONTROL @@ -1,4 +1,5 @@ Source: discord-rpc Version: 3.4.0 +Homepage: https://github.com/discordapp/discord-rpc Description: Rich Presence allows you to leverage the totally overhauled "Now Playing" section in a Discord user's profile to help people play your game together. Build-Depends: rapidjson diff --git a/ports/dlfcn-win32/CONTROL b/ports/dlfcn-win32/CONTROL index c8fd02dced..24af3631fc 100644 --- a/ports/dlfcn-win32/CONTROL +++ b/ports/dlfcn-win32/CONTROL @@ -1,3 +1,4 @@ Source: dlfcn-win32 Version: 1.1.1-1 +Homepage: https://github.com/dlfcn-win32/dlfcn-win32 Description: dlfcn-win32 is an implementation of dlfcn for Windows. diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL index 713de97bb7..2342c57379 100644 --- a/ports/dlib/CONTROL +++ b/ports/dlib/CONTROL @@ -1,6 +1,7 @@ Source: dlib Version: 19.17-1 Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas (!osx), clapack (!osx) +Homepage: https://github.com/davisking/dlib Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ Feature: cuda diff --git a/ports/doctest/CONTROL b/ports/doctest/CONTROL index bf12534999..e623f8b858 100644 --- a/ports/doctest/CONTROL +++ b/ports/doctest/CONTROL @@ -1,3 +1,4 @@ Source: doctest Version: 2.3.2 +Homepage: https://github.com/onqtam/doctest Description: The fastest feature-rich C++ single-header testing framework for unit tests and TDD diff --git a/ports/double-conversion/CONTROL b/ports/double-conversion/CONTROL index 47c9e063cf..c6860524d6 100644 --- a/ports/double-conversion/CONTROL +++ b/ports/double-conversion/CONTROL @@ -1,3 +1,4 @@ Source: double-conversion -Version: 3.1.4 +Version: 3.1.4 +Homepage: https://github.com/google/double-conversion Description: Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles. diff --git a/ports/draco/CONTROL b/ports/draco/CONTROL index 555c66d0a9..ace5fc6509 100644 --- a/ports/draco/CONTROL +++ b/ports/draco/CONTROL @@ -1,4 +1,5 @@ Source: draco Version: 1.3.5 +Homepage: https://github.com/google/draco Description: A library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics. Build-Depends: diff --git a/ports/duktape/CONTROL b/ports/duktape/CONTROL index ea322ac05f..0070253984 100644 --- a/ports/duktape/CONTROL +++ b/ports/duktape/CONTROL @@ -1,4 +1,5 @@ Source: duktape -Version: 2.3.0 +Version: 2.3.0 +Homepage: https://github.com/svaarala/duktape Description: Embeddable Javascript engine with a focus on portability and compact footprint. Build-Depends: diff --git a/ports/dx/CONTROL b/ports/dx/CONTROL index 8f901cad3c..d5ad978721 100644 --- a/ports/dx/CONTROL +++ b/ports/dx/CONTROL @@ -1,3 +1,4 @@ Source: dx Version: 1.0.1-1 -Description: A modern C++ library for DirectX programming +Homepage: https://github.com/sdcb/dx +Description: A modern C++ library for DirectX programming \ No newline at end of file diff --git a/ports/dxut/CONTROL b/ports/dxut/CONTROL index e36c9d6f1e..6004628827 100644 --- a/ports/dxut/CONTROL +++ b/ports/dxut/CONTROL @@ -1,3 +1,4 @@ Source: dxut Version: 11.14-3 -Description: A "GLUT"-like framework for Direct3D 11.x Win32 desktop applications +Homepage: https://github.com/Microsoft/DXUT +Description: A "GLUT"-like framework for Direct3D 11.x Win32 desktop applications \ No newline at end of file diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL index 2b6f5984ea..f7f9c89a34 100644 --- a/ports/eastl/CONTROL +++ b/ports/eastl/CONTROL @@ -1,4 +1,5 @@ Source: eastl -Version: 3.13.05-1 +Version: 3.13.05-1 +Homepage: https://github.com/electronicarts/EASTL Description: Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations. diff --git a/ports/ebml/CONTROL b/ports/ebml/CONTROL index 0d1f5e97c4..0b2aac4326 100644 --- a/ports/ebml/CONTROL +++ b/ports/ebml/CONTROL @@ -1,3 +1,4 @@ Source: ebml Version: 1.3.9 +Homepage: https://github.com/Matroska-Org/libebml Description: a C++ libary to parse EBML files diff --git a/ports/ecm/CONTROL b/ports/ecm/CONTROL index 0e05e6f720..075cf894f5 100644 --- a/ports/ecm/CONTROL +++ b/ports/ecm/CONTROL @@ -1,3 +1,4 @@ Source: ecm Version: 5.58.0 +Homepage: https://github.com/KDE/extra-cmake-modules Description: Extra CMake Modules (ECM), extra modules and scripts for CMake diff --git a/ports/eigen3/CONTROL b/ports/eigen3/CONTROL index 3993a35f03..b67376ced0 100644 --- a/ports/eigen3/CONTROL +++ b/ports/eigen3/CONTROL @@ -1,3 +1,4 @@ Source: eigen3 Version: 3.3.7-1 +Homepage: https://bitbucket.org/eigen/eigen Description: C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. diff --git a/ports/embree2/CONTROL b/ports/embree2/CONTROL index 1c749f8f6e..0fe3df4840 100644 --- a/ports/embree2/CONTROL +++ b/ports/embree2/CONTROL @@ -1,4 +1,5 @@ Source: embree2 Version: 2.17.7 +Homepage: https://github.com/embree/embree Description: High Performance Ray Tracing Kernels. Build-Depends: tbb diff --git a/ports/enet/CONTROL b/ports/enet/CONTROL index f75b49de93..7d2a87bf5e 100644 --- a/ports/enet/CONTROL +++ b/ports/enet/CONTROL @@ -1,4 +1,5 @@ Source: enet Version: 1.3.13 +Homepage: https://github.com/lsalzman/enet Description: Reliable UDP networking library diff --git a/ports/epsilon/CONTROL b/ports/epsilon/CONTROL index 94f9e1db8d..3b740a9769 100644 --- a/ports/epsilon/CONTROL +++ b/ports/epsilon/CONTROL @@ -1,3 +1,4 @@ Source: epsilon Version: 0.9.2 +Homepage: https://sourceforge.net/projects/epsilon-project/ Description: EPSILON is an Open Source wavelet image compressor, that is aimed on parallel and robust image processing. \ No newline at end of file diff --git a/ports/evpp/CONTROL b/ports/evpp/CONTROL index 741a94a228..7c61e4ebd6 100644 --- a/ports/evpp/CONTROL +++ b/ports/evpp/CONTROL @@ -1,4 +1,5 @@ Source: evpp Version: 0.7.0 +Homepage: https://github.com/Qihoo360/evpp Description: A modern C++ network library based on libevent for developing high performance network services in TCP/UDP/HTTP protocols. Build-Depends: glog, libevent, rapidjson diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL index d51354d43b..505d4003c1 100644 --- a/ports/exiv2/CONTROL +++ b/ports/exiv2/CONTROL @@ -2,7 +2,7 @@ Source: exiv2 Version: 0.27 Build-Depends: zlib, expat, libiconv, gettext Description: Image metadata library and tools -Homepage: http://www.exiv2.org +Homepage: https://www.exiv2.org Feature: unicode Description: Compile with unicode support on windows \ No newline at end of file diff --git a/ports/expat/CONTROL b/ports/expat/CONTROL index 4cdb03f6e5..f01b5b9e18 100644 --- a/ports/expat/CONTROL +++ b/ports/expat/CONTROL @@ -1,3 +1,4 @@ Source: expat Version: 2.2.6 +Homepage: https://github.com/libexpat/libexpat Description: XML parser library written in C diff --git a/ports/exprtk/CONTROL b/ports/exprtk/CONTROL index e2de3bdf32..d55d903ae7 100644 --- a/ports/exprtk/CONTROL +++ b/ports/exprtk/CONTROL @@ -1,3 +1,4 @@ Source: exprtk Version: 2019-03-29 +Homepage: https://github.com/ArashPartow/exprtk Description: Simple to use, easy to integrate and extremely efficient run-time C++ mathematical expression parser and evaluation engine. diff --git a/ports/fadbad/CONTROL b/ports/fadbad/CONTROL index ebf9879627..103890c0ed 100644 --- a/ports/fadbad/CONTROL +++ b/ports/fadbad/CONTROL @@ -1,3 +1,4 @@ Source: fadbad Version: 2.1.0 +Homepage: https://www.fadbad.com/ Description: FADBAD++ Templates for Automatic Differentiation diff --git a/ports/fastlz/CONTROL b/ports/fastlz/CONTROL index 354b8d5b86..4154ea9533 100644 --- a/ports/fastlz/CONTROL +++ b/ports/fastlz/CONTROL @@ -1,3 +1,4 @@ Source: fastlz Version: 1.0-2 +Homepage: https://github.com/ariya/FastLZ Description: A lightning-fast lossless compression library diff --git a/ports/fcl/CONTROL b/ports/fcl/CONTROL index 58b150645b..bc1a27ccc8 100644 --- a/ports/fcl/CONTROL +++ b/ports/fcl/CONTROL @@ -1,4 +1,5 @@ Source: fcl Version: 0.5.0-5 +Homepage: https://github.com/flexible-collision-library/fcl Description: a library for performing three types of proximity queries on a pair of geometric models composed of triangles Build-Depends: ccd, octomap diff --git a/ports/fdk-aac/CONTROL b/ports/fdk-aac/CONTROL index 5da063ee8c..c7262f8613 100644 --- a/ports/fdk-aac/CONTROL +++ b/ports/fdk-aac/CONTROL @@ -1,3 +1,4 @@ Source: fdk-aac Version: 2018-07-08-1 +Homepage: https://github.com/mstorsjo/fdk-aac Description: A standalone library of the Fraunhofer FDK AAC code diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index ca28e399e4..209bb2306b 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,5 +1,6 @@ Source: ffmpeg Version: 4.1-6 +Homepage: https://ffmpeg.org Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations. diff --git a/ports/fftw3/CONTROL b/ports/fftw3/CONTROL index e8c796e5bb..4d378d8c39 100644 --- a/ports/fftw3/CONTROL +++ b/ports/fftw3/CONTROL @@ -1,5 +1,6 @@ Source: fftw3 Version: 3.3.8-6 +Homepage: https://www.fftw.org/ Description: FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). Feature: openmp diff --git a/ports/flann/CONTROL b/ports/flann/CONTROL index 316ac10be8..fd8ecebc1f 100644 --- a/ports/flann/CONTROL +++ b/ports/flann/CONTROL @@ -1,4 +1,5 @@ Source: flann Version: jan2019 +Homepage: https://github.com/mariusmuja/flann Build-Depends: lz4 Description: Fast Library for Approximate Nearest Neighbors diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL index 432a2f877d..8d553c1971 100644 --- a/ports/flatbuffers/CONTROL +++ b/ports/flatbuffers/CONTROL @@ -2,4 +2,4 @@ Source: flatbuffers Version: 1.11.0 Description: Memory Efficient Serialization Library FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility. -Homepage: http://google.github.io/flatbuffers/ +Homepage: https://google.github.io/flatbuffers/ diff --git a/ports/flint/CONTROL b/ports/flint/CONTROL index 0526b782af..9b45b66089 100644 --- a/ports/flint/CONTROL +++ b/ports/flint/CONTROL @@ -1,4 +1,5 @@ Source: flint Version: 2.5.2-3 +Homepage: https://www.flintlib.org/ Description: Fast Library for Number Theory Build-Depends: mpir, mpfr, pthreads, gettimeofday diff --git a/ports/fltk/CONTROL b/ports/fltk/CONTROL index 90f186ae20..da9d7223ae 100644 --- a/ports/fltk/CONTROL +++ b/ports/fltk/CONTROL @@ -1,4 +1,5 @@ Source: fltk Version: 1.3.4-6 +Homepage: https://www.fltk.org/ Description: FLTK (pronounced fulltick) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation. Build-Depends: zlib, libpng, libjpeg-turbo diff --git a/ports/fmilib/CONTROL b/ports/fmilib/CONTROL index 8d0a51f743..4037af5069 100644 --- a/ports/fmilib/CONTROL +++ b/ports/fmilib/CONTROL @@ -1,4 +1,4 @@ Source: fmilib Version: 2.0.3-1 Description: FMI library is intended as a foundation for applications interfacing FMUs (Functional Mockup Units) that follow FMI Standard. This version of the library supports FMI 1.0 and FMI2.0. -Homepage: http://www.fmi-standard.org/ +Homepage: https://www.fmi-standard.org/ diff --git a/ports/fmt/CONTROL b/ports/fmt/CONTROL index 7c2d5d9307..c789e86f8a 100644 --- a/ports/fmt/CONTROL +++ b/ports/fmt/CONTROL @@ -1,3 +1,4 @@ Source: fmt Version: 5.3.0-2 +Homepage: https://github.com/fmtlib/fmt Description: Formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams. diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index c466edebbb..1709a4515e 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -1,5 +1,6 @@ Source: folly Version: 2019.05.20.00 +Homepage: https://github.com/facebook/folly Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr Default-Features: zlib diff --git a/ports/fontconfig/CONTROL b/ports/fontconfig/CONTROL index ec63c3a22b..fbcc3f5367 100644 --- a/ports/fontconfig/CONTROL +++ b/ports/fontconfig/CONTROL @@ -1,4 +1,5 @@ Source: fontconfig Version: 2.12.4-9 +Homepage: https://www.freedesktop.org/software/fontconfig/front.html Description: Library for configuring and customizing font access. Build-Depends: freetype, expat, libiconv, dirent diff --git a/ports/forest/CONTROL b/ports/forest/CONTROL index 32981a12fe..2e3d50a6cd 100644 --- a/ports/forest/CONTROL +++ b/ports/forest/CONTROL @@ -1,3 +1,4 @@ Source: forest Version: 11.0.1 +Homepage: https://github.com/xorz57/forest Description: Template library of tree data structures diff --git a/ports/freeglut/CONTROL b/ports/freeglut/CONTROL index 15b0ac2e37..1ee44b7f37 100644 --- a/ports/freeglut/CONTROL +++ b/ports/freeglut/CONTROL @@ -1,3 +1,4 @@ Source: freeglut Version: 3.0.0-6 +Homepage: https://sourceforge.net/projects/freeglut/ Description: Open source implementation of GLUT with source and binary backwards compatibility. diff --git a/ports/freeimage/CONTROL b/ports/freeimage/CONTROL index 51ebbbc699..2420b5a56b 100644 --- a/ports/freeimage/CONTROL +++ b/ports/freeimage/CONTROL @@ -1,4 +1,5 @@ Source: freeimage Version: 3.18.0-5 Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openjpeg, libwebp[all], libraw, jxrlib, openexr +Homepage: https://sourceforge.net/projects/freeimage/ Description: Support library for graphics image formats diff --git a/ports/freerdp/CONTROL b/ports/freerdp/CONTROL index c96bb051a9..f880f30a38 100644 --- a/ports/freerdp/CONTROL +++ b/ports/freerdp/CONTROL @@ -1,4 +1,5 @@ Source: freerdp Version: 2.0.0-rc4-1 +Homepage: https://github.com/FreeRDP/FreeRDP Description: A free implementation of the Remote Desktop Protocol (RDP) Build-Depends: openssl diff --git a/ports/freetype-gl/CONTROL b/ports/freetype-gl/CONTROL index c76ba3681e..57af93cbc7 100644 --- a/ports/freetype-gl/CONTROL +++ b/ports/freetype-gl/CONTROL @@ -1,4 +1,5 @@ Source: freetype-gl Version: 2019-03-29-1 +Homepage: https://github.com/rougier/freetype-gl Description: OpenGL text using one vertex buffer, one texture and FreeType Build-Depends: glew, freetype diff --git a/ports/freetype/CONTROL b/ports/freetype/CONTROL index 15c9caffd1..21b6c59f47 100644 --- a/ports/freetype/CONTROL +++ b/ports/freetype/CONTROL @@ -1,4 +1,5 @@ Source: freetype Version: 2.9.1-2 Build-Depends: zlib, bzip2, libpng +Homepage: https://www.freetype.org/ Description: A library to render fonts. diff --git a/ports/freexl/CONTROL b/ports/freexl/CONTROL index 128ef56a08..00f97f562d 100644 --- a/ports/freexl/CONTROL +++ b/ports/freexl/CONTROL @@ -1,5 +1,6 @@ Source: freexl Version: 1.0.4-1 +Homepage: https://www.gaia-gis.it/gaia-sins/freexl-sources Description: FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet Build-Depends: libiconv diff --git a/ports/fuzzylite/CONTROL b/ports/fuzzylite/CONTROL index b6faaa30f1..4749c14232 100644 --- a/ports/fuzzylite/CONTROL +++ b/ports/fuzzylite/CONTROL @@ -1,3 +1,4 @@ Source: fuzzylite Version: 6.0-2 +Homepage: https://github.com/fuzzylite/fuzzylite Description: A fuzzy logic control library in C++ diff --git a/ports/g2o/CONTROL b/ports/g2o/CONTROL index f27951611f..4838241074 100644 --- a/ports/g2o/CONTROL +++ b/ports/g2o/CONTROL @@ -2,4 +2,4 @@ Source: g2o Version: 20170730_git-4 Build-Depends: suitesparse, eigen3, clapack (!osx), ceres Description: g2o: A General Framework for Graph Optimization -Homepage: http://openslam.org/g2o.html +Homepage: https://openslam.org/g2o.html diff --git a/ports/gainput/CONTROL b/ports/gainput/CONTROL index 29ac472c59..65b347dee8 100644 --- a/ports/gainput/CONTROL +++ b/ports/gainput/CONTROL @@ -1,3 +1,4 @@ Source: gainput Version: 1.0.0-1 +Homepage: https://github.com/jkuhlmann/gainput Description: Gainput is a multiplatform C++ input library, supporting mouse, keyboard and controllers diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL index c0b8820b21..5df9a7fa25 100644 --- a/ports/gdal/CONTROL +++ b/ports/gdal/CONTROL @@ -1,5 +1,6 @@ Source: gdal Version: 2.4.1-5 +Homepage: https://gdal.org/ Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data. Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma, netcdf-c, hdf5, zlib diff --git a/ports/gdcm2/CONTROL b/ports/gdcm2/CONTROL index 88d473b65d..e7f43b1609 100644 --- a/ports/gdcm2/CONTROL +++ b/ports/gdcm2/CONTROL @@ -1,4 +1,5 @@ Source: gdcm2 Version: deprecated +Homepage: https://github.com/malaterre/GDCM Description: This port was renamed to gdcm. The gdcm2 name is deprecated. Build-Depends: gdcm \ No newline at end of file diff --git a/ports/gdk-pixbuf/CONTROL b/ports/gdk-pixbuf/CONTROL index 759dd57b04..7fa34b21ad 100644 --- a/ports/gdk-pixbuf/CONTROL +++ b/ports/gdk-pixbuf/CONTROL @@ -1,4 +1,5 @@ Source: gdk-pixbuf Version: 2.36.9-3 +Homepage: https://developer.gnome.org/gdk-pixbuf/ Description: Image loading library. Build-Depends: gettext, zlib, libpng, glib diff --git a/ports/geogram/CONTROL b/ports/geogram/CONTROL index 1a3daf4f97..6d449c8829 100644 --- a/ports/geogram/CONTROL +++ b/ports/geogram/CONTROL @@ -1,5 +1,6 @@ Source: geogram Version: 1.6.9-3 +Homepage: https://gforge.inria.fr/projects/geogram/ Description: Geogram is a programming library of geometric algorithms. Build-Depends: openblas (!osx), clapack (!osx) diff --git a/ports/geographiclib/CONTROL b/ports/geographiclib/CONTROL index da326dc977..0d585a2810 100644 --- a/ports/geographiclib/CONTROL +++ b/ports/geographiclib/CONTROL @@ -1,3 +1,4 @@ Source: geographiclib Version: 1.47-patch1-5 +Homepage: https://sourceforge.net/projects/geographiclib/ Description: a small set of C++ classes for performing conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates, for gravity (e.g., EGM2008), geoid height, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems. diff --git a/ports/geos/CONTROL b/ports/geos/CONTROL index cb19bebd9a..3366b6a5e6 100644 --- a/ports/geos/CONTROL +++ b/ports/geos/CONTROL @@ -1,3 +1,4 @@ Source: geos Version: 3.6.3-3 +Homepage: https://www.osgeo.org/projects/geos/ Description: Geometry Engine Open Source diff --git a/ports/gettext/CONTROL b/ports/gettext/CONTROL index be85f1d661..a6adfefc63 100644 --- a/ports/gettext/CONTROL +++ b/ports/gettext/CONTROL @@ -1,4 +1,5 @@ Source: gettext Version: 0.19-10 +Homepage: https://www.gnu.org/software/gettext/ Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages. Provides libintl. Build-Depends: libiconv diff --git a/ports/gflags/CONTROL b/ports/gflags/CONTROL index b090f2ba51..4cd423293a 100644 --- a/ports/gflags/CONTROL +++ b/ports/gflags/CONTROL @@ -1,3 +1,4 @@ Source: gflags Version: 2.2.2-1 +Homepage: https://github.com/gflags/gflags Description: A C++ library that implements commandline flags processing diff --git a/ports/giflib/CONTROL b/ports/giflib/CONTROL index 169ddbd927..4de8f8e224 100644 --- a/ports/giflib/CONTROL +++ b/ports/giflib/CONTROL @@ -1,3 +1,4 @@ Source: giflib Version: 5.1.4-3 +Homepage: https://sourceforge.net/projects/giflib/ Description: A library for reading and writing gif images. diff --git a/ports/gl2ps/CONTROL b/ports/gl2ps/CONTROL index 052835a34f..ae8aab8fab 100644 --- a/ports/gl2ps/CONTROL +++ b/ports/gl2ps/CONTROL @@ -1,4 +1,5 @@ Source: gl2ps Version: 1.4.0-1 +Homepage: https://gitlab.onelab.info/gl2ps/gl2ps Description: OpenGL to PostScript Printing Library Build-Depends: freeglut, zlib, libpng diff --git a/ports/gl3w/CONTROL b/ports/gl3w/CONTROL index d2ce04972b..ff4f512067 100644 --- a/ports/gl3w/CONTROL +++ b/ports/gl3w/CONTROL @@ -1,4 +1,5 @@ Source: gl3w Version: 99ed3211 +Homepage: https://github.com/skaslev/gl3w Description: Simple OpenGL core profile loading Build-Depends: opengl-registry diff --git a/ports/glbinding/CONTROL b/ports/glbinding/CONTROL index 5e2d8a6389..016283ca94 100644 --- a/ports/glbinding/CONTROL +++ b/ports/glbinding/CONTROL @@ -1,4 +1,5 @@ Source: glbinding Version: 3.1.0-1 Description: glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API +Homepage: https://github.com/cginternals/glbinding Build-Depends: egl-registry diff --git a/ports/glew/CONTROL b/ports/glew/CONTROL index 13cc922304..8d336de5a3 100644 --- a/ports/glew/CONTROL +++ b/ports/glew/CONTROL @@ -1,3 +1,4 @@ -Source: glew -Version: 2.1.0-4 -Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. +Source: glew +Version: 2.1.0-4 +Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. +Homepage: https://github.com/nigels-com/glew diff --git a/ports/glfw3/CONTROL b/ports/glfw3/CONTROL index 96a63e0806..361820820e 100644 --- a/ports/glfw3/CONTROL +++ b/ports/glfw3/CONTROL @@ -1,3 +1,4 @@ Source: glfw3 Version: 3.3 +Homepage: https://github.com/glfw/glfw Description: GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc. diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL index f2a619c9c8..e589ba426f 100644 --- a/ports/glib/CONTROL +++ b/ports/glib/CONTROL @@ -1,4 +1,5 @@ Source: glib Version: 2.52.3-14-2 +Homepage: https://developer.gnome.org/glib/ Description: Portable, general-purpose utility library. Build-Depends: zlib, pcre, libffi, gettext, libiconv diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL index f17df43e1e..4b2b8283f4 100644 --- a/ports/glibmm/CONTROL +++ b/ports/glibmm/CONTROL @@ -1,5 +1,5 @@ Source: glibmm Version: 2.52.1-9 Description: This is glibmm, a C++ API for parts of glib that are useful for C++. -Homepage: http://www.gtkmm.org. +Homepage: https://www.gtkmm.org. Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp diff --git a/ports/glog/CONTROL b/ports/glog/CONTROL index 19b9a35bef..21625e159b 100644 --- a/ports/glog/CONTROL +++ b/ports/glog/CONTROL @@ -1,4 +1,5 @@ Source: glog Version: 0.4.0 +Homepage: https://github.com/google/glog Description: C++ implementation of the Google logging module Build-Depends: gflags diff --git a/ports/glslang/CONTROL b/ports/glslang/CONTROL index 8f6bb6de94..f3a25620c0 100644 --- a/ports/glslang/CONTROL +++ b/ports/glslang/CONTROL @@ -1,3 +1,4 @@ Source: glslang Version: 2018-03-02-2 +Homepage: https://github.com/KhronosGroup/glslang Description: Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator diff --git a/ports/gmime/CONTROL b/ports/gmime/CONTROL index 4c11abf2ad..2b1a9842f7 100644 --- a/ports/gmime/CONTROL +++ b/ports/gmime/CONTROL @@ -1,4 +1,5 @@ Source: gmime Version: 3.2.3-1 Build-Depends: zlib, glib, libiconv, libidn2 +Homepage: https://developer.gnome.org/gmime/ Description: GMime is a C/C++ library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME). diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL index 5b56e636c5..b2ba96c95c 100644 --- a/ports/graphicsmagick/CONTROL +++ b/ports/graphicsmagick/CONTROL @@ -2,4 +2,5 @@ Source: graphicsmagick Maintainer: josuegomes@gmail.com Version: 1.3.31-1 Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff +Homepage: https://sourceforge.net/projects/graphicsmagick/ Description: Image processing library diff --git a/ports/graphite2/CONTROL b/ports/graphite2/CONTROL index f73126c5ad..e8af4d4a12 100644 --- a/ports/graphite2/CONTROL +++ b/ports/graphite2/CONTROL @@ -1,4 +1,5 @@ Source: graphite2 Version: 1.3.12 +Homepage: https://github.com/silnrsi/graphite Description: Graphite is a "smart font" system developed specifically to handle the complexities of lesser-known languages of the world. Graphite2 is a rework of the original Graphite engine that is faster, smaller, and uses an API that is better suited to the layout architecture of most text-processing applications. \ No newline at end of file diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL index 4c73364c50..5edad1a169 100644 --- a/ports/grpc/CONTROL +++ b/ports/grpc/CONTROL @@ -1,4 +1,5 @@ Source: grpc Version: 1.21.1 Build-Depends: zlib, openssl, protobuf, c-ares (!uwp) +Homepage: https://github.com/grpc/grpc Description: An RPC library and framework diff --git a/ports/gsl-lite/CONTROL b/ports/gsl-lite/CONTROL index dcb7c182c5..33149992dd 100644 --- a/ports/gsl-lite/CONTROL +++ b/ports/gsl-lite/CONTROL @@ -1,3 +1,4 @@ Source: gsl-lite Version: 0.28.0 +Homepage: https://github.com/martinmoene/gsl-lite Description: A single-file header-only version of ISO C++ Guideline Support Library (GSL) for C++98, C++11 and later diff --git a/ports/gsl/CONTROL b/ports/gsl/CONTROL index f02ecc2eee..af68d6f027 100644 --- a/ports/gsl/CONTROL +++ b/ports/gsl/CONTROL @@ -1,3 +1,4 @@ Source: gsl Version: 2.4-3 +Homepage: https://www.gnu.org/software/gsl/ Description: The GNU Scientific Library is a numerical library for C and C++ programmers diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL index 187287cc0e..7c91eb2531 100644 --- a/ports/gtest/CONTROL +++ b/ports/gtest/CONTROL @@ -1,3 +1,4 @@ Source: gtest Version: 2019-01-04-2 +Homepage: https://github.com/google/googletest Description: GoogleTest and GoogleMock testing frameworks. diff --git a/ports/gtk/CONTROL b/ports/gtk/CONTROL index ac0d4764f8..56e660c5cb 100644 --- a/ports/gtk/CONTROL +++ b/ports/gtk/CONTROL @@ -1,4 +1,5 @@ Source: gtk Version: 3.22.19-3 +Homepage: https://www.gtk.org/ Description: Portable library for creating graphical user interfaces. Build-Depends: glib, atk, gdk-pixbuf, pango, cairo, libepoxy, gettext diff --git a/ports/gtkmm/CONTROL b/ports/gtkmm/CONTROL index 36bcea3f73..6ac1eede21 100644 --- a/ports/gtkmm/CONTROL +++ b/ports/gtkmm/CONTROL @@ -1,4 +1,5 @@ Source: gtkmm Version: 3.22.2-1 +Homepage: https://www.gtkmm.org/ Description: gtkmm is the official C++ interface for the popular GUI library GTK+. Build-Depends: glib, atk, gtk, gdk-pixbuf, pango, cairo, libepoxy, gettext, glibmm, atkmm, cairomm, pangomm diff --git a/ports/gts/CONTROL b/ports/gts/CONTROL index 0aa1251e4c..917d66bf86 100644 --- a/ports/gts/CONTROL +++ b/ports/gts/CONTROL @@ -1,4 +1,5 @@ Source: gts Version: 0.7.6-1 +Homepage: https://github.com/finetjul/gts Description: A Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles Build-Depends: glib diff --git a/ports/guetzli/CONTROL b/ports/guetzli/CONTROL index dd8e765752..8fe11f58df 100644 --- a/ports/guetzli/CONTROL +++ b/ports/guetzli/CONTROL @@ -1,4 +1,5 @@ Source: guetzli Version: 2018-07-30-2 +Homepage: https://github.com/google/guetzli Description: Perceptual JPEG encoder Build-Depends: libpng, butteraugli diff --git a/ports/gumbo/CONTROL b/ports/gumbo/CONTROL index 6889b526d3..c6741b9341 100644 --- a/ports/gumbo/CONTROL +++ b/ports/gumbo/CONTROL @@ -1,3 +1,4 @@ Source: gumbo Version: 0.10.1-3 +Homepage: https://github.com/google/gumbo-parser Description: An HTML5 parsing library in pure C99 diff --git a/ports/halide/CONTROL b/ports/halide/CONTROL index 4418e56de5..cd7008837d 100644 --- a/ports/halide/CONTROL +++ b/ports/halide/CONTROL @@ -1,3 +1,4 @@ Source: halide Version: release_2018_02_15-1 +Homepage: https://github.com/halide/Halide Description: Halide is a programming language designed to make it easier to write high-performance image processing code on modern machines. diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL index d0e544d7a7..39bce80107 100644 --- a/ports/harfbuzz/CONTROL +++ b/ports/harfbuzz/CONTROL @@ -1,6 +1,7 @@ Source: harfbuzz Version: 2.5.1-1 Description: HarfBuzz OpenType text shaping engine +Homepage: https://github.com/behdad/harfbuzz Build-Depends: freetype, ragel, gettext (osx) Default-Features: ucdn diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL index 19939c95aa..b22ee7b8e6 100644 --- a/ports/hdf5/CONTROL +++ b/ports/hdf5/CONTROL @@ -1,5 +1,6 @@ Source: hdf5 Version: 1.10.5-6 +Homepage: https://www.hdfgroup.org/downloads/hdf5/ Description: HDF5 is a data model, library, and file format for storing and managing data Build-Depends: zlib, szip diff --git a/ports/highfive/CONTROL b/ports/highfive/CONTROL index af4df7993f..6152bdf3d9 100644 --- a/ports/highfive/CONTROL +++ b/ports/highfive/CONTROL @@ -1,4 +1,5 @@ Source: highfive Version: 2.0 +Homepage: https://github.com/BlueBrain/HighFive Description: HighFive is a modern C++/C++11 friendly interface for libhdf5 Build-Depends: hdf5 diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL index cb25e174b4..99cc84d6f3 100644 --- a/ports/hpx/CONTROL +++ b/ports/hpx/CONTROL @@ -1,5 +1,6 @@ Source: hpx Version: 1.3.0-1 Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-bimap, boost-chrono, boost-config, boost-context, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-iostreams, boost-lockfree, boost-program-options, boost-range, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi +Homepage: https://github.com/STEllAR-GROUP/hpx Description: The C++ Standards Library for Concurrency and Parallelism HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case. diff --git a/ports/http-parser/CONTROL b/ports/http-parser/CONTROL index 486b2a78cc..76cf878593 100644 --- a/ports/http-parser/CONTROL +++ b/ports/http-parser/CONTROL @@ -1,3 +1,4 @@ Source: http-parser -Version: 2.9.2 +Version: 2.9.2 +Homepage: https://github.com/nodejs/http-parser Description: HTTP Parser. diff --git a/ports/hunspell/CONTROL b/ports/hunspell/CONTROL index 160bab7e6a..d907a55362 100644 --- a/ports/hunspell/CONTROL +++ b/ports/hunspell/CONTROL @@ -1,3 +1,4 @@ Source: hunspell Version: 1.7.0 +Homepage: https://github.com/hunspell/hunspell Description: The most popular spellchecking library. diff --git a/ports/hwloc/CONTROL b/ports/hwloc/CONTROL index e2c820060b..f754a0fd84 100644 --- a/ports/hwloc/CONTROL +++ b/ports/hwloc/CONTROL @@ -1,4 +1,5 @@ Source: hwloc Version: 1.11.7-3 +Homepage: https://github.com/open-mpi/hwloc Description: Portable Hardware Locality (hwloc) The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs. diff --git a/ports/hypre/CONTROL b/ports/hypre/CONTROL index c41f309301..907e64b87b 100644 --- a/ports/hypre/CONTROL +++ b/ports/hypre/CONTROL @@ -1,4 +1,5 @@ Source: hypre Version: 2.11.2-1 +Homepage: https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods Description: SCALABLE LINEAR SOLVERS AND MULTIGRID METHODS Build-Depends: msmpi diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL index 3fa81fd4d5..238ac176e0 100644 --- a/ports/icu/CONTROL +++ b/ports/icu/CONTROL @@ -1,3 +1,4 @@ Source: icu Version: 61.1-7 +Homepage: http://icu-project.org/apiref/icu4c/ Description: Mature and widely used Unicode and localization library. diff --git a/ports/if97/CONTROL b/ports/if97/CONTROL index 6279dea80a..787bc11828 100644 --- a/ports/if97/CONTROL +++ b/ports/if97/CONTROL @@ -1,3 +1,4 @@ Source: if97 Version: 2.1.2 +Homepage: https://github.com/CoolProp/IF97 Description: This repository implements the IF97 formulation for the properties of pure water substance. diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL index e0843acd76..87364545ac 100644 --- a/ports/imgui/CONTROL +++ b/ports/imgui/CONTROL @@ -1,3 +1,4 @@ Source: imgui Version: 1.70 +Homepage: https://github.com/ocornut/imgui Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. diff --git a/ports/itk/CONTROL b/ports/itk/CONTROL index 7f7a12251e..b8ba70d0f3 100644 --- a/ports/itk/CONTROL +++ b/ports/itk/CONTROL @@ -1,8 +1,9 @@ -Source: itk +Source: itk Version: 5.0.0-1 -Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis. -Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat, eigen3, hdf5[cpp], openjpeg - -Feature: vtk -Description: Build ITKVtkGlue module. -Build-Depends: vtk +Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis. +Homepage: https://github.com/InsightSoftwareConsortium/ITK +Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat, eigen3, hdf5[cpp], openjpeg + +Feature: vtk +Description: Build ITKVtkGlue module. +Build-Depends: vtk diff --git a/ports/jack2/CONTROL b/ports/jack2/CONTROL index e011b27114..d665dbe241 100644 --- a/ports/jack2/CONTROL +++ b/ports/jack2/CONTROL @@ -1,4 +1,5 @@ Source: jack2 Version: 1.9.12-1 +Homepage: https://github.com/jackaudio/jack2 Description: Cross-platform API that enables device sharing and inter-application audio routing diff --git a/ports/jansson/CONTROL b/ports/jansson/CONTROL index ec808a9991..0ebcd2a5a6 100644 --- a/ports/jansson/CONTROL +++ b/ports/jansson/CONTROL @@ -1,3 +1,4 @@ Source: jansson Version: 2.12 +Homepage: https://github.com/akheron/jansson Description: Jansson is a C library for encoding, decoding and manipulating JSON data diff --git a/ports/jasper/CONTROL b/ports/jasper/CONTROL index 6b8ee20c98..858264411e 100644 --- a/ports/jasper/CONTROL +++ b/ports/jasper/CONTROL @@ -1,4 +1,5 @@ Source: jasper Version: 2.0.16-1 +Homepage: https://github.com/mdadams/jasper Description: Open source implementation of the JPEG-2000 Part-1 standard Build-Depends: libjpeg-turbo diff --git a/ports/jbig2dec/CONTROL b/ports/jbig2dec/CONTROL index 5045673b36..5e11aa037a 100644 --- a/ports/jbig2dec/CONTROL +++ b/ports/jbig2dec/CONTROL @@ -1,3 +1,4 @@ Source: jbig2dec Version: 0.16-1 +Homepage: https://github.com/ArtifexSoftware/jbig2dec Description: a decoder library and example utility implementing the JBIG2 bi-level image compression spec. Also known as ITU T.88 and ISO IEC 14492, and included by reference in Adobe's PDF version 1.4 and later. diff --git a/ports/jbigkit/CONTROL b/ports/jbigkit/CONTROL index f21907db42..cc0a00aa21 100644 --- a/ports/jbigkit/CONTROL +++ b/ports/jbigkit/CONTROL @@ -1,3 +1,4 @@ Source: jbigkit Version: 2.1-3 +Homepage: https://www.cl.cam.ac.uk/~mgk25/jbigkit Description: A software implementation of the JBIG1 data compression standard (ITU-T T.82) diff --git a/ports/jemalloc/CONTROL b/ports/jemalloc/CONTROL index 19d4fbcc07..3f6be44a54 100644 --- a/ports/jemalloc/CONTROL +++ b/ports/jemalloc/CONTROL @@ -1,4 +1,5 @@ Source: jemalloc Version: 4.3.1-4 +Homepage: https://github.com/jemalloc/jemalloc-cmake Description: jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support Build-Depends: diff --git a/ports/jsoncpp/CONTROL b/ports/jsoncpp/CONTROL index 4c7084d8e8..6bbe46c0e0 100644 --- a/ports/jsoncpp/CONTROL +++ b/ports/jsoncpp/CONTROL @@ -1,3 +1,4 @@ Source: jsoncpp Version: 1.8.4-1 +Homepage: https://github.com/open-source-parsers/jsoncpp Description: jsoncpp is an implementation of a JSON reader and writer in C++. JSON (JavaScript Object Notation) is a lightweight data-interchange format that it is easy to parse and redeable for human. diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL index c478c789c2..35c8706585 100644 --- a/ports/jsonnet/CONTROL +++ b/ports/jsonnet/CONTROL @@ -1,3 +1,4 @@ Source: jsonnet Version: 2019-05-08 +Homepage: https://github.com/google/jsonnet Description: Jsonnet - The data templating language diff --git a/ports/jxrlib/CONTROL b/ports/jxrlib/CONTROL index 2f8ba2aaf7..9087786816 100644 --- a/ports/jxrlib/CONTROL +++ b/ports/jxrlib/CONTROL @@ -1,3 +1,4 @@ Source: jxrlib Version: 1.1-6 +Homepage: https://github.com/4creators/jxrlib Description: Open source implementation of the jpegxr image format standard. diff --git a/ports/kd-soap/CONTROL b/ports/kd-soap/CONTROL index 8c534ca82e..b399126c1a 100644 --- a/ports/kd-soap/CONTROL +++ b/ports/kd-soap/CONTROL @@ -1,5 +1,5 @@ Source: kd-soap Version: 1.8.0 Description: A Qt-based client-side and server-side SOAP component -Homepage: http://www.kdab.com/products/kd-soap +Homepage: https://www.kdab.com/products/kd-soap Build-Depends: qt5-base diff --git a/ports/kealib/CONTROL b/ports/kealib/CONTROL index 6426fd5fa1..9e2b6549c6 100644 --- a/ports/kealib/CONTROL +++ b/ports/kealib/CONTROL @@ -1,6 +1,7 @@ Source: kealib Version: 1.4.11 Build-Depends: hdf5[cpp], zlib, szip +Homepage: https://bitbucket.org/chchrsc/kealib Description: kealib is gdal model using HDF5 standard. Feature: parallel diff --git a/ports/kf5plotting/CONTROL b/ports/kf5plotting/CONTROL index ac2b98d6f3..0b75bd8c1c 100644 --- a/ports/kf5plotting/CONTROL +++ b/ports/kf5plotting/CONTROL @@ -1,4 +1,5 @@ Source: kf5plotting Version: 5.58.0 +Homepage: https://api.kde.org/frameworks/kplotting/html/index.html Description: Lightweight plotting framework Build-Depends: ecm, qt5-base diff --git a/ports/lcm/CONTROL b/ports/lcm/CONTROL index 2621e23c59..1eb187ef7a 100644 --- a/ports/lcm/CONTROL +++ b/ports/lcm/CONTROL @@ -1,5 +1,6 @@ Source: lcm Version: 1.4.0 Build-Depends: glib +Homepage: https://github.com/lcm-proj/lcm Description: Lightweight Communications and Marshalling (LCM) LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages. diff --git a/ports/lcms/CONTROL b/ports/lcms/CONTROL index 96bb6e6580..b42c827d46 100644 --- a/ports/lcms/CONTROL +++ b/ports/lcms/CONTROL @@ -1,4 +1,5 @@ Source: lcms Version: 2.9 Build-Depends: +Homepage: https://github.com/mm2/Little-CMS Description: Little CMS. diff --git a/ports/leptonica/CONTROL b/ports/leptonica/CONTROL index 5fd60614d1..2f48aa0d23 100644 --- a/ports/leptonica/CONTROL +++ b/ports/leptonica/CONTROL @@ -1,4 +1,5 @@ Source: leptonica Version: 1.76.0 +Homepage: https://github.com/DanBloomberg/leptonica Description: An open source library containing software that is broadly useful for image processing and image analysis applications Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib diff --git a/ports/leveldb/CONTROL b/ports/leveldb/CONTROL index 5f95fda4b7..d1cc26aab0 100644 --- a/ports/leveldb/CONTROL +++ b/ports/leveldb/CONTROL @@ -1,3 +1,4 @@ Source: leveldb Version: 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-3 +Homepage: https://github.com/bitcoin-core/leveldb Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. diff --git a/ports/libaiff/CONTROL b/ports/libaiff/CONTROL index 0ed9a9cf23..6dbed3fcf3 100644 --- a/ports/libaiff/CONTROL +++ b/ports/libaiff/CONTROL @@ -1,3 +1,4 @@ Source: libaiff Version: 5.0-1 +Homepage: https://sourceforge.net/projects/aifftools Description: LibAiff is an open-source library, providing C applications transparent read & write operations for Audio Interchange File Format (AIFF) files, with the goal of supporting all of its features diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL index 7cb34cd947..b39593aa93 100644 --- a/ports/libarchive/CONTROL +++ b/ports/libarchive/CONTROL @@ -1,5 +1,6 @@ Source: libarchive Version: 3.3.3-3 +Homepage: https://github.com/libarchive/libarchive Description: Library for reading and writing streaming archives Build-Depends: zlib Default-Features: bzip2, libxml2, lz4, lzma, lzo, openssl diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL index 21c9f9fdd6..eaa533a615 100644 --- a/ports/libbson/CONTROL +++ b/ports/libbson/CONTROL @@ -1,3 +1,4 @@ Source: libbson Version: 1.14.0 Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents. +Homepage: https://github.com/mongodb/libbson diff --git a/ports/libcds/CONTROL b/ports/libcds/CONTROL index 1707512fde..5c30623189 100644 --- a/ports/libcds/CONTROL +++ b/ports/libcds/CONTROL @@ -1,4 +1,5 @@ Source: libcds Version: 2.3.3 Build-Depends: boost-system, boost-thread +Homepage: https://github.com/khizmax/libcds Description: a collection of concurrent containers that don't require external (manual) synchronization for shared access, and safe memory reclamation (SMR) algorithms like Hazard Pointer and user-space RCU that is used as an epoch-based SMR. diff --git a/ports/libconfig/CONTROL b/ports/libconfig/CONTROL index fceb37bd36..8b64a280e0 100644 --- a/ports/libconfig/CONTROL +++ b/ports/libconfig/CONTROL @@ -1,3 +1,4 @@ Source: libconfig Version: 1.7.2 +Homepage: https://github.com/hyperrealm/libconfig Description: C/C++ library for processing configuration files diff --git a/ports/libdatrie/CONTROL b/ports/libdatrie/CONTROL index 8b9747fd76..587063ec5e 100644 --- a/ports/libdatrie/CONTROL +++ b/ports/libdatrie/CONTROL @@ -1,4 +1,5 @@ Source: libdatrie Version: 0.2.10-2 +Homepage: https://linux.thai.net/pub/ThaiLinux/software/libthai Description: implementation of double-array structure for representing trie Build-Depends: libiconv diff --git a/ports/libdisasm/CONTROL b/ports/libdisasm/CONTROL index e55dfab7db..dae49116db 100644 --- a/ports/libdisasm/CONTROL +++ b/ports/libdisasm/CONTROL @@ -1,3 +1,4 @@ Source: libdisasm Version: 0.23-2 +Homepage: https://sourceforge.net/projects/bastard Description: x86 Disassembler Library. diff --git a/ports/libepoxy/CONTROL b/ports/libepoxy/CONTROL index 876fa0ab9c..acab175c51 100644 --- a/ports/libepoxy/CONTROL +++ b/ports/libepoxy/CONTROL @@ -1,3 +1,4 @@ Source: libepoxy -Version: 1.5.3 +Version: 1.5.3 +Homepage: https://github.com/anholt/libepoxy Description: Epoxy is a library for handling OpenGL function pointer management for you diff --git a/ports/libevent/CONTROL b/ports/libevent/CONTROL index e9577f8038..2534bf1f6a 100644 --- a/ports/libevent/CONTROL +++ b/ports/libevent/CONTROL @@ -1,4 +1,5 @@ Source: libevent Version: 2.1.8-5 Build-Depends: openssl +Homepage: https://github.com/libevent/libevent Description: An event notification library diff --git a/ports/libexif/CONTROL b/ports/libexif/CONTROL index 427d907f21..d99eb31b93 100644 --- a/ports/libexif/CONTROL +++ b/ports/libexif/CONTROL @@ -1,3 +1,4 @@ Source: libexif Version: 0.6.21-1 +Homepage: https://sourceforge.net/projects/libexif/ Description: a library for parsing, editing, and saving EXIF data diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL index 882d7ca946..b393491e11 100644 --- a/ports/libffi/CONTROL +++ b/ports/libffi/CONTROL @@ -1,3 +1,4 @@ Source: libffi Version: 3.1-5 +Homepage: https://github.com/libffi/libffi Description: Portable, high level programming interface to various calling conventions diff --git a/ports/libflac/CONTROL b/ports/libflac/CONTROL index afdb70cbe2..53ec5a95bd 100644 --- a/ports/libflac/CONTROL +++ b/ports/libflac/CONTROL @@ -1,4 +1,5 @@ Source: libflac Version: 1.3.2-6 +Homepage: https://xiph.org/flac/ Description: Library for manipulating FLAC files Build-Depends: libogg diff --git a/ports/libfreenect2/CONTROL b/ports/libfreenect2/CONTROL index 7f6ba98dfa..82befaac0d 100644 --- a/ports/libfreenect2/CONTROL +++ b/ports/libfreenect2/CONTROL @@ -1,4 +1,5 @@ Source: libfreenect2 Version: 0.2.0-1 Build-Depends: libusb, libjpeg-turbo +Homepage: https://github.com/OpenKinect/libfreenect2 Description: Open source drivers for the Kinect for Windows v2 device diff --git a/ports/libgd/CONTROL b/ports/libgd/CONTROL index 56f297798b..1d16b2f27a 100644 --- a/ports/libgd/CONTROL +++ b/ports/libgd/CONTROL @@ -1,5 +1,6 @@ Source: libgd Version: 2.2.5-3 +Homepage: https://github.com/libgd/libgd Description: Open source code library for the dynamic creation of images by programmers. Default-Features: fontconfig, freetype, jpeg, png, tiff, webp diff --git a/ports/libgeotiff/CONTROL b/ports/libgeotiff/CONTROL index 28cbee52d5..2e8d4836c1 100644 --- a/ports/libgeotiff/CONTROL +++ b/ports/libgeotiff/CONTROL @@ -1,4 +1,5 @@ Source: libgeotiff Version: 1.4.2-9 +Homepage: https://download.osgeo.org/geotiff/libgeotiff Description: Libgeotiff is an open source library normally hosted on top of libtiff for reading, and writing GeoTIFF information tags. Build-Depends: tiff, proj4, zlib, libjpeg-turbo diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL index 71ba1a4c95..5c396d473d 100644 --- a/ports/libgit2/CONTROL +++ b/ports/libgit2/CONTROL @@ -1,4 +1,5 @@ Source: libgit2 -Version: 0.28.2 +Version: 0.28.2 +Homepage: https://github.com/libgit2/libgit2 Build-Depends: openssl (!windows&&!uwp) Description: Git linkable library diff --git a/ports/libgta/CONTROL b/ports/libgta/CONTROL index 344c44c4d0..d338243cf1 100644 --- a/ports/libgta/CONTROL +++ b/ports/libgta/CONTROL @@ -1,4 +1,5 @@ Source: libgta Version: 1.0.8-1 +Homepage: https://download.savannah.nongnu.org/releases/gta Description: Libgta is a portable library that implements the Generic Tagged Array (GTA) file format. Build-Depends: bzip2, zlib, liblzma diff --git a/ports/libharu/CONTROL b/ports/libharu/CONTROL index 72778aa6bd..33fa2e3cb3 100644 --- a/ports/libharu/CONTROL +++ b/ports/libharu/CONTROL @@ -1,4 +1,5 @@ Source: libharu Version: 2017-08-15-d84867ebf9f-6 +Homepage: https://github.com/libharu/libharu Description: libharu - free PDF library Build-Depends: zlib, libpng diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL index a5e4d0cc4e..c24bac49d2 100644 --- a/ports/libiconv/CONTROL +++ b/ports/libiconv/CONTROL @@ -1,3 +1,4 @@ Source: libiconv Version: 1.15-5 +Homepage: https://www.gnu.org/software/libiconv/ Description: GNU Unicode text conversion diff --git a/ports/libidn2/CONTROL b/ports/libidn2/CONTROL index 5fcac82b63..01d89d69bf 100644 --- a/ports/libidn2/CONTROL +++ b/ports/libidn2/CONTROL @@ -1,4 +1,5 @@ Source: libidn2 Version: 2.1.1-1 Build-Depends: libiconv +Homepage: https://www.gnu.org/software/libidn/ Description: GNU Libidn is an implementation of the Stringprep, Punycode and IDNA 2003 specifications. Libidn's purpose is to encode and decode internationalized domain names. diff --git a/ports/libjpeg-turbo/CONTROL b/ports/libjpeg-turbo/CONTROL index fca4905424..d64af9bb4c 100644 --- a/ports/libjpeg-turbo/CONTROL +++ b/ports/libjpeg-turbo/CONTROL @@ -1,3 +1,4 @@ Source: libjpeg-turbo Version: 2.0.2 +Homepage: https://github.com/libjpeg-turbo/libjpeg-turbo Description: libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. diff --git a/ports/libkml/CONTROL b/ports/libkml/CONTROL index b5ea568c72..7e54d2c1cd 100644 --- a/ports/libkml/CONTROL +++ b/ports/libkml/CONTROL @@ -1,4 +1,5 @@ Source: libkml Version: 1.3.0-2 +Homepage: https://github.com/libkml/libkml Description: Reference implementation of OGC KML 2.2 Build-Depends: zlib, expat, minizip, uriparser, boost-smart-ptr diff --git a/ports/liblo/CONTROL b/ports/liblo/CONTROL index 5e05c95e3e..b2fc4def74 100644 --- a/ports/liblo/CONTROL +++ b/ports/liblo/CONTROL @@ -1,3 +1,4 @@ Source: liblo Version: 0.30 +Homepage: https://github.com/radarsat1/liblo Description: liblo is an implementation of the Open Sound Control protocol for POSIX systems \ No newline at end of file diff --git a/ports/liblzma/CONTROL b/ports/liblzma/CONTROL index 1a2ee8147c..967b3b16c8 100644 --- a/ports/liblzma/CONTROL +++ b/ports/liblzma/CONTROL @@ -1,3 +1,4 @@ Source: liblzma Version: 5.2.4-2 +Homepage: https://github.com/xz-mirror/xz Description: Compression library with an API similar to that of zlib. diff --git a/ports/libmariadb/CONTROL b/ports/libmariadb/CONTROL index 147cf11a24..986eb5d231 100644 --- a/ports/libmariadb/CONTROL +++ b/ports/libmariadb/CONTROL @@ -1,3 +1,4 @@ Source: libmariadb -Version: 3.0.10-1 +Version: 3.0.10-1 +Homepage: https://github.com/MariaDB/mariadb-connector-c Description: MariaDB Connector/C is used to connect C/C++ applications to MariaDB and MySQL databases diff --git a/ports/libmicrohttpd/CONTROL b/ports/libmicrohttpd/CONTROL index 2c24d44976..8bc6ac2291 100644 --- a/ports/libmicrohttpd/CONTROL +++ b/ports/libmicrohttpd/CONTROL @@ -1,3 +1,4 @@ Source: libmicrohttpd Version: 0.9.63 +Homepage: https://www.gnu.org/software/libmicrohttpd/ Description: GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application diff --git a/ports/libmikmod/CONTROL b/ports/libmikmod/CONTROL index 820a861c6c..57d399a268 100644 --- a/ports/libmikmod/CONTROL +++ b/ports/libmikmod/CONTROL @@ -1,4 +1,5 @@ Source: libmikmod Version: 3.3.11.1-2 +Homepage: https://sourceforge.net/projects/mikmod/ Description: Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm. Build-Depends: openal-soft diff --git a/ports/libmodplug/CONTROL b/ports/libmodplug/CONTROL index 2a6cb4638c..c486d4eb91 100644 --- a/ports/libmodplug/CONTROL +++ b/ports/libmodplug/CONTROL @@ -1,3 +1,4 @@ Source: libmodplug Version: 0.8.9.0-4 +Homepage: https://github.com/Konstanty/libmodplug Description: The ModPlug mod file playing library. diff --git a/ports/libmspack/CONTROL b/ports/libmspack/CONTROL index cf08e5acc2..de476a430c 100644 --- a/ports/libmspack/CONTROL +++ b/ports/libmspack/CONTROL @@ -1,4 +1,5 @@ Source: libmspack Version: 0.10.1 Build-Depends: +Homepage: https://www.cabextract.org.uk/libmspack Description: libmspack is a portable library for some loosely related Microsoft compression formats. diff --git a/ports/libmupdf/CONTROL b/ports/libmupdf/CONTROL index ea253427f4..4de343cb30 100644 --- a/ports/libmupdf/CONTROL +++ b/ports/libmupdf/CONTROL @@ -1,4 +1,5 @@ Source: libmupdf Version: 1.12.0-2 Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3, openjpeg, jbig2dec +Homepage: https://github.com/ArtifexSoftware/mupdf Description: a lightweight PDF, XPS, and E-book library diff --git a/ports/libmysql/CONTROL b/ports/libmysql/CONTROL index a6f97e1fe2..37c42943eb 100644 --- a/ports/libmysql/CONTROL +++ b/ports/libmysql/CONTROL @@ -1,4 +1,5 @@ Source: libmysql Version: 8.0.4-4 +Homepage: https://github.com/mysql/mysql-server Build-Depends: boost-algorithm, boost-geometry, boost-optional, boost-functional, boost-graph, openssl, icu, libevent, liblzma, lz4, zlib Description: A MySQL client library for C development. diff --git a/ports/libnice/CONTROL b/ports/libnice/CONTROL index 7a33f14239..2d542c41d9 100644 --- a/ports/libnice/CONTROL +++ b/ports/libnice/CONTROL @@ -1,4 +1,5 @@ Source: libnice Version: 0.1.15 +Homepage: https://nice.freedesktop.org Description: Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the Session Traversal Utilities for NAT (STUN) standard (RFC 5389). Build-Depends: glib, openssl diff --git a/ports/libodb-mysql/CONTROL b/ports/libodb-mysql/CONTROL index 3a728cb581..fe5a28e8ac 100644 --- a/ports/libodb-mysql/CONTROL +++ b/ports/libodb-mysql/CONTROL @@ -1,4 +1,5 @@ Source: libodb-mysql Version: 2.4.0-2 +Homepage: https://www.codesynthesis.com/products/odb/ Description: MySQL support for the ODB ORM library Build-Depends: libodb, libmysql \ No newline at end of file diff --git a/ports/libodb-pgsql/CONTROL b/ports/libodb-pgsql/CONTROL index d6be72f084..d35291135e 100644 --- a/ports/libodb-pgsql/CONTROL +++ b/ports/libodb-pgsql/CONTROL @@ -1,4 +1,5 @@ Source: libodb-pgsql Version: 2.4.0-2 +Homepage: https://www.codesynthesis.com/products/odb/ Description: Description: PostgreSQL support for the ODB ORM library Build-Depends: libodb, libpq diff --git a/ports/libodb-sqlite/CONTROL b/ports/libodb-sqlite/CONTROL index e523de989a..a8d9ef41f2 100644 --- a/ports/libodb-sqlite/CONTROL +++ b/ports/libodb-sqlite/CONTROL @@ -1,4 +1,5 @@ Source: libodb-sqlite Version: 2.4.0-3 +Homepage: https://www.codesynthesis.com/products/odb/ Description: Sqlite support for the ODB ORM library Build-Depends: libodb, sqlite3 diff --git a/ports/libodb/CONTROL b/ports/libodb/CONTROL index 9e963c89ba..049a1bd127 100644 --- a/ports/libodb/CONTROL +++ b/ports/libodb/CONTROL @@ -1,3 +1,4 @@ Source: libodb Version: 2.4.0-4 +Homepage: https://www.codesynthesis.com/products/odb/ Description: ODB library, base runtime for the ODB ORM solution diff --git a/ports/libogg/CONTROL b/ports/libogg/CONTROL index 3d52a9dcac..abce418396 100644 --- a/ports/libogg/CONTROL +++ b/ports/libogg/CONTROL @@ -1,3 +1,4 @@ -Source: libogg -Version: 1.3.3-3 -Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs. +Source: libogg +Version: 1.3.3-3 +Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs. +Homepage: https://github.com/xiph/ogg diff --git a/ports/libopenmpt/CONTROL b/ports/libopenmpt/CONTROL index b12a2ee640..32fa988d13 100644 --- a/ports/libopenmpt/CONTROL +++ b/ports/libopenmpt/CONTROL @@ -1,4 +1,5 @@ Source: libopenmpt Version: 2017-01-28-cf2390140 +Homepage: https://github.com/OpenMPT/openmpt Description: a library to render tracker music Build-Depends: zlib, mpg123, libogg, libvorbis, portaudio, libflac diff --git a/ports/libopusenc/CONTROL b/ports/libopusenc/CONTROL index 9ca75cde2d..844b22d499 100644 --- a/ports/libopusenc/CONTROL +++ b/ports/libopusenc/CONTROL @@ -1,4 +1,5 @@ Source: libopusenc Version: 0.2.1 +Homepage: https://github.com/xiph/libopusenc Description: Library for encoding .opus audio files and live streams. Build-Depends: opus diff --git a/ports/libp7-baical/CONTROL b/ports/libp7-baical/CONTROL index 8369b65f41..698334f58b 100644 --- a/ports/libp7-baical/CONTROL +++ b/ports/libp7-baical/CONTROL @@ -1,3 +1,4 @@ Source: libp7-baical Version: 4.4-4 +Homepage: https://baical.net/ Description: P7 is a library for high-speed sending telemetry & trace data from application diff --git a/ports/libpng-apng/CONTROL b/ports/libpng-apng/CONTROL index e6b75f486b..cb199b9fe2 100644 --- a/ports/libpng-apng/CONTROL +++ b/ports/libpng-apng/CONTROL @@ -1,4 +1,5 @@ Source: libpng-apng Version: 1.6.37 Build-Depends: zlib +Homepage: https://github.com/glennrp/libpng Description: libpng-apng is a library implementing an interface for reading and writing (A)PNG ((Animated) Portable Network Graphics) format files. This is backward compatible with the regular libpng, both in library usage and format. diff --git a/ports/libpng/CONTROL b/ports/libpng/CONTROL index 1baecccf3b..1b07ce1e25 100644 --- a/ports/libpng/CONTROL +++ b/ports/libpng/CONTROL @@ -1,4 +1,5 @@ Source: libpng Version: 1.6.37-1 Build-Depends: zlib +Homepage: https://github.com/glennrp/libpng Description: libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files. diff --git a/ports/libpq/CONTROL b/ports/libpq/CONTROL index 54b2259e88..f6c0ce34ea 100644 --- a/ports/libpq/CONTROL +++ b/ports/libpq/CONTROL @@ -1,4 +1,5 @@ Source: libpq Version: 9.6.1-7 +Homepage: https://www.postgresql.org/ Description: The official database access API of postgresql Build-Depends: openssl, zlib (linux) diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL index 1b7bc76497..8653afe5a0 100644 --- a/ports/libpqxx/CONTROL +++ b/ports/libpqxx/CONTROL @@ -1,4 +1,5 @@ Source: libpqxx Version: 6.4.4 +Homepage: https://github.com/jtv/libpqxx Description: The official C++ client API for PostgreSQL Build-Depends: libpq diff --git a/ports/libqrencode/CONTROL b/ports/libqrencode/CONTROL index c2c126cad5..9bfd8fa858 100644 --- a/ports/libqrencode/CONTROL +++ b/ports/libqrencode/CONTROL @@ -1,4 +1,5 @@ Source: libqrencode Version: 4.0.2 Build-Depends: libpng, libiconv +Homepage: https://github.com/fukuchi/libqrencode Description: libqrencode - a fast and compact QR Code encoding library diff --git a/ports/librabbitmq/CONTROL b/ports/librabbitmq/CONTROL index afd552b9bf..38287971d4 100644 --- a/ports/librabbitmq/CONTROL +++ b/ports/librabbitmq/CONTROL @@ -1,4 +1,5 @@ Source: librabbitmq Version: 0.9.0 Build-Depends: openssl +Homepage: https://github.com/alanxz/rabbitmq-c Description: A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker. diff --git a/ports/libraw/CONTROL b/ports/libraw/CONTROL index 1a13a37d93..1d0c172032 100644 --- a/ports/libraw/CONTROL +++ b/ports/libraw/CONTROL @@ -1,4 +1,5 @@ Source: libraw Version: 201903-1 Build-Depends: lcms, jasper +Homepage: https://www.libraw.org Description: raw image decoder library diff --git a/ports/librtmp/CONTROL b/ports/librtmp/CONTROL index 957f5ee164..f43270e5d7 100644 --- a/ports/librtmp/CONTROL +++ b/ports/librtmp/CONTROL @@ -1,4 +1,5 @@ Source: librtmp Version: 2.4-1 Build-Depends: zlib, openssl +Homepage: https://rtmpdump.mplayerhq.hu Description: RTMPDump Real-Time Messaging Protocol API diff --git a/ports/libsamplerate/CONTROL b/ports/libsamplerate/CONTROL index d8a8f5f4e2..dc0bf20dc2 100644 --- a/ports/libsamplerate/CONTROL +++ b/ports/libsamplerate/CONTROL @@ -1,3 +1,4 @@ Source: libsamplerate Version: 0.1.9.0 +Homepage: https://www.mega-nerd.com/SRC Description: Sample Rate Converter for audio diff --git a/ports/libsndfile/CONTROL b/ports/libsndfile/CONTROL index 657a24424e..91a28e6b34 100644 --- a/ports/libsndfile/CONTROL +++ b/ports/libsndfile/CONTROL @@ -1,6 +1,7 @@ Source: libsndfile Version: 1.0.29-6830c42-7 Description: Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo +Homepage: https://github.com/erikd/libsndfile Default-Features: external-libs Feature: external-libs diff --git a/ports/libsodium/CONTROL b/ports/libsodium/CONTROL index cff52a1b2d..9a7a7e3bac 100644 --- a/ports/libsodium/CONTROL +++ b/ports/libsodium/CONTROL @@ -1,3 +1,4 @@ Source: libsodium Version: 1.0.17-3 Description: A modern and easy-to-use crypto library +Homepage: https://github.com/jedisct1/libsodium diff --git a/ports/libspatialite/CONTROL b/ports/libspatialite/CONTROL index c535d33e1b..55d3f45776 100644 --- a/ports/libspatialite/CONTROL +++ b/ports/libspatialite/CONTROL @@ -1,5 +1,6 @@ Source: libspatialite Version: 4.3.0a-3 +Homepage: https://www.gaia-gis.it/gaia-sins/libspatialite-sources Description: SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities. Build-Depends: libxml2, sqlite3, geos, proj4, zlib, freexl, libiconv diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL index 9f652f4614..a819253d07 100644 --- a/ports/libssh/CONTROL +++ b/ports/libssh/CONTROL @@ -1,5 +1,6 @@ Source: libssh Version: 0.7.6-1 +Homepage: https://www.libssh.org/ Description: libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side Build-Depends: openssl diff --git a/ports/libssh2/CONTROL b/ports/libssh2/CONTROL index 79cca78675..b8579332e4 100644 --- a/ports/libssh2/CONTROL +++ b/ports/libssh2/CONTROL @@ -1,4 +1,5 @@ Source: libssh2 Version: 1.8.2 Build-Depends: zlib, openssl +Homepage: https://www.libssh2.org Description: The SSH library diff --git a/ports/libstemmer/CONTROL b/ports/libstemmer/CONTROL index a5275ea719..a1949a2be6 100644 --- a/ports/libstemmer/CONTROL +++ b/ports/libstemmer/CONTROL @@ -1,3 +1,4 @@ Source: libstemmer Version: 2017-9-4 +Homepage: https://snowball.tartarus.org/ Description: Snowball is a small string processing language designed for creating stemming algorithms for use in Information Retrieval diff --git a/ports/libtheora/CONTROL b/ports/libtheora/CONTROL index 114d42b055..6c5f93b2cc 100644 --- a/ports/libtheora/CONTROL +++ b/ports/libtheora/CONTROL @@ -1,4 +1,5 @@ Source: libtheora Version: 1.2.0alpha1-20170719~vcpkg1-3 +Homepage: https://github.com/xiph/theora Description: Theora is a free and open video compression format from the Xiph.org Foundation. Build-Depends: libogg diff --git a/ports/libtorrent/CONTROL b/ports/libtorrent/CONTROL index 7712808c05..2fe8e85ed6 100644 --- a/ports/libtorrent/CONTROL +++ b/ports/libtorrent/CONTROL @@ -1,4 +1,5 @@ Source: libtorrent Version: 2019-04-19 +Homepage: https://github.com/arvidn/libtorrent Description: An efficient feature complete C++ BitTorrent implementation Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config, boost-iterator, boost-scope-exit, boost-multiprecision diff --git a/ports/libudis86/CONTROL b/ports/libudis86/CONTROL index 661ad78595..8e67b89cc4 100644 --- a/ports/libudis86/CONTROL +++ b/ports/libudis86/CONTROL @@ -1,3 +1,4 @@ Source: libudis86 Version: 2018-01-28-56ff6c87 +Homepage: https://github.com/vmt/udis86 Description: Disassembler Library for x86 and x86-64 diff --git a/ports/libunibreak/CONTROL b/ports/libunibreak/CONTROL index 76f9b3432d..12e3933229 100644 --- a/ports/libunibreak/CONTROL +++ b/ports/libunibreak/CONTROL @@ -1,3 +1,4 @@ Source: libunibreak -Version: 4.2 +Version: 4.2 +Homepage: https://github.com/adah1972/libunibreak Description: an implementation of the line breaking and word breaking algorithms as described in [Unicode Standard Annex 14] 1 and [Unicode Standard Annex 29] 2. Check the project's [home page] 3 for up-to-date information. diff --git a/ports/libusb-win32/CONTROL b/ports/libusb-win32/CONTROL index 17a5712870..a85b6a11cb 100644 --- a/ports/libusb-win32/CONTROL +++ b/ports/libusb-win32/CONTROL @@ -1,3 +1,4 @@ Source: libusb-win32 Version: 1.2.6.0-2 +Homepage: https://sourceforge.net/projects/libusb-win32 Description: Allows user space applications to access many USB device on Windows. diff --git a/ports/libusb/CONTROL b/ports/libusb/CONTROL index f7eabbc225..ecd2301447 100644 --- a/ports/libusb/CONTROL +++ b/ports/libusb/CONTROL @@ -1,3 +1,4 @@ Source: libusb Version: 1.0.22-2 +Homepage: https://github.com/libusb/libusb Description: a cross-platform library to access USB devices diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL index 79033b5a0e..f50e6fbeac 100644 --- a/ports/libuv/CONTROL +++ b/ports/libuv/CONTROL @@ -1,3 +1,4 @@ Source: libuv Version: 1.29.1 +Homepage: https://github.com/libuv/libuv Description: libuv is a multi-platform support library with a focus on asynchronous I/O. diff --git a/ports/libvorbis/CONTROL b/ports/libvorbis/CONTROL index 780d94a25d..33a3009575 100644 --- a/ports/libvorbis/CONTROL +++ b/ports/libvorbis/CONTROL @@ -1,4 +1,5 @@ Source: libvorbis Version: 1.3.6-9eadecc-3 +Homepage: https://github.com/xiph/vorbis Description: Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. Build-Depends: libogg diff --git a/ports/libvpx/CONTROL b/ports/libvpx/CONTROL index fabd020953..5aa726c1e6 100644 --- a/ports/libvpx/CONTROL +++ b/ports/libvpx/CONTROL @@ -1,3 +1,4 @@ Source: libvpx Version: 1.7.0-3 +Homepage: https://github.com/webmproject/libvpx Description: The reference software implementation for the video coding formats VP8 and VP9. diff --git a/ports/libwebm/CONTROL b/ports/libwebm/CONTROL index 9634893b34..c2d9d878f7 100644 --- a/ports/libwebm/CONTROL +++ b/ports/libwebm/CONTROL @@ -1,3 +1,4 @@ Source: libwebm Version: 1.0.0.27-5 +Homepage: https://github.com/webmproject/libwebm Description: WebM File Parser diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL index f4f01570a5..a22b389b49 100644 --- a/ports/libwebp/CONTROL +++ b/ports/libwebp/CONTROL @@ -1,5 +1,6 @@ Source: libwebp Version: 1.0.2-4 +Homepage: https://github.com/webmproject/libwebp Description: Lossy compression of digital photographic images. Build-Depends: opengl diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL index 449b34fc53..97a755677d 100644 --- a/ports/libwebsockets/CONTROL +++ b/ports/libwebsockets/CONTROL @@ -1,4 +1,5 @@ Source: libwebsockets Version: 3.1.0 Build-Depends: zlib, openssl +Homepage: https://github.com/warmcat/libwebsockets Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server. diff --git a/ports/libxml2/CONTROL b/ports/libxml2/CONTROL index d4b6c6b1b7..7a4b02ceaf 100644 --- a/ports/libxml2/CONTROL +++ b/ports/libxml2/CONTROL @@ -1,4 +1,5 @@ Source: libxml2 Version: 2.9.9-4 +Homepage: https://xmlsoft.org/ Description: Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform) Build-Depends: zlib, libiconv, liblzma diff --git a/ports/libxmp-lite/CONTROL b/ports/libxmp-lite/CONTROL index bc1b7ef36c..cbc01c58f4 100644 --- a/ports/libxmp-lite/CONTROL +++ b/ports/libxmp-lite/CONTROL @@ -1,3 +1,4 @@ Source: libxmp-lite Version: 4.4.1-1 +Homepage: https://sourceforge.net/projects/xmp/ Description: Lightweight version of libxmp that supports MOD, S3M, XM and IT modules. diff --git a/ports/libxslt/CONTROL b/ports/libxslt/CONTROL index c329b87054..965079523a 100644 --- a/ports/libxslt/CONTROL +++ b/ports/libxslt/CONTROL @@ -1,4 +1,5 @@ Source: libxslt Version: 1.1.29 +Homepage: http://xmlsoft.org/XSLT/ Description: Libxslt is a XSLT library implemented in C for XSLT 1.0 and most of EXSLT Build-Depends: libxml2 diff --git a/ports/libzip/CONTROL b/ports/libzip/CONTROL index b3683b1a9c..bac06fac9b 100644 --- a/ports/libzip/CONTROL +++ b/ports/libzip/CONTROL @@ -1,5 +1,6 @@ Source: libzip Version: rel-1-5-2 +Homepage: https://github.com/nih-at/libzip Build-Depends: zlib Default-Features: openssl, bzip2 Description: A library for reading, creating, and modifying zip archives. diff --git a/ports/live555/CONTROL b/ports/live555/CONTROL index 39c8e4a655..e2f44db66d 100644 --- a/ports/live555/CONTROL +++ b/ports/live555/CONTROL @@ -1,3 +1,4 @@ Source: live555 Version: latest +Homepage: https://www.live555.com/liveMedia Description: A complete RTSP server application diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL index 1bc8335fc0..f700235a64 100644 --- a/ports/llvm/CONTROL +++ b/ports/llvm/CONTROL @@ -1,4 +1,5 @@ Source: llvm Version: 7.0.0-3 +Homepage: https://llvm.org/ Description: The LLVM Compiler Infrastructure Build-Depends: atlmfc (windows) diff --git a/ports/lmdb/CONTROL b/ports/lmdb/CONTROL index 6072f7d8ea..247d812d57 100644 --- a/ports/lmdb/CONTROL +++ b/ports/lmdb/CONTROL @@ -1,3 +1,4 @@ Source: lmdb Version: 0.9.23 +Homepage: https://github.com/LMDB/lmdb Description: LMDB is an extraordinarily fast, memory-efficient database diff --git a/ports/lodepng/CONTROL b/ports/lodepng/CONTROL index 2c881316c1..16d0cb7943 100644 --- a/ports/lodepng/CONTROL +++ b/ports/lodepng/CONTROL @@ -1,3 +1,4 @@ Source: lodepng Version: 2018-09-18-2 +Homepage: https://github.com/lvandeve/lodepng Description: PNG encoder and decoder in C and C++ diff --git a/ports/log4cplus/CONTROL b/ports/log4cplus/CONTROL index 278285dc52..bdcb159b74 100644 --- a/ports/log4cplus/CONTROL +++ b/ports/log4cplus/CONTROL @@ -1,4 +1,5 @@ Source: log4cplus Version: 2.0.4 +Homepage: https://github.com/log4cplus/log4cplus Description: A simple to use C++ logging API providing thread--safe, flexible, and arbitrarily granular control over log management and configuration Build-Depends: catch diff --git a/ports/lpeg/CONTROL b/ports/lpeg/CONTROL index 9896815b8e..c779b28880 100644 --- a/ports/lpeg/CONTROL +++ b/ports/lpeg/CONTROL @@ -1,4 +1,5 @@ Source: lpeg Version: 1.0.1-3 +Homepage: https://www.inf.puc-rio.br/~roberto/lpeg Description: LPeg is a pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs). Build-Depends: lua diff --git a/ports/lua/CONTROL b/ports/lua/CONTROL index 23f31a1fd7..738aabdfde 100644 --- a/ports/lua/CONTROL +++ b/ports/lua/CONTROL @@ -1,3 +1,4 @@ Source: lua Version: 5.3.5-1 +Homepage: https://www.lua.org Description: a powerful, fast, lightweight, embeddable scripting language diff --git a/ports/luafilesystem/CONTROL b/ports/luafilesystem/CONTROL index 4ff18cda4d..d6d96910cc 100644 --- a/ports/luafilesystem/CONTROL +++ b/ports/luafilesystem/CONTROL @@ -1,4 +1,5 @@ Source: luafilesystem Version: 1.7.0.2 +Homepage: https://github.com/keplerproject/luafilesystem Description: LuaFileSystem is a Lua library developed to complement the set of functions related to file systems offered by the standard Lua distribution. Build-Depends: lua diff --git a/ports/luajit/CONTROL b/ports/luajit/CONTROL index e81524ec7f..fb9c9d6467 100644 --- a/ports/luajit/CONTROL +++ b/ports/luajit/CONTROL @@ -1,3 +1,4 @@ Source: luajit Version: 2.0.5-1 +Homepage: https://github.com/LuaJIT/LuaJIT Description: LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language. diff --git a/ports/luasocket/CONTROL b/ports/luasocket/CONTROL index 609af7ae5b..e50ca87fb2 100644 --- a/ports/luasocket/CONTROL +++ b/ports/luasocket/CONTROL @@ -1,4 +1,5 @@ Source: luasocket Version: 2019-05-07 +Homepage: https://github.com/diegonehab/luasocket Description: LuaSocket is a Lua extension library that is composed by two parts: a C core that provides support for the TCP and UDP transport layers, and a set of Lua modules that add support for functionality commonly needed by applications that deal with the Internet. Build-Depends: lua diff --git a/ports/lz4/CONTROL b/ports/lz4/CONTROL index 2e69cbd250..e6e99dd6a4 100644 --- a/ports/lz4/CONTROL +++ b/ports/lz4/CONTROL @@ -1,4 +1,5 @@ Source: lz4 Version: 1.9.1-2 +Homepage: https://github.com/lz4/lz4 Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core. Build-Depends: xxhash \ No newline at end of file diff --git a/ports/lzfse/CONTROL b/ports/lzfse/CONTROL index 34276814fc..98fdf6c0df 100644 --- a/ports/lzfse/CONTROL +++ b/ports/lzfse/CONTROL @@ -1,3 +1,4 @@ Source: lzfse Version: 1.0-1 +Homepage: https://github.com/lzfse/lzfse Description: Lempel-Ziv style data compressor using Finite State Entropy coding. diff --git a/ports/lzo/CONTROL b/ports/lzo/CONTROL index d124020b83..cd1149f61a 100644 --- a/ports/lzo/CONTROL +++ b/ports/lzo/CONTROL @@ -1,3 +1,4 @@ Source: lzo Version: 2.10-2 +Homepage: https://www.oberhumer.com/opensource/lzo/ Description: Lossless data compression library diff --git a/ports/magnum-extras/CONTROL b/ports/magnum-extras/CONTROL index 36da8ed0c0..7ff04cb630 100644 --- a/ports/magnum-extras/CONTROL +++ b/ports/magnum-extras/CONTROL @@ -2,7 +2,7 @@ Source: magnum-extras Version: 2019.01-1 Build-Depends: magnum[core] Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization -Homepage: http://magnum.graphics/ +Homepage: https://magnum.graphics/ Default-Features: Feature: ui diff --git a/ports/magnum-integration/CONTROL b/ports/magnum-integration/CONTROL index 99fa4779bc..5383204972 100644 --- a/ports/magnum-integration/CONTROL +++ b/ports/magnum-integration/CONTROL @@ -2,7 +2,7 @@ Source: magnum-integration Version: 2019.01-1 Build-Depends: magnum[core] Description: Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization -Homepage: http://magnum.graphics/ +Homepage: https://magnum.graphics/ Default-Features: Feature: bullet diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL index ed3ec45104..ef4c4084cf 100644 --- a/ports/magnum-plugins/CONTROL +++ b/ports/magnum-plugins/CONTROL @@ -2,7 +2,7 @@ Source: magnum-plugins Version: 2019.01-1 Build-Depends: magnum[core] Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization -Homepage: http://magnum.graphics/ +Homepage: https://magnum.graphics/ Default-Features: ddsimporter, miniexrimageconverter, opengeximporter, stanfordimporter, stbimageconverter, stbimageimporter Feature: assimpimporter diff --git a/ports/magnum/CONTROL b/ports/magnum/CONTROL index d1d5277861..89bcff28ed 100644 --- a/ports/magnum/CONTROL +++ b/ports/magnum/CONTROL @@ -2,7 +2,7 @@ Source: magnum Version: 2019.01-1 Build-Depends: corrade[utility] Description: C++11/C++14 graphics middleware for games and data visualization -Homepage: http://magnum.graphics/ +Homepage: https://magnum.graphics/ Default-Features: anyimageimporter, anyaudioimporter, anyimageconverter, anysceneimporter, debugtools, gl, meshtools, primitives, scenegraph, shaders, text, texturetools, trade, sdl2application Feature: al-info diff --git a/ports/matio/CONTROL b/ports/matio/CONTROL index a501977d63..6877c29721 100644 --- a/ports/matio/CONTROL +++ b/ports/matio/CONTROL @@ -1,4 +1,5 @@ Source: matio Version: 1.5.15 +Homepage: https://github.com/tbeu/matio Description: MATLAB MAT File I/O Library Build-Depends: zlib, hdf5 diff --git a/ports/matroska/CONTROL b/ports/matroska/CONTROL index eca20aca6d..29cef7e80e 100644 --- a/ports/matroska/CONTROL +++ b/ports/matroska/CONTROL @@ -1,4 +1,5 @@ Source: matroska Version: 1.5.2 +Homepage: https://github.com/Matroska-Org/libmatroska Description: a C++ libary to parse Matroska files (.mkv and .mka) Build-Depends: ebml diff --git a/ports/mbedtls/CONTROL b/ports/mbedtls/CONTROL index 0a4183cb75..ac4a4a131c 100644 --- a/ports/mbedtls/CONTROL +++ b/ports/mbedtls/CONTROL @@ -1,3 +1,4 @@ Source: mbedtls Version: 2.15.1 +Homepage: https://github.com/ARMmbed/mbedtls Description: An open source, portable, easy to use, readable and flexible SSL library diff --git a/ports/mdnsresponder/CONTROL b/ports/mdnsresponder/CONTROL index f1ee35042f..cfac2cca99 100644 --- a/ports/mdnsresponder/CONTROL +++ b/ports/mdnsresponder/CONTROL @@ -1,4 +1,4 @@ Source: mdnsresponder Version: 765.30.11 Description: The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative. -Homepage: http://developer.apple.com/bonjour/ \ No newline at end of file +Homepage: https://developer.apple.com/bonjour/ \ No newline at end of file diff --git a/ports/meschach/CONTROL b/ports/meschach/CONTROL index 84a3bf0d40..d54e03952f 100644 --- a/ports/meschach/CONTROL +++ b/ports/meschach/CONTROL @@ -1,3 +1,4 @@ Source: meschach Version: 1.2b-2 +Homepage: https://homepage.math.uiowa.edu/~dstewart/meschach Description: Matrix computations in C diff --git a/ports/metis/CONTROL b/ports/metis/CONTROL index 65571b0bdb..6db70e5990 100644 --- a/ports/metis/CONTROL +++ b/ports/metis/CONTROL @@ -1,3 +1,4 @@ Source: metis Version: 5.1.0-3 +Homepage: https://glaros.dtc.umn.edu/gkhome/metis/metis/overview Description: Serial Graph Partitioning and Fill-reducing Matrix Ordering diff --git a/ports/minizip/CONTROL b/ports/minizip/CONTROL index b0c606deda..93d453ca23 100644 --- a/ports/minizip/CONTROL +++ b/ports/minizip/CONTROL @@ -1,4 +1,5 @@ Source: minizip Version: 1.2.11-4 +Homepage: https://github.com/madler/zlib Description: Zip compression library Build-Depends: bzip2, zlib diff --git a/ports/mman/CONTROL b/ports/mman/CONTROL index dad1b19da4..6ef51acb91 100644 --- a/ports/mman/CONTROL +++ b/ports/mman/CONTROL @@ -1,3 +1,4 @@ Source: mman Version: git-f5ff813-2 +Homepage: https://github.com/witwall/mman-win32 Description: A light implementation of the mmap functions for MinGW. diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL index 577cea1aaf..35f29143d6 100644 --- a/ports/mongo-c-driver/CONTROL +++ b/ports/mongo-c-driver/CONTROL @@ -2,3 +2,4 @@ Source: mongo-c-driver Version: 1.14.0-1 Build-Depends: libbson, openssl (!windows), zlib Description: Client library written in C for MongoDB. +Homepage: https://github.com/mongodb/mongo-c-driver diff --git a/ports/mongo-cxx-driver/CONTROL b/ports/mongo-cxx-driver/CONTROL index 8d98763dd6..50a2a6efdf 100644 --- a/ports/mongo-cxx-driver/CONTROL +++ b/ports/mongo-cxx-driver/CONTROL @@ -1,6 +1,7 @@ Source: mongo-cxx-driver Version: 3.4.0-1 Build-Depends: libbson, mongo-c-driver, boost-smart-ptr, boost-optional, boost-utility +Homepage: https://github.com/mongodb/mongo-cxx-driver Description: MongoDB C++ Driver. Feature: mnmlstc diff --git a/ports/monkeys-audio/CONTROL b/ports/monkeys-audio/CONTROL index e81e943bfa..2b6447dbef 100644 --- a/ports/monkeys-audio/CONTROL +++ b/ports/monkeys-audio/CONTROL @@ -1,4 +1,5 @@ Source: monkeys-audio Version: 4.3.3-1 +Homepage: https://monkeysaudio.com Description: Monkey's Audio is an excellent audio compression tool which has multiple advantages over traditional methods. Audio files compressed with it ends with .ape extension. diff --git a/ports/mozjpeg/CONTROL b/ports/mozjpeg/CONTROL index 2fa0f2d02d..c5180d1405 100644 --- a/ports/mozjpeg/CONTROL +++ b/ports/mozjpeg/CONTROL @@ -1,3 +1,4 @@ Source: mozjpeg Version: 3.2-2 +Homepage: https://github.com/mozilla/mozjpeg Description: MozJPEG reduces file sizes of JPEG images while retaining quality and compatibility with the vast majority of the world's deployed decoders. It's compatible with libjpeg API and ABI, and can be used as a drop-in replacement for libjpeg. diff --git a/ports/mpfr/CONTROL b/ports/mpfr/CONTROL index e9f4451bea..6b64b76516 100644 --- a/ports/mpfr/CONTROL +++ b/ports/mpfr/CONTROL @@ -1,4 +1,5 @@ Source: mpfr Version: 4.0.1 +Homepage: https://www.mpfr.org Description: The MPFR library is a C library for multiple-precision floating-point computations with correct rounding Build-Depends: mpir diff --git a/ports/mpg123/CONTROL b/ports/mpg123/CONTROL index ca4f01835e..ad360039c7 100644 --- a/ports/mpg123/CONTROL +++ b/ports/mpg123/CONTROL @@ -1,3 +1,4 @@ Source: mpg123 Version: 1.25.8-5 -Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3). +Homepage: https://sourceforge.net/projects/mpg123/ +Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3). \ No newline at end of file diff --git a/ports/mpir/CONTROL b/ports/mpir/CONTROL index 5a944e6bd3..12f9d38ea2 100644 --- a/ports/mpir/CONTROL +++ b/ports/mpir/CONTROL @@ -1,3 +1,4 @@ Source: mpir Version: 3.0.0-7 +Homepage: https://github.com/wbhart/mpir Description: Multiple Precision Integers and Rationals. diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL index 4d32f7770e..75741b4d4a 100644 --- a/ports/ms-gsl/CONTROL +++ b/ports/ms-gsl/CONTROL @@ -1,3 +1,4 @@ Source: ms-gsl Version: 2019-04-19 -Description: Microsoft implementation of the Guidelines Support Library +Homepage: https://github.com/Microsoft/GSL +Description: Microsoft implementation of the Guidelines Support Library \ No newline at end of file diff --git a/ports/msgpack/CONTROL b/ports/msgpack/CONTROL index e75f0743fd..0b22d5c69b 100644 --- a/ports/msgpack/CONTROL +++ b/ports/msgpack/CONTROL @@ -1,3 +1,4 @@ Source: msgpack Version: 3.1.1 +Homepage: https://github.com/msgpack/msgpack-c Description: MessagePack is an efficient binary serialization format, which lets you exchange data among multiple languages like JSON, except that it's faster and smaller. diff --git a/ports/msinttypes/CONTROL b/ports/msinttypes/CONTROL index 8b9840e0bc..51939d075d 100644 --- a/ports/msinttypes/CONTROL +++ b/ports/msinttypes/CONTROL @@ -1,3 +1,4 @@ Source: msinttypes Version: 2018-02-25 +Homepage: https://github.com/chemeris/msinttypes Description: msinttypes is a package to provide missing ISO C9x compliant headers for Microsoft Visual Studio diff --git a/ports/mujs/CONTROL b/ports/mujs/CONTROL index a15fdf7bb9..1444af126e 100644 --- a/ports/mujs/CONTROL +++ b/ports/mujs/CONTROL @@ -1,3 +1,4 @@ Source: mujs Version: 2018-07-30-1 +Homepage: https://github.com/ccxvii/mujs Description: An embeddable Javascript interpreter in C diff --git a/ports/muparser/CONTROL b/ports/muparser/CONTROL index 5a62e603c0..734214a49d 100644 --- a/ports/muparser/CONTROL +++ b/ports/muparser/CONTROL @@ -1,3 +1,4 @@ Source: muparser Version: 2.2.6.1 +Homepage: https://github.com/beltoforion/muparser Description: Fast math parser library diff --git a/ports/nana/CONTROL b/ports/nana/CONTROL index fdf241afbe..0e832f7e87 100644 --- a/ports/nana/CONTROL +++ b/ports/nana/CONTROL @@ -1,4 +1,5 @@ Source: nana -Version: 1.7.1 +Version: 1.7.1 +Homepage: https://github.com/cnjinhao/nana Description: Cross-platform library for GUI programming in modern C++ style. Build-Depends: libpng, libjpeg-turbo, freetype (!uwp&&!windows), fontconfig (!uwp&&!windows) diff --git a/ports/nanodbc/CONTROL b/ports/nanodbc/CONTROL index 075bd4d828..bf1aaa69ed 100644 --- a/ports/nanodbc/CONTROL +++ b/ports/nanodbc/CONTROL @@ -1,3 +1,4 @@ Source: nanodbc Version: 2.12.4-3 +Homepage: https://github.com/lexicalunit/nanodbc Description: A small C++ wrapper for the native C ODBC API. diff --git a/ports/netcdf-c/CONTROL b/ports/netcdf-c/CONTROL index 91d73cacb6..c82acf055e 100644 --- a/ports/netcdf-c/CONTROL +++ b/ports/netcdf-c/CONTROL @@ -1,4 +1,5 @@ Source: netcdf-c Version: 4.7.0-2 Build-Depends: hdf5, curl +Homepage: https://github.com/Unidata/netcdf-c Description: a set of self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. diff --git a/ports/netcdf-cxx4/CONTROL b/ports/netcdf-cxx4/CONTROL index b926a25228..8ef872966f 100644 --- a/ports/netcdf-cxx4/CONTROL +++ b/ports/netcdf-cxx4/CONTROL @@ -1,4 +1,5 @@ Source: netcdf-cxx4 Version: 4.3.0-4 Build-Depends: netcdf-c +Homepage: https://github.com/Unidata/netcdf-cxx4 Description: a set of machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. diff --git a/ports/nghttp2/CONTROL b/ports/nghttp2/CONTROL index d68720137e..176a1c30a2 100644 --- a/ports/nghttp2/CONTROL +++ b/ports/nghttp2/CONTROL @@ -1,3 +1,4 @@ Source: nghttp2 Version: 1.35.0 +Homepage: https://github.com/nghttp2/nghttp2 Description: Implementation of the Hypertext Transfer Protocol version 2 in C diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL index 5d25a4eaa5..275914a940 100644 --- a/ports/nlohmann-json/CONTROL +++ b/ports/nlohmann-json/CONTROL @@ -1,3 +1,4 @@ Source: nlohmann-json Version: 3.6.1 +Homepage: https://github.com/nlohmann/json Description: JSON for Modern C++ diff --git a/ports/nlopt/CONTROL b/ports/nlopt/CONTROL index f6d91c7854..81a24bef7d 100644 --- a/ports/nlopt/CONTROL +++ b/ports/nlopt/CONTROL @@ -1,3 +1,4 @@ Source: nlopt Version: 2.6.1 +Homepage: https://github.com/stevengj/nlopt Description: a library for nonlinear local and global optimization, for functions with and without gradient information. diff --git a/ports/nmslib/CONTROL b/ports/nmslib/CONTROL index 111bcc8589..262c406823 100644 --- a/ports/nmslib/CONTROL +++ b/ports/nmslib/CONTROL @@ -1,5 +1,6 @@ Source: nmslib -Version: 1.7.3.6 +Version: 1.7.3.6 +Homepage: https://github.com/searchivarius/nmslib Description: Non-Metric Space Library (NMSLIB) is an efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces. # # ## Extras are currently unsupported for Windows, waiting for fixes. diff --git a/ports/nuklear/CONTROL b/ports/nuklear/CONTROL index cefb1656cb..1a923c8576 100644 --- a/ports/nuklear/CONTROL +++ b/ports/nuklear/CONTROL @@ -1,3 +1,4 @@ Source: nuklear Version: 2019-03-29 +Homepage: https://github.com/vurtun/nuklear Description: This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain diff --git a/ports/ode/CONTROL b/ports/ode/CONTROL index 6f88319e67..605db9d18e 100644 --- a/ports/ode/CONTROL +++ b/ports/ode/CONTROL @@ -1,3 +1,4 @@ Source: ode Version: 0.15.1-1 +Homepage: https://bitbucket.org/odedevs/ode/src/default/ Description: Open Dynamics Engine diff --git a/ports/ogre/CONTROL b/ports/ogre/CONTROL index 828f2165e8..a454a69f1a 100644 --- a/ports/ogre/CONTROL +++ b/ports/ogre/CONTROL @@ -1,6 +1,7 @@ Source: ogre Version: 1.12.0 Build-Depends: freeimage, freetype, zlib, zziplib +Homepage: https://github.com/OGRECave/ogre Description: 3D Object-Oriented Graphics Rendering Engine Feature: d3d9 diff --git a/ports/openal-soft/CONTROL b/ports/openal-soft/CONTROL index 3591a3f70c..ccea6a482d 100644 --- a/ports/openal-soft/CONTROL +++ b/ports/openal-soft/CONTROL @@ -1,3 +1,4 @@ Source: openal-soft Version: 1.19.1-2 +Homepage: https://github.com/kcat/openal-soft Description: OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API. diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL index 40249c3320..dd4e017327 100644 --- a/ports/openblas/CONTROL +++ b/ports/openblas/CONTROL @@ -1,3 +1,4 @@ Source: openblas Version: 0.3.6-2 +Homepage: https://github.com/xianyi/OpenBLAS Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. diff --git a/ports/opencl/CONTROL b/ports/opencl/CONTROL index 633c95e511..32308ad5d1 100644 --- a/ports/opencl/CONTROL +++ b/ports/opencl/CONTROL @@ -1,3 +1,4 @@ Source: opencl Version: 2.2 (2017.07.18)-1 +Homepage: https://github.com/KhronosGroup/OpenCL-Headers Description: C/C++ headers and ICD loader (Installable Client Driver) for OpenCL diff --git a/ports/opencv/CONTROL b/ports/opencv/CONTROL index 3b51455353..90d81258e0 100644 --- a/ports/opencv/CONTROL +++ b/ports/opencv/CONTROL @@ -1,6 +1,7 @@ Source: opencv Version: 3.4.3-8 Build-Depends: zlib +Homepage: https://github.com/opencv/opencv Description: computer vision library Default-Features: opengl, jpeg, png, tiff, eigen, flann diff --git a/ports/openexr/CONTROL b/ports/openexr/CONTROL index 5fd21f6daa..8795b9dce9 100644 --- a/ports/openexr/CONTROL +++ b/ports/openexr/CONTROL @@ -1,4 +1,5 @@ Source: openexr Version: 2.3.0-3 +Homepage: https://www.openexr.com/ Description: OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications Build-Depends: zlib diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL index 86ae5bd550..be2dab3c94 100644 --- a/ports/openimageio/CONTROL +++ b/ports/openimageio/CONTROL @@ -1,5 +1,6 @@ Source: openimageio Version: 1.8.16 +Homepage: https://github.com/OpenImageIO/oiio Description: A library for reading and writing images, and a bunch of related classes, utilities, and application Build-Depends: libjpeg-turbo, tiff, libpng, openexr, boost-thread, boost-smart-ptr, boost-foreach, boost-regex, boost-type-traits, boost-static-assert, boost-unordered, boost-config, boost-algorithm, boost-filesystem, boost-system, boost-thread, boost-asio, boost-random, robin-map diff --git a/ports/openjpeg/CONTROL b/ports/openjpeg/CONTROL index 110bae11a9..0fd7d64a6a 100644 --- a/ports/openjpeg/CONTROL +++ b/ports/openjpeg/CONTROL @@ -1,3 +1,4 @@ Source: openjpeg Version: 2.3.1-1 +Homepage: https://github.com/uclouvain/openjpeg Description: JPEG 2000 image library diff --git a/ports/openmama/CONTROL b/ports/openmama/CONTROL index 3b281e8c7e..899f47b931 100644 --- a/ports/openmama/CONTROL +++ b/ports/openmama/CONTROL @@ -1,4 +1,5 @@ Source: openmama Version: 6.2.3 Build-Depends: libevent, apr, qpid-proton +Homepage: https://github.com/OpenMAMA/OpenMAMA Description: OpenMAMA is a high performance vendor neutral lightweight wrapper that provides a common API interface to different middleware and messaging solutions across a variety of platforms and languages. diff --git a/ports/openni2/CONTROL b/ports/openni2/CONTROL index d7e75fb7dd..3d13ea26bb 100644 --- a/ports/openni2/CONTROL +++ b/ports/openni2/CONTROL @@ -1,4 +1,5 @@ Source: openni2 Version: 2.2.0.33-8 Build-Depends: kinectsdk1 +Homepage: https://github.com/OpenNI/OpenNI2 Description: OpenNI is open source library for access to Natural Interaction (NI) devices such as RGB-D camera. diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL index 4d81a19628..a398b409d0 100644 --- a/ports/openssl/CONTROL +++ b/ports/openssl/CONTROL @@ -1,4 +1,5 @@ Source: openssl Version: 0 +Homepage: https://www.openssl.org Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. Build-Depends: openssl-windows (windows), openssl-uwp (uwp), openssl-unix (!uwp&!windows) diff --git a/ports/opentracing/CONTROL b/ports/opentracing/CONTROL index ac0cbf6f28..c533de1f8e 100644 --- a/ports/opentracing/CONTROL +++ b/ports/opentracing/CONTROL @@ -1,4 +1,4 @@ Source: opentracing Version: 1.5.1 Description: C++ implementation of the OpenTracing API -Homepage: http://opentracing.io +Homepage: https://opentracing.io diff --git a/ports/openvdb/CONTROL b/ports/openvdb/CONTROL index 663e290b28..77a06c78cf 100644 --- a/ports/openvdb/CONTROL +++ b/ports/openvdb/CONTROL @@ -1,6 +1,7 @@ Source: openvdb Version: 6.0.0-2 Build-Depends: boost-ptr-container, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess +Homepage: https://github.com/dreamworksanimation/openvdb Description: Sparse volume data structure and tools Feature: tools diff --git a/ports/openvr/CONTROL b/ports/openvr/CONTROL index dfaf95c1e9..6e43972bf8 100644 --- a/ports/openvr/CONTROL +++ b/ports/openvr/CONTROL @@ -1,3 +1,4 @@ Source: openvr Version: 1.4.18 +Homepage: https://github.com/ValveSoftware/openvr Description: an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting. diff --git a/ports/opus/CONTROL b/ports/opus/CONTROL index 4314774ab5..c7b8d246f5 100644 --- a/ports/opus/CONTROL +++ b/ports/opus/CONTROL @@ -1,3 +1,4 @@ Source: opus Version: 1.3.1 +Homepage: https://github.com/xiph/opus Description: Totally open, royalty-free, highly versatile audio codec diff --git a/ports/opusfile/CONTROL b/ports/opusfile/CONTROL index 65f6bada71..3e80d47771 100644 --- a/ports/opusfile/CONTROL +++ b/ports/opusfile/CONTROL @@ -1,5 +1,6 @@ Source: opusfile Version: 0.11-2 +Homepage: https://github.com/xiph/opusfile Description: Stand-alone decoder library for .opus streams Build-Depends: libogg, opus diff --git a/ports/osg/CONTROL b/ports/osg/CONTROL index f5690f9bc7..9b981af9d5 100644 --- a/ports/osg/CONTROL +++ b/ports/osg/CONTROL @@ -1,5 +1,6 @@ Source: osg Version: 3.6.3-1 +Homepage: https://github.com/openscenegraph/OpenSceneGraph Description: The OpenSceneGraph is an open source high performance 3D graphics toolkit. Build-Depends: freetype, jasper, openexr, zlib, gdal, giflib, libjpeg-turbo, libpng, tiff diff --git a/ports/paho-mqtt/CONTROL b/ports/paho-mqtt/CONTROL index 590968f0a0..bd0781fad7 100644 --- a/ports/paho-mqtt/CONTROL +++ b/ports/paho-mqtt/CONTROL @@ -1,4 +1,5 @@ Source: paho-mqtt Version: 1.3.0 +Homepage: https://github.com/eclipse/paho.mqtt.c Description: Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for the Internet of Things Build-Depends: openssl diff --git a/ports/pango/CONTROL b/ports/pango/CONTROL index f58bf18ec5..192c5c0489 100644 --- a/ports/pango/CONTROL +++ b/ports/pango/CONTROL @@ -1,4 +1,5 @@ Source: pango Version: 1.40.11-4 +Homepage: https://ftp.gnome.org/pub/GNOME/sources/pango/ Description: Text and font handling library. Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!windows-static) diff --git a/ports/pangolin/CONTROL b/ports/pangolin/CONTROL index 593c753b21..77e836cb39 100644 --- a/ports/pangolin/CONTROL +++ b/ports/pangolin/CONTROL @@ -1,4 +1,5 @@ Source: pangolin Version: 0.5-6 Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg +Homepage: https://github.com/stevenlovegrove/Pangolin Description: Lightweight GUI Library diff --git a/ports/pangomm/CONTROL b/ports/pangomm/CONTROL index 68860b305f..8109a58893 100644 --- a/ports/pangomm/CONTROL +++ b/ports/pangomm/CONTROL @@ -1,4 +1,5 @@ Source: pangomm Version: 2.40.1 +Homepage: https://ftp.gnome.org/pub/GNOME/sources/pangomm Description: pangomm is the official C++ interface for the Pango font layout library. See, for instance, the Pango::Layout class. Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz, pango, cairomm, glibmm diff --git a/ports/parmetis/CONTROL b/ports/parmetis/CONTROL index bdc95557ad..7e5e3b21b6 100644 --- a/ports/parmetis/CONTROL +++ b/ports/parmetis/CONTROL @@ -1,4 +1,5 @@ Source: parmetis Version: 4.0.3-2 +Homepage: https://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview Description: Parallel Graph Partitioning and Fill-reducing Matrix Ordering Build-Depends: metis, msmpi diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL index 3e3884c484..dcd8c7aadc 100644 --- a/ports/pcl/CONTROL +++ b/ports/pcl/CONTROL @@ -1,5 +1,6 @@ Source: pcl Version: 1.9.1-3 +Homepage: https://github.com/PointCloudLibrary/pcl Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing. Build-Depends: eigen3, flann, qhull, vtk, libpng, boost-system, boost-filesystem, boost-thread, boost-date-time, boost-iostreams, boost-random, boost-foreach, boost-dynamic-bitset, boost-property-map, boost-graph, boost-multi-array, boost-signals2, boost-ptr-container, boost-uuid, boost-interprocess, boost-asio diff --git a/ports/pcre2/CONTROL b/ports/pcre2/CONTROL index c9b3438a6a..3d7824a27c 100644 --- a/ports/pcre2/CONTROL +++ b/ports/pcre2/CONTROL @@ -1,3 +1,4 @@ Source: pcre2 Version: 10.30-4 +Homepage: https://pcre.org/ Description: PCRE2 is a re-working of the original Perl Compatible Regular Expressions library diff --git a/ports/pdcurses/CONTROL b/ports/pdcurses/CONTROL index 75bce7928d..3ea97de0b0 100644 --- a/ports/pdcurses/CONTROL +++ b/ports/pdcurses/CONTROL @@ -1,3 +1,4 @@ Source: pdcurses Version: 3.8 +Homepage: https://sourceforge.net/projects/pdcurses/ Description: Public Domain Curses - a curses library for environments that don't fit the termcap/terminfo model. diff --git a/ports/physfs/CONTROL b/ports/physfs/CONTROL index 3900d77a8b..07b90bcdf0 100644 --- a/ports/physfs/CONTROL +++ b/ports/physfs/CONTROL @@ -1,4 +1,5 @@ Source: physfs Version: 3.0.2 +Homepage: https://icculus.org/physfs/ Description: a library to provide abstract access to various archives Build-Depends: zlib diff --git a/ports/picojson/CONTROL b/ports/picojson/CONTROL index a871ae3d45..4a3614202d 100644 --- a/ports/picojson/CONTROL +++ b/ports/picojson/CONTROL @@ -1,4 +1,5 @@ Source: picojson Version: 1.3.0 +Homepage: https://github.com/kazuho/picojson Description: A header-file-only, JSON parser serializer in C++. diff --git a/ports/picosha2/CONTROL b/ports/picosha2/CONTROL index 7203b8aeea..a388045a22 100644 --- a/ports/picosha2/CONTROL +++ b/ports/picosha2/CONTROL @@ -1,3 +1,4 @@ Source: picosha2 Version: 2018-07-30 +Homepage: https://github.com/okdshin/PicoSHA2 Description: PicoSHA2 - a C++ SHA256 hash generator diff --git a/ports/piex/CONTROL b/ports/piex/CONTROL index 3fb98201f9..3f257fa203 100644 --- a/ports/piex/CONTROL +++ b/ports/piex/CONTROL @@ -1,3 +1,4 @@ Source: piex Version: 2018-03-13-1 +Homepage: https://github.com/google/piex Description: The Preview Image Extractor (PIEX) is designed to find and extract the largest diff --git a/ports/pixman/CONTROL b/ports/pixman/CONTROL index 066d81076f..129ba37fe1 100644 --- a/ports/pixman/CONTROL +++ b/ports/pixman/CONTROL @@ -1,3 +1,4 @@ Source: pixman Version: 0.38.0-3 +Homepage: https://www.cairographics.org/releases Description: Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. diff --git a/ports/plibsys/CONTROL b/ports/plibsys/CONTROL index 3bb95f45bf..2c71346bbf 100644 --- a/ports/plibsys/CONTROL +++ b/ports/plibsys/CONTROL @@ -1,3 +1,4 @@ Source: plibsys Version: 0.0.4-1 +Homepage: https://github.com/saprykin/plibsys Description: Highly portable C system library: threads and synchronization, sockets, IPC, data structures and more. diff --git a/ports/plog/CONTROL b/ports/plog/CONTROL index d1abd52a64..0d6adaa08a 100644 --- a/ports/plog/CONTROL +++ b/ports/plog/CONTROL @@ -1,3 +1,4 @@ Source: plog Version: 1.1.4 +Homepage: https://github.com/SergiusTheBest/plog Description: Portable, simple and extensible C++ logging library. diff --git a/ports/podofo/CONTROL b/ports/podofo/CONTROL index 083248c3ce..630b9efcf3 100644 --- a/ports/podofo/CONTROL +++ b/ports/podofo/CONTROL @@ -1,5 +1,6 @@ Source: podofo Version: 0.9.6-7 +Homepage: https://sourceforge.net/projects/podofo/ Description: PoDoFo is a library to work with the PDF file format Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl, freetype diff --git a/ports/portaudio/CONTROL b/ports/portaudio/CONTROL index d72ff808c3..a60d598593 100644 --- a/ports/portaudio/CONTROL +++ b/ports/portaudio/CONTROL @@ -1,3 +1,4 @@ Source: portaudio Version: 19.0.6.00-5 +Homepage: https://www.portaudio.com/ Description: PortAudio Portable Cross-platform Audio I/O API PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. Many applications use PortAudio for Audio I/O. diff --git a/ports/portmidi/CONTROL b/ports/portmidi/CONTROL index 3534c18566..57550e485a 100644 --- a/ports/portmidi/CONTROL +++ b/ports/portmidi/CONTROL @@ -1,3 +1,4 @@ Source: portmidi Version: 0.217.1 +Homepage: https://sourceforge.net/projects/portmedia/ Description: Free, cross-platform, open-source I/O library for MIDI diff --git a/ports/pqp/CONTROL b/ports/pqp/CONTROL index 5eb701bc6d..35986cf9f9 100644 --- a/ports/pqp/CONTROL +++ b/ports/pqp/CONTROL @@ -1,3 +1,4 @@ Source: pqp Version: 1.3-3 +Homepage: https://gamma.cs.unc.edu/SSV/ Description: a proximity query package diff --git a/ports/proj4/CONTROL b/ports/proj4/CONTROL index cf2519b12c..d1aecc21f0 100644 --- a/ports/proj4/CONTROL +++ b/ports/proj4/CONTROL @@ -1,3 +1,4 @@ Source: proj4 Version: 4.9.3-1 +Homepage: https://download.osgeo.org/proj Description: PROJ.4 library for cartographic projections diff --git a/ports/protobuf/CONTROL b/ports/protobuf/CONTROL index 6cd33935c7..caca652975 100644 --- a/ports/protobuf/CONTROL +++ b/ports/protobuf/CONTROL @@ -1,5 +1,6 @@ Source: protobuf Version: 3.7.1 +Homepage: https://github.com/google/protobuf Description: Protocol Buffers - Google's data interchange format Feature: zlib diff --git a/ports/ptex/CONTROL b/ports/ptex/CONTROL index e41db76783..17e2bbe5ec 100644 --- a/ports/ptex/CONTROL +++ b/ports/ptex/CONTROL @@ -1,4 +1,5 @@ Source: ptex Version: 2.1.28-1 +Homepage: https://github.com/wdas/ptex Description: Per-Face Texture Mapping for Production Rendering. Build-Depends: zlib diff --git a/ports/pthreads/CONTROL b/ports/pthreads/CONTROL index 70f3af246d..e1b96a4380 100644 --- a/ports/pthreads/CONTROL +++ b/ports/pthreads/CONTROL @@ -1,3 +1,4 @@ Source: pthreads Version: 3.0.0-1 +Homepage: https://sourceware.org/pub/pthreads-win32/ Description: pthreads for windows diff --git a/ports/pugixml/CONTROL b/ports/pugixml/CONTROL index 5e2dad5999..96adad3fb7 100644 --- a/ports/pugixml/CONTROL +++ b/ports/pugixml/CONTROL @@ -1,3 +1,4 @@ Source: pugixml Version: 1.9-1 +Homepage: https://github.com/zeux/pugixml Description: C++ XML processing library diff --git a/ports/pybind11/CONTROL b/ports/pybind11/CONTROL index 880d6c3b7b..634afca381 100644 --- a/ports/pybind11/CONTROL +++ b/ports/pybind11/CONTROL @@ -1,4 +1,5 @@ Source: pybind11 Version: 2.2.4 +Homepage: https://github.com/pybind/pybind11 Description: pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code. Build-Depends: python3 (windows) \ No newline at end of file diff --git a/ports/pystring/CONTROL b/ports/pystring/CONTROL index 9bdd7daf2d..698e0466de 100644 --- a/ports/pystring/CONTROL +++ b/ports/pystring/CONTROL @@ -1,3 +1,4 @@ Source: pystring Version: 1.1.3-2 +Homepage: https://github.com/imageworks/pystring Description: Pystring is a collection of C++ functions which match the interface and behavior of python's string class methods using std::string diff --git a/ports/python3/CONTROL b/ports/python3/CONTROL index db8f63766d..1b9a019887 100644 --- a/ports/python3/CONTROL +++ b/ports/python3/CONTROL @@ -1,3 +1,4 @@ Source: python3 Version: 3.7.3 +Homepage: https://github.com/python/cpython Description: The Python programming language as an embeddable library \ No newline at end of file diff --git a/ports/qhull/CONTROL b/ports/qhull/CONTROL index f14eb4344f..d8a4020494 100644 --- a/ports/qhull/CONTROL +++ b/ports/qhull/CONTROL @@ -1,3 +1,4 @@ Source: qhull Version: 7.2.1-3 +Homepage: https://github.com/qhull/qhull Description: computes the convex hull, Delaunay triangulation, Voronoi diagram diff --git a/ports/qpid-proton/CONTROL b/ports/qpid-proton/CONTROL index 88fa09d74f..8544cb9591 100644 --- a/ports/qpid-proton/CONTROL +++ b/ports/qpid-proton/CONTROL @@ -1,4 +1,5 @@ Source: qpid-proton Version: 0.28.0 Build-Depends: openssl (!windows&!uwp), libuv (osx), jsoncpp -Description: Qpid Proton is a high-performance, lightweight messaging library. +Homepage: https://github.com/apache/qpid-proton +Description: Qpid Proton is a high-performance, lightweight messaging library. \ No newline at end of file diff --git a/ports/qscintilla/CONTROL b/ports/qscintilla/CONTROL index 41b86bba9e..ee8a7be2f1 100644 --- a/ports/qscintilla/CONTROL +++ b/ports/qscintilla/CONTROL @@ -1,4 +1,5 @@ Source: qscintilla Version: 2.10-8 +Homepage: https://sourceforge.net/projects/pyqt Description: QScintilla is a port to Qt of the Scintilla editing component. Features syntax highlighting, code-completion and much more (Barebone build without python bindings (missing dependeny PyQt) and without QtDesigner plugin) Build-Depends: qt5-base, qt5-macextras (osx), qt5-winextras (windows) diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index 8ad87a0aee..0082dc46cf 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,4 +1,5 @@ Source: qt5-base Version: 5.12.3-1 +Homepage: https://www.qt.io/ Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components. Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl diff --git a/ports/qt5/CONTROL b/ports/qt5/CONTROL index e22f4609b6..74b69467ae 100644 --- a/ports/qt5/CONTROL +++ b/ports/qt5/CONTROL @@ -1,4 +1,5 @@ Source: qt5 Version: 5.12.3 +Homepage: https://www.qt.io/ Description: Qt5 Application Framework Build-Depends: qt5-3d, qt5-activeqt, qt5-base, qt5-charts, qt5-datavis3d, qt5-declarative, qt5-gamepad, qt5-graphicaleffects, qt5-imageformats, qt5-location, qt5-multimedia, qt5-mqtt, qt5-networkauth, qt5-purchasing, qt5-quickcontrols, qt5-quickcontrols2, qt5-script, qt5-scxml, qt5-sensors, qt5-serialport, qt5-speech, qt5-svg, qt5-tools, qt5-virtualkeyboard, qt5-webchannel, qt5-websockets, qt5-winextras (windows), qt5-macextras (osx), qt5-xmlpatterns diff --git a/ports/qwt/CONTROL b/ports/qwt/CONTROL index fad52600fd..230203b34a 100644 --- a/ports/qwt/CONTROL +++ b/ports/qwt/CONTROL @@ -1,4 +1,5 @@ Source: qwt Version: 6.1.3-6 +Homepage: https://sourceforge.net/projects/qwt Description: Qt widgets library for technical applications Build-Depends: qt5-base, qt5-svg, qt5-tools diff --git a/ports/ragel/CONTROL b/ports/ragel/CONTROL index bb6595ac5c..112128a521 100644 --- a/ports/ragel/CONTROL +++ b/ports/ragel/CONTROL @@ -1,3 +1,4 @@ Source: ragel Version: 6.10-1 +Homepage: https://www.colm.net/files/ragel Description: Ragel State Machine Compiler diff --git a/ports/range-v3/CONTROL b/ports/range-v3/CONTROL index ec7d32cf8b..fb534ac297 100644 --- a/ports/range-v3/CONTROL +++ b/ports/range-v3/CONTROL @@ -1,3 +1,4 @@ Source: range-v3 Version: 0.5.0 +Homepage: https://github.com/Microsoft/Range-V3-VS2015 Description: Range library for C++11/14/17. diff --git a/ports/rapidxml/CONTROL b/ports/rapidxml/CONTROL index cfd7e0cd52..bfc1eb77b6 100644 --- a/ports/rapidxml/CONTROL +++ b/ports/rapidxml/CONTROL @@ -1,3 +1,4 @@ Source: rapidxml Version: 1.13 +Homepage: https://sourceforge.net/projects/rapidxml Description: RapidXml is an attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL index bcfa9c7242..32a1726ab4 100644 --- a/ports/re2/CONTROL +++ b/ports/re2/CONTROL @@ -1,3 +1,4 @@ Source: re2 Version: 2019-05-07 +Homepage: https://github.com/google/re2 Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. \ No newline at end of file diff --git a/ports/readosm/CONTROL b/ports/readosm/CONTROL index 08e696e6dd..caf32bf4b4 100644 --- a/ports/readosm/CONTROL +++ b/ports/readosm/CONTROL @@ -1,4 +1,5 @@ Source: readosm Version: 1.1.0-1 +Homepage: https://www.gaia-gis.it/gaia-sins/readosm-sources Description: ReadOSM is an open source library to extract valid data from within an Open Street Map input file (.osm or .osm.pbf) Build-Depends: expat, zlib diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL index 2802c0f9d0..5147c77cf3 100644 --- a/ports/realsense2/CONTROL +++ b/ports/realsense2/CONTROL @@ -1,5 +1,6 @@ Source: realsense2 Version: 2.16.1-2 +Homepage: https://github.com/IntelRealSense/librealsense Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300). Feature: tools diff --git a/ports/recast/CONTROL b/ports/recast/CONTROL index 969b9d1725..e19df38c8f 100644 --- a/ports/recast/CONTROL +++ b/ports/recast/CONTROL @@ -1,3 +1,4 @@ Source: recast Version: 1.5.1-2 +Homepage: https://github.com/recastnavigation/recastnavigation Description: Navigation-mesh Toolset for Games diff --git a/ports/refprop-headers/CONTROL b/ports/refprop-headers/CONTROL index 00b78cc55a..c9356556e2 100644 --- a/ports/refprop-headers/CONTROL +++ b/ports/refprop-headers/CONTROL @@ -1,3 +1,4 @@ Source: refprop-headers Version: 2017-11-7-882aec454b2bc3d5323b8691736ff09c288f4ed6 +Homepage: https://github.com/CoolProp/REFPROP-headers Description: The REFPROP Headers diff --git a/ports/rhash/CONTROL b/ports/rhash/CONTROL index a25c1190b7..a2bb52c2f2 100644 --- a/ports/rhash/CONTROL +++ b/ports/rhash/CONTROL @@ -1,3 +1,4 @@ Source: rhash Version: 1.3.8 +Homepage: https://github.com/rhash/RHash Description: C library for computing a wide variety of hash sums diff --git a/ports/rocksdb/CONTROL b/ports/rocksdb/CONTROL index 10562f779f..6e35d8a9b2 100644 --- a/ports/rocksdb/CONTROL +++ b/ports/rocksdb/CONTROL @@ -1,5 +1,6 @@ Source: rocksdb Version: 6.0.2 +Homepage: https://github.com/facebook/rocksdb Description: A library that provides an embeddable, persistent key-value store for fast storage Default-Features: zlib diff --git a/ports/rpclib/CONTROL b/ports/rpclib/CONTROL index d3531e9b51..15e6abd3ed 100644 --- a/ports/rpclib/CONTROL +++ b/ports/rpclib/CONTROL @@ -1,3 +1,4 @@ Source: rpclib Version: 2.2.1-1 +Homepage: https://github.com/rpclib/rpclib Description: a RPC library for C++, providing both a client and server implementation. It is built using modern C++14. diff --git a/ports/rs-core-lib/CONTROL b/ports/rs-core-lib/CONTROL index 0350e206f3..1a766286b6 100644 --- a/ports/rs-core-lib/CONTROL +++ b/ports/rs-core-lib/CONTROL @@ -1,4 +1,5 @@ Source: rs-core-lib Version: 2019-05-07 +Homepage: https://github.com/CaptainCrowbar/rs-core-lib Description: Minimal common utilities by Ross Smith diff --git a/ports/rtmidi/CONTROL b/ports/rtmidi/CONTROL index 2c3d38dd4c..3742ec9b16 100644 --- a/ports/rtmidi/CONTROL +++ b/ports/rtmidi/CONTROL @@ -1,3 +1,4 @@ Source: rtmidi Version: 4.0.0 +Homepage: https://github.com/thestk/rtmidi Description: A set of C++ classes that provide a common API for realtime MIDI input/output across Linux (ALSA & JACK), Macintosh OS X (CoreMidi & JACK) and Windows (Multimedia) diff --git a/ports/rttr/CONTROL b/ports/rttr/CONTROL index 55e6e6b673..7394927840 100644 --- a/ports/rttr/CONTROL +++ b/ports/rttr/CONTROL @@ -1,3 +1,4 @@ Source: rttr Version: 0.9.6-1 +Homepage: https://github.com/rttrorg/rttr Description: an easy and intuitive way to use reflection in C++ diff --git a/ports/rxcpp/CONTROL b/ports/rxcpp/CONTROL index c94e71b769..2ada65d3bd 100644 --- a/ports/rxcpp/CONTROL +++ b/ports/rxcpp/CONTROL @@ -1,3 +1,4 @@ Source: rxcpp Version: 4.1.0 +Homepage: https://github.com/Reactive-Extensions/RxCpp Description: Reactive Extensions for C++ \ No newline at end of file diff --git a/ports/scintilla/CONTROL b/ports/scintilla/CONTROL index 8f1b2f38c0..6b7aa54f61 100644 --- a/ports/scintilla/CONTROL +++ b/ports/scintilla/CONTROL @@ -1,3 +1,4 @@ Source: scintilla Version: 4.1.2 +Homepage: https://www.scintilla.org/ Description: A free source code editing component for Win32, GTK+, and OS X diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL index 69f2d68a09..0cd3bb219e 100644 --- a/ports/sciter/CONTROL +++ b/ports/sciter/CONTROL @@ -1,4 +1,5 @@ Source: sciter Version: 4.2.6.9-1 +Homepage: https://github.com/c-smile/sciter-sdk Description: Sciter is an embeddable HTML/CSS/scripting engine. Maintainer: andrew.fedoniouk@gmail.com, ehysta@gmail.com diff --git a/ports/scylla-wrapper/CONTROL b/ports/scylla-wrapper/CONTROL index e320224b00..bbe37c1171 100644 --- a/ports/scylla-wrapper/CONTROL +++ b/ports/scylla-wrapper/CONTROL @@ -1,4 +1,4 @@ Source: scylla-wrapper Version: 2018-08-26-16e6f435 Build-Depends: distorm -Description: This is a wrapper around Scylla. It exports functions for IAT fixing, dumping and PE rebuilding. based on http://github.com/NtQuery/Scylla commit 0f6b7198be (v0.9.6b). \ No newline at end of file +Description: This is a wrapper around Scylla. It exports functions for IAT fixing, dumping and PE rebuilding. based on https://github.com/NtQuery/Scylla commit 0f6b7198be (v0.9.6b). \ No newline at end of file diff --git a/ports/sdl2-image/CONTROL b/ports/sdl2-image/CONTROL index 2788f032a2..388e08d5af 100644 --- a/ports/sdl2-image/CONTROL +++ b/ports/sdl2-image/CONTROL @@ -1,6 +1,7 @@ Source: sdl2-image Version: 2.0.4-2 Build-Depends: sdl2, libpng +Homepage: https://www.libsdl.org/projects/SDL_image Description: SDL_image is an image file loading library. It loads images as SDL surfaces and textures, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, XV Feature: libjpeg-turbo diff --git a/ports/sdl2-mixer/CONTROL b/ports/sdl2-mixer/CONTROL index 4c55575f45..57827c0e69 100644 --- a/ports/sdl2-mixer/CONTROL +++ b/ports/sdl2-mixer/CONTROL @@ -1,5 +1,6 @@ Source: sdl2-mixer Version: 2.0.4-2 +Homepage: https://www.libsdl.org/projects/SDL_mixer Description: Multi-channel audio mixer library for SDL. Build-Depends: sdl2 diff --git a/ports/sdl2-net/CONTROL b/ports/sdl2-net/CONTROL index e855e2656f..848691145e 100644 --- a/ports/sdl2-net/CONTROL +++ b/ports/sdl2-net/CONTROL @@ -1,4 +1,5 @@ Source: sdl2-net Version: 2.0.1-6 +Homepage: https://www.libsdl.org/projects/SDL_net Description: Networking library for SDL Build-Depends: sdl2 diff --git a/ports/sdl2-ttf/CONTROL b/ports/sdl2-ttf/CONTROL index 22598164e0..9154c52da4 100644 --- a/ports/sdl2-ttf/CONTROL +++ b/ports/sdl2-ttf/CONTROL @@ -1,4 +1,5 @@ Source: sdl2-ttf Version: 2.0.15-2 +Homepage: https://www.libsdl.org/projects/SDL_ttf/ Description: A library for rendering TrueType fonts with SDL Build-Depends: sdl2, freetype diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL index b03d96e818..bfda1f10b2 100644 --- a/ports/sdl2/CONTROL +++ b/ports/sdl2/CONTROL @@ -1,5 +1,6 @@ Source: sdl2 Version: 2.0.9-3 +Homepage: https://github.com/SDL-Mirror/SDL 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. Feature: vulkan diff --git a/ports/secp256k1/CONTROL b/ports/secp256k1/CONTROL index 16761cc4d4..a0414b60c0 100644 --- a/ports/secp256k1/CONTROL +++ b/ports/secp256k1/CONTROL @@ -1,3 +1,4 @@ Source: secp256k1 Version: 2017-19-10-0b7024185045a49a1a6a4c5615bf31c94f63d9c4-2 +Homepage: https://github.com/bitcoin-core/secp256k1 Description: Optimized C library for EC operations on curve diff --git a/ports/sfgui/CONTROL b/ports/sfgui/CONTROL index da3ee41a9e..cd9f17ab9d 100644 --- a/ports/sfgui/CONTROL +++ b/ports/sfgui/CONTROL @@ -1,4 +1,5 @@ Source: sfgui Version: 0.4.0 +Homepage: https://github.com/TankOs/SFGUI Description: simple and fast graphical user interface library Build-Depends: sfml diff --git a/ports/sfml/CONTROL b/ports/sfml/CONTROL index 8fcda5bc12..d23645a301 100644 --- a/ports/sfml/CONTROL +++ b/ports/sfml/CONTROL @@ -1,4 +1,5 @@ Source: sfml Version: 2.5.1-1 +Homepage: https://github.com/sfml/sfml Description: Simple and fast multimedia library Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb diff --git a/ports/shaderc/CONTROL b/ports/shaderc/CONTROL index c428c0ea9e..36f82852a1 100644 --- a/ports/shaderc/CONTROL +++ b/ports/shaderc/CONTROL @@ -1,4 +1,5 @@ Source: shaderc Version: 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-2 +Homepage: https://github.com/google/shaderc Description: A collection of tools, libraries and tests for shader compilation. Build-Depends: glslang, spirv-tools diff --git a/ports/shapelib/CONTROL b/ports/shapelib/CONTROL index 57fbecb53f..338be3ebe7 100644 --- a/ports/shapelib/CONTROL +++ b/ports/shapelib/CONTROL @@ -1,3 +1,4 @@ Source: shapelib Version: 1.4.1-1 +Homepage: https://download.osgeo.org/shapelib Description: Shapefile C Library is simple C API for reading and writing ESRI Shapefiles diff --git a/ports/signalrclient/CONTROL b/ports/signalrclient/CONTROL index 12f9dcfe23..e64b920bae 100644 --- a/ports/signalrclient/CONTROL +++ b/ports/signalrclient/CONTROL @@ -1,4 +1,5 @@ Source: signalrclient Version: 1.0.0-beta1-6 Build-Depends: cpprestsdk, openssl +Homepage: https://github.com/aspnet/SignalR-Client-Cpp Description: C++ client for SignalR. diff --git a/ports/smpeg2/CONTROL b/ports/smpeg2/CONTROL index fc1e1604c6..3a761287ee 100644 --- a/ports/smpeg2/CONTROL +++ b/ports/smpeg2/CONTROL @@ -1,4 +1,5 @@ Source: smpeg2 Version: 2.0.0-6 +Homepage: https://www.libsdl.org/projects/smpeg/ Description: SDL MPEG Player Library Build-Depends: sdl2 diff --git a/ports/snappy/CONTROL b/ports/snappy/CONTROL index d90f5039c1..a0a0cae03f 100644 --- a/ports/snappy/CONTROL +++ b/ports/snappy/CONTROL @@ -1,3 +1,4 @@ Source: snappy Version: 1.1.7-2 +Homepage: https://github.com/google/snappy Description: A fast compressor/decompressor. diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL index 27cb2971fe..12b0968d96 100644 --- a/ports/sobjectizer/CONTROL +++ b/ports/sobjectizer/CONTROL @@ -1,3 +1,4 @@ Source: sobjectizer Version: 5.5.24.4 +Homepage: https://sourceforge.net/projects/sobjectizer Description: SObjectizer is a C++ in-process message dispatching framework with implementation of Actor Model, Publish-Subscribe Model and CSP-like channels. diff --git a/ports/soci/CONTROL b/ports/soci/CONTROL index 33de13eb78..224e3de64e 100644 --- a/ports/soci/CONTROL +++ b/ports/soci/CONTROL @@ -1,5 +1,6 @@ Source: soci Version: 3.2.3-4 +Homepage: https://github.com/SOCI/soci Description: SOCI database access library Feature: boost diff --git a/ports/sol2/CONTROL b/ports/sol2/CONTROL index 5d702333ca..a43b1c7b45 100644 --- a/ports/sol2/CONTROL +++ b/ports/sol2/CONTROL @@ -1,4 +1,5 @@ Source: sol2 Version: 3.0.2 +Homepage: https://github.com/ThePhD/sol2 Description: Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great Build-Depends: lua (windows) \ No newline at end of file diff --git a/ports/sophus/CONTROL b/ports/sophus/CONTROL index e6cf512f20..91e97c90ba 100644 --- a/ports/sophus/CONTROL +++ b/ports/sophus/CONTROL @@ -1,4 +1,5 @@ Source: sophus Version: 1.0.0-3 Build-Depends: eigen3, ceres, suitesparse +Homepage: https://github.com/strasdat/Sophus Description: Lie group library for C++ diff --git a/ports/soundtouch/CONTROL b/ports/soundtouch/CONTROL index 012b7c9df9..2e358f55ec 100644 --- a/ports/soundtouch/CONTROL +++ b/ports/soundtouch/CONTROL @@ -1,4 +1,5 @@ Source: soundtouch Version: 2.0.0-2 +Homepage: https://www.surina.net/soundtouch Description: SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or audio files. Build-Depends: atlmfc diff --git a/ports/spatialite-tools/CONTROL b/ports/spatialite-tools/CONTROL index 19b2aafbba..3ba32121c1 100644 --- a/ports/spatialite-tools/CONTROL +++ b/ports/spatialite-tools/CONTROL @@ -1,4 +1,5 @@ Source: spatialite-tools Version: 4.3.0-1 +Homepage: https://www.gaia-gis.it/fossil/spatialite-tools/index Description: Contains spatialite.exe and other command line tools to work with SpatiaLite databases (import, export, SQL queries) Build-Depends: sqlite3, libspatialite, geos, readosm, proj4, zlib, libiconv, expat diff --git a/ports/spdlog/CONTROL b/ports/spdlog/CONTROL index 801cd3697f..38149a55c7 100644 --- a/ports/spdlog/CONTROL +++ b/ports/spdlog/CONTROL @@ -1,4 +1,5 @@ Source: spdlog Version: 1.3.1 +Homepage: https://github.com/gabime/spdlog Description: Very fast, header only, C++ logging library Build-Depends: fmt diff --git a/ports/speex/CONTROL b/ports/speex/CONTROL index 6fcda84be3..3291927c28 100644 --- a/ports/speex/CONTROL +++ b/ports/speex/CONTROL @@ -1,3 +1,4 @@ Source: speex Version: 1.2.0-4 +Homepage: https://github.com/xiph/speex Description: Speex is an Open Source/Free Software patent-free audio compression format designed for speech. diff --git a/ports/speexdsp/CONTROL b/ports/speexdsp/CONTROL index d7e8bac98b..d96eb11c1d 100644 --- a/ports/speexdsp/CONTROL +++ b/ports/speexdsp/CONTROL @@ -1,4 +1,5 @@ Source: speexdsp Version: 1.2rc3-2 +Homepage: https://ftp.osuosl.org/pub/xiph/releases/speex/ Description: A patent-free, Open Source/Free Software DSP library. Build-Depends: diff --git a/ports/spirit-po/CONTROL b/ports/spirit-po/CONTROL index eb3b319b7c..e31bdcb2e6 100644 --- a/ports/spirit-po/CONTROL +++ b/ports/spirit-po/CONTROL @@ -1,4 +1,5 @@ Source: spirit-po Version: 1.1.2-1 +Homepage: https://github.com/cbeck88/spirit-po Description: A header-only C++ library for localization using GNU gettext po files, based on Boost.Spirit. Build-Depends: boost diff --git a/ports/spirv-tools/CONTROL b/ports/spirv-tools/CONTROL index 38995e3567..b5f0c536a3 100644 --- a/ports/spirv-tools/CONTROL +++ b/ports/spirv-tools/CONTROL @@ -1,4 +1,5 @@ Source: spirv-tools Version: 2018.1-2 +Homepage: https://github.com/KhronosGroup/SPIRV-Tools Description: API and commands for processing SPIR-V modules Build-Depends: spirv-headers diff --git a/ports/sqlite-modern-cpp/CONTROL b/ports/sqlite-modern-cpp/CONTROL index c3e3b38be8..c8e3ccb642 100644 --- a/ports/sqlite-modern-cpp/CONTROL +++ b/ports/sqlite-modern-cpp/CONTROL @@ -1,4 +1,5 @@ Source: sqlite-modern-cpp Version: 3.2-936cd0c8 Build-Depends: sqlite3 +Homepage: https://github.com/aminroosta/sqlite_modern_cpp Description: The C++14 wrapper around sqlite library diff --git a/ports/sqlite3/CONTROL b/ports/sqlite3/CONTROL index ab5f103fd8..c829193a2a 100644 --- a/ports/sqlite3/CONTROL +++ b/ports/sqlite3/CONTROL @@ -1,5 +1,6 @@ Source: sqlite3 Version: 3.27.2 +Homepage: https://sqlite.org/ Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. Feature: tool diff --git a/ports/sqlitecpp/CONTROL b/ports/sqlitecpp/CONTROL index ecb0f16e5f..8d0fb047e7 100644 --- a/ports/sqlitecpp/CONTROL +++ b/ports/sqlitecpp/CONTROL @@ -1,4 +1,5 @@ Source: sqlitecpp Version: 2.3.0 Build-Depends: sqlite3 +Homepage: https://github.com/SRombauts/SQLiteCpp Description: SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. diff --git a/ports/stb/CONTROL b/ports/stb/CONTROL index 7ffc04be05..ff7778020e 100644 --- a/ports/stb/CONTROL +++ b/ports/stb/CONTROL @@ -1,3 +1,4 @@ Source: stb Version: 2019-05-07 +Homepage: https://github.com/nothings/stb Description: stb single-file public domain libraries for C/C++ diff --git a/ports/string-theory/CONTROL b/ports/string-theory/CONTROL index 841f6abeff..e1c0c8af0e 100644 --- a/ports/string-theory/CONTROL +++ b/ports/string-theory/CONTROL @@ -1,3 +1,4 @@ Source: string-theory Version: 2.1 +Homepage: https://github.com/zrax/string_theory Description: Flexible C++11 string library with type-safe formatting. diff --git a/ports/strtk/CONTROL b/ports/strtk/CONTROL index 861e148a79..0effa1bb04 100644 --- a/ports/strtk/CONTROL +++ b/ports/strtk/CONTROL @@ -1,4 +1,5 @@ Source: strtk Version: 2019-01-09 +Homepage: https://github.com/ArashPartow/strtk Description: robust, optimized and portable string processing algorithms for the C++ language Build-Depends: boost diff --git a/ports/suitesparse/CONTROL b/ports/suitesparse/CONTROL index 5182a90cd3..352a28a6da 100644 --- a/ports/suitesparse/CONTROL +++ b/ports/suitesparse/CONTROL @@ -1,6 +1,7 @@ Source: suitesparse Version: 5.4.0-1 Build-Depends: clapack (!osx) +Homepage: http://faculty.cse.tamu.edu/davis/SuiteSparse Description: algebra library Feature: metis diff --git a/ports/sundials/CONTROL b/ports/sundials/CONTROL index 7651993bf2..dc6955d40d 100644 --- a/ports/sundials/CONTROL +++ b/ports/sundials/CONTROL @@ -1,3 +1,4 @@ Source: sundials Version: 3.1.1 +Homepage: https://computation.llnl.gov/projects/sundials Description: SUNDIALS (SUite of Nonlinear and DIfferential/ALgebraic equation Solvers) diff --git a/ports/szip/CONTROL b/ports/szip/CONTROL index 79a99911de..a2ea5f275b 100644 --- a/ports/szip/CONTROL +++ b/ports/szip/CONTROL @@ -1,3 +1,4 @@ Source: szip Version: 2.1.1-3 +Homepage: https://support.hdfgroup.org/ftp/lib-external/szip Description: Szip compression software, providing lossless compression of scientific data diff --git a/ports/tacopie/CONTROL b/ports/tacopie/CONTROL index 47493a0223..a800a26be0 100644 --- a/ports/tacopie/CONTROL +++ b/ports/tacopie/CONTROL @@ -1,3 +1,4 @@ Source: tacopie Version: 3.2.0-1 +Homepage: https://github.com/Cylix/tacopie Description: Tacopie is a TCP Client & Server C++11 library diff --git a/ports/taglib/CONTROL b/ports/taglib/CONTROL index fe0567998e..9756e8e8c9 100644 --- a/ports/taglib/CONTROL +++ b/ports/taglib/CONTROL @@ -1,4 +1,5 @@ Source: taglib Version: 1.11.1-20190531 Description: TagLib Audio Meta-Data Library +Homepage: https://github.com/taglib/taglib Build-Depends: zlib diff --git a/ports/tbb/CONTROL b/ports/tbb/CONTROL index 70e21589a3..e3ae789363 100644 --- a/ports/tbb/CONTROL +++ b/ports/tbb/CONTROL @@ -1,3 +1,4 @@ Source: tbb Version: 2019_U7 +Homepage: https://github.com/01org/tbb Description: Intel's Threading Building Blocks. diff --git a/ports/tclap/CONTROL b/ports/tclap/CONTROL index e4276ca036..652593d40c 100644 --- a/ports/tclap/CONTROL +++ b/ports/tclap/CONTROL @@ -1,3 +1,4 @@ Source: tclap Version: 1.2.2 +Homepage: https://sourceforge.net/projects/tclap/ Description: Templatized command-line argument parser for C++ diff --git a/ports/telnetpp/CONTROL b/ports/telnetpp/CONTROL index 27ebdb31b1..563a12f561 100644 --- a/ports/telnetpp/CONTROL +++ b/ports/telnetpp/CONTROL @@ -1,4 +1,5 @@ Source: telnetpp Version: 1.2.4-1 +Homepage: https://github.com/KazDragon/telnetpp Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14 Build-Depends: boost, gtest, zlib diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL index 11ff55640e..85e76cc035 100644 --- a/ports/tesseract/CONTROL +++ b/ports/tesseract/CONTROL @@ -1,4 +1,5 @@ Source: tesseract Version: 4.0.0-2 +Homepage: https://github.com/tesseract-ocr/tesseract Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. Build-Depends: leptonica, icu diff --git a/ports/theia/CONTROL b/ports/theia/CONTROL index d29e6b3fef..2d527adcdf 100644 --- a/ports/theia/CONTROL +++ b/ports/theia/CONTROL @@ -1,4 +1,5 @@ Source: theia Version: 0.8-2 Build-Depends: flann, cereal, ceres[suitesparse], openimageio, glew, freeglut (!osx) +Homepage: https://github.com/sweeneychris/TheiaSfM Description: An open source library for multiview geometry and structure from motion diff --git a/ports/thor/CONTROL b/ports/thor/CONTROL index 4ff531d142..afdc2aafb9 100644 --- a/ports/thor/CONTROL +++ b/ports/thor/CONTROL @@ -1,4 +1,5 @@ Source: thor Version: 2.0-2 +Homepage: https://github.com/Bromeon/Thor Description: Extends the multimedia library SFML with higher-level features Build-Depends: sfml, aurora diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index e1afc6ccf5..47a85dfa5a 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -1,4 +1,5 @@ Source: thrift Version: 2019-05-07-1 Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit +Homepage: https://github.com/apache/thrift Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010. diff --git a/ports/tidy-html5/CONTROL b/ports/tidy-html5/CONTROL index ff74c19732..0f608ea2de 100644 --- a/ports/tidy-html5/CONTROL +++ b/ports/tidy-html5/CONTROL @@ -1,3 +1,4 @@ Source: tidy-html5 Version: 5.6.0 +Homepage: https://github.com/htacg/tidy-html5 Description: Tidy tidies HTML and XML. It can tidy your documents by itself, and developers can easily integrate its features into even more powerful tools. diff --git a/ports/tiff/CONTROL b/ports/tiff/CONTROL index d4ad07dc62..9c88261a6b 100644 --- a/ports/tiff/CONTROL +++ b/ports/tiff/CONTROL @@ -1,4 +1,5 @@ Source: tiff Version: 4.0.10-6 Build-Depends: zlib, libjpeg-turbo, liblzma +Homepage: https://download.osgeo.org/libtiff Description: A library that supports the manipulation of TIFF image files diff --git a/ports/tiny-dnn/CONTROL b/ports/tiny-dnn/CONTROL index 9198ef7fdc..2a31c833a8 100644 --- a/ports/tiny-dnn/CONTROL +++ b/ports/tiny-dnn/CONTROL @@ -1,3 +1,4 @@ Source: tiny-dnn Version: 2018-10-25 +Homepage: https://github.com/tiny-dnn/tiny-dnn Description: A C++14 implementation of deep learning. It is suitable for deep learning on limited computational resource. diff --git a/ports/tinydir/CONTROL b/ports/tinydir/CONTROL index 8ee419763a..04a6b7b60b 100644 --- a/ports/tinydir/CONTROL +++ b/ports/tinydir/CONTROL @@ -1,3 +1,4 @@ Source: tinydir Version: 1.2.4 +Homepage: https://github.com/cxong/tinydir Description: Lightweight, portable and easy to integrate C directory and file reader diff --git a/ports/tinyexif/CONTROL b/ports/tinyexif/CONTROL index 8302333d53..861520321b 100644 --- a/ports/tinyexif/CONTROL +++ b/ports/tinyexif/CONTROL @@ -1,4 +1,5 @@ Source: tinyexif Version: 1.0.2-4 Build-Depends: tinyxml2 +Homepage: https://github.com/cdcseacave/TinyEXIF Description: tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG images diff --git a/ports/tinyexr/CONTROL b/ports/tinyexr/CONTROL index 3dbc261011..076322a0fb 100644 --- a/ports/tinyexr/CONTROL +++ b/ports/tinyexr/CONTROL @@ -1,3 +1,4 @@ Source: tinyexr Version: 0.9.5-d16ea6-1 +Homepage: https://github.com/syoyo/tinyexr Description: Library to load and save OpenEXR(.exr) images diff --git a/ports/tinythread/CONTROL b/ports/tinythread/CONTROL index 6b5de12e1d..c837708ce7 100644 --- a/ports/tinythread/CONTROL +++ b/ports/tinythread/CONTROL @@ -1,3 +1,4 @@ Source: tinythread Version: 1.1-2 +Homepage: https://tinythreadpp.bitsnbites.eu/ Description: Implements a fairly compatible subset of the C++11 thread management classes diff --git a/ports/tinytoml/CONTROL b/ports/tinytoml/CONTROL index b656fccc48..ba262920f9 100644 --- a/ports/tinytoml/CONTROL +++ b/ports/tinytoml/CONTROL @@ -1,3 +1,4 @@ Source: tinytoml Version: 20180219-1 +Homepage: https://github.com/mayah/tinytoml Description: A header only C++11 library for parsing TOML. diff --git a/ports/tinyxml/CONTROL b/ports/tinyxml/CONTROL index 4eacee3b26..749dc2e7e6 100644 --- a/ports/tinyxml/CONTROL +++ b/ports/tinyxml/CONTROL @@ -1,3 +1,4 @@ Source: tinyxml Version: 2.6.2-4 +Homepage: https://sourceforge.net/projects/tinyxml Description: A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. diff --git a/ports/tinyxml2/CONTROL b/ports/tinyxml2/CONTROL index 5c4fb87a25..f3b7655e98 100644 --- a/ports/tinyxml2/CONTROL +++ b/ports/tinyxml2/CONTROL @@ -1,3 +1,4 @@ Source: tinyxml2 Version: 7.0.1 +Homepage: https://github.com/leethomason/tinyxml2 Description: A simple, small, efficient, C++ XML parser diff --git a/ports/torch-th/CONTROL b/ports/torch-th/CONTROL index edaaef3d49..1ffe36b0a5 100644 --- a/ports/torch-th/CONTROL +++ b/ports/torch-th/CONTROL @@ -1,3 +1,4 @@ Source: torch-th Version: 2019-04-19-1 +Homepage: https://github.com/torch/torch7 Description: Torch's TH library diff --git a/ports/tre/CONTROL b/ports/tre/CONTROL index a5df8cd111..70a5ce003f 100644 --- a/ports/tre/CONTROL +++ b/ports/tre/CONTROL @@ -1,3 +1,4 @@ Source: tre Version: 0.8.0-1 +Homepage: https://github.com/laurikari/tre Description: TRE is a lightweight, robust, and efficient POSIX compliant regexp matching library with some exciting features such as approximate (fuzzy) matching. diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL index 655dd26d72..9da8c56e91 100644 --- a/ports/unicorn-lib/CONTROL +++ b/ports/unicorn-lib/CONTROL @@ -1,4 +1,5 @@ Source: unicorn-lib Version: 2019-05-07-1 +Homepage: https://github.com/CaptainCrowbar/unicorn-lib Description: Unicode library for C++ by Ross Smith Build-Depends: rs-core-lib, pcre2, zlib, libiconv diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL index 0753670c29..71a3bd18cc 100644 --- a/ports/unicorn/CONTROL +++ b/ports/unicorn/CONTROL @@ -1,3 +1,4 @@ Source: unicorn Version: 2019-04-19 +Homepage: https://github.com/unicorn-engine/unicorn Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework diff --git a/ports/units/CONTROL b/ports/units/CONTROL index b66a3b828b..21c7f44b13 100644 --- a/ports/units/CONTROL +++ b/ports/units/CONTROL @@ -1,3 +1,4 @@ Source: units Version: 2.3.0 +Homepage: https://github.com/nholthaus/units Description: A compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies. diff --git a/ports/unittest-cpp/CONTROL b/ports/unittest-cpp/CONTROL index 9279cd127b..195b41fe40 100644 --- a/ports/unittest-cpp/CONTROL +++ b/ports/unittest-cpp/CONTROL @@ -1,3 +1,4 @@ Source: unittest-cpp Version: 2.0.0-1 +Homepage: https://github.com/unittest-cpp/unittest-cpp Description: A lightweight unit testing framework for C++ diff --git a/ports/unrar/CONTROL b/ports/unrar/CONTROL index 5e54ed37fe..f105d84bc0 100644 --- a/ports/unrar/CONTROL +++ b/ports/unrar/CONTROL @@ -1,3 +1,4 @@ Source: unrar Version: 5.5.8-2 +Homepage: https://www.rarlab.com Description: rarlab's unrar libary diff --git a/ports/urdfdom-headers/CONTROL b/ports/urdfdom-headers/CONTROL index 4eb0a976b0..3d005dd601 100644 --- a/ports/urdfdom-headers/CONTROL +++ b/ports/urdfdom-headers/CONTROL @@ -1,3 +1,4 @@ Source: urdfdom-headers Version: 1.0.4 +Homepage: https://github.com/ros/urdfdom_headers Description: The URDF (U-Robot Description Format) headers provides core data structure headers for URDF. diff --git a/ports/urdfdom/CONTROL b/ports/urdfdom/CONTROL index c2a76b5c87..0d81ec662f 100644 --- a/ports/urdfdom/CONTROL +++ b/ports/urdfdom/CONTROL @@ -1,4 +1,5 @@ Source: urdfdom -Version: 1.0.3 +Version: 1.0.3 +Homepage: https://github.com/ros/urdfdom Description: Provides core data structures and a simple XML parsers for populating the class data structures from an URDF file. Build-Depends: console-bridge, tinyxml, urdfdom-headers diff --git a/ports/uriparser/CONTROL b/ports/uriparser/CONTROL index a0e37aebab..af57f871a0 100644 --- a/ports/uriparser/CONTROL +++ b/ports/uriparser/CONTROL @@ -1,5 +1,6 @@ Source: uriparser Version: 0.9.3-4 +Homepage: https://github.com/uriparser/uriparser Description: uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C89 ("ANSI C"). uriparser is cross-platform, fast, supports Unicode, and is licensed under the New BSD license. Feature: tool diff --git a/ports/utf8proc/CONTROL b/ports/utf8proc/CONTROL index 183f1bb396..4afe2da7ce 100644 --- a/ports/utf8proc/CONTROL +++ b/ports/utf8proc/CONTROL @@ -1,3 +1,4 @@ Source: utf8proc Version: 2.4.0 +Homepage: https://github.com/JuliaLang/utf8proc Description: Clean C library for processing UTF-8 Unicode data. diff --git a/ports/utfcpp/CONTROL b/ports/utfcpp/CONTROL index f3800dd21d..fd18722416 100644 --- a/ports/utfcpp/CONTROL +++ b/ports/utfcpp/CONTROL @@ -1,3 +1,4 @@ Source: utfcpp -Version: 3.1 +Version: 3.1 +Homepage: https://github.com/nemtrif/utfcpp Description: UTF-8 with C++ in a Portable Way diff --git a/ports/utfz/CONTROL b/ports/utfz/CONTROL index fd18544679..1212c4d6d8 100644 --- a/ports/utfz/CONTROL +++ b/ports/utfz/CONTROL @@ -1,3 +1,4 @@ Source: utfz Version: 1.2-1 +Homepage: https://github.com/IMQS/utfz Description: A tiny C++ library for parsing and encoding utf-8 diff --git a/ports/uvatlas/CONTROL b/ports/uvatlas/CONTROL index c028ad14e9..972c6741b1 100644 --- a/ports/uvatlas/CONTROL +++ b/ports/uvatlas/CONTROL @@ -1,3 +1,4 @@ Source: uvatlas -Version: apr2019 +Version: apr2019 +Homepage: https://github.com/Microsoft/UVAtlas Description: UVAtlas isochart texture atlas \ No newline at end of file diff --git a/ports/uwebsockets/CONTROL b/ports/uwebsockets/CONTROL index daf53b28b0..663538f964 100644 --- a/ports/uwebsockets/CONTROL +++ b/ports/uwebsockets/CONTROL @@ -1,4 +1,5 @@ Source: uwebsockets Version: 0.15.6 Build-Depends: zlib, usockets +Homepage: https://github.com/uWebSockets/uWebSockets Description: Simple, secure & standards compliant web I/O for the most demanding of applications diff --git a/ports/vlpp/CONTROL b/ports/vlpp/CONTROL index 13a64dfc85..bd453ffc23 100644 --- a/ports/vlpp/CONTROL +++ b/ports/vlpp/CONTROL @@ -1,3 +1,4 @@ Source: vlpp Version: 0.10.0.0 +Homepage: https://github.com/vczh-libraries/Release Description: Common C++ construction, including string operation / generic container / linq / General-LR parser generator / multithreading / reflection for C++ / etc diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index 5917bbf686..7b07132d25 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,6 +1,7 @@ Source: vtk Version: 8.2.0-4 Description: Software system for 3D computer graphics, image processing, and visualization +Homepage: https://github.com/Kitware/VTK Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c Feature: openvr diff --git a/ports/websocketpp/CONTROL b/ports/websocketpp/CONTROL index 206b0d4dd5..4a284f09e4 100644 --- a/ports/websocketpp/CONTROL +++ b/ports/websocketpp/CONTROL @@ -1,4 +1,5 @@ Source: websocketpp Version: 0.8.1-1 Build-Depends: zlib, openssl, boost-asio +Homepage: https://github.com/zaphoyd/websocketpp Description: Library that implements RFC6455 The WebSocket Protocol \ No newline at end of file diff --git a/ports/wildmidi/CONTROL b/ports/wildmidi/CONTROL index 33e9cde1fc..35e0bfffc4 100644 --- a/ports/wildmidi/CONTROL +++ b/ports/wildmidi/CONTROL @@ -1,3 +1,4 @@ Source: wildmidi -Version: 0.4.3 +Version: 0.4.3 +Homepage: https://github.com/Mindwerks/wildmidi Description: MIDI software synthesizer library. diff --git a/ports/winpcap/CONTROL b/ports/winpcap/CONTROL index 1454948d28..ddddcab1cb 100644 --- a/ports/winpcap/CONTROL +++ b/ports/winpcap/CONTROL @@ -1,3 +1,4 @@ Source: winpcap Version: 4.1.3-2 +Homepage: https://www.winpcap.org Description: WinPcap is the industry-standard tool for link-layer network access in Windows environments. diff --git a/ports/wt/CONTROL b/ports/wt/CONTROL index 5db330a5c1..3379d8ff08 100644 --- a/ports/wt/CONTROL +++ b/ports/wt/CONTROL @@ -1,4 +1,5 @@ Source: wt Version: 4.0.5 +Homepage: https://github.com/emweb/wt Description: Wt is a C++ library for developing web applications Build-Depends: openssl, sqlite3, libpq, pango, glew, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic, boost-interprocess diff --git a/ports/wtl/CONTROL b/ports/wtl/CONTROL index 0eb3cf372a..126b4d7681 100644 --- a/ports/wtl/CONTROL +++ b/ports/wtl/CONTROL @@ -1,5 +1,6 @@ Source: wtl Maintainer: jfrederich@gmail.com Version: 10.0-2 +Homepage: https://sourceforge.net/projects/wtl/ Description: Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. Build-Depends: diff --git a/ports/wxwidgets/CONTROL b/ports/wxwidgets/CONTROL index b922c1a24f..542fdf3276 100644 --- a/ports/wxwidgets/CONTROL +++ b/ports/wxwidgets/CONTROL @@ -1,4 +1,5 @@ Source: wxwidgets Version: 3.1.2-1 +Homepage: https://github.com/wxWidgets/wxWidgets Description: wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. Build-Depends: zlib, libpng, tiff, expat diff --git a/ports/x264/CONTROL b/ports/x264/CONTROL index 0d6d6a56de..ef3e80bcb4 100644 --- a/ports/x264/CONTROL +++ b/ports/x264/CONTROL @@ -1,3 +1,4 @@ Source: x264 Version: 157-303c484ec828ed0-2 +Homepage: https://github.com/mirror/x264 Description: x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format diff --git a/ports/x265/CONTROL b/ports/x265/CONTROL index ae598d613d..fcfb78170b 100644 --- a/ports/x265/CONTROL +++ b/ports/x265/CONTROL @@ -1,3 +1,4 @@ Source: x265 Version: 3.0-1 +Homepage: https://bitbucket.org/multicoreware/x265 Description: x265 is a H.265 / HEVC video encoder application library, designed to encode video or images into an H.265 / HEVC encoded bitstream. diff --git a/ports/xalan-c/CONTROL b/ports/xalan-c/CONTROL index eb882eb386..06ab8967de 100644 --- a/ports/xalan-c/CONTROL +++ b/ports/xalan-c/CONTROL @@ -1,4 +1,5 @@ Source: xalan-c Version: 1.11-5 +Homepage: https://www-us.apache.org/dist/xalan/xalan-c/ Description: Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types Build-Depends: xerces-c diff --git a/ports/xerces-c/CONTROL b/ports/xerces-c/CONTROL index 7d0881a813..2fde766e17 100644 --- a/ports/xerces-c/CONTROL +++ b/ports/xerces-c/CONTROL @@ -1,5 +1,6 @@ Source: xerces-c Version: 3.2.2-9 +Homepage: https://github.com/apache/xerces-c Description: Xerces-C++ is a XML parser, for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. Feature: icu diff --git a/ports/xlnt/CONTROL b/ports/xlnt/CONTROL index 80606821ba..6433b748e7 100644 --- a/ports/xlnt/CONTROL +++ b/ports/xlnt/CONTROL @@ -1,3 +1,4 @@ Source: xlnt Version: 1.3.0-1 +Homepage: https://github.com/tfussell/xlnt Description: Cross-platform user-friendly xlsx library for C++14 diff --git a/ports/xxhash/CONTROL b/ports/xxhash/CONTROL index 4b4f461720..be4cc2900c 100644 --- a/ports/xxhash/CONTROL +++ b/ports/xxhash/CONTROL @@ -1,3 +1,4 @@ Source: xxhash Version: 0.7.0 +Homepage: https://github.com/Cyan4973/xxHash Description: Extremely fast hash algorithm diff --git a/ports/yaml-cpp/CONTROL b/ports/yaml-cpp/CONTROL index 0689f8d4e1..93988ece9e 100644 --- a/ports/yaml-cpp/CONTROL +++ b/ports/yaml-cpp/CONTROL @@ -1,3 +1,4 @@ Source: yaml-cpp Version: 0.6.2-2 +Homepage: https://github.com/jbeder/yaml-cpp Description: yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec. diff --git a/ports/yara/CONTROL b/ports/yara/CONTROL index 5e2832bb59..b1d90b4715 100644 --- a/ports/yara/CONTROL +++ b/ports/yara/CONTROL @@ -1,4 +1,5 @@ Source: yara Version: e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9-2 +Homepage: https://github.com/VirusTotal/yara Description: The pattern matching swiss knife Build-Depends: openssl, jansson diff --git a/ports/yoga/CONTROL b/ports/yoga/CONTROL index 650808140f..14ed48f163 100644 --- a/ports/yoga/CONTROL +++ b/ports/yoga/CONTROL @@ -1,3 +1,4 @@ Source: yoga Version: 1.14.0 +Homepage: https://github.com/facebook/yoga Description: Yoga is a cross-platform layout engine which implements Flexbox diff --git a/ports/zeromq/CONTROL b/ports/zeromq/CONTROL index a73b94fc39..24796e1558 100644 --- a/ports/zeromq/CONTROL +++ b/ports/zeromq/CONTROL @@ -1,5 +1,6 @@ Source: zeromq Version: 2019-05-07 +Homepage: https://github.com/zeromq/libzmq Description: The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products Feature: sodium diff --git a/ports/zlib/CONTROL b/ports/zlib/CONTROL index 2138e31aff..aa7c7b6e92 100644 --- a/ports/zlib/CONTROL +++ b/ports/zlib/CONTROL @@ -1,3 +1,4 @@ Source: zlib Version: 1.2.11-5 +Homepage: https://www.zlib.net/ Description: A compression library diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL index 507c23f3ad..bab75367d7 100644 --- a/ports/zstd/CONTROL +++ b/ports/zstd/CONTROL @@ -1,4 +1,4 @@ Source: zstd Version: 1.4.0 Description: Zstandard - Fast real-time compression algorithm -Homepage: http://www.zstd.net +Homepage: https://facebook.github.io/zstd/ diff --git a/ports/zziplib/CONTROL b/ports/zziplib/CONTROL index 362fdee031..f756d19ae3 100644 --- a/ports/zziplib/CONTROL +++ b/ports/zziplib/CONTROL @@ -1,4 +1,5 @@ Source: zziplib Version: 0.13.69-3 Build-Depends: zlib -Description: library providing read access on ZIP-archives \ No newline at end of file +Homepage: https://github.com/gdraheim/zziplib +Description: library providing read access on ZIP-archives From 8cd2d17460d7c8d1dc74491cd890691f9546dc8c Mon Sep 17 00:00:00 2001 From: TheGoddessInari Date: Sun, 16 Jun 2019 23:09:07 -0700 Subject: [PATCH 029/123] [vcpkg] Bootstrap should use Get-CimInstance instead of Get-WmiObject. (#6788) * [vcpkg] Bootstrap should use Get-CimInstance instead of Get-WmiObject. This lets it work with Powershell Core 6.0. --- scripts/bootstrap.ps1 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index b195cc6052..6234efaa3d 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -339,7 +339,14 @@ if ($disableMetrics) $platform = "x86" $vcpkgReleaseDir = "$vcpkgSourcesPath\msbuild.x86.release" -$architecture=(Get-WmiObject win32_operatingsystem | Select-Object osarchitecture).osarchitecture +if($PSVersionTable.PSVersion.Major -le 2) +{ + $architecture=(Get-WmiObject win32_operatingsystem | Select-Object osarchitecture).osarchitecture +} +else +{ + $architecture=(Get-CimInstance win32_operatingsystem | Select-Object osarchitecture).osarchitecture +} if ($win64) { if (-not $architecture -like "*64*") From d2e21397f48f6a8b0beaec9d382764928cdfbc29 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 18 Jun 2019 01:24:41 +0800 Subject: [PATCH 030/123] [greatest] Add new port (#6934) --- ports/greatest/CONTROL | 4 ++++ ports/greatest/portfile.cmake | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 ports/greatest/CONTROL create mode 100644 ports/greatest/portfile.cmake diff --git a/ports/greatest/CONTROL b/ports/greatest/CONTROL new file mode 100644 index 0000000000..05c679d8ec --- /dev/null +++ b/ports/greatest/CONTROL @@ -0,0 +1,4 @@ +Source: greatest +Version: 1.4.2 +Description: Single-file testing system for C +Homepage: https://github.com/silentbicycle/greatest diff --git a/ports/greatest/portfile.cmake b/ports/greatest/portfile.cmake new file mode 100644 index 0000000000..479287ccbf --- /dev/null +++ b/ports/greatest/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO silentbicycle/greatest + REF v1.4.2 + SHA512 8f2767ac2be017d2ecee3a903ab79834e783df464e3fd0e1e8c4397fdf8dabcc4fb2367163dcb9e944c404d00cf8960ec56c0345f43836182a6e058d9eaf6b0a + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/greatest.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) From 38f969e9d21d04d55fbada2238eb9d8c561d12d3 Mon Sep 17 00:00:00 2001 From: eao197 Date: Mon, 17 Jun 2019 20:25:02 +0300 Subject: [PATCH 031/123] RESTinio updated to v.0.5.1 (#6933) --- ports/restinio/CONTROL | 2 +- ports/restinio/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL index 23abf439e0..b608f12b5a 100644 --- a/ports/restinio/CONTROL +++ b/ports/restinio/CONTROL @@ -1,4 +1,4 @@ Source: restinio -Version: 0.5.0 +Version: 0.5.1 Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. Build-Depends: asio, fmt, http-parser diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake index 33895629f8..9ab82bc4a0 100644 --- a/ports/restinio/portfile.cmake +++ b/ports/restinio/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH REPO sobjectizerteam/restinio - REF v.0.5.0 - SHA512 2031abf6928456d9f93b965c0fd0114070b0aeac055edc78442284ad8a2dea47d9eaa8cb1761e76fa31286e7881559fa7d99e404e3c0d2639e6a0afab6bedd4f + REF v.0.5.1 + SHA512 e8d1f9ac6dcb87012a656ba9f80412db93280b436199013ed36aa31398f0c0e65b634e2e714b9709afae717e2bc432891d5125f4af01b0d3a0ce79169de40870 ) vcpkg_configure_cmake( From 1e297085c76fe81afbbb38f35ae0a851e9058e6b Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 18 Jun 2019 01:25:39 +0800 Subject: [PATCH 032/123] [aws-sdk-cpp]Upgrade to 1.7.116 (#6932) --- ports/aws-sdk-cpp/CONTROL | 2 +- ports/aws-sdk-cpp/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index 194f4d2152..81078404f3 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,5 +1,5 @@ Source: aws-sdk-cpp -Version: 1.7.106 +Version: 1.7.116 Homepage: https://github.com/aws/aws-sdk-cpp Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index 4f334875df..c6b5278165 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -10,8 +10,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp - REF 1.7.106 - SHA512 58b03f25468ee5c57c47cf92fe6e1d9228754464af83a1253fdd14f2a6dabb6f5f49f1f003597c29cd1ce96649afae0560953d1f1d2c478c575b0d4c0f918635 + REF 1.7.116 + SHA512 2d10aebf1c10bb7e7a0efa1fd930b8743d9bce1d7d36f72c55fd13612be4fd30cf0a67ebe4f8d7c05146306084b10d8657ff26ac3bafaaa9efaa4c67707acb49 HEAD_REF master ) From 1dbb58814f69f99abe535214b64a088db18097cc Mon Sep 17 00:00:00 2001 From: wangli28 <47812810+wangli28@users.noreply.github.com> Date: Tue, 18 Jun 2019 01:30:25 +0800 Subject: [PATCH 033/123] [wt] Fix XML file installation path (#6925) --- ports/wt/0005-XML_file_path.patch | 17 +++++++++++++++++ ports/wt/CONTROL | 2 +- ports/wt/portfile.cmake | 2 ++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 ports/wt/0005-XML_file_path.patch diff --git a/ports/wt/0005-XML_file_path.patch b/ports/wt/0005-XML_file_path.patch new file mode 100644 index 0000000000..b2be62c9d8 --- /dev/null +++ b/ports/wt/0005-XML_file_path.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ca19b30..4765632 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -197,7 +197,11 @@ SET(CMAKE_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake" CACHE STRING + + IF(WIN32) + +- SET(RUNDIR "c:/witty") # Does not apply to win32 ++ if (NOT INSTALL_CONFIG_FILE_PATH) ++ SET(RUNDIR "c:/witty") # Does not apply to win32 ++ else() ++ SET(RUNDIR ${INSTALL_CONFIG_FILE_PATH}) # Does not apply to win32 ++ endif() + + IF(NOT DEFINED CONFIGDIR) + SET(CONFIGDIR ${RUNDIR} CACHE STRING "Path for the configuration files") diff --git a/ports/wt/CONTROL b/ports/wt/CONTROL index 3379d8ff08..b712ca7388 100644 --- a/ports/wt/CONTROL +++ b/ports/wt/CONTROL @@ -1,5 +1,5 @@ Source: wt -Version: 4.0.5 +Version: 4.0.5-1 Homepage: https://github.com/emweb/wt Description: Wt is a C++ library for developing web applications Build-Depends: openssl, sqlite3, libpq, pango, glew, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic, boost-interprocess diff --git a/ports/wt/portfile.cmake b/ports/wt/portfile.cmake index c9fb520f69..8fb8af205a 100644 --- a/ports/wt/portfile.cmake +++ b/ports/wt/portfile.cmake @@ -10,6 +10,7 @@ vcpkg_from_github( 0002-link-glew.patch 0003-disable-boost-autolink.patch 0004-link-ssl.patch + 0005-XML_file_path.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIBS) @@ -18,6 +19,7 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS + -DINSTALL_CONFIG_FILE_PATH="${DOWNLOADS}/wt" -DSHARED_LIBS=${SHARED_LIBS} -DBOOST_DYNAMIC=ON -DDISABLE_BOOST_AUTOLINK=ON From 8de7aa163317885a84e39a3dc81726e74537ba32 Mon Sep 17 00:00:00 2001 From: Kevin Lu <6320810+kevinlul@users.noreply.github.com> Date: Mon, 17 Jun 2019 13:32:14 -0400 Subject: [PATCH 034/123] [sqlite3] Update to 3.28.0 (#6921) --- ports/sqlite3/CONTROL | 2 +- ports/sqlite3/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/sqlite3/CONTROL b/ports/sqlite3/CONTROL index c829193a2a..7bba4d78c9 100644 --- a/ports/sqlite3/CONTROL +++ b/ports/sqlite3/CONTROL @@ -1,5 +1,5 @@ Source: sqlite3 -Version: 3.27.2 +Version: 3.28.0 Homepage: https://sqlite.org/ Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. diff --git a/ports/sqlite3/portfile.cmake b/ports/sqlite3/portfile.cmake index 789cfe9482..131469c12c 100644 --- a/ports/sqlite3/portfile.cmake +++ b/ports/sqlite3/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) -set(SQLITE_VERSION 3270200) -set(SQLITE_HASH f84a6a3101c989164f17b85a6c2674ae2728a75d70daf5e33627a6eaa399adaf763deb968d891ad0660f1ebe660d27fbd55ace379d807f3bb8af4e95c01b68c4) +set(SQLITE_VERSION 3280000) +set(SQLITE_HASH 6a2b9c0accd286b09d7e077393a627e22112ef11c76ff6a5896f5ff1a11eb62a8b2700f5a99eebda82df63b3968814ca460582aa4619852f96a899d2f59b9f8d) vcpkg_download_distfile(ARCHIVE URLS "https://sqlite.org/2019/sqlite-amalgamation-${SQLITE_VERSION}.zip" From b03dd0714cb81c8e7379ddbc17045a8a346d3e96 Mon Sep 17 00:00:00 2001 From: Gregory Popovitch Date: Mon, 17 Jun 2019 13:35:44 -0400 Subject: [PATCH 035/123] [parallel-hashmap] Update to current 1.23 version and include natvis file. (#6917) --- ports/parallel-hashmap/CONTROL | 4 ++-- ports/parallel-hashmap/portfile.cmake | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ports/parallel-hashmap/CONTROL b/ports/parallel-hashmap/CONTROL index 1f839fed18..91be82ab3d 100644 --- a/ports/parallel-hashmap/CONTROL +++ b/ports/parallel-hashmap/CONTROL @@ -1,3 +1,3 @@ Source: parallel-hashmap -Version: 1.22 -Description: A header-only, very fast and memory-friendly hash map family. +Version: 1.23 +Description: A header-only, very fast and memory-friendly family of C++ hash maps. diff --git a/ports/parallel-hashmap/portfile.cmake b/ports/parallel-hashmap/portfile.cmake index a94d30c454..d42dee4fd6 100644 --- a/ports/parallel-hashmap/portfile.cmake +++ b/ports/parallel-hashmap/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO greg7mdp/parallel-hashmap - REF 1.22 - SHA512 930ad0a2fd95310bd2d99c858a09416ca1c02bb823a49f96ec38cfc9ec4029b95b3dc3eacff88dc93df2cad968008b2db3cbb1c458c6cceddc542bb0ca74fad9 + REF 1.23 + SHA512 efdc717d965292949dc47c2614d97274d52e409a70b283d2b12a957bf3135c6682ed6f77a5b130b70f77eb2cc5c522626cc4b08cd792a7037844df5ba1538985 HEAD_REF master ) @@ -19,6 +19,8 @@ vcpkg_install_cmake() # Delete redundant directories file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/share/doc) +file(COPY ${SOURCE_PATH}/phmap.natvis DESTINATION ${CURRENT_PACKAGES_DIR}/include) + # Put the licence file where vcpkg expects it file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/parallel-hashmap) file(RENAME ${CURRENT_PACKAGES_DIR}/share/parallel-hashmap/LICENSE ${CURRENT_PACKAGES_DIR}/share/parallel-hashmap/copyright) From f00fbcb2e55fb518cdd16d5917275acffdc40a6a Mon Sep 17 00:00:00 2001 From: JackBister Date: Mon, 17 Jun 2019 19:36:41 +0200 Subject: [PATCH 036/123] [libmodplug] Always use the upstream repository (#6912) --- ports/libmodplug/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/libmodplug/portfile.cmake b/ports/libmodplug/portfile.cmake index 2876160880..01b1081d6d 100644 --- a/ports/libmodplug/portfile.cmake +++ b/ports/libmodplug/portfile.cmake @@ -15,7 +15,7 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) else() vcpkg_from_github(ARCHIVE OUT_SOURCE_PATH SOURCE_PATH - REPO JackBister/libmodplug + REPO Konstanty/libmodplug REF ${MODPLUG_HASH} SHA512 c43bb3190b62c3a4e3636bba121b5593bbf8e6577ca9f2aa04d90b03730ea7fb590e640cdadeb565758b92e81187bc456e693fe37f1f4deace9b9f37556e3ba1 PATCHES From 783fa14d0bfb90ec608e92f9e4cacdcfb5fbe955 Mon Sep 17 00:00:00 2001 From: Samuel Marks <807580+SamuelMarks@users.noreply.github.com> Date: Tue, 18 Jun 2019 03:46:34 +1000 Subject: [PATCH 037/123] [ppconsul] Add new port (#6911) --- ports/ppconsul/CONTROL | 5 +++++ ports/ppconsul/cmake_build.patch | 37 ++++++++++++++++++++++++++++++++ ports/ppconsul/portfile.cmake | 25 +++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 ports/ppconsul/CONTROL create mode 100644 ports/ppconsul/cmake_build.patch create mode 100644 ports/ppconsul/portfile.cmake diff --git a/ports/ppconsul/CONTROL b/ports/ppconsul/CONTROL new file mode 100644 index 0000000000..4591b6a015 --- /dev/null +++ b/ports/ppconsul/CONTROL @@ -0,0 +1,5 @@ +Source: ppconsul +Version: 0.3 +Homepage: https://github.com/oliora/ppconsul +Description: A C++ client library for Consul. Consul is a distributed tool for discovering and configuring services in your infrastructure. +Build-Depends: boost-core, boost-variant, curl[openssl] diff --git a/ports/ppconsul/cmake_build.patch b/ports/ppconsul/cmake_build.patch new file mode 100644 index 0000000000..f607e37e42 --- /dev/null +++ b/ports/ppconsul/cmake_build.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 92e4698..002981e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -75,6 +75,8 @@ else () + set (CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${CURL_ROOT}/lib") + endif () + find_package(CURL REQUIRED) ++ find_package(OpenSSL REQUIRED) ++ find_package(ZLIB REQUIRED) + endif () + + set(LIBB64_DIR "${PROJECT_SOURCE_DIR}/ext/b64") +@@ -89,7 +91,6 @@ endif() + + add_subdirectory(ext/json11) + add_subdirectory(src) +-add_subdirectory(tests) + + install( + DIRECTORY "${HEADERS_DIR}" +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 8e24aab..beaac68 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -85,7 +85,10 @@ if (${USE_CPPNETLIB}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${CPPNETLIB_LIBRARIES}) + else () + target_include_directories(${PROJECT_NAME} PRIVATE ${CURL_INCLUDE_DIR}) +- target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES}) ++ target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} ZLIB::ZLIB) ++ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") ++ target_link_libraries(${PROJECT_NAME} PRIVATE "-framework CoreFoundation" "-framework Security") ++ endif () + endif () + + source_group(${PROJECT_NAME} FILES ${SOURCES}) diff --git a/ports/ppconsul/portfile.cmake b/ports/ppconsul/portfile.cmake new file mode 100644 index 0000000000..43e7eaecad --- /dev/null +++ b/ports/ppconsul/portfile.cmake @@ -0,0 +1,25 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO oliora/ppconsul + REF fd3a22eba03a49623832a8f8c990fee499e3f8fb + SHA512 098f2fa0fdc3f219f5958d0d5b2a620231e3cd94dc3110cfbedb87e787e8402a7b0294f7ffa4fcb4169b0428b4f65376b621e5840706ff7cc8f02ac7fc1d7757 + HEAD_REF master + PATCHES "cmake_build.patch" +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) + + +file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ppconsul RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + + +vcpkg_copy_pdbs() From fd18a7d3a9ec08a6edb9965ee14d2d03d965468d Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Mon, 17 Jun 2019 10:51:34 -0700 Subject: [PATCH 038/123] [forest] move to 12.0.0 (#6938) --- ports/forest/CONTROL | 2 +- ports/forest/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/forest/CONTROL b/ports/forest/CONTROL index 2e3d50a6cd..39fda46724 100644 --- a/ports/forest/CONTROL +++ b/ports/forest/CONTROL @@ -1,4 +1,4 @@ Source: forest -Version: 11.0.1 +Version: 12.0.0 Homepage: https://github.com/xorz57/forest Description: Template library of tree data structures diff --git a/ports/forest/portfile.cmake b/ports/forest/portfile.cmake index 7dcccb979b..b142d181ed 100644 --- a/ports/forest/portfile.cmake +++ b/ports/forest/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xorz57/forest - REF 11.0.1 - SHA512 cb9245445c52c9e2e544c556cd87ecfd1e598bf0ed71a20368b32bd47b611f9696a8e50e06ecb98814af8e6e254bde9e7f98ca0d28c62f86ce9ff45805c2a1e5 + REF 12.0.0 + SHA512 c6f7a7ca098755bc6ac2f02048962d9f1d619c2d76671e9bb558524f760c3e28604db21991c2d9ebc90ffdb12ea00708d9a4fee1f4416ee216f3ef1dea0a1b97 HEAD_REF master ) From f86fc80db48cb60da62e73894cbb832b166cdc34 Mon Sep 17 00:00:00 2001 From: Miguel Date: Mon, 17 Jun 2019 19:52:52 +0200 Subject: [PATCH 039/123] [mlpack] Updated to version 3.1.1 (#6907) * [mlpack] Updated to version 3.1.0 * [mlpack] Updated to version 3.1.1 --- ports/mlpack/CONTROL | 2 +- ports/mlpack/cmakelists.patch | 106 +++++++++++++++++----------------- ports/mlpack/portfile.cmake | 4 +- 3 files changed, 55 insertions(+), 57 deletions(-) diff --git a/ports/mlpack/CONTROL b/ports/mlpack/CONTROL index 75cc21eb4f..0902ce8940 100644 --- a/ports/mlpack/CONTROL +++ b/ports/mlpack/CONTROL @@ -1,5 +1,5 @@ Source: mlpack -Version: 3.1.0-1 +Version: 3.1.1 Description: mlpack is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms. Build-Depends: openblas (!osx), clapack (!osx), boost, armadillo, ensmallen diff --git a/ports/mlpack/cmakelists.patch b/ports/mlpack/cmakelists.patch index a4ef8f119c..05810f57f8 100644 --- a/ports/mlpack/cmakelists.patch +++ b/ports/mlpack/cmakelists.patch @@ -1,54 +1,52 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 26dfd6e..5e287d8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -283,25 +283,8 @@ endif() - # and find LAPACK and BLAS ourselves, using a slightly modified variant of the - # script Armadillo uses to find these. - if (WIN32) -- find_library(LAPACK_LIBRARY -- NAMES lapack liblapack lapack_win32_MT lapack_win32 -- PATHS "C:/Program Files/Armadillo" -- PATH_SUFFIXES "examples/lib_win32/") -- -- if (NOT LAPACK_LIBRARY) -- message(FATAL_ERROR "Cannot find LAPACK library (.lib)!") -- endif () -- -- find_library(BLAS_LIBRARY -- NAMES blas libblas blas_win32_MT blas_win32 -- PATHS "C:/Program Files/Armadillo" -- PATH_SUFFIXES "examples/lib_win32/") -- -- if (NOT BLAS_LIBRARY) -- message(FATAL_ERROR "Cannot find BLAS library (.lib)!") -- endif () -- -- # Piggyback LAPACK and BLAS linking into Armadillo link. -+ find_package(LAPACK) -+ find_package(BLAS) - set(ARMADILLO_LIBRARIES - ${ARMADILLO_LIBRARIES} ${BLAS_LIBRARY} ${LAPACK_LIBRARY}) - endif () -@@ -392,19 +375,11 @@ find_package(Boost 1.49 - REQUIRED - ) - --link_directories(${Boost_LIBRARY_DIRS}) -- --# In Visual Studio, automatic linking is performed, so we don't need to worry --# about it. Clear the list of libraries to link against and let Visual Studio --# handle it. --if (MSVC) -- link_directories(${Boost_LIBRARY_DIRS}) -- set(Boost_LIBRARIES "") --endif () -+link_directories(${Boost_LIBRARIES}) - - set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) - set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${Boost_LIBRARIES}) --set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS}) -+set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARIES}) - - # For Boost testing framework (will have no effect on non-testing executables). - # This specifies to Boost that we are dynamically linking to the Boost test +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -283,25 +283,8 @@ + # and find LAPACK and BLAS ourselves, using a slightly modified variant of the + # script Armadillo uses to find these. + if (WIN32) +- find_library(LAPACK_LIBRARY +- NAMES lapack liblapack lapack_win32_MT lapack_win32 +- PATHS "C:/Program Files/Armadillo" +- PATH_SUFFIXES "examples/lib_win32/") +- +- if (NOT LAPACK_LIBRARY) +- message(FATAL_ERROR "Cannot find LAPACK library (.lib)!") +- endif () +- +- find_library(BLAS_LIBRARY +- NAMES blas libblas blas_win32_MT blas_win32 +- PATHS "C:/Program Files/Armadillo" +- PATH_SUFFIXES "examples/lib_win32/") +- +- if (NOT BLAS_LIBRARY) +- message(FATAL_ERROR "Cannot find BLAS library (.lib)!") +- endif () +- +- # Piggyback LAPACK and BLAS linking into Armadillo link. ++ find_package(LAPACK) ++ find_package(BLAS) + set(ARMADILLO_LIBRARIES + ${ARMADILLO_LIBRARIES} ${BLAS_LIBRARY} ${LAPACK_LIBRARY}) + endif () +@@ -395,19 +378,11 @@ + REQUIRED + ) + +-link_directories(${Boost_LIBRARY_DIRS}) +- +-# In Visual Studio, automatic linking is performed, so we don't need to worry +-# about it. Clear the list of libraries to link against and let Visual Studio +-# handle it. +-if (MSVC) +- link_directories(${Boost_LIBRARY_DIRS}) +- set(Boost_LIBRARIES "") +-endif () ++link_directories(${Boost_LIBRARIES}) + + set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) + set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${Boost_LIBRARIES}) +-set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS}) ++set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARIES}) + + # For Boost testing framework (will have no effect on non-testing executables). + # This specifies to Boost that we are dynamically linking to the Boost test diff --git a/ports/mlpack/portfile.cmake b/ports/mlpack/portfile.cmake index 20cbc882e3..0a5bcb6d12 100644 --- a/ports/mlpack/portfile.cmake +++ b/ports/mlpack/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mlpack/mlpack - REF mlpack-3.1.0 - SHA512 dc305a9a2f7232d3957206a346d0ac97ba13b933d5dbef45329002b8380ecc0982621c0b97f6c5ee82d0a26ad53b1cdd7a9b991fb749efc8546394988ac40a5b + REF mlpack-3.1.1 + SHA512 4acef74da951934b9bd1cabd87b9d6d002c80eb3218f69755277fa654d928aed379a5e63987f32ec162cc005c2952e618d6d528c2311aebb8cd2cc01cab71f86 HEAD_REF master PATCHES cmakelists.patch From a861441498eb6aeb7b69f7fffc4a721fdeaa43b5 Mon Sep 17 00:00:00 2001 From: Jason Juang Date: Mon, 17 Jun 2019 10:53:40 -0700 Subject: [PATCH 040/123] [Exiv2] update to 0.27.1 (#6905) --- ports/exiv2/CONTROL | 2 +- ports/exiv2/portfile.cmake | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL index 505d4003c1..a4ea220305 100644 --- a/ports/exiv2/CONTROL +++ b/ports/exiv2/CONTROL @@ -1,5 +1,5 @@ Source: exiv2 -Version: 0.27 +Version: 0.27.1 Build-Depends: zlib, expat, libiconv, gettext Description: Image metadata library and tools Homepage: https://www.exiv2.org diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index 44daf8717e..64ecfc28f2 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Exiv2/exiv2 - REF 0.27 - SHA512 ec605db73abcf3cc2df78c1fc3aae5335a51192f660668e39a4f20fc7f372b18c3cec9b704e1c71c356315fd75e791622de1dffe576432ee0fb12bf63a98a423 + REF 0.27.1 + SHA512 1b637138cee019122d98ae3c54e84416ba1a90531b3f541748697c9f1a8faee18699f10cef5a63bf60b8588e8c670925cbac3ad6c82e41160442f8a66380d407 HEAD_REF master PATCHES iconv.patch @@ -29,7 +29,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/exiv2/cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/exiv2/cmake") configure_file( ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake @@ -41,6 +41,7 @@ vcpkg_copy_pdbs() # Clean file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/exiv2 ${CURRENT_PACKAGES_DIR}/lib/exiv2) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) From f63ddfec5e412ce77961daaae751ae829b34f3c3 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 18 Jun 2019 01:54:44 +0800 Subject: [PATCH 041/123] [opencv]Fix build error with feature gdcm: cannot find openjp2. (#6901) --- ports/opencv/0006-fix-missing-openjp2.patch | 16 ++++++++++++++++ ports/opencv/CONTROL | 2 +- ports/opencv/portfile.cmake | 12 +++++++----- 3 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 ports/opencv/0006-fix-missing-openjp2.patch diff --git a/ports/opencv/0006-fix-missing-openjp2.patch b/ports/opencv/0006-fix-missing-openjp2.patch new file mode 100644 index 0000000000..c0afb99529 --- /dev/null +++ b/ports/opencv/0006-fix-missing-openjp2.patch @@ -0,0 +1,16 @@ +diff --git a/modules/imgcodecs/CMakeLists.txt b/modules/imgcodecs/CMakeLists.txt +index 434278c..0d8f4d8 100644 +--- a/modules/imgcodecs/CMakeLists.txt ++++ b/modules/imgcodecs/CMakeLists.txt +@@ -36,6 +36,11 @@ if(HAVE_PNG) + endif() + + if(HAVE_GDCM) ++ if (CMAKE_BUILD_TYPE STREQUAL "Release") ++ link_directories("${CURRENT_INSTALLED_DIR}/lib") ++ else() ++ link_directories("${CURRENT_INSTALLED_DIR}/debug/lib") ++ endif() + ocv_include_directories(${GDCM_INCLUDE_DIRS}) + list(APPEND GRFMT_LIBS ${GDCM_LIBRARIES}) + endif() diff --git a/ports/opencv/CONTROL b/ports/opencv/CONTROL index 90d81258e0..42f5c1c47f 100644 --- a/ports/opencv/CONTROL +++ b/ports/opencv/CONTROL @@ -1,5 +1,5 @@ Source: opencv -Version: 3.4.3-8 +Version: 3.4.3-9 Build-Depends: zlib Homepage: https://github.com/opencv/opencv Description: computer vision library diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake index a3d8c894b0..cbbf4918d0 100644 --- a/ports/opencv/portfile.cmake +++ b/ports/opencv/portfile.cmake @@ -9,11 +9,12 @@ vcpkg_from_github( SHA512 d653a58eb5e3939b9fdb7438ac35f77cf4385cf72d5d22bfd21722a109e1b3283dbb9407985061b7548114f0d05c9395aac9bb62b4d2bc1f68da770a49987fef HEAD_REF master PATCHES - "${CMAKE_CURRENT_LIST_DIR}/0001-winrt-fixes.patch" - "${CMAKE_CURRENT_LIST_DIR}/0002-install-options.patch" - "${CMAKE_CURRENT_LIST_DIR}/0003-disable-downloading.patch" - "${CMAKE_CURRENT_LIST_DIR}/0004-use-find-package-required.patch" - "${CMAKE_CURRENT_LIST_DIR}/0005-remove-custom-protobuf-find-package.patch" + 0001-winrt-fixes.patch + 0002-install-options.patch + 0003-disable-downloading.patch + 0004-use-find-package-required.patch + 0005-remove-custom-protobuf-find-package.patch + 0006-fix-missing-openjp2.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) @@ -321,6 +322,7 @@ vcpkg_configure_cmake( -DWITH_VTK=${WITH_VTK} -DWITH_WEBP=${WITH_WEBP} -DWITH_ZLIB=${WITH_ZLIB} + -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR} OPTIONS_DEBUG -DINSTALL_HEADERS=OFF -DINSTALL_OTHER=OFF From 578139ece7607c3697d1db59dfe3a030993f767c Mon Sep 17 00:00:00 2001 From: wangli28 <47812810+wangli28@users.noreply.github.com> Date: Tue, 18 Jun 2019 01:56:03 +0800 Subject: [PATCH 042/123] [leveldb] Port update (#6900) --- ports/leveldb/CMakeLists.txt | 92 ---------------------------- ports/leveldb/CONTROL | 8 +-- ports/leveldb/fix-install_path.patch | 19 ++++++ ports/leveldb/msvc_code_fix.diff | 63 ------------------- ports/leveldb/portfile.cmake | 18 +++--- 5 files changed, 32 insertions(+), 168 deletions(-) delete mode 100644 ports/leveldb/CMakeLists.txt create mode 100644 ports/leveldb/fix-install_path.patch delete mode 100644 ports/leveldb/msvc_code_fix.diff diff --git a/ports/leveldb/CMakeLists.txt b/ports/leveldb/CMakeLists.txt deleted file mode 100644 index d19032582d..0000000000 --- a/ports/leveldb/CMakeLists.txt +++ /dev/null @@ -1,92 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(leveldb C CXX) - -option(INSTALL_HEADERS "Install header files" ON) - -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -IF (MSVC) -add_definitions( - -DWIN32 - -D_CRT_NONSTDC_NO_DEPRECATE - -D_SCL_SECURE_NO_WARNINGS - -D_CRT_SECURE_NO_WARNINGS - -DNOMINMAX - -DLEVELDB_PLATFORM_WINDOWS - -DLEVELDB_ATOMIC_PRESENT -) -else () -add_definitions( - -DLEVELDB_PLATFORM_POSIX - -DLEVELDB_ATOMIC_PRESENT -) -endif() -set(SRCS - db/builder.cc - db/c.cc - db/dbformat.cc - db/db_impl.cc - db/db_iter.cc - db/dumpfile.cc - db/filename.cc - db/log_reader.cc - db/log_writer.cc - db/memtable.cc - db/repair.cc - db/table_cache.cc - db/version_edit.cc - db/version_set.cc - db/write_batch.cc - helpers/memenv/memenv.cc - port/port_posix_sse.cc - table/block.cc - table/block_builder.cc - table/filter_block.cc - table/format.cc - table/iterator.cc - table/merger.cc - table/table.cc - table/table_builder.cc - table/two_level_iterator.cc - util/arena.cc - util/bloom.cc - util/cache.cc - util/coding.cc - util/comparator.cc - util/crc32c.cc - util/env.cc - util/filter_policy.cc - util/hash.cc - util/histogram.cc - util/logging.cc - util/options.cc - util/status.cc -) - -if (MSVC) -set(SRCS ${SRCS} port/port_win.cc util/env_win.cc) -else () -set(SRCS ${SRCS} port/port_posix.cc util/env_posix.cc) -ENDIF() - -add_library(leveldb ${SRCS}) - -target_include_directories(leveldb - PUBLIC include - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} -) - -target_link_libraries(leveldb PUBLIC Iphlpapi.lib Shlwapi.lib) - -install(TARGETS leveldb - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -) - -if(INSTALL_HEADERS) - file(GLOB HEADERS include/leveldb/*.h) - install(FILES ${HEADERS} DESTINATION include/leveldb) - install(FILES helpers/memenv/memenv.h DESTINATION include) -endif() diff --git a/ports/leveldb/CONTROL b/ports/leveldb/CONTROL index d1cc26aab0..022415d26a 100644 --- a/ports/leveldb/CONTROL +++ b/ports/leveldb/CONTROL @@ -1,4 +1,4 @@ -Source: leveldb -Version: 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-3 -Homepage: https://github.com/bitcoin-core/leveldb -Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. +Source: leveldb +Version: 1.22 +Homepage: https://github.com/bitcoin-core/leveldb +Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. diff --git a/ports/leveldb/fix-install_path.patch b/ports/leveldb/fix-install_path.patch new file mode 100644 index 0000000000..11a71a41ac --- /dev/null +++ b/ports/leveldb/fix-install_path.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1409c06..c81d219 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -440,12 +440,12 @@ if(LEVELDB_INSTALL) + install( + EXPORT leveldbTargets + NAMESPACE leveldb:: +- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/leveldb" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/../share/leveldb" + ) + install( + FILES + "${PROJECT_SOURCE_DIR}/cmake/leveldbConfig.cmake" + "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake" +- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/leveldb" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/../share/leveldb" + ) + endif(LEVELDB_INSTALL) diff --git a/ports/leveldb/msvc_code_fix.diff b/ports/leveldb/msvc_code_fix.diff deleted file mode 100644 index 6cab006d34..0000000000 --- a/ports/leveldb/msvc_code_fix.diff +++ /dev/null @@ -1,63 +0,0 @@ - db/c.cc | 2 ++ - port/port_win.h | 7 +++++++ - util/env_win.cc | 6 ++++-- - 3 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/db/c.cc b/db/c.cc -index 08ff0ad..b23e3dc 100644 ---- a/db/c.cc -+++ b/db/c.cc -@@ -5,7 +5,9 @@ - #include "leveldb/c.h" - - #include -+#ifndef WIN32 - #include -+#endif - #include "leveldb/cache.h" - #include "leveldb/comparator.h" - #include "leveldb/db.h" -diff --git a/port/port_win.h b/port/port_win.h -index e8bf46e..989c15c 100644 ---- a/port/port_win.h -+++ b/port/port_win.h -@@ -32,9 +32,16 @@ - #define STORAGE_LEVELDB_PORT_PORT_WIN_H_ - - #ifdef _MSC_VER -+#if !(_MSC_VER >= 1900) - #define snprintf _snprintf -+#endif - #define close _close - #define fread_unlocked _fread_nolock -+#ifdef _WIN64 -+#define ssize_t int64_t -+#else -+#define ssize_t int32_t -+#endif - #endif - - #include -diff --git a/util/env_win.cc b/util/env_win.cc -index d32c4e6..3b4c92b 100644 ---- a/util/env_win.cc -+++ b/util/env_win.cc -@@ -761,14 +761,16 @@ uint64_t Win32Env::NowMicros() - static Status CreateDirInner( const std::string& dirname ) - { - Status sRet; -- DWORD attr = ::GetFileAttributes(dirname.c_str()); -+ std::wstring dirnameW; -+ ToWidePath(dirname, dirnameW); -+ DWORD attr = ::GetFileAttributesW(dirnameW.c_str()); - if (attr == INVALID_FILE_ATTRIBUTES) { // doesn't exist: - std::size_t slash = dirname.find_last_of("\\"); - if (slash != std::string::npos){ - sRet = CreateDirInner(dirname.substr(0, slash)); - if (!sRet.ok()) return sRet; - } -- BOOL result = ::CreateDirectory(dirname.c_str(), NULL); -+ BOOL result = ::CreateDirectoryW(dirnameW.c_str(), NULL); - if (result == FALSE) { - sRet = Status::IOError(dirname, "Could not create directory."); - return sRet; diff --git a/ports/leveldb/portfile.cmake b/ports/leveldb/portfile.cmake index 6a2555e5c9..02e18c430d 100644 --- a/ports/leveldb/portfile.cmake +++ b/ports/leveldb/portfile.cmake @@ -4,17 +4,14 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - BRANCH "bitcoin-fork" - REPO "bitcoin-core/leveldb" - REF "8b1cd3753b184341e837b30383832645135d3d73" - SHA512 f5ad5fd21fb28ee052a4f3873abd58dab508c71621bcd482ab9e6ef4b57eca182c81502ddfe59736f5b2a54f2d05b397dd15982b3bd5d9039cd481eae3c7b958 + REPO "google/leveldb" + REF 1.22 + SHA512 f9bbf5f466e7f707b94e19261762319ea9f65d41911690e84f59098551e2e69beccf756a414d705ade74ee96fd979bdb8b94c171c6f2cc83873cbd4a9380dbab + HEAD_REF master + PATCHES + fix-install_path.patch ) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/msvc_code_fix.diff) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA # Disable this option if project cannot be built with Ninja @@ -23,5 +20,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/leveldb RENAME copyright) From ec5e9c282c1470b831ab55c8b93e087f125b2599 Mon Sep 17 00:00:00 2001 From: Nikita Date: Mon, 17 Jun 2019 21:30:41 +0300 Subject: [PATCH 043/123] [restclient-cpp] new port (#6936) --- .../0001_fix_cmake_linking.patch | 13 ++++++++ ports/restclient-cpp/CONTROL | 4 +++ ports/restclient-cpp/portfile.cmake | 30 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 ports/restclient-cpp/0001_fix_cmake_linking.patch create mode 100644 ports/restclient-cpp/CONTROL create mode 100644 ports/restclient-cpp/portfile.cmake diff --git a/ports/restclient-cpp/0001_fix_cmake_linking.patch b/ports/restclient-cpp/0001_fix_cmake_linking.patch new file mode 100644 index 0000000000..815c2198cc --- /dev/null +++ b/ports/restclient-cpp/0001_fix_cmake_linking.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 45fc887..8b90048 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,7 +39,7 @@ find_package(Threads REQUIRED) + find_package(CURL REQUIRED) + find_package(jsoncpp) + +-add_library(restclient-cpp SHARED ++add_library(restclient-cpp + source/restclient.cc + source/connection.cc + source/helpers.cc diff --git a/ports/restclient-cpp/CONTROL b/ports/restclient-cpp/CONTROL new file mode 100644 index 0000000000..5cb43b1d42 --- /dev/null +++ b/ports/restclient-cpp/CONTROL @@ -0,0 +1,4 @@ +Source: restclient-cpp +Version: 0.5.1 +Build-Depends: curl +Description: Binn is a binary data serialization format designed to be compact, fast and easy to use. diff --git a/ports/restclient-cpp/portfile.cmake b/ports/restclient-cpp/portfile.cmake new file mode 100644 index 0000000000..116e609202 --- /dev/null +++ b/ports/restclient-cpp/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mrtazz/restclient-cpp + REF 0.5.1 + SHA512 d5e17a984af44f863bc7cdc7307c2b06cae9252f86c6c6c2377cdb317f61b6419d8e9aedc5e5ccdb08fd1ee13848ec3b9ef8067a8d26dcf438a5c8793b5a2ce3 + HEAD_REF master + PATCHES + 0001_fix_cmake_linking.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/restclient-cpp) + +# Remove includes in debug +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/bin) + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/restclient-cpp) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/restclient-cpp/LICENSE ${CURRENT_PACKAGES_DIR}/share/restclient-cpp/copyright) + +# Copy pdb files +vcpkg_copy_pdbs() From ba0b34c2e88c50626bb38a6f21ffcc7b2f93ad4d Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Mon, 17 Jun 2019 11:31:14 -0700 Subject: [PATCH 044/123] [blosc] Fix the bug when building release-only. (#6928) --- ports/blosc/CONTROL | 2 +- ports/blosc/portfile.cmake | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ports/blosc/CONTROL b/ports/blosc/CONTROL index 7c0d95842a..4dc7bf81f8 100644 --- a/ports/blosc/CONTROL +++ b/ports/blosc/CONTROL @@ -1,5 +1,5 @@ Source: blosc -Version: 1.16.3 +Version: 1.16.3-1 Build-Depends: lz4, snappy, zlib, zstd Homepage: https://github.com/Blosc/c-blosc Description: A blocking, shuffling and loss-less compression library that can be faster than `memcpy()` diff --git a/ports/blosc/portfile.cmake b/ports/blosc/portfile.cmake index a0d974b747..367c591944 100644 --- a/ports/blosc/portfile.cmake +++ b/ports/blosc/portfile.cmake @@ -32,14 +32,16 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_copy_pdbs() - if (BLOSC_SHARED) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/blosc.dll ${CURRENT_PACKAGES_DIR}/debug/bin/blosc.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/blosc.dll ${CURRENT_PACKAGES_DIR}/bin/blosc.dll) +vcpkg_copy_pdbs() + if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/blosc.dll") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/blosc.dll ${CURRENT_PACKAGES_DIR}/bin/blosc.dll) + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/blosc.dll") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/blosc.dll ${CURRENT_PACKAGES_DIR}/debug/bin/blosc.dll) + endif() endif() # cleanup From b4ae1fb52109e5f1359583d49a0d274412f3bd50 Mon Sep 17 00:00:00 2001 From: wangli28 <47812810+wangli28@users.noreply.github.com> Date: Tue, 18 Jun 2019 02:32:15 +0800 Subject: [PATCH 045/123] [libwebsockets] Fix build error on Linux (#6855) --- ports/libwebsockets/0001-Fix-UWP.patch | 99 -------------------------- ports/libwebsockets/CONTROL | 2 +- ports/libwebsockets/portfile.cmake | 14 ++-- 3 files changed, 10 insertions(+), 105 deletions(-) delete mode 100644 ports/libwebsockets/0001-Fix-UWP.patch diff --git a/ports/libwebsockets/0001-Fix-UWP.patch b/ports/libwebsockets/0001-Fix-UWP.patch deleted file mode 100644 index c4cf221404..0000000000 --- a/ports/libwebsockets/0001-Fix-UWP.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff --git a/lib/plat/lws-plat-win.c b/lib/plat/lws-plat-win.c -index dd3e95a..eb1690a 100644 ---- a/lib/plat/lws-plat-win.c -+++ b/lib/plat/lws-plat-win.c -@@ -157,7 +157,7 @@ _lws_plat_service_tsi(struct lws_context *context, int timeout_ms, int tsi) - { - struct lws_context_per_thread *pt; - WSANETWORKEVENTS networkevents; -- struct lws_pollfd *pfd; -+ struct lws_pollfd *pfd = NULL; - struct lws *wsi; - unsigned int i; - DWORD ev; -@@ -591,6 +591,7 @@ lws_plat_inet_pton(int af, const char *src, void *dst) - return ok ? 1 : -1; - } - -+#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) - LWS_VISIBLE lws_fop_fd_t - _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, - const char *vpath, lws_fop_flags_t *flags) -@@ -631,6 +632,49 @@ _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, - bail: - return NULL; - } -+#else -+LWS_VISIBLE lws_fop_fd_t -+_lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, -+ const char *vpath, lws_fop_flags_t *flags) -+{ -+ HANDLE ret; -+ WCHAR buf[MAX_PATH]; -+ lws_fop_fd_t fop_fd; -+ LARGE_INTEGER llFileSize = {0}; -+ -+ MultiByteToWideChar(CP_UTF8, 0, filename, -1, buf, ARRAY_SIZE(buf)); -+ if (((*flags) & 7) == _O_RDONLY) { -+ ret = CreateFile2(buf, GENERIC_READ, FILE_SHARE_READ, -+ OPEN_EXISTING, NULL); -+ } else { -+ lwsl_err("%s: open for write not implemented\n", __func__); -+ *filelen = 0; -+ ret = LWS_INVALID_FILE; -+ } -+ -+ if (ret == LWS_INVALID_FILE) -+ goto bail; -+ -+ fop_fd = malloc(sizeof(*fop_fd)); -+ if (!fop_fd) -+ goto bail; -+ -+ fop_fd->fops = fops; -+ fop_fd->fd = ret; -+ fop_fd->filesystem_priv = NULL; /* we don't use it */ -+ fop_fd->flags = *flags; -+ fop_fd->len = GetFileSize(ret, NULL); -+ if(GetFileSizeEx(ret, &llFileSize)) -+ fop_fd->len = llFileSize.QuadPart; -+ -+ fop_fd->pos = 0; -+ -+ return fop_fd; -+ -+bail: -+ return NULL; -+} -+#endif - - LWS_VISIBLE int - _lws_plat_file_close(lws_fop_fd_t *fop_fd) -diff --git a/lib/private-libwebsockets.h b/lib/private-libwebsockets.h -index 23f8f4d..bc32aef 100644 ---- a/lib/private-libwebsockets.h -+++ b/lib/private-libwebsockets.h -@@ -111,12 +111,23 @@ - #define WIN32_LEAN_AND_MEAN - #endif - -+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) -+#ifndef WINVER -+#define WINVER 0x0602 -+#define _WIN32_WINNT WINVER -+#endif -+ -+#define getenv(x) NULL -+#define _WINSOCK_DEPRECATED_NO_WARNINGS -+#else -+ - #if (WINVER < 0x0501) - #undef WINVER - #undef _WIN32_WINNT - #define WINVER 0x0501 - #define _WIN32_WINNT WINVER - #endif -+#endif - #define LWS_NO_DAEMONIZE - #define LWS_ERRNO WSAGetLastError() - #define LWS_EAGAIN WSAEWOULDBLOCK diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL index 97a755677d..ae9c3d6ee3 100644 --- a/ports/libwebsockets/CONTROL +++ b/ports/libwebsockets/CONTROL @@ -1,5 +1,5 @@ Source: libwebsockets -Version: 3.1.0 +Version: 3.1.0-1 Build-Depends: zlib, openssl Homepage: https://github.com/warmcat/libwebsockets Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server. diff --git a/ports/libwebsockets/portfile.cmake b/ports/libwebsockets/portfile.cmake index b869fcc2ab..c23f990422 100644 --- a/ports/libwebsockets/portfile.cmake +++ b/ports/libwebsockets/portfile.cmake @@ -6,8 +6,6 @@ vcpkg_from_github( REF v3.1.0 SHA512 e2a4c1b25bc6f028654a63fc01a2732e6c63414868f8d3d01fa477752fdabe0f61e8d271fe7dd2734db0e15b1250f6b0101285b6d694f971ec4bf67ba7ee067c HEAD_REF master - PATCHES - 0001-Fix-UWP.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LWS_WITH_STATIC) @@ -28,7 +26,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libwebsockets" TARGET_PATH "share/libwebsockets") +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) @@ -45,7 +47,9 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/share/libwebsockets/LibwebsocketsTargets-rele file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebsockets) file(RENAME ${CURRENT_PACKAGES_DIR}/share/libwebsockets/LICENSE ${CURRENT_PACKAGES_DIR}/share/libwebsockets/copyright) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/websockets_static.lib ${CURRENT_PACKAGES_DIR}/debug/lib/websockets.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/websockets_static.lib ${CURRENT_PACKAGES_DIR}/lib/websockets.lib) + if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/websockets_static.lib ${CURRENT_PACKAGES_DIR}/debug/lib/websockets.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/websockets_static.lib ${CURRENT_PACKAGES_DIR}/lib/websockets.lib) + endif() endif () vcpkg_copy_pdbs() From 70c615012fa3c3a66fb2bae715055a6d59085861 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 18 Jun 2019 04:19:39 +0800 Subject: [PATCH 046/123] [libsodium] Update to 1.0.18 (#6778) --- ports/libsodium/CONTROL | 2 +- ports/libsodium/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/libsodium/CONTROL b/ports/libsodium/CONTROL index 9a7a7e3bac..333f080318 100644 --- a/ports/libsodium/CONTROL +++ b/ports/libsodium/CONTROL @@ -1,4 +1,4 @@ Source: libsodium -Version: 1.0.17-3 +Version: 1.0.18 Description: A modern and easy-to-use crypto library Homepage: https://github.com/jedisct1/libsodium diff --git a/ports/libsodium/portfile.cmake b/ports/libsodium/portfile.cmake index c18f079923..2d61a45505 100644 --- a/ports/libsodium/portfile.cmake +++ b/ports/libsodium/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jedisct1/libsodium - REF 1.0.17 - SHA512 faf6ab57d113b6b1614b51390823a646f059018327b6f493e9e918a908652d0932a75a1a6683032b7a3869f516f387d67acdf944568387feddff7b2f5b6e77d6 + REF 1.0.18 + SHA512 727fe50a5fb1df86ec5d807770f408a52609cbeb8510b4f4183b2a35a537905719bdb6348afcb103ff00ce946a8094ac9559b6e3e5b2ccc2a2d0c08f75577eeb HEAD_REF master ) From 302c43f9319b5d8e432619262920b8608855f769 Mon Sep 17 00:00:00 2001 From: Claudio Fantacci Date: Mon, 17 Jun 2019 23:38:05 +0200 Subject: [PATCH 047/123] [realsense2] Update to v2.19.0 (#5777) * [realsense2] Update to v2.19.0 * [realsense2] Update to version 2.22.0 --- ports/realsense2/CONTROL | 16 ++++++------- ports/realsense2/portfile.cmake | 41 +++++++++++++++++---------------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL index 5147c77cf3..34698dbd65 100644 --- a/ports/realsense2/CONTROL +++ b/ports/realsense2/CONTROL @@ -1,8 +1,8 @@ -Source: realsense2 -Version: 2.16.1-2 -Homepage: https://github.com/IntelRealSense/librealsense -Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300). - -Feature: tools -Build-Depends: opengl -Description: Build Intel® RealSense™ examples and tools +Source: realsense2 +Version: 2.22.0 +Homepage: https://github.com/IntelRealSense/librealsense +Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300). + +Feature: tools +Build-Depends: opengl +Description: Build Intel® RealSense™ examples and tools diff --git a/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake index 0d8ae7cdc7..8d5def7c80 100644 --- a/ports/realsense2/portfile.cmake +++ b/ports/realsense2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO IntelRealSense/librealsense - REF v2.16.1 - SHA512 e030f7b1833db787b8976ead734535fb2209a19317d74d4f68bd8f8cae38abe2343d584e88131a1a66bf6f9f1c0a17bc2c64540841a74cf6300fecf3e69f9dff + REF v2.22.0 + SHA512 7595780c1955a2d4a91df5b70ab6366c672f389bc3d2dcb9f2e78a2ea1fc875c65f878103df483205e17f62dfd024ee5f7ccb15afc5d18978d3c25aa071652ab HEAD_REF development ) @@ -13,47 +13,48 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_CRT_LINKAGE) set(BUILD_EXAMPLES OFF) set(BUILD_GRAPHICAL_EXAMPLES OFF) if("tools" IN_LIST FEATURES) - set(BUILD_EXAMPLES ON) - set(BUILD_GRAPHICAL_EXAMPLES ON) + set(BUILD_EXAMPLES ON) + set(BUILD_GRAPHICAL_EXAMPLES ON) endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS - #Ungrouped Entries -DENFORCE_METADATA=ON - # BUILD + -DBUILD_WITH_TM2=OFF + -DBUILD_WITH_OPENMP=OFF + -DBUILD_UNIT_TESTS=OFF + -DBUILD_WITH_STATIC_CRT=${BUILD_CRT_LINKAGE} + OPTIONS_RELEASE -DBUILD_EXAMPLES=${BUILD_EXAMPLES} -DBUILD_GRAPHICAL_EXAMPLES=${BUILD_GRAPHICAL_EXAMPLES} - -DBUILD_UNIT_TESTS=OFF - -DBUILD_WITH_OPENMP=OFF - -DBUILD_WITH_STATIC_CRT=${BUILD_CRT_LINKAGE} OPTIONS_DEBUG - # BUILD -DBUILD_EXAMPLES=OFF -DBUILD_GRAPHICAL_EXAMPLES=OFF - # CMAKE - -DCMAKE_PDB_OUTPUT_DIRECTORY=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - -DCMAKE_DEBUG_POSTFIX=_d ) vcpkg_install_cmake() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/realsense2) + vcpkg_copy_pdbs() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) if(BUILD_EXAMPLES) - file(GLOB EXEFILES_RELEASE ${CURRENT_PACKAGES_DIR}/bin/rs-* ${CURRENT_PACKAGES_DIR}/bin/realsense-*) + file(GLOB EXEFILES_RELEASE + ${CURRENT_PACKAGES_DIR}/bin/rs-* + ${CURRENT_PACKAGES_DIR}/bin/realsense-* + ) + if (EXEFILES_RELEASE) file(COPY ${EXEFILES_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/realsense2) file(REMOVE ${EXEFILES_RELEASE}) endif() - file(GLOB EXEFILES_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*) - if (EXEFILES_DEBUG) - file(REMOVE ${EXEFILES_RELEASE} ${EXEFILES_DEBUG}) - endif() + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/realsense2) file(GLOB BINS ${CURRENT_PACKAGES_DIR}/bin/*) @@ -62,5 +63,5 @@ if(BUILD_EXAMPLES) endif() endif() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/realsense2) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/realsense2/COPYING ${CURRENT_PACKAGES_DIR}/share/realsense2/copyright) +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/realsense2) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/realsense2/LICENSE ${CURRENT_PACKAGES_DIR}/share/realsense2/copyright) From 5e9ccbc4a56970b36817e8adfbaa586962ef587f Mon Sep 17 00:00:00 2001 From: Tsukasa Sugiura Date: Tue, 18 Jun 2019 08:04:18 +0900 Subject: [PATCH 048/123] [realsense2] Enable OpenNI2 driver option (#5275) * [realsense2] Update to v2.18.0 Update realsense2 port to librealsense v2.18.0. * [realsense2] Add OpenNI2 driver option Add OpenNI2 driver option. * [realsense2] Fix OpenNI2 driver option * [realsense2] Remove unnecessary patch * [realsense2] Bump CONTROL version --- ports/realsense2/CONTROL | 6 +++++- ports/realsense2/fix_openni2.patch | 18 ++++++++++++++++++ ports/realsense2/portfile.cmake | 27 ++++++++++++++++++++------- 3 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 ports/realsense2/fix_openni2.patch diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL index 34698dbd65..40341f080a 100644 --- a/ports/realsense2/CONTROL +++ b/ports/realsense2/CONTROL @@ -1,8 +1,12 @@ Source: realsense2 -Version: 2.22.0 +Version: 2.22.0-1 Homepage: https://github.com/IntelRealSense/librealsense Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300). Feature: tools Build-Depends: opengl Description: Build Intel® RealSense™ examples and tools + +Feature: openni2 +Build-Depends: openni2 +Description: Build Intel® RealSense™ OpenNI2 driver diff --git a/ports/realsense2/fix_openni2.patch b/ports/realsense2/fix_openni2.patch new file mode 100644 index 0000000000..541f8376af --- /dev/null +++ b/ports/realsense2/fix_openni2.patch @@ -0,0 +1,18 @@ +diff --git a/wrappers/openni2/CMakeLists.txt b/wrappers/openni2/CMakeLists.txt +index 0eee84c2..769e67ff 100755 +--- a/wrappers/openni2/CMakeLists.txt ++++ b/wrappers/openni2/CMakeLists.txt +@@ -6,12 +6,7 @@ set(OPENNI2_DIR "c:/Program Files/OpenNI2" CACHE FILEPATH "OpenNI2 SDK directory + set(REALSENSE2_DIR "c:/Program Files (x86)/Intel RealSense SDK 2.0" CACHE FILEPATH "RealSense2 SDK directory") + + # INCLUDE DIR +-if (UNIX) +- include_directories (${OPENNI2_DIR}) +-else () +- include_directories (${OPENNI2_DIR}/Include) +-endif () +- ++include_directories (${OPENNI2_DIR}) + include_directories (${REALSENSE2_DIR}/include) + include_directories (src) + diff --git a/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake index 8d5def7c80..decc9b504b 100644 --- a/ports/realsense2/portfile.cmake +++ b/ports/realsense2/portfile.cmake @@ -6,15 +6,20 @@ vcpkg_from_github( REF v2.22.0 SHA512 7595780c1955a2d4a91df5b70ab6366c672f389bc3d2dcb9f2e78a2ea1fc875c65f878103df483205e17f62dfd024ee5f7ccb15afc5d18978d3c25aa071652ab HEAD_REF development + PATCHES + "fix_openni2.patch" ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_CRT_LINKAGE) -set(BUILD_EXAMPLES OFF) -set(BUILD_GRAPHICAL_EXAMPLES OFF) +set(BUILD_TOOLS OFF) if("tools" IN_LIST FEATURES) - set(BUILD_EXAMPLES ON) - set(BUILD_GRAPHICAL_EXAMPLES ON) + set(BUILD_TOOLS ON) +endif() + +set(BUILD_OPENNI2_BINDINGS OFF) +if(("openni2" IN_LIST FEATURES) AND (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")) + set(BUILD_OPENNI2_BINDINGS ON) endif() vcpkg_configure_cmake( @@ -26,9 +31,11 @@ vcpkg_configure_cmake( -DBUILD_WITH_OPENMP=OFF -DBUILD_UNIT_TESTS=OFF -DBUILD_WITH_STATIC_CRT=${BUILD_CRT_LINKAGE} + -DBUILD_OPENNI2_BINDINGS=${BUILD_OPENNI2_BINDINGS} + -DOPENNI2_DIR=${CURRENT_INSTALLED_DIR}/include/openni2 OPTIONS_RELEASE - -DBUILD_EXAMPLES=${BUILD_EXAMPLES} - -DBUILD_GRAPHICAL_EXAMPLES=${BUILD_GRAPHICAL_EXAMPLES} + -DBUILD_EXAMPLES=${BUILD_TOOLS} + -DBUILD_GRAPHICAL_EXAMPLES=${BUILD_TOOLS} OPTIONS_DEBUG -DBUILD_EXAMPLES=OFF -DBUILD_GRAPHICAL_EXAMPLES=OFF @@ -44,7 +51,7 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -if(BUILD_EXAMPLES) +if(BUILD_TOOLS) file(GLOB EXEFILES_RELEASE ${CURRENT_PACKAGES_DIR}/bin/rs-* ${CURRENT_PACKAGES_DIR}/bin/realsense-* @@ -63,5 +70,11 @@ if(BUILD_EXAMPLES) endif() endif() + +if(BUILD_OPENNI2_BINDINGS) + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/_out/rs2driver* + DESTINATION ${CURRENT_PACKAGES_DIR}/tools/openni2/OpenNI2/Drivers) +endif() + file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/realsense2) file(RENAME ${CURRENT_PACKAGES_DIR}/share/realsense2/LICENSE ${CURRENT_PACKAGES_DIR}/share/realsense2/copyright) From 5bbba1c92b4730ef68b304cd668168539a11d13f Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 18 Jun 2019 07:36:07 +0800 Subject: [PATCH 049/123] [nvtt]Upgrade version to 2.1.1 and fix build error on windows. (#6765) * [nvtt]Upgrade version to 2.1.1 and fix build error on windows. * [nvtt]Fix build error on OSX. * [nvtt]Merge two patches. * [nvtt]Re-trigger CI system. * [nvtt]Fix build error on OSX. --- ...ne-value-for-HAVE_UNISTD_H-in-mac-os.patch | 32 +++++++-------- ports/nvtt/CONTROL | 2 +- ports/nvtt/fix-build-error.patch | 39 +++++++++++++++++++ ports/nvtt/portfile.cmake | 7 ++-- 4 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 ports/nvtt/fix-build-error.patch diff --git a/ports/nvtt/001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch b/ports/nvtt/001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch index 915f247c84..366cff84f6 100644 --- a/ports/nvtt/001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch +++ b/ports/nvtt/001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch @@ -1,16 +1,16 @@ -diff --git a/src/nvconfig.h.in b/src/nvconfig.h.in -index 16da646..ada6be0 100644 ---- a/src/nvconfig.h.in -+++ b/src/nvconfig.h.in -@@ -1,7 +1,11 @@ - #ifndef NV_CONFIG - #define NV_CONFIG - -+#if NV_OS_DARWIN & !NV_OS_IOS -+#cmakedefine01 HAVE_UNISTD_H -+#else - #cmakedefine HAVE_UNISTD_H -+#endif - #cmakedefine HAVE_STDARG_H - #cmakedefine HAVE_SIGNAL_H - #cmakedefine HAVE_EXECINFO_H +diff --git a/src/nvconfig.h.in b/src/nvconfig.h.in +index 16da646..ada6be0 100644 +--- a/src/nvconfig.h.in ++++ b/src/nvconfig.h.in +@@ -1,7 +1,11 @@ + #ifndef NV_CONFIG + #define NV_CONFIG + ++#if NV_OS_DARWIN & !NV_OS_IOS ++#cmakedefine01 HAVE_UNISTD_H ++#else + #cmakedefine HAVE_UNISTD_H ++#endif + #cmakedefine HAVE_STDARG_H + #cmakedefine HAVE_SIGNAL_H + #cmakedefine HAVE_EXECINFO_H diff --git a/ports/nvtt/CONTROL b/ports/nvtt/CONTROL index e52645ba76..189ff6caf8 100644 --- a/ports/nvtt/CONTROL +++ b/ports/nvtt/CONTROL @@ -1,3 +1,3 @@ Source: nvtt -Version: 2.1.0-3 +Version: 2.1.1 Description: Texture processing tools with support for Direct3D 10 and 11 formats. diff --git a/ports/nvtt/fix-build-error.patch b/ports/nvtt/fix-build-error.patch new file mode 100644 index 0000000000..7ba1c19763 --- /dev/null +++ b/ports/nvtt/fix-build-error.patch @@ -0,0 +1,39 @@ +diff --git a/extern/butteraugli/butteraugli.h b/extern/butteraugli/butteraugli.h +index 31824b8..c116a73 100644 +--- a/extern/butteraugli/butteraugli.h ++++ b/extern/butteraugli/butteraugli.h +@@ -134,7 +134,14 @@ bool ButteraugliAdaptiveQuantization(size_t xsize, size_t ysize, + // The conventional syntax uint8_t* const RESTRICT is more confusing - it is + // not immediately obvious that the pointee is non-const. + template ++#ifdef _MSC_VER ++// Due to MSVC bug: ++// https://developercommunity.visualstudio.com/content/problem/32196/msvc-cant-compile-a-templated-using-without-instan.html ++// , we cannot use __restrict now. Loss some performance instead of can't use this code. ++using ConstRestrict = T const; ++#else + using ConstRestrict = T const BUTTERAUGLI_RESTRICT; ++#endif + + // Functions that depend on the cache line size. + class CacheAligned { +diff --git a/src/nvthread/Atomic.h b/src/nvthread/Atomic.h +index 212b9cb..b8eaedb 100644 +--- a/src/nvthread/Atomic.h ++++ b/src/nvthread/Atomic.h +@@ -183,7 +183,6 @@ namespace nv { + + + #elif NV_CC_CLANG && (NV_OS_IOS || NV_OS_DARWIN) +- NV_COMPILER_CHECK(sizeof(uint32) == sizeof(long)); + + //ACS: Use Apple's atomics instead? I don't know if these are better in any way; there are non-barrier versions too. There's no OSAtomicSwap32 tho' + /* +@@ -254,7 +253,6 @@ namespace nv { + + + #elif NV_CC_CLANG && POSH_CPU_STRONGARM +- NV_COMPILER_CHECK(sizeof(uint32) == sizeof(long)); + + inline uint32 atomicIncrement(uint32 * value) + { diff --git a/ports/nvtt/portfile.cmake b/ports/nvtt/portfile.cmake index cd60088530..bacdebbbc4 100644 --- a/ports/nvtt/portfile.cmake +++ b/ports/nvtt/portfile.cmake @@ -5,14 +5,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO castano/nvidia-texture-tools - REF 2.1.0 - SHA512 6c5c9588af57023fc384de080cbe5c5ccd8707d04a9533384c606efd09730d780cb21bcf2d3576102a3facd2f281cacb2625958d74575e71550fd98da92e38b6 + REF 2.1.1 + SHA512 3e6fef5977ca29daa7dc97afe11d61de57a8556c9caf30902db8c5c167d9c38f736bcb62eebdaaf7558299b39975bc269d41ab980c813b67dd1fc85064c853c9 HEAD_REF master PATCHES 001-define-value-for-HAVE_UNISTD_H-in-mac-os.patch bc6h.patch bc7.patch squish.patch + fix-build-error.patch ) vcpkg_configure_cmake( @@ -37,4 +38,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright file(REMOVE ${CURRENT_PACKAGES_DIR}/share/doc/nvtt/LICENSE) file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/nvtt) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/nvtt/LICENSE ${CURRENT_PACKAGES_DIR}/share/nvtt/copyright) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/nvtt/LICENSE ${CURRENT_PACKAGES_DIR}/share/nvtt/copyright) \ No newline at end of file From f10cfbe064e1c79340e2366361f5de2b3997ad41 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 18 Jun 2019 08:10:45 +0800 Subject: [PATCH 050/123] [log4cplus]Fix lnk2019 errors when using log4cplus. (#6930) --- ports/log4cplus/CONTROL | 2 +- ports/log4cplus/fix-usage-error.patch | 105 ++++++++++++++++++++++++++ ports/log4cplus/portfile.cmake | 1 + 3 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 ports/log4cplus/fix-usage-error.patch diff --git a/ports/log4cplus/CONTROL b/ports/log4cplus/CONTROL index bdcb159b74..99771644a1 100644 --- a/ports/log4cplus/CONTROL +++ b/ports/log4cplus/CONTROL @@ -1,5 +1,5 @@ Source: log4cplus -Version: 2.0.4 +Version: 2.0.4-1 Homepage: https://github.com/log4cplus/log4cplus Description: A simple to use C++ logging API providing thread--safe, flexible, and arbitrarily granular control over log management and configuration Build-Depends: catch diff --git a/ports/log4cplus/fix-usage-error.patch b/ports/log4cplus/fix-usage-error.patch new file mode 100644 index 0000000000..4a2753ffc1 --- /dev/null +++ b/ports/log4cplus/fix-usage-error.patch @@ -0,0 +1,105 @@ +diff --git a/qt4debugappender/CMakeLists.txt b/qt4debugappender/CMakeLists.txt +index 2f28be5..0a98704 100644 +--- a/qt4debugappender/CMakeLists.txt ++++ b/qt4debugappender/CMakeLists.txt +@@ -4,15 +4,17 @@ set (qt4debugappender_sources + if (${BUILD_SHARED_LIBS}) + add_definitions (-D${log4cplus}_EXPORTS) + endif () +-if (UNICODE) +- add_definitions (-DUNICODE -D_UNICODE -UMBCS -U_MBCS) +-endif (UNICODE) + + find_package (Qt4 REQUIRED) + include (${QT_USE_FILE}) + + set (qt4debugappender log4cplusqt4debugappender${log4cplus_postfix}) + add_library (${qt4debugappender} ${qt4debugappender_sources}) ++if (UNICODE) ++ target_compile_definitions (${qt4debugappender} PUBLIC UNICODE) ++ target_compile_definitions (${qt4debugappender} PUBLIC _UNICODE) ++ add_definitions (-UMBCS -U_MBCS) ++endif (UNICODE) + target_link_libraries (${qt4debugappender} + ${log4cplus} + ${QT_LIBRARIES} +diff --git a/qt5debugappender/CMakeLists.txt b/qt5debugappender/CMakeLists.txt +index 9570e76..de6fecf 100644 +--- a/qt5debugappender/CMakeLists.txt ++++ b/qt5debugappender/CMakeLists.txt +@@ -4,15 +4,17 @@ set (qt5debugappender_sources + if (${BUILD_SHARED_LIBS}) + add_definitions (-D${log4cplus}_EXPORTS) + endif () +-if (UNICODE) +- add_definitions (-DUNICODE -D_UNICODE -UMBCS -U_MBCS) +-endif (UNICODE) + + find_package (Qt5Core REQUIRED) + #include (${QT_USE_FILE}) + + set (qt5debugappender log4cplusqt5debugappender${log4cplus_postfix}) + add_library (${qt5debugappender} ${qt5debugappender_sources}) ++if (UNICODE) ++ target_compile_definitions (${qt5debugappender} PUBLIC UNICODE) ++ target_compile_definitions (${qt5debugappender} PUBLIC _UNICODE) ++ add_definitions (-UMBCS -U_MBCS) ++endif (UNICODE) + target_link_libraries (${qt5debugappender} + ${log4cplus} + ${Qt5Widgets_LIBRARIES} +diff --git a/simpleserver/CMakeLists.txt b/simpleserver/CMakeLists.txt +index e535120..5202f42 100644 +--- a/simpleserver/CMakeLists.txt ++++ b/simpleserver/CMakeLists.txt +@@ -1,14 +1,15 @@ +-if (UNICODE) +- add_definitions (-DUNICODE -D_UNICODE -UMBCS -U_MBCS) +-endif (UNICODE) +- + message (STATUS "Threads: ${CMAKE_THREAD_LIBS_INIT}") +- + set (loggingserver_sources loggingserver.cxx) + + message (STATUS "Sources: ${loggingserver_sources}") + +-add_executable (loggingserver ${loggingserver_sources}) +-target_link_libraries (loggingserver ${log4cplus}) ++set (loggingserver loggingserver${log4cplus_postfix}) ++add_executable (${loggingserver} ${loggingserver_sources}) ++if (UNICODE) ++ target_compile_definitions (${loggingserver} PUBLIC UNICODE) ++ target_compile_definitions (${loggingserver} PUBLIC _UNICODE) ++ add_definitions (-UMBCS -U_MBCS) ++endif (UNICODE) ++target_link_libraries (${loggingserver} ${log4cplus}) + +-install(TARGETS loggingserver DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS ${loggingserver} DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b7b7ad8..91e0c63 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -67,9 +67,6 @@ endif () + + # Define _GNU_SOURCE so that functions like `pipe2()` are visible. + add_definitions (-D_GNU_SOURCE=1) +-if (UNICODE) +- add_definitions (-DUNICODE -D_UNICODE -UMBCS -U_MBCS) +-endif (UNICODE) + if (WIN32) + add_definitions (-DMINGW_HAS_SECURE_API=1) + add_definitions (-D_WIN32_WINNT=${_WIN32_WINNT}) +@@ -85,6 +82,12 @@ endif (WIN32) + + add_library (${log4cplus} ${log4cplus_sources}) + ++if (UNICODE) ++ target_compile_definitions (${log4cplus} PUBLIC UNICODE) ++ target_compile_definitions (${log4cplus} PUBLIC _UNICODE) ++ add_definitions (-UMBCS -U_MBCS) ++endif (UNICODE) ++ + set (log4cplus_LIBS ${CMAKE_THREAD_LIBS_INIT}) + if (LIBRT) + list (APPEND log4cplus_LIBS ${LIBRT}) diff --git a/ports/log4cplus/portfile.cmake b/ports/log4cplus/portfile.cmake index 748311b241..b2c1035da0 100644 --- a/ports/log4cplus/portfile.cmake +++ b/ports/log4cplus/portfile.cmake @@ -5,6 +5,7 @@ vcpkg_from_github( REF REL_2_0_4 SHA512 194e37b8de7be377dabe911d1cec831de41f5ce14dd617b5333739a7ab8dbc3061aa24351abe811588db507aa1563a637023b26684fb21bbfc88d24b4e4ce062 HEAD_REF master + PATCHES fix-usage-error.patch ) set(THREADPOOL_REF cc0b6371d3963f7028c2da5fc007733f9f3bf205) From 0b24f31aadfff8e0b43903dc7632640d32d6a343 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 18 Jun 2019 08:12:00 +0800 Subject: [PATCH 051/123] [sdl2-mixer]Fix build error with feature opusfile. (#6929) --- ports/sdl2-mixer/CMakeLists.txt | 4 +++- ports/sdl2-mixer/CONTROL | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ports/sdl2-mixer/CMakeLists.txt b/ports/sdl2-mixer/CMakeLists.txt index f9912346c8..1265145fa6 100644 --- a/ports/sdl2-mixer/CMakeLists.txt +++ b/ports/sdl2-mixer/CMakeLists.txt @@ -49,9 +49,11 @@ endif() # Opus support if(SDL_MIXER_ENABLE_OPUS) find_path(OPUS_INCLUDE_DIR opus/opusfile.h) + find_package(ogg CONFIG REQUIRED) + find_package(Opus CONFIG REQUIRED) find_library(OPUSFILE_LIBRARY opusfile) list(APPEND SDL_MIXER_INCLUDES ${OPUS_INCLUDE_DIR}) - list(APPEND SDL_MIXER_LIBRARIES ${OPUSFILE_LIBRARY}) + list(APPEND SDL_MIXER_LIBRARIES ${OPUSFILE_LIBRARY} Ogg::ogg Opus::opus) list(APPEND SDL_MIXER_DEFINES MUSIC_OPUS) endif() diff --git a/ports/sdl2-mixer/CONTROL b/ports/sdl2-mixer/CONTROL index 57827c0e69..2c76639dcd 100644 --- a/ports/sdl2-mixer/CONTROL +++ b/ports/sdl2-mixer/CONTROL @@ -1,5 +1,5 @@ Source: sdl2-mixer -Version: 2.0.4-2 +Version: 2.0.4-3 Homepage: https://www.libsdl.org/projects/SDL_mixer Description: Multi-channel audio mixer library for SDL. Build-Depends: sdl2 From 09d8df72aabf7bae33a88615d09a3f4591400936 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 18 Jun 2019 08:12:44 +0800 Subject: [PATCH 052/123] [qt5-declarative]Fix error when building release-only. (#6927) --- ports/qt5-declarative/CONTROL | 2 +- ports/qt5-declarative/portfile.cmake | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ports/qt5-declarative/CONTROL b/ports/qt5-declarative/CONTROL index 1ef033d17c..1e7e6f6e64 100644 --- a/ports/qt5-declarative/CONTROL +++ b/ports/qt5-declarative/CONTROL @@ -1,4 +1,4 @@ Source: qt5-declarative -Version: 5.12.3 +Version: 5.12.3-1 Description: Qt5 Declarative (Quick 2) Module. Includes QtQuick, QtQuickParticles, QtQuickWidgets, QtQml, and QtPacketProtocol. Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-declarative/portfile.cmake b/ports/qt5-declarative/portfile.cmake index badeab8825..1056d1b9f3 100644 --- a/ports/qt5-declarative/portfile.cmake +++ b/ports/qt5-declarative/portfile.cmake @@ -6,7 +6,9 @@ qt_modular_library(qtdeclarative 0caddcfee36cbf52bacd3a400d304511255715e2b5a58c1 file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-declarative/plugins/platforminputcontexts) -set(qt5decpath ${CURRENT_PACKAGES_DIR}/share/qt5/debug/mkspecs/modules/qt_lib_qmldevtools_private.pri) -file(READ "${qt5decpath}" _contents) -string(REPLACE [[QT.qmldevtools_private.libs = $$QT_MODULE_HOST_LIB_BASE]] [[QT.qmldevtools_private.libs = $$QT_MODULE_LIB_BASE]] _contents "${_contents}") -file(WRITE "${qt5decpath}" "${_contents}") \ No newline at end of file +if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(qt5decpath ${CURRENT_PACKAGES_DIR}/share/qt5/debug/mkspecs/modules/qt_lib_qmldevtools_private.pri) + file(READ "${qt5decpath}" _contents) + string(REPLACE [[QT.qmldevtools_private.libs = $$QT_MODULE_HOST_LIB_BASE]] [[QT.qmldevtools_private.libs = $$QT_MODULE_LIB_BASE]] _contents "${_contents}") + file(WRITE "${qt5decpath}" "${_contents}") +endif() \ No newline at end of file From e4acc60b3c9acb7fe7a323f146234e3aeab7cab6 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Tue, 18 Jun 2019 00:01:32 -0700 Subject: [PATCH 053/123] address qhull flaky build with msvc linker (#6943) --- scripts/cmake/vcpkg_execute_build_process.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake index 27e8c81632..d440ba2f6c 100644 --- a/scripts/cmake/vcpkg_execute_build_process.cmake +++ b/scripts/cmake/vcpkg_execute_build_process.cmake @@ -59,7 +59,8 @@ function(vcpkg_execute_build_process) if(out_contents MATCHES "LINK : fatal error LNK1102:" OR out_contents MATCHES " fatal error C1060: " OR err_contents MATCHES "LINK : fatal error LNK1102:" OR err_contents MATCHES " fatal error C1060: " OR out_contents MATCHES "LINK : fatal error LNK1318: Unexpected PDB error; ACCESS_DENIED" - OR out_contents MATCHES "LINK : fatal error LNK1104:") + OR out_contents MATCHES "LINK : fatal error LNK1104:" + OR out_contents MATCHES "LINK : fatal error LNK1201:") # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled. message(STATUS "Restarting Build without parallelism because memory exceeded") set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-out-1.log") From 49d1759ec85c31eb50d07b42d245b989b99df37c Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 19 Jun 2019 02:11:06 +0800 Subject: [PATCH 054/123] [spdlog]Add feature[benchmark] (#6924) * [spdlog]Add feature[benchmark] --- ports/spdlog/CONTROL | 6 +++++- ports/spdlog/fix-feature-export.patch | 14 ++++++++++++++ ports/spdlog/portfile.cmake | 10 ++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 ports/spdlog/fix-feature-export.patch diff --git a/ports/spdlog/CONTROL b/ports/spdlog/CONTROL index 38149a55c7..aa54747099 100644 --- a/ports/spdlog/CONTROL +++ b/ports/spdlog/CONTROL @@ -1,5 +1,9 @@ Source: spdlog -Version: 1.3.1 +Version: 1.3.1-1 Homepage: https://github.com/gabime/spdlog Description: Very fast, header only, C++ logging library Build-Depends: fmt + +Feature: benchmark +Description: Use google benchmark +Build-Depends: benchmark \ No newline at end of file diff --git a/ports/spdlog/fix-feature-export.patch b/ports/spdlog/fix-feature-export.patch new file mode 100644 index 0000000000..ad1239fd79 --- /dev/null +++ b/ports/spdlog/fix-feature-export.patch @@ -0,0 +1,14 @@ +diff --git a/bench/CMakeLists.txt b/bench/CMakeLists.txt +index 3c4a3f9..3bc3813 100644 +--- a/bench/CMakeLists.txt ++++ b/bench/CMakeLists.txt +@@ -46,3 +46,8 @@ add_executable(formatter-bench formatter-bench.cpp) + target_link_libraries(formatter-bench PRIVATE benchmark::benchmark spdlog::spdlog Threads::Threads) + + file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/logs") ++ ++install(TARGETS bench async_bench latency ++ RUNTIME DESTINATION tools/spdlog ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) +\ No newline at end of file diff --git a/ports/spdlog/portfile.cmake b/ports/spdlog/portfile.cmake index 530e8b0844..37cd8644f0 100644 --- a/ports/spdlog/portfile.cmake +++ b/ports/spdlog/portfile.cmake @@ -1,5 +1,6 @@ #header-only library include(vcpkg_common_functions) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gabime/spdlog @@ -8,19 +9,28 @@ vcpkg_from_github( HEAD_REF v1.x PATCHES disable-master-project-check.patch + fix-feature-export.patch ) +set(SPDLOG_USE_BENCHMARK OFF) +if("benchmark" IN_LIST FEATURES) + set(SPDLOG_USE_BENCHMARK ON) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DSPDLOG_FMT_EXTERNAL=ON + -DSPDLOG_BUILD_BENCH=${SPDLOG_USE_BENCHMARK} ) vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/spdlog) +vcpkg_copy_pdbs() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) From bd5007625e2c44e4474361d9cba5e03fa6e5aab7 Mon Sep 17 00:00:00 2001 From: Josue Andrade Gomes Date: Tue, 18 Jun 2019 15:18:37 -0300 Subject: [PATCH 055/123] Graphicsmagick 1.3.32 (#6947) * GraphicsMagick 1.3.32 * Fix missing header install --- ports/graphicsmagick/CMakeLists.txt | 10 ++++++---- ports/graphicsmagick/CONTROL | 2 +- ports/graphicsmagick/portfile.cmake | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ports/graphicsmagick/CMakeLists.txt b/ports/graphicsmagick/CMakeLists.txt index 34c05a7b27..cf375e96da 100644 --- a/ports/graphicsmagick/CMakeLists.txt +++ b/ports/graphicsmagick/CMakeLists.txt @@ -28,6 +28,7 @@ include_directories("magick") include_directories("Magick++") include_directories("Magick++/lib") include_directories("wand") +include_directories("jbig/libjbig") file(READ "magick/magick_config.h.in" CONFIG_H) string(REPLACE "#undef HasBZLIB" "#define HasBZLIB" CONFIG_H "${CONFIG_H}") @@ -38,6 +39,7 @@ string(REPLACE "#undef HasTTF" "#define HasTTF" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HasTTF" "#define HasTTF" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HAVE_FT2BUILD_H" "#define HAVE_FT2BUILD_H" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HasZLIB" "#define HasZLIB" CONFIG_H "${CONFIG_H}") +string(REPLACE "#undef HasJBIG" "#define HasJBIG" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef QuantumDepth" "#define QuantumDepth 16" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef restrict" "#define restrict" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef size_t" "/* #undef size_t */" CONFIG_H "${CONFIG_H}") @@ -57,7 +59,7 @@ string(REPLACE "#undef size_t" "/* #undef size_t */" CONFIG_API_H "${CONFIG_API_ file(WRITE "magick/magick_config_api.h" "${CONFIG_API_H}") add_library(graphicsmagick coders/art.c coders/avs.c - coders/bmp.c coders/cals.c coders/caption.c + coders/bmp.c coders/braille.c coders/cals.c coders/caption.c coders/cineon.c coders/clipboard.c coders/cmyk.c coders/cut.c coders/dcm.c coders/dcraw.c coders/dib.c coders/dps.c coders/dpx.c coders/emf.c coders/ept.c @@ -108,7 +110,8 @@ add_library(graphicsmagick coders/art.c coders/avs.c Magick++/lib/ImageRef.cpp Magick++/lib/Montage.cpp Magick++/lib/Options.cpp Magick++/lib/Pixels.cpp Magick++/lib/STL.cpp Magick++/lib/Thread.cpp Magick++/lib/TypeMetric.cpp - wand/drawing_wand.c wand/magick_compat.c wand/magick_wand.c wand/pixel_wand.c) + wand/drawing_wand.c wand/magick_compat.c wand/magick_wand.c wand/pixel_wand.c + jbig/libjbig/jbig.c jbig/libjbig/jbig_tab.c) TARGET_LINK_LIBRARIES(graphicsmagick PRIVATE ZLIB::ZLIB @@ -158,7 +161,6 @@ option(INSTALL_HEADERS "Install development header files" ON) if (INSTALL_HEADERS) install(FILES magick/alpha_composite.h DESTINATION include/magick) install(FILES magick/analyze.h DESTINATION include/magick) - install(FILES magick/animate.h DESTINATION include/magick) install(FILES magick/api.h DESTINATION include/magick) install(FILES magick/attribute.h DESTINATION include/magick) install(FILES magick/average.h DESTINATION include/magick) @@ -181,7 +183,6 @@ if (INSTALL_HEADERS) install(FILES magick/delegate.h DESTINATION include/magick) install(FILES magick/deprecate.h DESTINATION include/magick) install(FILES magick/describe.h DESTINATION include/magick) - install(FILES magick/display.h DESTINATION include/magick) install(FILES magick/draw.h DESTINATION include/magick) install(FILES magick/effect.h DESTINATION include/magick) install(FILES magick/enhance.h DESTINATION include/magick) @@ -206,6 +207,7 @@ if (INSTALL_HEADERS) install(FILES magick/map.h DESTINATION include/magick) install(FILES magick/memory.h DESTINATION include/magick) install(FILES magick/module.h DESTINATION include/magick) + install(FILES magick/module_aliases.h DESTINATION include/magick) install(FILES magick/monitor.h DESTINATION include/magick) install(FILES magick/montage.h DESTINATION include/magick) install(FILES magick/nt_base.h DESTINATION include/magick) diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL index b2ba96c95c..631fd52f3c 100644 --- a/ports/graphicsmagick/CONTROL +++ b/ports/graphicsmagick/CONTROL @@ -1,6 +1,6 @@ Source: graphicsmagick Maintainer: josuegomes@gmail.com -Version: 1.3.31-1 +Version: 1.3.32 Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff Homepage: https://sourceforge.net/projects/graphicsmagick/ Description: Image processing library diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake index 87d03bd1f6..b976bfbee0 100644 --- a/ports/graphicsmagick/portfile.cmake +++ b/ports/graphicsmagick/portfile.cmake @@ -1,11 +1,11 @@ include(vcpkg_common_functions) -set(GM_VERSION 1.3.31) +set(GM_VERSION 1.3.32) vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GM_VERSION}/GraphicsMagick-${GM_VERSION}-windows-source.7z" FILENAME "GraphicsMagick-${GM_VERSION}-windows-source.7z" - SHA512 ff67f5e6adf352527264e7a6a76d45ce34470263dc764760d876b9ab5d5078e3a46b9d9cb2e7ab52d53106ffe584d44c66b42f3d4d62c972662d488c86510881 + SHA512 1636f704bac65587d6526a10e7002a6158f951643a4e9eb936b0b734c1eb187155aa4d67febe897f9a2397ecadff736ba84cfe21704348e2d8481af01eff02f6 ) vcpkg_extract_source_archive_ex( From 1a63672f8fa796b044c839c777f7113ccea6e635 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Wed, 19 Jun 2019 04:34:43 +0800 Subject: [PATCH 056/123] [protobuf] Update to 3.8.0 (#6739) * [protobuf] Update to 3.8.0 * [nlopt] set options off * [shogun] should not use CMAKE_SYSTEM_PROCESSOR in port file * [protobuf] Add Homepage * [protobuf] turn warning flag off * [protobuf] Fix orc build error on macOS * bump shogun, fix nlopt --- ports/nlopt/CONTROL | 4 ++-- ports/nlopt/portfile.cmake | 7 +++++++ ports/orc/CONTROL | 2 +- ports/orc/no-werror.patch | 16 ++++++++++++++++ ports/orc/portfile.cmake | 3 ++- ports/protobuf/CONTROL | 4 ++-- ports/protobuf/portfile.cmake | 4 ++-- ports/shogun/CONTROL | 2 +- ports/shogun/portfile.cmake | 12 +----------- ports/shogun/use_proper_cmake_symbol.patch | 22 ---------------------- 10 files changed, 34 insertions(+), 42 deletions(-) create mode 100644 ports/orc/no-werror.patch delete mode 100644 ports/shogun/use_proper_cmake_symbol.patch diff --git a/ports/nlopt/CONTROL b/ports/nlopt/CONTROL index 81a24bef7d..0cc7666bbe 100644 --- a/ports/nlopt/CONTROL +++ b/ports/nlopt/CONTROL @@ -1,4 +1,4 @@ Source: nlopt -Version: 2.6.1 +Version: 2.6.1-1 Homepage: https://github.com/stevengj/nlopt -Description: a library for nonlinear local and global optimization, for functions with and without gradient information. +Description: a library for nonlinear local and global optimization, for functions with and without gradient information. \ No newline at end of file diff --git a/ports/nlopt/portfile.cmake b/ports/nlopt/portfile.cmake index 301c92e305..c5017f4f8e 100644 --- a/ports/nlopt/portfile.cmake +++ b/ports/nlopt/portfile.cmake @@ -13,6 +13,13 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DNLOPT_FORTRAN=OFF + -DNLOPT_PYTHON=OFF + -DNLOPT_OCTAVE=OFF + -DNLOPT_MATLAB=OFF + -DNLOPT_GUILE=OFF + -DNLOPT_SWIG=OFF ) vcpkg_install_cmake() diff --git a/ports/orc/CONTROL b/ports/orc/CONTROL index 1cb8967ed6..4cb08a8141 100644 --- a/ports/orc/CONTROL +++ b/ports/orc/CONTROL @@ -1,4 +1,4 @@ Source: orc -Version: 1.5.5 +Version: 1.5.5-1 Build-Depends: zlib, protobuf, lz4, snappy, zstd, gtest Description: The smallest, fastest columnar storage for Hadoop workloads. diff --git a/ports/orc/no-werror.patch b/ports/orc/no-werror.patch new file mode 100644 index 0000000000..d2572612f0 --- /dev/null +++ b/ports/orc/no-werror.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4484e373..87b5ed41 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,9 +81,9 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set (WARN_FLAGS "${WARN_FLAGS} -Wno-covered-switch-default") + set (WARN_FLAGS "${WARN_FLAGS} -Wno-missing-noreturn -Wno-unknown-pragmas") + set (WARN_FLAGS "${WARN_FLAGS} -Wno-gnu-zero-variadic-macro-arguments") +- set (WARN_FLAGS "${WARN_FLAGS} -Wconversion -Werror") ++ set (WARN_FLAGS "${WARN_FLAGS} -Wconversion") + elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") +- set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion -Werror") ++ set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion") + if (CMAKE_CXX_COMPILER_VERSION STREQUAL "" OR + CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7") + set (CXX11_FLAGS "-std=c++0x") diff --git a/ports/orc/portfile.cmake b/ports/orc/portfile.cmake index e72f9fd699..f993755e9f 100644 --- a/ports/orc/portfile.cmake +++ b/ports/orc/portfile.cmake @@ -8,7 +8,8 @@ vcpkg_from_github( HEAD_REF master PATCHES 0003-dependencies-from-vcpkg.patch - ) + no-werror.patch +) file(REMOVE "${SOURCE_PATH}/cmake_modules/FindGTest.cmake") file(REMOVE "${SOURCE_PATH}/cmake_modules/FindLZ4.cmake") diff --git a/ports/protobuf/CONTROL b/ports/protobuf/CONTROL index caca652975..bce258d24b 100644 --- a/ports/protobuf/CONTROL +++ b/ports/protobuf/CONTROL @@ -1,8 +1,8 @@ Source: protobuf -Version: 3.7.1 +Version: 3.8.0 Homepage: https://github.com/google/protobuf Description: Protocol Buffers - Google's data interchange format Feature: zlib Description: ZLib based features like Gzip streams -Build-Depends: zlib +Build-Depends: zlib \ No newline at end of file diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake index 9e0bc15d72..982345db1a 100644 --- a/ports/protobuf/portfile.cmake +++ b/ports/protobuf/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/protobuf - REF v3.7.1 - SHA512 7d4cfabd4bd55926336a3baafa0bc1f1f15380b1b2af945f70a2bb3ba24c6ac6567f49c492326d6d1c43a488166bff178f9266377758a05d8541d8b242f4f80f + REF v3.8.0 + SHA512 ba27c64e5193cd4a144bf0c9dc0d195fbbe6e580aaca01960362f0f185074588ca40046d3bcea76e1deae7508b722f6c5be484ea957122ae8e98229c7c3a4ad2 HEAD_REF master PATCHES fix-uwp.patch diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL index e57f129feb..69b7968db8 100644 --- a/ports/shogun/CONTROL +++ b/ports/shogun/CONTROL @@ -1,4 +1,4 @@ Source: shogun -Version: 6.1.3-3 +Version: 6.1.3-4 Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64&!osx), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent Description: Unified and efficient Machine Learning diff --git a/ports/shogun/portfile.cmake b/ports/shogun/portfile.cmake index dfabdf4aa5..1f46e6ba75 100644 --- a/ports/shogun/portfile.cmake +++ b/ports/shogun/portfile.cmake @@ -10,7 +10,6 @@ vcpkg_from_github( HEAD_REF master PATCHES cmake.patch - use_proper_cmake_symbol.patch ) file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/external) @@ -23,17 +22,9 @@ else() set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 1) endif() -if(NOT CMAKE_SYSTEM_PROCESSOR) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(CMAKE_SYSTEM_PROCESSOR "__x86_64__") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(CMAKE_SYSTEM_PROCESSOR "__i386__") - endif() -endif() - vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}") +vcpkg_add_to_path(${PYTHON3_DIR}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -65,7 +56,6 @@ vcpkg_configure_cmake( -DCMAKE_DISABLE_FIND_PACKAGE_BLAS=${CMAKE_DISABLE_FIND_PACKAGE_BLAS} -DINSTALL_TARGETS=shogun-static - -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR} ) vcpkg_install_cmake() diff --git a/ports/shogun/use_proper_cmake_symbol.patch b/ports/shogun/use_proper_cmake_symbol.patch deleted file mode 100644 index 627c5bd779..0000000000 --- a/ports/shogun/use_proper_cmake_symbol.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6f97c8b..a10b599 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -145,7 +145,7 @@ ENDIF() - DetectSystemName() - - # Get processor type, sets MACHINE macro --SET(MACHINE ${CMAKE_SYSTEM_PROCESSOR}) -+add_definitions(-DMACHINE=${CMAKE_SYSTEM_PROCESSOR}) - - SET(EXT_LIB_SWIG_RUBY ".so") - if(DARWIN) -@@ -174,7 +174,7 @@ ENDIF() - - IF(CMAKE_COMPILER_IS_GNUCXX) - SET(RELEASE_COMPILER_FLAGS "-fexpensive-optimizations -frerun-cse-after-loop -fcse-follow-jumps -finline-functions -fschedule-insns2 -fthread-jumps -fforce-addr -fstrength-reduce -funroll-loops") -- IF (${MACHINE} MATCHES "x86_64" OR ${MACHINE} MATCHES "i686") -+ IF (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686") - SET(RELEASE_COMPILER_FLAGS "${RELEASE_COMPILER_FLAGS} -mfpmath=sse") - ENDIF() - ELSEIF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") From 99b39077441c17e2433c8ef0f7970611b039d377 Mon Sep 17 00:00:00 2001 From: Philipp Hasper Date: Tue, 18 Jun 2019 22:37:48 +0200 Subject: [PATCH 057/123] [opencv] Fixed OpenCV versioning using wrong commit (#6812) * [opencv] Fixed OpenCV versioning using wrong commit As there is no OpenCV repository, the hash is wrongly determined Closes #6708 * [opencv] cmake disable find package git --- ports/opencv/portfile.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake index cbbf4918d0..55fd6a6804 100644 --- a/ports/opencv/portfile.cmake +++ b/ports/opencv/portfile.cmake @@ -285,6 +285,7 @@ vcpkg_configure_cmake( -DPROTOBUF_UPDATE_FILES=${PROTOBUF_UPDATE_FILES} -DUPDATE_PROTO_FILES=${UPDATE_PROTO_FILES} # CMAKE + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON "-DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}" # ENABLE From bba0b6b98d2cfbb9efb49d64e1a5a5a7eff23f1d Mon Sep 17 00:00:00 2001 From: Stijn Herfst Date: Wed, 19 Jun 2019 01:27:42 +0200 Subject: [PATCH 058/123] [casclib] Add new port (#6744) * [casclib] Add new port --- ports/casclib/CMakeLists.txt | 74 +++++++++++++++++++++++++++++++ ports/casclib/CONTROL | 4 ++ ports/casclib/ctype_for_mac.patch | 27 +++++++++++ ports/casclib/portfile.cmake | 23 ++++++++++ 4 files changed, 128 insertions(+) create mode 100644 ports/casclib/CMakeLists.txt create mode 100644 ports/casclib/CONTROL create mode 100644 ports/casclib/ctype_for_mac.patch create mode 100644 ports/casclib/portfile.cmake diff --git a/ports/casclib/CMakeLists.txt b/ports/casclib/CMakeLists.txt new file mode 100644 index 0000000000..4165814f56 --- /dev/null +++ b/ports/casclib/CMakeLists.txt @@ -0,0 +1,74 @@ +cmake_minimum_required(VERSION 3.9) +project(CascLib) + +set(HEADER_FILES + src/CascCommon.h + src/CascLib.h + src/CascLib.def + src/CascPort.h + src/common/Array.h + src/common/Common.h + src/common/Csv.h + src/common/FileStream.h + src/common/FileTree.h + src/common/ListFile.h + src/common/Map.h + src/jenkins/lookup.h +) + +set(SRC_FILES + src/CascCommon.cpp + src/CascDecompress.cpp + src/CascDecrypt.cpp + src/CascDumpData.cpp + src/CascFiles.cpp + src/CascFindFile.cpp + src/CascIndexFiles.cpp + src/CascOpenFile.cpp + src/CascOpenStorage.cpp + src/CascReadFile.cpp + src/CascRootFile_Diablo3.cpp + src/CascRootFile_Install.cpp + src/CascRootFile_MNDX.cpp + src/CascRootFile_OW.cpp + src/CascRootFile_Text.cpp + src/CascRootFile_TVFS.cpp + src/CascRootFile_WoW.cpp + src/common/Common.cpp + src/common/Csv.cpp + src/common/Directory.cpp + src/common/FileStream.cpp + src/common/FileTree.cpp + src/common/ListFile.cpp + src/common/RootHandler.cpp + src/jenkins/lookup3.c +) + +set(MD5_FILES + src/md5/md5.cpp +) + +set(ZLIB_FILES + src/zlib/adler32.c + src/zlib/crc32.c + src/zlib/inffast.c + src/zlib/inflate.c + src/zlib/inftrees.c + src/zlib/zutil.c +) + +if(WIN32) + add_definitions(-DUNICODE -D_UNICODE) +endif() + +add_library(CascLib ${SRC_FILES} ${HEADER_FILES} ${TOMCRYPT_FILES} ${ZLIB_FILES} ${MD5_FILES}) + +set_target_properties(CascLib PROPERTIES PUBLIC_HEADER "src/CascLib.h;src/CascPort.h") + +install(TARGETS CascLib + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + FRAMEWORK DESTINATION /Library/Frameworks + PUBLIC_HEADER DESTINATION include + INCLUDES DESTINATION include) \ No newline at end of file diff --git a/ports/casclib/CONTROL b/ports/casclib/CONTROL new file mode 100644 index 0000000000..a9a10ac9bf --- /dev/null +++ b/ports/casclib/CONTROL @@ -0,0 +1,4 @@ +Source: casclib +Version: 1.50 +Build-Depends: zlib +Description: An open-source implementation of library for reading CASC storage from Blizzard games since 2014 \ No newline at end of file diff --git a/ports/casclib/ctype_for_mac.patch b/ports/casclib/ctype_for_mac.patch new file mode 100644 index 0000000000..30f790c1f9 --- /dev/null +++ b/ports/casclib/ctype_for_mac.patch @@ -0,0 +1,27 @@ +diff --git a/src/CascPort.h b/src/CascPort.h +index 87a2f2f..da74aef 100644 +--- a/src/CascPort.h ++++ b/src/CascPort.h +@@ -79,14 +79,19 @@ + #include + #include + #include +- #include + #include +- #include + #include +- #include ++ #include + #include ++ #include ++ #include ++ #include ++ #include + #include ++ #include ++ #include + #include ++ #include + + // Support for PowerPC on Max OS X + #if (__ppc__ == 1) || (__POWERPC__ == 1) || (_ARCH_PPC == 1) diff --git a/ports/casclib/portfile.cmake b/ports/casclib/portfile.cmake new file mode 100644 index 0000000000..bf17bc5451 --- /dev/null +++ b/ports/casclib/portfile.cmake @@ -0,0 +1,23 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ladislav-zezula/CascLib + REF 1.50 + SHA512 7e95e314f09e504566e6fa2b1742f986d17526fb0283af8ffb77681338c9a852d369cbd863512a20ddd3a277d10a9bf701d745f500a717826dd08e201eb6d80e + HEAD_REF master + PATCHES + ctype_for_mac.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/casclib RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file From df0b8d9e55bfb6772a9e5c02fd826ab520e5d2f8 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Wed, 19 Jun 2019 10:47:09 -0700 Subject: [PATCH 059/123] [vcpkg] update python3 to 3.7.3 on windows (#6383) * [vcpkg] update python3 to 3.7.3 on windows * Update scripts/cmake/vcpkg_find_acquire_program.cmake Co-Authored-By: Bradley Austin Davis --- scripts/cmake/vcpkg_find_acquire_program.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 4a77b4b8e7..451f4bcd3e 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -79,9 +79,9 @@ function(vcpkg_find_acquire_program VAR) set(PROGNAME python) set(SUBDIR "python3") set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) - set(URL "https://www.python.org/ftp/python/3.5.4/python-3.5.4-embed-win32.zip") - set(ARCHIVE "python-3.5.4-embed-win32.zip") - set(HASH b5240fdc95088c2d7f65d2dd598650f8dd106b49589d94156bd4a078b108c6cabbe7a38ef73e2b2cf00e8312a93d2e587eac2c54ce85540d3c7a26cc60013156) + set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-win32.zip") + set(ARCHIVE "python-3.7.3-embed-win32.zip") + set(HASH 2c1b1f0a29d40a91771ae21a5f733eedc10984cd182cb10c2793bbd24191a89f20612a3f23c34047f37fb06369016bfd4a52915ed1b4a56f8bd2b4ca6994eb31) else() set(PROGNAME python3) set(BREW_PACKAGE_NAME "python") From e5b92a39116791cfd4e1f4931221c9f69125bae3 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 19 Jun 2019 11:49:57 -0700 Subject: [PATCH 060/123] [vcpkg] Improve vcpkg::Files::Filesystem error handling (#6919) * [vcpkg] Modify Filesystem::remove and Filesystem::rename to not throw. * [.gitignore] Ignore new VS2019 CMake integration default location * [.gitignore] Ignore CMakeSettings.json in toolsrc * [vcpkg] Time external processes called with System::cmd_execute * [vcpkg] Work around VS2019 CMake bug * [vcpkg] Fix several unused variable warnings. * [vcpkg] Improve error handling in vcpkg::Files::Filesystem Always require either std::error_code or LineInfo to print better errors. * [vcpkg] Fixup missing return value. Drive by fix: silence warnings in tests. * [vcpkg] Fix exiting in error_code overload Drive by fixes for /analyze with VS2019 --- .gitignore | 3 ++ toolsrc/CMakeLists.txt | 2 +- toolsrc/include/tests.utils.h | 8 ++-- toolsrc/include/vcpkg/base/files.h | 14 +++--- toolsrc/include/vcpkg/base/graphs.h | 4 +- toolsrc/include/vcpkg/base/optional.h | 23 +++++++-- toolsrc/include/vcpkg/base/strings.h | 2 +- toolsrc/src/vcpkg/base/downloads.cpp | 16 ++----- toolsrc/src/vcpkg/base/files.cpp | 61 +++++++++++++++++++----- toolsrc/src/vcpkg/base/strings.cpp | 2 +- toolsrc/src/vcpkg/base/system.cpp | 13 ++++- toolsrc/src/vcpkg/build.cpp | 24 +++++----- toolsrc/src/vcpkg/commands.ci.cpp | 4 +- toolsrc/src/vcpkg/commands.exportifw.cpp | 24 ++++++---- toolsrc/src/vcpkg/commands.import.cpp | 2 +- toolsrc/src/vcpkg/commands.integrate.cpp | 22 ++++----- toolsrc/src/vcpkg/dependencies.cpp | 11 +++-- toolsrc/src/vcpkg/export.cpp | 4 +- toolsrc/src/vcpkg/help.cpp | 2 +- toolsrc/src/vcpkg/install.cpp | 15 ++++-- toolsrc/src/vcpkg/remove.cpp | 2 +- toolsrc/src/vcpkg/tools.cpp | 6 ++- toolsrc/src/vcpkg/update.cpp | 2 +- toolsrc/src/vcpkg/vcpkglib.cpp | 16 +++---- 24 files changed, 181 insertions(+), 101 deletions(-) diff --git a/.gitignore b/.gitignore index d0e202f1d7..f38bc90a9b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ *.userosscache *.sln.docstates +toolsrc/out +toolsrc/CMakeSettings.json + # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt index b3ec4d15de..fccf2b7add 100644 --- a/toolsrc/CMakeLists.txt +++ b/toolsrc/CMakeLists.txt @@ -20,7 +20,7 @@ If you would like to try anyway, pass --allowAppleClang to bootstrap.sh.") elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang") set(CLANG 1) elseif(MSVC) - add_compile_options(/std:c++17) + add_compile_options(/std:c++17 /FC) else() message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}") endif() diff --git a/toolsrc/include/tests.utils.h b/toolsrc/include/tests.utils.h index 7f7ec9e884..3e8514e670 100644 --- a/toolsrc/include/tests.utils.h +++ b/toolsrc/include/tests.utils.h @@ -13,7 +13,7 @@ namespace Microsoft::VisualStudio::CppUnitTestFramework { template<> - std::wstring ToString(const vcpkg::Dependencies::InstallPlanType& t) + inline std::wstring ToString(const vcpkg::Dependencies::InstallPlanType& t) { switch (t) { @@ -26,7 +26,7 @@ namespace Microsoft::VisualStudio::CppUnitTestFramework } template<> - std::wstring ToString(const vcpkg::Dependencies::RequestType& t) + inline std::wstring ToString(const vcpkg::Dependencies::RequestType& t) { switch (t) { @@ -38,13 +38,13 @@ namespace Microsoft::VisualStudio::CppUnitTestFramework } template<> - std::wstring ToString(const vcpkg::PackageSpecParseResult& t) + inline std::wstring ToString(const vcpkg::PackageSpecParseResult& t) { return ToString(static_cast(t)); } template<> - std::wstring ToString(const vcpkg::PackageSpec& t) + inline std::wstring ToString(const vcpkg::PackageSpec& t) { return ToString(t.to_string()); } diff --git a/toolsrc/include/vcpkg/base/files.h b/toolsrc/include/vcpkg/base/files.h index b07ff25b3c..02e2b8db8f 100644 --- a/toolsrc/include/vcpkg/base/files.h +++ b/toolsrc/include/vcpkg/base/files.h @@ -27,21 +27,25 @@ namespace vcpkg::Files { struct Filesystem { + std::string read_contents(const fs::path& file_path, LineInfo linfo) const; virtual Expected read_contents(const fs::path& file_path) const = 0; virtual Expected> read_lines(const fs::path& file_path) const = 0; virtual fs::path find_file_recursively_up(const fs::path& starting_dir, const std::string& filename) const = 0; virtual std::vector get_files_recursive(const fs::path& dir) const = 0; virtual std::vector get_files_non_recursive(const fs::path& dir) const = 0; - - virtual void write_lines(const fs::path& file_path, const std::vector& lines) = 0; + void write_lines(const fs::path& file_path, const std::vector& lines, LineInfo linfo); + virtual void write_lines(const fs::path& file_path, + const std::vector& lines, + std::error_code& ec) = 0; + void write_contents(const fs::path& path, const std::string& data, LineInfo linfo); virtual void write_contents(const fs::path& file_path, const std::string& data, std::error_code& ec) = 0; - virtual void rename(const fs::path& oldpath, const fs::path& newpath) = 0; + void rename(const fs::path& oldpath, const fs::path& newpath, LineInfo linfo); virtual void rename(const fs::path& oldpath, const fs::path& newpath, std::error_code& ec) = 0; virtual void rename_or_copy(const fs::path& oldpath, const fs::path& newpath, StringLiteral temp_suffix, std::error_code& ec) = 0; - virtual bool remove(const fs::path& path) = 0; + bool remove(const fs::path& path, LineInfo linfo); virtual bool remove(const fs::path& path, std::error_code& ec) = 0; virtual std::uintmax_t remove_all(const fs::path& path, std::error_code& ec) = 0; virtual bool exists(const fs::path& path) const = 0; @@ -60,8 +64,6 @@ namespace vcpkg::Files virtual fs::file_status symlink_status(const fs::path& path, std::error_code& ec) const = 0; virtual std::vector find_from_PATH(const std::string& name) const = 0; - - void write_contents(const fs::path& file_path, const std::string& data); }; Filesystem& get_real_filesystem(); diff --git a/toolsrc/include/vcpkg/base/graphs.h b/toolsrc/include/vcpkg/base/graphs.h index 46831a911a..9901a49a0b 100644 --- a/toolsrc/include/vcpkg/base/graphs.h +++ b/toolsrc/include/vcpkg/base/graphs.h @@ -44,9 +44,9 @@ namespace vcpkg::Graphs void shuffle(Container& c, Randomizer* r) { if (!r) return; - for (int i = static_cast(c.size()); i > 1; --i) + for (auto i = c.size(); i > 1; --i) { - auto j = r->random(i); + auto j = r->random(static_cast(i)); if (j != i - 1) { std::swap(c[i - 1], c[j]); diff --git a/toolsrc/include/vcpkg/base/optional.h b/toolsrc/include/vcpkg/base/optional.h index 4d386a961a..2d8c126c69 100644 --- a/toolsrc/include/vcpkg/base/optional.h +++ b/toolsrc/include/vcpkg/base/optional.h @@ -19,6 +19,9 @@ namespace vcpkg template::value> struct OptionalStorage { +#if defined(_WIN32) +#pragma warning(suppress : 26495) +#endif constexpr OptionalStorage() noexcept : m_is_present(false), m_inactive() {} constexpr OptionalStorage(const T& t) : m_is_present(true), m_t(t) {} constexpr OptionalStorage(T&& t) : m_is_present(true), m_t(std::move(t)) {} @@ -28,12 +31,18 @@ namespace vcpkg if (m_is_present) m_t.~T(); } +#if defined(_WIN32) +#pragma warning(suppress : 26495) +#endif OptionalStorage(const OptionalStorage& o) : m_is_present(o.m_is_present), m_inactive() { if (m_is_present) new (&m_t) T(o.m_t); } - OptionalStorage(OptionalStorage&& o) : m_is_present(o.m_is_present), m_inactive() +#if defined(_WIN32) +#pragma warning(suppress : 26495) +#endif + OptionalStorage(OptionalStorage&& o) noexcept : m_is_present(o.m_is_present), m_inactive() { if (m_is_present) { @@ -59,7 +68,7 @@ namespace vcpkg return *this; } - OptionalStorage& operator=(OptionalStorage&& o) + OptionalStorage& operator=(OptionalStorage&& o) noexcept { if (m_is_present && o.m_is_present) { @@ -100,6 +109,9 @@ namespace vcpkg template struct OptionalStorage { +#if defined(_WIN32) +#pragma warning(suppress : 26495) +#endif constexpr OptionalStorage() noexcept : m_is_present(false), m_inactive() {} constexpr OptionalStorage(T&& t) : m_is_present(true), m_t(std::move(t)) {} @@ -108,7 +120,10 @@ namespace vcpkg if (m_is_present) m_t.~T(); } - OptionalStorage(OptionalStorage&& o) : m_is_present(o.m_is_present), m_inactive() +#if defined(_WIN32) +#pragma warning(suppress : 26495) +#endif + OptionalStorage(OptionalStorage&& o) noexcept : m_is_present(o.m_is_present), m_inactive() { if (m_is_present) { @@ -116,7 +131,7 @@ namespace vcpkg } } - OptionalStorage& operator=(OptionalStorage&& o) + OptionalStorage& operator=(OptionalStorage&& o) noexcept { if (m_is_present && o.m_is_present) { diff --git a/toolsrc/include/vcpkg/base/strings.h b/toolsrc/include/vcpkg/base/strings.h index 3a9de97df8..d553d1d417 100644 --- a/toolsrc/include/vcpkg/base/strings.h +++ b/toolsrc/include/vcpkg/base/strings.h @@ -163,7 +163,7 @@ namespace vcpkg::Strings std::vector split(const std::string& s, const std::string& delimiter); - std::vector split(const std::string& s, const std::string& delimiter, int max_count); + std::vector split(const std::string& s, const std::string& delimiter, size_t max_count); std::vector find_all_enclosed(StringView input, StringView left_delim, StringView right_delim); diff --git a/toolsrc/src/vcpkg/base/downloads.cpp b/toolsrc/src/vcpkg/base/downloads.cpp index 218ff86b3d..4bb2178e5f 100644 --- a/toolsrc/src/vcpkg/base/downloads.cpp +++ b/toolsrc/src/vcpkg/base/downloads.cpp @@ -105,7 +105,7 @@ namespace vcpkg::Downloads bResults = WinHttpQueryDataAvailable(hRequest, &dwSize); Checks::check_exit(VCPKG_LINE_INFO, bResults, "WinHttpQueryDataAvailable() failed: %d", GetLastError()); - if (buf.size() < dwSize) buf.resize(dwSize * 2); + if (buf.size() < dwSize) buf.resize(static_cast(dwSize) * 2); bResults = WinHttpReadData(hRequest, (LPVOID)buf.data(), dwSize, &downloaded_size); Checks::check_exit(VCPKG_LINE_INFO, bResults, "WinHttpReadData() failed: %d", GetLastError()); @@ -157,9 +157,10 @@ namespace vcpkg::Downloads const std::string& sha512) { const std::string download_path_part = download_path.u8string() + ".part"; + auto download_path_part_path = fs::u8path(download_path_part); std::error_code ec; fs.remove(download_path, ec); - fs.remove(download_path_part, ec); + fs.remove(download_path_part_path, ec); #if defined(_WIN32) auto url_no_proto = url.substr(8); // drop https:// auto path_begin = Util::find(url_no_proto, '/'); @@ -173,14 +174,7 @@ namespace vcpkg::Downloads Checks::check_exit(VCPKG_LINE_INFO, code == 0, "Could not download %s", url); #endif - verify_downloaded_file_hash(fs, url, download_path_part, sha512); - fs.rename(download_path_part, download_path, ec); - Checks::check_exit(VCPKG_LINE_INFO, - !ec, - "Failed to do post-download rename-in-place.\n" - "fs.rename(%s, %s, %s)", - download_path_part, - download_path.u8string(), - ec.message()); + verify_downloaded_file_hash(fs, url, download_path_part_path, sha512); + fs.rename(download_path_part_path, download_path, VCPKG_LINE_INFO); } } diff --git a/toolsrc/src/vcpkg/base/files.cpp b/toolsrc/src/vcpkg/base/files.cpp index 0396a24155..5099795e9e 100644 --- a/toolsrc/src/vcpkg/base/files.cpp +++ b/toolsrc/src/vcpkg/base/files.cpp @@ -24,12 +24,43 @@ namespace vcpkg::Files { static const std::regex FILESYSTEM_INVALID_CHARACTERS_REGEX = std::regex(R"([\/:*?"<>|])"); - void Filesystem::write_contents(const fs::path& file_path, const std::string& data) + std::string Filesystem::read_contents(const fs::path& path, LineInfo linfo) const + { + auto maybe_contents = this->read_contents(path); + if (auto p = maybe_contents.get()) + return std::move(*p); + else + Checks::exit_with_message( + linfo, "error reading file: %s: %s", path.u8string(), maybe_contents.error().message()); + } + void Filesystem::write_contents(const fs::path& path, const std::string& data, LineInfo linfo) { std::error_code ec; - write_contents(file_path, data, ec); - Checks::check_exit( - VCPKG_LINE_INFO, !ec, "error while writing file: %s: %s", file_path.u8string(), ec.message()); + this->write_contents(path, data, ec); + if (ec) Checks::exit_with_message(linfo, "error writing file: %s: %s", path.u8string(), ec.message()); + } + void Filesystem::rename(const fs::path& oldpath, const fs::path& newpath, LineInfo linfo) + { + std::error_code ec; + this->rename(oldpath, newpath, ec); + if (ec) + Checks::exit_with_message( + linfo, "error renaming file: %s: %s: %s", oldpath.u8string(), newpath.u8string(), ec.message()); + } + + bool Filesystem::remove(const fs::path& path, LineInfo linfo) + { + std::error_code ec; + auto r = this->remove(path, ec); + if (ec) Checks::exit_with_message(linfo, "error removing file: %s: %s", path.u8string(), ec.message()); + return r; + } + + void Filesystem::write_lines(const fs::path& path, const std::vector& lines, LineInfo linfo) + { + std::error_code ec; + this->write_lines(path, lines, ec); + if (ec) Checks::exit_with_message(linfo, "error writing lines: %s: %s", path.u8string(), ec.message()); } struct RealFilesystem final : Filesystem @@ -147,30 +178,39 @@ namespace vcpkg::Files return ret; } - virtual void write_lines(const fs::path& file_path, const std::vector& lines) override + virtual void write_lines(const fs::path& file_path, + const std::vector& lines, + std::error_code& ec) override { std::fstream output(file_path, std::ios_base::out | std::ios_base::binary | std::ios_base::trunc); + if (!output) + { + ec.assign(errno, std::generic_category()); + return; + } for (const std::string& line : lines) { output << line << "\n"; + if (!output) + { + output.close(); + ec.assign(errno, std::generic_category()); + return; + } } output.close(); } - virtual void rename(const fs::path& oldpath, const fs::path& newpath, std::error_code& ec) override { fs::stdfs::rename(oldpath, newpath, ec); } - virtual void rename(const fs::path& oldpath, const fs::path& newpath) override - { - fs::stdfs::rename(oldpath, newpath); - } virtual void rename_or_copy(const fs::path& oldpath, const fs::path& newpath, StringLiteral temp_suffix, std::error_code& ec) override { this->rename(oldpath, newpath, ec); + Util::unused(temp_suffix); #if defined(__linux__) || defined(__APPLE__) if (ec) { @@ -213,7 +253,6 @@ namespace vcpkg::Files } #endif } - virtual bool remove(const fs::path& path) override { return fs::stdfs::remove(path); } virtual bool remove(const fs::path& path, std::error_code& ec) override { return fs::stdfs::remove(path, ec); } virtual std::uintmax_t remove_all(const fs::path& path, std::error_code& ec) override { diff --git a/toolsrc/src/vcpkg/base/strings.cpp b/toolsrc/src/vcpkg/base/strings.cpp index ce634a2270..54a74a7a16 100644 --- a/toolsrc/src/vcpkg/base/strings.cpp +++ b/toolsrc/src/vcpkg/base/strings.cpp @@ -185,7 +185,7 @@ std::vector Strings::split(const std::string& s, const std::string& return output; } -std::vector Strings::split(const std::string& s, const std::string& delimiter, int max_count) +std::vector Strings::split(const std::string& s, const std::string& delimiter, size_t max_count) { std::vector output; diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index 3d89d2fd4b..c5ff050f0e 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -388,6 +388,7 @@ namespace vcpkg // Flush stdout before launching external process fflush(nullptr); + auto timer = Chrono::ElapsedTimer::create_started(); #if defined(_WIN32) // We are wrap the command line in quotes to cause cmd.exe to correctly process it auto actual_cmd_line = Strings::concat('"', cmd_line, '"'); @@ -395,11 +396,19 @@ namespace vcpkg g_ctrl_c_state.transition_to_spawn_process(); const int exit_code = _wsystem(Strings::to_utf16(actual_cmd_line).c_str()); g_ctrl_c_state.transition_from_spawn_process(); - Debug::print("_wsystem() returned ", exit_code, '\n'); + Debug::print("_wsystem() returned ", + exit_code, + " after ", + Strings::format("%8d", static_cast(timer.microseconds())), + " us\n"); #else Debug::print("_system(", cmd_line, ")\n"); const int exit_code = system(cmd_line.c_str()); - Debug::print("_system() returned ", exit_code, '\n'); + Debug::print("_system() returned ", + exit_code, + " after ", + Strings::format("%8d", static_cast(timer.microseconds())), + " us\n"); #endif return exit_code; } diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 0a7c854b5a..daff7e6c8f 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -280,7 +280,7 @@ namespace vcpkg::Build start += "\n" + Strings::serialize(feature); } const fs::path binary_control_file = paths.packages / bcf.core_paragraph.dir() / "CONTROL"; - paths.get_filesystem().write_contents(binary_control_file, start); + paths.get_filesystem().write_contents(binary_control_file, start, VCPKG_LINE_INFO); } static std::vector compute_required_feature_specs(const BuildPackageConfig& config, @@ -336,16 +336,16 @@ namespace vcpkg::Build static int get_concurrency() { - static int concurrency = []{ - auto user_defined_concurrency = System::get_environment_variable("VCPKG_MAX_CONCURRENCY"); - if (user_defined_concurrency) - { - return std::stoi(user_defined_concurrency.value_or_exit(VCPKG_LINE_INFO)); - } - else - { - return System::get_num_logical_cores() + 1; - } + static int concurrency = [] { + auto user_defined_concurrency = System::get_environment_variable("VCPKG_MAX_CONCURRENCY"); + if (user_defined_concurrency) + { + return std::stoi(user_defined_concurrency.value_or_exit(VCPKG_LINE_INFO)); + } + else + { + return System::get_num_logical_cores() + 1; + } }(); return concurrency; @@ -565,7 +565,7 @@ namespace vcpkg::Build std::error_code ec; fs.create_directories(paths.buildtrees / name, ec); const auto abi_file_path = paths.buildtrees / name / (triplet.canonical_name() + ".vcpkg_abi_info.txt"); - fs.write_contents(abi_file_path, full_abi_info); + fs.write_contents(abi_file_path, full_abi_info, VCPKG_LINE_INFO); return AbiTagAndFile{Hash::get_file_hash(fs, abi_file_path, "SHA1"), abi_file_path}; } diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index ff7e7a1342..de66d917b3 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -485,11 +485,11 @@ namespace vcpkg::Commands::CI System::print2("Total elapsed time: ", result.summary.total_elapsed_time, "\n"); result.summary.print(); } - + auto& fs = paths.get_filesystem(); auto it_xunit = options.settings.find(OPTION_XUNIT); if (it_xunit != options.settings.end()) { - paths.get_filesystem().write_contents(fs::u8path(it_xunit->second), xunitTestResults.build_xml()); + fs.write_contents(fs::u8path(it_xunit->second), xunitTestResults.build_xml(), VCPKG_LINE_INFO); } Checks::exit_success(VCPKG_LINE_INFO); diff --git a/toolsrc/src/vcpkg/commands.exportifw.cpp b/toolsrc/src/vcpkg/commands.exportifw.cpp index ba9e28233b..f0946110c2 100644 --- a/toolsrc/src/vcpkg/commands.exportifw.cpp +++ b/toolsrc/src/vcpkg/commands.exportifw.cpp @@ -106,7 +106,8 @@ namespace vcpkg::Export::IFW create_release_date(), action.spec.name(), action.spec.triplet().canonical_name(), - deps)); + deps), + VCPKG_LINE_INFO); // Return dir path for export package data return ifw_packages_dir_path / @@ -138,7 +139,8 @@ namespace vcpkg::Export::IFW %s )###", - create_release_date())); + create_release_date()), + VCPKG_LINE_INFO); for (const auto& unique_package : unique_packages) { @@ -167,7 +169,8 @@ namespace vcpkg::Export::IFW action.spec.name(), safe_rich_from_plain_text(binary_paragraph.description), binary_paragraph.version, - create_release_date())); + create_release_date()), + VCPKG_LINE_INFO); } } @@ -195,7 +198,8 @@ namespace vcpkg::Export::IFW %s )###", - create_release_date())); + create_release_date()), + VCPKG_LINE_INFO); for (const std::string& triplet : unique_triplets) { @@ -217,7 +221,8 @@ namespace vcpkg::Export::IFW )###", triplet, - create_release_date())); + create_release_date()), + VCPKG_LINE_INFO); } } @@ -243,7 +248,8 @@ namespace vcpkg::Export::IFW %s )###", - create_release_date())); + create_release_date()), + VCPKG_LINE_INFO); } void export_config(const std::string& export_id, const Options& ifw_options, const VcpkgPaths& paths) @@ -283,7 +289,8 @@ namespace vcpkg::Export::IFW @RootDir@/src/vcpkg%s )###", - formatted_repo_url)); + formatted_repo_url), + VCPKG_LINE_INFO); } void export_maintenance_tool(const fs::path& ifw_packages_dir_path, const VcpkgPaths& paths) @@ -325,7 +332,8 @@ namespace vcpkg::Export::IFW true )###", - create_release_date())); + create_release_date()), + VCPKG_LINE_INFO); const fs::path script_source = paths.root / "scripts" / "ifw" / "maintenance.qs"; const fs::path script_destination = ifw_packages_dir_path / "maintenance" / "meta" / "maintenance.qs"; fs.copy_file(script_source, script_destination, fs::copy_options::overwrite_existing, ec); diff --git a/toolsrc/src/vcpkg/commands.import.cpp b/toolsrc/src/vcpkg/commands.import.cpp index f03140fbdd..40f5a434c4 100644 --- a/toolsrc/src/vcpkg/commands.import.cpp +++ b/toolsrc/src/vcpkg/commands.import.cpp @@ -89,7 +89,7 @@ namespace vcpkg::Commands::Import place_library_files_in(paths.get_filesystem(), include_directory, project_directory, library_destination_path); const fs::path control_file_path = library_destination_path / "CONTROL"; - fs.write_contents(control_file_path, Strings::serialize(control_file_data)); + fs.write_contents(control_file_path, Strings::serialize(control_file_data), VCPKG_LINE_INFO); } const CommandStructure COMMAND_STRUCTURE = { diff --git a/toolsrc/src/vcpkg/commands.integrate.cpp b/toolsrc/src/vcpkg/commands.integrate.cpp index ef555a8440..6921a53906 100644 --- a/toolsrc/src/vcpkg/commands.integrate.cpp +++ b/toolsrc/src/vcpkg/commands.integrate.cpp @@ -209,7 +209,7 @@ namespace vcpkg::Commands::Integrate if (should_install_system) { const fs::path sys_src_path = tmp_dir / "vcpkg.system.targets"; - fs.write_contents(sys_src_path, create_system_targets_shortcut()); + fs.write_contents(sys_src_path, create_system_targets_shortcut(), VCPKG_LINE_INFO); const std::string param = Strings::format(R"(/c mkdir "%s" & copy "%s" "%s" /Y > nul)", SYSTEM_WIDE_TARGETS_FILE.parent_path().string(), @@ -248,7 +248,8 @@ namespace vcpkg::Commands::Integrate const fs::path appdata_src_path = tmp_dir / "vcpkg.user.targets"; fs.write_contents(appdata_src_path, - create_appdata_targets_shortcut(paths.buildsystems_msbuild_targets.u8string())); + create_appdata_targets_shortcut(paths.buildsystems_msbuild_targets.u8string()), + VCPKG_LINE_INFO); auto appdata_dst_path = get_appdata_targets_path(); const auto rc = fs.copy_file(appdata_src_path, appdata_dst_path, fs::copy_options::overwrite_existing, ec); @@ -268,12 +269,7 @@ namespace vcpkg::Commands::Integrate const auto pathtxt = get_path_txt_path(); std::error_code ec; - fs.write_contents(pathtxt, paths.root.generic_u8string(), ec); - if (ec) - { - System::print2(System::Color::error, "Error: Failed to write file: ", pathtxt.u8string(), "\n"); - Checks::exit_fail(VCPKG_LINE_INFO); - } + fs.write_contents(pathtxt, paths.root.generic_u8string(), VCPKG_LINE_INFO); System::print2(System::Color::success, "Applied user-wide integration for this vcpkg root.\n"); const fs::path cmake_toolchain = paths.buildsystems / "vcpkg.cmake"; @@ -344,9 +340,11 @@ CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=%s" const std::string nuget_id = get_nuget_id(paths.root); const std::string nupkg_version = "1.0.0"; - fs.write_contents(targets_file_path, create_nuget_targets_file_contents(paths.buildsystems_msbuild_targets)); - fs.write_contents(props_file_path, create_nuget_props_file_contents()); - fs.write_contents(nuspec_file_path, create_nuspec_file_contents(paths.root, nuget_id, nupkg_version)); + fs.write_contents( + targets_file_path, create_nuget_targets_file_contents(paths.buildsystems_msbuild_targets), VCPKG_LINE_INFO); + fs.write_contents(props_file_path, create_nuget_props_file_contents(), VCPKG_LINE_INFO); + fs.write_contents( + nuspec_file_path, create_nuspec_file_contents(paths.root, nuget_id, nupkg_version), VCPKG_LINE_INFO); // Using all forward slashes for the command line const std::string cmd_line = Strings::format(R"("%s" pack -OutputDirectory "%s" "%s" > nul)", @@ -449,7 +447,7 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console System::printf("Adding vcpkg completion entry to %s\n", bashrc_path.u8string()); bashrc_content.push_back(Strings::format("source %s", completion_script_path.u8string())); - fs.write_contents(bashrc_path, Strings::join("\n", bashrc_content) + '\n'); + fs.write_contents(bashrc_path, Strings::join("\n", bashrc_content) + '\n', VCPKG_LINE_INFO); Checks::exit_success(VCPKG_LINE_INFO); } #endif diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index 8fde289291..f4a05e7dc9 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -488,11 +488,12 @@ namespace vcpkg::Dependencies if (plus) return MarkPlusResult::SUCCESS; plus = true; - auto p_source = cluster.source.get(); - Checks::check_exit(VCPKG_LINE_INFO, - p_source != nullptr, - "Error: Cannot find definition for package `%s`.", - cluster.spec.name()); + const auto p_source = cluster.source.get(); + if (p_source == nullptr) + { + Checks::exit_with_message( + VCPKG_LINE_INFO, "Error: Cannot find definition for package `%s`.", cluster.spec.name()); + } if (feature.empty()) { diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp index 433d7a1afb..23fc7441a6 100644 --- a/toolsrc/src/vcpkg/export.cpp +++ b/toolsrc/src/vcpkg/export.cpp @@ -141,12 +141,12 @@ namespace vcpkg::Export std::error_code ec; fs.create_directories(paths.buildsystems / "tmp", ec); - fs.write_contents(targets_redirect, targets_redirect_content); + fs.write_contents(targets_redirect, targets_redirect_content, VCPKG_LINE_INFO); const std::string nuspec_file_content = create_nuspec_file_contents(raw_exported_dir.string(), targets_redirect.string(), nuget_id, nuget_version); const fs::path nuspec_file_path = paths.buildsystems / "tmp" / "vcpkg.export.nuspec"; - fs.write_contents(nuspec_file_path, nuspec_file_content); + fs.write_contents(nuspec_file_path, nuspec_file_content, VCPKG_LINE_INFO); // -NoDefaultExcludes is needed for ".vcpkg-root" const auto cmd_line = Strings::format(R"("%s" pack -OutputDirectory "%s" "%s" -NoDefaultExcludes > nul)", diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp index 84a054e0f1..b92e9ca59c 100644 --- a/toolsrc/src/vcpkg/help.cpp +++ b/toolsrc/src/vcpkg/help.cpp @@ -137,7 +137,7 @@ namespace vcpkg::Help void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths) { - args.parse_arguments(COMMAND_STRUCTURE); + Util::unused(args.parse_arguments(COMMAND_STRUCTURE)); if (args.command_arguments.empty()) { diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index adab4249fd..88b15fe7a2 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -138,7 +138,7 @@ namespace vcpkg::Install std::sort(output.begin(), output.end()); - fs.write_lines(listfile, output); + fs.write_lines(listfile, output, VCPKG_LINE_INFO); } static std::vector extract_files_in_triplet( @@ -364,7 +364,12 @@ namespace vcpkg::Install const fs::path download_dir = paths.downloads; std::error_code ec; for (auto& p : fs.get_files_non_recursive(download_dir)) - if (!fs.is_directory(p)) fs.remove(p); + { + if (!fs.is_directory(p)) + { + fs.remove(p, VCPKG_LINE_INFO); + } + } } return {code, std::move(bcf)}; @@ -628,6 +633,8 @@ namespace vcpkg::Install const bool clean_after_build = Util::Sets::contains(options.switches, (OPTION_CLEAN_AFTER_BUILD)); const KeepGoing keep_going = to_keep_going(Util::Sets::contains(options.switches, OPTION_KEEP_GOING)); + auto& fs = paths.get_filesystem(); + // create the plan StatusParagraphs status_db = database_load_check(paths); @@ -645,7 +652,7 @@ namespace vcpkg::Install Build::FailOnTombstone::NO, }; - auto all_ports = Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports); + auto all_ports = Paragraphs::load_all_ports(fs, paths.ports); std::unordered_map scf_map; for (auto&& port : all_ports) scf_map[port->core_paragraph->name] = std::move(*port); @@ -703,7 +710,7 @@ namespace vcpkg::Install xunit_doc += summary.xunit_results(); xunit_doc += "\n"; - paths.get_filesystem().write_contents(fs::u8path(it_xunit->second), xunit_doc); + fs.write_contents(fs::u8path(it_xunit->second), xunit_doc, VCPKG_LINE_INFO); } for (auto&& result : summary.results) diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp index 685cdfdc33..f997667ace 100644 --- a/toolsrc/src/vcpkg/remove.cpp +++ b/toolsrc/src/vcpkg/remove.cpp @@ -111,7 +111,7 @@ namespace vcpkg::Remove } } - fs.remove(paths.listfile_path(ipv.core->package)); + fs.remove(paths.listfile_path(ipv.core->package), VCPKG_LINE_INFO); } for (auto&& spgh : spghs) diff --git a/toolsrc/src/vcpkg/tools.cpp b/toolsrc/src/vcpkg/tools.cpp index 2fdfbe0f2b..4f4b23055e 100644 --- a/toolsrc/src/vcpkg/tools.cpp +++ b/toolsrc/src/vcpkg/tools.cpp @@ -131,7 +131,10 @@ namespace vcpkg virtual const std::string& exe_stem() const = 0; virtual std::array default_min_version() const = 0; - virtual void add_special_paths(std::vector& out_candidate_paths) const {} + virtual void add_special_paths(std::vector& out_candidate_paths) const + { + Util::unused(out_candidate_paths); + } virtual Optional get_version(const fs::path& path_to_exe) const = 0; }; @@ -406,6 +409,7 @@ git version 2.17.1.windows.2 virtual void add_special_paths(std::vector& out_candidate_paths) const override { + Util::unused(out_candidate_paths); // TODO: Uncomment later // const std::vector from_path = Files::find_from_PATH("installerbase"); // candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend()); diff --git a/toolsrc/src/vcpkg/update.cpp b/toolsrc/src/vcpkg/update.cpp index 344192d596..2c52d59524 100644 --- a/toolsrc/src/vcpkg/update.cpp +++ b/toolsrc/src/vcpkg/update.cpp @@ -52,7 +52,7 @@ namespace vcpkg::Update void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths) { - args.parse_arguments(COMMAND_STRUCTURE); + Util::unused(args.parse_arguments(COMMAND_STRUCTURE)); System::print2("Using local portfile versions. To update the local portfiles, use `git pull`.\n"); const StatusParagraphs status_db = database_load_check(paths); diff --git a/toolsrc/src/vcpkg/vcpkglib.cpp b/toolsrc/src/vcpkg/vcpkglib.cpp index c8e95dab18..2a52111a65 100644 --- a/toolsrc/src/vcpkg/vcpkglib.cpp +++ b/toolsrc/src/vcpkg/vcpkglib.cpp @@ -21,7 +21,7 @@ namespace vcpkg return StatusParagraphs(); } - fs.rename(vcpkg_dir_status_file_old, vcpkg_dir_status_file); + fs.rename(vcpkg_dir_status_file_old, vcpkg_dir_status_file, VCPKG_LINE_INFO); } auto pghs = Paragraphs::get_paragraphs(fs, vcpkg_dir_status_file).value_or_exit(VCPKG_LINE_INFO); @@ -72,15 +72,15 @@ namespace vcpkg } } - fs.write_contents(status_file_new, Strings::serialize(current_status_db)); + fs.write_contents(status_file_new, Strings::serialize(current_status_db), VCPKG_LINE_INFO); - fs.rename(status_file_new, status_file); + fs.rename(status_file_new, status_file, VCPKG_LINE_INFO); for (auto&& file : update_files) { if (!fs.is_regular_file(file)) continue; - fs.remove(file); + fs.remove(file, VCPKG_LINE_INFO); } return current_status_db; @@ -95,8 +95,8 @@ namespace vcpkg const auto tmp_update_filename = paths.vcpkg_dir_updates / "incomplete"; const auto update_filename = paths.vcpkg_dir_updates / Strings::format("%010d", my_update_id); - fs.write_contents(tmp_update_filename, Strings::serialize(p)); - fs.rename(tmp_update_filename, update_filename); + fs.write_contents(tmp_update_filename, Strings::serialize(p), VCPKG_LINE_INFO); + fs.rename(tmp_update_filename, update_filename, VCPKG_LINE_INFO); } static void upgrade_to_slash_terminated_sorted_format(Files::Filesystem& fs, @@ -165,8 +165,8 @@ namespace vcpkg // Replace the listfile on disk const fs::path updated_listfile_path = listfile_path.generic_string() + "_updated"; - fs.write_lines(updated_listfile_path, *lines); - fs.rename(updated_listfile_path, listfile_path); + fs.write_lines(updated_listfile_path, *lines, VCPKG_LINE_INFO); + fs.rename(updated_listfile_path, listfile_path, VCPKG_LINE_INFO); } std::vector get_installed_ports(const StatusParagraphs& status_db) From 5ef4940c2cfa9b08095c56b1a0e643cb9377c907 Mon Sep 17 00:00:00 2001 From: Igor Kostenko Date: Wed, 19 Jun 2019 20:04:53 +0100 Subject: [PATCH 061/123] crossplatform add to path (#6961) --- ports/qt5-modularscripts/qt_modular_library.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/qt5-modularscripts/qt_modular_library.cmake b/ports/qt5-modularscripts/qt_modular_library.cmake index dd3abb94f6..206c040028 100644 --- a/ports/qt5-modularscripts/qt_modular_library.cmake +++ b/ports/qt5-modularscripts/qt_modular_library.cmake @@ -37,7 +37,7 @@ function(qt_modular_build_library SOURCE_PATH) #Find Python and add it to the path vcpkg_find_acquire_program(PYTHON2) get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) - set(ENV{PATH} "${PYTHON2_EXE_PATH};$ENV{PATH}") + vcpkg_add_to_path("${PYTHON2_EXE_PATH}") file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) From 943aed271fe256ae683d522bb95d5c2d3f317339 Mon Sep 17 00:00:00 2001 From: Igor Kostenko Date: Wed, 19 Jun 2019 20:08:02 +0100 Subject: [PATCH 062/123] Use correct path separators for each platform (#6960) --- scripts/cmake/vcpkg_build_qmake.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/cmake/vcpkg_build_qmake.cmake b/scripts/cmake/vcpkg_build_qmake.cmake index 80a0aef0d3..cf79fe8fca 100644 --- a/scripts/cmake/vcpkg_build_qmake.cmake +++ b/scripts/cmake/vcpkg_build_qmake.cmake @@ -11,9 +11,11 @@ function(vcpkg_build_qmake) cmake_parse_arguments(_csc "SKIP_MAKEFILES" "BUILD_LOGNAME" "TARGETS;RELEASE_TARGETS;DEBUG_TARGETS" ${ARGN}) if(CMAKE_HOST_WIN32) + set(_PATHSEP ";") vcpkg_find_acquire_program(JOM) set(INVOKE "${JOM}") else() + set(_PATHSEP ":") find_program(MAKE make) set(INVOKE "${MAKE}") endif() @@ -56,7 +58,7 @@ function(vcpkg_build_qmake) #First generate the makefiles so we can modify them if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib;${CURRENT_INSTALLED_DIR}/debug/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}") + set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib${_PATHSEP}${CURRENT_INSTALLED_DIR}/debug/bin${_PATHSEP}${CURRENT_INSTALLED_DIR}/tools/qt5${_PATHSEP}${ENV_PATH_BACKUP}") if(NOT _csc_SKIP_MAKEFILES) run_jom(qmake_all makefiles dbg) @@ -81,7 +83,7 @@ function(vcpkg_build_qmake) endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/tools/qt5;${ENV_PATH_BACKUP}") + set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib${_PATHSEP}${CURRENT_INSTALLED_DIR}/bin${_PATHSEP}${CURRENT_INSTALLED_DIR}/tools/qt5${_PATHSEP}${ENV_PATH_BACKUP}") if(NOT _csc_SKIP_MAKEFILES) run_jom(qmake_all makefiles rel) From 4b0b0c57314cc0d73f7a666a2bc476153d6b42a2 Mon Sep 17 00:00:00 2001 From: past-due <30942300+past-due@users.noreply.github.com> Date: Wed, 19 Jun 2019 15:08:42 -0400 Subject: [PATCH 063/123] bootstrap.sh: Retry up to 3 times for transient download errors (#6952) --- scripts/bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index 00d31760af..b0e4f98a54 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -100,7 +100,7 @@ vcpkgDownloadFile() url=$1; downloadPath=$2 sha512=$3 vcpkgCheckRepoTool "curl" rm -rf "$downloadPath.part" - curl -L $url --create-dirs --output "$downloadPath.part" || exit 1 + curl -L $url --create-dirs --retry 3 --output "$downloadPath.part" || exit 1 vcpkgCheckEqualFileHash $url "$downloadPath.part" $sha512 mv "$downloadPath.part" "$downloadPath" From d3498a8943b8af2fd37b287c766acff8d6623463 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Wed, 19 Jun 2019 13:28:41 -0700 Subject: [PATCH 064/123] [msmpi] Fix /MD for static libs. (#6945) * [msmpi] Fix /MD for static libs. * [msmpi] Don't install static-crt static libs when using debug crt --- ports/msmpi/CONTROL | 2 +- ports/msmpi/portfile.cmake | 48 ++++++++++++++------------------------ 2 files changed, 19 insertions(+), 31 deletions(-) diff --git a/ports/msmpi/CONTROL b/ports/msmpi/CONTROL index 7a4b2d62e1..d21b80c37d 100644 --- a/ports/msmpi/CONTROL +++ b/ports/msmpi/CONTROL @@ -1,3 +1,3 @@ Source: msmpi -Version: 10.0 +Version: 10.0-2 Description: Microsoft MPI diff --git a/ports/msmpi/portfile.cmake b/ports/msmpi/portfile.cmake index 70c2ff5d94..c55a494124 100644 --- a/ports/msmpi/portfile.cmake +++ b/ports/msmpi/portfile.cmake @@ -95,40 +95,28 @@ file(INSTALL ${CURRENT_PACKAGES_DIR}/include ) -# Install release libraries -file(INSTALL - "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpi.lib" - "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifec.lib" - "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifmc.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/lib -) -if(TRIPLET_SYSTEM_ARCH STREQUAL "x86") - file(INSTALL - "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifes.lib" - "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifms.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/lib - ) -endif() - -# Install debug libraries -# NOTE: since the binary distribution does not include any debug libraries we simply install the release libraries +# NOTE: since the binary distribution does not include any debug libraries we always install the release libraries SET(VCPKG_POLICY_ONLY_RELEASE_CRT enabled) + +file(GLOB STATIC_LIBS + ${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifec.lib + ${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifmc.lib + ${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifes.lib + ${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifms.lib +) + file(INSTALL "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpi.lib" - "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifec.lib" - "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifmc.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib ) -if(TRIPLET_SYSTEM_ARCH STREQUAL "x86") - file(INSTALL - "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifes.lib" - "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifms.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/lib - ) +file(INSTALL + "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpi.lib" + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib +) + +if(VCPKG_CRT_LINKAGE STREQUAL "static") + file(INSTALL ${STATIC_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL ${STATIC_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) endif() # Handle copyright From 989d0497025e59c9f9946bb6c7b1c742604bb589 Mon Sep 17 00:00:00 2001 From: Norbert Nemec Date: Wed, 19 Jun 2019 22:32:39 +0200 Subject: [PATCH 065/123] mesonbuild - Update to 0.51.0 --- scripts/cmake/vcpkg_find_acquire_program.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 451f4bcd3e..0248402232 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -154,10 +154,10 @@ function(vcpkg_find_acquire_program VAR) else() set(SCRIPTNAME meson) endif() - set(PATHS ${DOWNLOADS}/tools/meson/meson-0.50.0) - set(URL "https://github.com/mesonbuild/meson/archive/0.50.0.zip") - set(ARCHIVE "meson-0.50.0.zip") - set(HASH 587cafe0cd551e3fb3507ecab904912dc3e053aa95c864b435526a20d52406536ba970a50be6c9f20d83314c5853aaefa102c5ca14623d0928b091a43e7b6d64) + set(PATHS ${DOWNLOADS}/tools/meson/meson-0.51.0) + set(URL "https://github.com/mesonbuild/meson/archive/0.51.0.zip") + set(ARCHIVE "meson-0.51.0.zip") + set(HASH bf1df65cde7e0e0a44e4b4be7d68de9897a77c4ea4c694f1d77fe82cd3c7e7818dc034a3313ce885ba6883b4ba6d282b7a589f665fa499d9eb79fc7a23e415cc) elseif(VAR MATCHES "FLEX") if(CMAKE_HOST_WIN32) set(PROGNAME win_flex) From 11506d1426163df3c867a99bacd84b8911ea3224 Mon Sep 17 00:00:00 2001 From: Norbert Nemec Date: Wed, 19 Jun 2019 22:35:08 +0200 Subject: [PATCH 066/123] set cmake_prefix_path correctly within vcpkg_configure_meson --- scripts/cmake/vcpkg_configure_meson.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index f1ae0e65f4..f907c76f15 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -26,6 +26,7 @@ function(vcpkg_configure_meson) set(MESON_RELEASE_LDFLAGS "${MESON_RELEASE_LDFLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF") # select meson cmd-line options + list(APPEND _vcm_OPTIONS -Dcmake_prefix_path=${CURRENT_INSTALLED_DIR}) list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) list(APPEND _vcm_OPTIONS --default-library shared) From dfd5bb46a149bbc2d9b4f4fa6a5fd4df5992cbdb Mon Sep 17 00:00:00 2001 From: Jackie Ng Date: Fri, 21 Jun 2019 02:40:50 +1000 Subject: [PATCH 067/123] [sqlite3]: Shared library support for Linux (#6856) * [sqlite]: Shared library support for Linux * [sqlite3]: Switch back to CMAKE_SYSTEM_NAME checks per original PR (#6122) * [sqlite3]: Remove redundant "WindowsStore" system name check as "Windows" should already catch it. * [sqlite3]: Re-bump portfile * [sqlite3] added error message --- ports/sqlite3/CMakeLists.txt | 8 +++++++- ports/sqlite3/CONTROL | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ports/sqlite3/CMakeLists.txt b/ports/sqlite3/CMakeLists.txt index a2f0aeb03f..16f529dafb 100644 --- a/ports/sqlite3/CMakeLists.txt +++ b/ports/sqlite3/CMakeLists.txt @@ -3,7 +3,13 @@ project(sqlite3 C) include_directories(.) if(BUILD_SHARED_LIBS) - set(API "-DSQLITE_API=__declspec(dllexport)") + if(CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "Darwin") + set(API "-DSQLITE_API=__attribute__((visibility(\"default\")))") + elseif(CMAKE_SYSTEM_NAME MATCHES "Windows") + set(API "-DSQLITE_API=__declspec(dllexport)") + else() + message(FATAL_ERROR "Unsupported platform: ${CMAKE_SYSTEM_NAME}") + endif() else() set(API "-DSQLITE_API=extern") endif() diff --git a/ports/sqlite3/CONTROL b/ports/sqlite3/CONTROL index 7bba4d78c9..829b662549 100644 --- a/ports/sqlite3/CONTROL +++ b/ports/sqlite3/CONTROL @@ -1,5 +1,5 @@ Source: sqlite3 -Version: 3.28.0 +Version: 3.28.0-1 Homepage: https://sqlite.org/ Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. From f0902b35370fbebcf257de88e43ee47379185a10 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 20 Jun 2019 11:46:55 -0700 Subject: [PATCH 068/123] VS 2019 16.3 deprecates . (#6968) VS 2019 16.3 will contain a couple of source-breaking changes: * will be deprecated via an impossible-to-miss preprocessor "#error The header providing std::experimental::filesystem is deprecated by Microsoft and will be REMOVED. It is superseded by the C++17 header providing std::filesystem. You can define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING to acknowledge that you have received this warning." * will no longer include . In the long term, I believe that vcpkg should detect when it's being built with VS 2017 15.7 or newer, compile in C++17 mode, include , and use std::filesystem. (Activating this for VS 2019 16.0 or newer would also be reasonable.) Similarly for other toolsets supporting std::filesystem. In the short term, this commit makes vcpkg compatible with the upcoming deprecation. First, we need to define the silencing macro before including the appropriate header. I've chosen to define it unconditionally (without checking for platform or version), since it has no effect for other platforms or versions. Second, we need to deal with no longer including . I verified that VS 2015 Update 3 contained (back then, it simply included the header, where the experimental implementation was defined; this was later reorganized). Therefore, all of vcpkg's supported MSVC toolsets have , so we can simply always include it. I've verified that this builds with both VS 2015 Update 3 and VS 2019 16.1.3 (the current production version). --- toolsrc/include/pch.h | 5 +---- toolsrc/include/vcpkg/base/files.h | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/toolsrc/include/pch.h b/toolsrc/include/pch.h index fa2c2bb72f..15ec25e766 100644 --- a/toolsrc/include/pch.h +++ b/toolsrc/include/pch.h @@ -37,11 +37,8 @@ #include #include #include -#if defined(_WIN32) -#include -#else +#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING #include -#endif #include #include #include diff --git a/toolsrc/include/vcpkg/base/files.h b/toolsrc/include/vcpkg/base/files.h index 02e2b8db8f..3ea0d60366 100644 --- a/toolsrc/include/vcpkg/base/files.h +++ b/toolsrc/include/vcpkg/base/files.h @@ -2,11 +2,8 @@ #include -#if defined(_WIN32) -#include -#else +#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING #include -#endif namespace fs { From 83520dbc36e644951829f1a94fe47395314d9a4c Mon Sep 17 00:00:00 2001 From: Phoebe <925731795@qq.com> Date: Fri, 21 Jun 2019 05:13:53 +0800 Subject: [PATCH 069/123] [Folly] define _CRT_INTERNAL_NONSTDC_NAMES to 0 to disable non-underscore posix names on windows (#6974) --- ports/folly/CONTROL | 2 +- .../disable-non-underscore-posix-names.patch | 27 +++++++++++++++++++ ports/folly/portfile.cmake | 1 + 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 ports/folly/disable-non-underscore-posix-names.patch diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index 1709a4515e..268039ac79 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -1,5 +1,5 @@ Source: folly -Version: 2019.05.20.00 +Version: 2019.05.20.00-1 Homepage: https://github.com/facebook/folly Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr diff --git a/ports/folly/disable-non-underscore-posix-names.patch b/ports/folly/disable-non-underscore-posix-names.patch new file mode 100644 index 0000000000..bbe79481cf --- /dev/null +++ b/ports/folly/disable-non-underscore-posix-names.patch @@ -0,0 +1,27 @@ +diff --git a/folly/portability/Windows.h b/folly/portability/Windows.h +index f7990ca..b22fac5 100644 +--- a/folly/portability/Windows.h ++++ b/folly/portability/Windows.h +@@ -26,16 +26,12 @@ + // These have to be this way because we define our own versions + // of close(), because the normal Windows versions don't handle + // sockets at all. +-#ifndef __STDC__ +-/* nolint */ +-#define __STDC__ 1 +-#include // @manual nolint +-#include // @manual nolint +-#undef __STDC__ +-#else +-#include // @manual nolint +-#include // @manual nolint +-#endif ++#include ++#pragma push_macro("_CRT_INTERNAL_NONSTDC_NAMES") ++#define _CRT_INTERNAL_NONSTDC_NAMES 0 ++#include ++#include ++#pragma pop_macro("_CRT_INTERNAL_NONSTDC_NAMES") + + #if defined(min) || defined(max) + #error Windows.h needs to be included by this header, or else NOMINMAX needs \ diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index 7e7f405657..abf32aa991 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -21,6 +21,7 @@ vcpkg_from_github( missing-include-atomic.patch boost-1.70.patch reorder-glog-gflags.patch + disable-non-underscore-posix-names.patch ) file(COPY From 321540a82abec73f280847df10af6aa1fe9e472b Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 21 Jun 2019 05:44:03 +0800 Subject: [PATCH 070/123] [xerces-c]Replace the macro DLL_EXPORT with the macro XERCES_DLL_EXPORT (#6970) * [xerces-c]Disable defining DLL_EXPORT to avoid affecting other ports * [xerces-c]Replace the macro DLL_EXPORT with the macro XERCES_DLL_EXPORT --- ports/xerces-c/CONTROL | 2 +- ports/xerces-c/portfile.cmake | 4 ++- ports/xerces-c/remove-dll-export-macro.patch | 27 ++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 ports/xerces-c/remove-dll-export-macro.patch diff --git a/ports/xerces-c/CONTROL b/ports/xerces-c/CONTROL index 2fde766e17..3d2a4337e9 100644 --- a/ports/xerces-c/CONTROL +++ b/ports/xerces-c/CONTROL @@ -1,5 +1,5 @@ Source: xerces-c -Version: 3.2.2-9 +Version: 3.2.2-10 Homepage: https://github.com/apache/xerces-c Description: Xerces-C++ is a XML parser, for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. diff --git a/ports/xerces-c/portfile.cmake b/ports/xerces-c/portfile.cmake index ad3c6d79ea..5f8fa4c11b 100644 --- a/ports/xerces-c/portfile.cmake +++ b/ports/xerces-c/portfile.cmake @@ -6,7 +6,9 @@ vcpkg_from_github( REF Xerces-C_3_2_2 SHA512 66f60fe9194376ac0ca99d13ea5bce23ada86e0261dde30686c21ceb5499e754dab8eb0a98adadd83522bda62709377715501f6dac49763e3a686f9171cc63ea HEAD_REF trunk - PATCHES disable-tests.patch + PATCHES + disable-tests.patch + remove-dll-export-macro.patch ) set(DISABLE_ICU ON) diff --git a/ports/xerces-c/remove-dll-export-macro.patch b/ports/xerces-c/remove-dll-export-macro.patch new file mode 100644 index 0000000000..f6f0e69757 --- /dev/null +++ b/ports/xerces-c/remove-dll-export-macro.patch @@ -0,0 +1,27 @@ +diff --git a/src/xercesc/util/XercesDefs.hpp b/src/xercesc/util/XercesDefs.hpp +index 8071260..cd6bd68 100644 +--- a/src/xercesc/util/XercesDefs.hpp ++++ b/src/xercesc/util/XercesDefs.hpp +@@ -133,7 +133,7 @@ typedef XMLUInt32 UCS4Ch; + // The DLL_EXPORT flag should be defined on the command line during the build of a DLL + // configure conspires to make this happen. + +-#if defined(DLL_EXPORT) ++#if defined(XERCES_DLL_EXPORT) + #if defined(XERCES_BUILDING_LIBRARY) + #define XMLUTIL_EXPORT XERCES_PLATFORM_EXPORT + #define XMLPARSER_EXPORT XERCES_PLATFORM_EXPORT +diff --git a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in +index e849e08..69fe3bf 100644 +--- a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in ++++ b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in +@@ -85,9 +85,6 @@ + #define XERCES_PLATFORM_EXPORT @XERCES_PLATFORM_EXPORT@ + #define XERCES_PLATFORM_IMPORT @XERCES_PLATFORM_IMPORT@ + #define XERCES_TEMPLATE_EXTERN @XERCES_TEMPLATE_EXTERN@ +-#ifdef XERCES_DLL_EXPORT +-# define DLL_EXPORT +-#endif + + // --------------------------------------------------------------------------- + // Include standard headers, if available, that we may rely on below. From 5f72d97b6e8e8dbd648567d2601c9a5c2e69eb85 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 21 Jun 2019 05:52:28 +0800 Subject: [PATCH 071/123] [bond]Upgrade version to 8.1.0 and add Linux/OSX support. (#6954) --- ports/bond/0002_omit_rapidjson.patch | 12 ---- ports/bond/CONTROL | 2 +- ports/bond/fix-install-path.patch | 56 +++++++++++++++++ ports/bond/portfile.cmake | 91 +++++++++++++--------------- 4 files changed, 100 insertions(+), 61 deletions(-) delete mode 100644 ports/bond/0002_omit_rapidjson.patch create mode 100644 ports/bond/fix-install-path.patch diff --git a/ports/bond/0002_omit_rapidjson.patch b/ports/bond/0002_omit_rapidjson.patch deleted file mode 100644 index 7d502353d4..0000000000 --- a/ports/bond/0002_omit_rapidjson.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fe0f629e..54b6d8ec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -49,7 +49,6 @@ install (DIRECTORY - cpp/inc/bond - cpp/generated/bond - python/inc/bond -- thirdparty/rapidjson/include/rapidjson - DESTINATION include - PATTERN *.cpp EXCLUDE) - diff --git a/ports/bond/CONTROL b/ports/bond/CONTROL index 940b0dc052..0d1b82bc31 100644 --- a/ports/bond/CONTROL +++ b/ports/bond/CONTROL @@ -1,6 +1,6 @@ Source: bond Maintainer: bond@microsoft.com -Version: 7.0.2-2 +Version: 8.1.0 Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. Homepage: https://github.com/Microsoft/bond Build-Depends: rapidjson, boost-config, boost-utility, boost-assign diff --git a/ports/bond/fix-install-path.patch b/ports/bond/fix-install-path.patch new file mode 100644 index 0000000000..e5fa270c19 --- /dev/null +++ b/ports/bond/fix-install-path.patch @@ -0,0 +1,56 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f2f8eaa..1b0c01c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,7 +18,7 @@ set (BOND_FIND_RAPIDJSON + # settings so that we don't apply our settings to third-party code. + add_subdirectory (thirdparty) + +-enable_testing() ++#enable_testing() + + set (BOND_IDL ${CMAKE_CURRENT_SOURCE_DIR}/idl) + set (BOND_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/cpp/inc) +@@ -80,6 +80,6 @@ if (BOND_GBC_PATH) + + install ( + FILES ${BOND_GBC_PATH} +- DESTINATION bin ++ DESTINATION tools + RENAME ${INSTALLED_GBC_NAME}) + endif() +diff --git a/compiler/CMakeLists.txt b/compiler/CMakeLists.txt +index 1dff9d0..9a11575 100644 +--- a/compiler/CMakeLists.txt ++++ b/compiler/CMakeLists.txt +@@ -108,7 +108,7 @@ set (test_sources + tests/TestMain.hs + ${tests}) + +-set (completion_dir etc/bash_completion.d) ++set (completion_dir tools/bond) + set (completion ${CMAKE_CURRENT_BINARY_DIR}/gbc.comp) + set (output ${CMAKE_CURRENT_BINARY_DIR}/build/gbc/gbc${CMAKE_EXECUTABLE_SUFFIX}) + set (GBC_EXECUTABLE ${output} PARENT_SCOPE) +@@ -130,7 +130,7 @@ endif() + + install (FILES ${output} + PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE +- DESTINATION bin) ++ DESTINATION ${completion_dir}) + + install (FILES ${completion} + RENAME gbc +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index b45078e..1eebe9c 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -110,7 +110,7 @@ target_include_directories (bond_apply BEFORE PRIVATE + + install (TARGETS bond bond_apply + EXPORT bond +- ARCHIVE DESTINATION lib/bond ++ ARCHIVE DESTINATION lib + INCLUDES DESTINATION include) + + install (DIRECTORY ${BOND_IDL}/bond/core DESTINATION include/bond) diff --git a/ports/bond/portfile.cmake b/ports/bond/portfile.cmake index a508e6a350..42755dbf92 100644 --- a/ports/bond/portfile.cmake +++ b/ports/bond/portfile.cmake @@ -4,77 +4,72 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bond-7.0.2) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Microsoft/bond/archive/7.0.2.zip" - FILENAME "bond-7.0.2.zip" - SHA512 4ae3b88fafbede6c1433d171713bdbfcbed61a3d2a983d7df4e33af893a50f233be0e95c1ea8e5f30dafb017b2a8100a23721292b04184159e5fd796b1a43398 -) -vcpkg_download_distfile(GBC_ARCHIVE - URLS "https://github.com/Microsoft/bond/releases/download/7.0.2/gbc-7.0.2-amd64.exe.zip" - FILENAME "gbc-7.0.2-amd64.exe.zip" - SHA512 069eafd7641ebd719425037cb8249d2d214eb09c6ce38fbf1d1811c01d1839b0a0987c55217075b6ae9f477f750d582250134387a530edb2aee407b21d973915 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/bond + REF 8.1.0 + SHA512 287a2d299036b57e0576903b1f5372bf8071243ada57153c4bf231cdc660faab1e70c60ddde57ac759d941b74af4ba25d81a5d58e8dbf391032b7b226c4cd18c + HEAD_REF master + PATCHES fix-install-path.patch ) -vcpkg_extract_source_archive(${ARCHIVE}) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_download_distfile(GBC_ARCHIVE + URLS "https://github.com/microsoft/bond/releases/download/8.1.0/gbc-8.1.0-amd64.zip" + FILENAME "gbc-8.1.0-amd64.zip" + SHA512 896c9a78fc714e0ea44c37ed36400ec8e5f52d495a8d81aa80834ff6cd6303c7c94e06129f7b2269416a9e0ffb61423e87406db798fb5be7ff00f14981530089 + ) + + # Extract the precompiled gbc + vcpkg_extract_source_archive(${GBC_ARCHIVE} ${CURRENT_BUILDTREES_DIR}/tools/) + set(FETCHED_GBC_PATH ${CURRENT_BUILDTREES_DIR}/tools/gbc.exe) -# Extract the precompiled gbc -vcpkg_extract_source_archive(${GBC_ARCHIVE} ${CURRENT_BUILDTREES_DIR}/tools/) -set(FETCHED_GBC_PATH ${CURRENT_BUILDTREES_DIR}/tools/gbc-7.0.2-amd64.exe) - -if (NOT EXISTS "${FETCHED_GBC_PATH}") - message(FATAL_ERROR "Fetching GBC failed. Expected '${FETCHED_GBC_PATH}' to exists, but it doesn't.") + if (NOT EXISTS "${FETCHED_GBC_PATH}") + message(FATAL_ERROR "Fetching GBC failed. Expected '${FETCHED_GBC_PATH}' to exists, but it doesn't.") + endif() + +else() + message(STATUS "Installing stack...") + vcpkg_download_distfile( + ARCHIVE + URLS "https://get.haskellstack.org/" + FILENAME "stack-install.sh" + SHA512 6db2008297416ad856aa498908bf695737cf3cc466440397720a458358e9661d07abdba762662080ee8bbd8171cdcb05eec6d3696382575c099adfb8427e05fd + ) + + set(BASH /bin/bash) + + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc "${ARCHIVE}" -f + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} + LOGNAME install-stack + ) + endif() -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - # Don't install rapidjson from the (empty) submodule. With vcpkg, we get - # rapidjson from vcpkg - ${CMAKE_CURRENT_LIST_DIR}/0002_omit_rapidjson.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DBOND_LIBRARIES_ONLY=TRUE -DBOND_GBC_PATH=${FETCHED_GBC_PATH} + -DBOND_SKIP_GBC_TESTS=TRUE -DBOND_ENABLE_COMM=FALSE -DBOND_ENABLE_GRPC=FALSE + -DBOND_FIND_RAPIDJSON=TRUE ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/bond TARGET_PATH share/bond) + # Put the license file where vcpkg expects it file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/bond) file(RENAME ${CURRENT_PACKAGES_DIR}/share/bond/LICENSE ${CURRENT_PACKAGES_DIR}/share/bond/copyright) -# Drop a copy of gbc in tools/ so that it can be used -file(COPY ${CURRENT_PACKAGES_DIR}/bin/gbc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/) - -# vcpkg doesn't--as of version 0.0.30--like executables such as gbc.exe in -# the output. Just delete the bin/ directories for now. -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/bin/ - ${CURRENT_PACKAGES_DIR}/debug/bin/) - # There's no way to supress installation of the headers in the debug build, # so we just delete them. file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Bond's install target installs to lib/bond, but vcpkg expects the lib -# files to end up in lib/, so move them up a directory. -file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/bond/bond.lib - ${CURRENT_PACKAGES_DIR}/lib/bond.lib) -file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/bond/bond_apply.lib - ${CURRENT_PACKAGES_DIR}/lib/bond_apply.lib) -file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/bond/bond.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/bond.lib) -file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/bond/bond_apply.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/bond_apply.lib) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) vcpkg_copy_pdbs() From e16efa4d6aa6f36247eb6dfd646fdf81af0c36e0 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Thu, 20 Jun 2019 14:52:54 -0700 Subject: [PATCH 072/123] [thor] Fix error on Linux. (#6953) --- ports/thor/CONTROL | 3 +-- ports/thor/portfile.cmake | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ports/thor/CONTROL b/ports/thor/CONTROL index afdc2aafb9..5391f5d62d 100644 --- a/ports/thor/CONTROL +++ b/ports/thor/CONTROL @@ -1,5 +1,4 @@ Source: thor -Version: 2.0-2 -Homepage: https://github.com/Bromeon/Thor +Version: 2.0-3 Description: Extends the multimedia library SFML with higher-level features Build-Depends: sfml, aurora diff --git a/ports/thor/portfile.cmake b/ports/thor/portfile.cmake index 5728530644..19f65f8062 100644 --- a/ports/thor/portfile.cmake +++ b/ports/thor/portfile.cmake @@ -49,6 +49,9 @@ endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/Aurora) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +endif() file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/thor RENAME copyright) From 47d206e149e88201333b5ca8fe55c30e2b1a8177 Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Fri, 21 Jun 2019 04:11:54 +0200 Subject: [PATCH 073/123] [many ports] improvements for linux/wsl (#6730) * [many ports] improve compatibility with WSL and mixed case filesystems * [treehopper] express dependency on libusb, which was not working on non-win32 platforms and is still broken there * [libharu] add compatibility with non-win32 platforms * [geogram] fix openblas on linux [clapack] better integration with linux environment [visit-struct] put cmake config file in the expected folder [geogram] remove trailing underscore to enable compatibility with OpenBLAS * [openblas] playing with underscore, without success * [openblas/lapack] fix library integration * [clapack] improve target handling in cmake module * [openblas] promote self-generated config to default cmake module, otherwise internal ones thinks wrongly that openblas can also solve lapack libs * [clapack,openblas] improve libraries integration * [many ports] fix cmake unnecessary target paths, wrong config paths, empty default dependencies, unnecessary [core] tags * [suitesparse] improve integration with new lapack/openblas mechanism * [suitesparse] add no underscore postfix also for linux * [ceres] fix integration with newer openblas/lapack configs * [aws-c-event-stream] fix regression * [systemc] fix regression * [libwebp,geogram] trigger rebuild * [libwebp,pthread4w] fix regressions * [glbinding] fix cmake module installation * [globjects] disentangle unnecessary dependency from qt5 * [jasper] remove broken and unnecessary patches * [libwebp] fix regression * [many ports] avoid using BUILD_SHARED_LIBS which is uninitialized in port files * [clapack] correctly find dlls * [clapack] use a generic blas as dependency * [fizz,g2o] restore expected version * fix mistake * [many ports] remove WIN32, APPLE and UNIX (again, they keep creeping in) from ports since they are broken and usually break non-win32 ports * [libressl,openssl] do not try to build one if the other is already installed * [itk] update ref and patch to avoid regression * [libressl,openssl] implement full strategy to fix CI * [libwebp] disable components that are broken on macOS * [ogre] enable macOS build * [freeimage,jxrlib,ogre,openexr,protobuf] port patches from #5169 * [ogre] add missing install command * [ffmpeg] enable wrapper for cmake module * [ffmpeg] add avresample module finder * [ffmpeg] improve module detection and exported symbols * [ffmpeg] add variables to cache * [thrift] remove unnecessary build option * [allegro5] fix shared/static inversion * [protobuf] cleanup * [libressl] cleanup * [moos-core] cleanup * commented features must not be separated from other features, otherwise vcpkg complains * [itk] fix regression * [shogun,itk] fix regressions * [ogre] fix regression * [opusfile] add compatibility with non-win32 * [itk] fix regression * [sndfile,libsndfile] remove duplicate, redirect sndfile to libsndfile * add missing dependencies * [ismrmrd] fix regression * [ffmpeg] trigger rebuild * [clapack,openblas,libogg] fix regressions on macOS * [libtins] fix regression * force rebuild windows regressions, unable to reproduce locally * [mosquitto] enable non-win32 builds * [json-dto] force rebuild, unable to reproduce regression locally * [many ports] uniform naming and path length requests * fix regression * fix regression * [ffmpeg] fixes for downstream projects * clean up - thanks to reviewers * trigger rebuild of regressions on macOS * trigger rebuild of regressions on macOS - part2 * Add core back * Use VCPKG_CONCURRENCY * Add core back to suitesparse * Add core back to curl * Add core back to magnum * Add core back to magnum * Add core back to magnum * Add core back to cgal --- ports/alembic/CONTROL | 2 +- ports/alembic/portfile.cmake | 4 +- ports/allegro5/portfile.cmake | 42 +- ports/angelscript/CONTROL | 4 +- ports/angelscript/portfile.cmake | 24 +- ports/armadillo/CONTROL | 2 +- ports/armadillo/portfile.cmake | 2 +- ports/arrow/portfile.cmake | 2 +- ports/assimp/CONTROL | 2 +- ports/assimp/portfile.cmake | 10 +- ports/avro-c/portfile.cmake | 2 +- ports/aws-c-common/CONTROL | 4 +- ports/aws-c-common/portfile.cmake | 4 +- ports/aws-c-event-stream/portfile.cmake | 4 +- ports/aws-sdk-cpp/portfile.cmake | 4 +- ports/azure-storage-cpp/CONTROL | 2 +- ports/botan/CONTROL | 4 +- ports/botan/portfile.cmake | 31 +- ports/c-ares/CONTROL | 3 +- ports/c-ares/portfile.cmake | 2 +- ports/capnproto/CONTROL | 2 +- ports/capnproto/portfile.cmake | 4 +- ports/cartographer/CONTROL | 2 +- ports/cartographer/portfile.cmake | 2 +- ports/catch2/CONTROL | 2 +- ports/catch2/portfile.cmake | 2 +- ports/ccd/CONTROL | 2 +- ports/ccd/portfile.cmake | 10 +- ports/cereal/CONTROL | 2 +- ports/cereal/portfile.cmake | 3 +- .../ceres/0001_add_missing_include_path.patch | 13 - ...ixes.patch => 0001_cmakelists_fixes.patch} | 11 +- ...arget.patch => 0002_use_glog_target.patch} | 0 ...h => 0003_fix_exported_ceres_config.patch} | 0 ports/ceres/0004_blas_linux_fix.patch | 22 + ports/ceres/CONTROL | 2 +- ports/ceres/portfile.cmake | 18 +- ports/cgal/portfile.cmake | 2 +- ports/clapack/CONTROL | 2 +- ports/clapack/FindLAPACK.cmake | 225 ++-- ports/clapack/enable_openblas_compat.patch | 112 ++ ports/clapack/openblas_linux.patch | 12 - ports/clapack/portfile.cmake | 10 +- ports/clapack/remove_internal_blas.patch | 13 +- ports/clapack/vcpkg-cmake-wrapper.cmake | 6 +- ports/clblas/CONTROL | 2 +- ports/clblas/portfile.cmake | 4 +- ports/clfft/CONTROL | 2 +- ports/clfft/portfile.cmake | 4 +- ports/cli/CONTROL | 2 +- ports/cli/portfile.cmake | 4 +- ports/clp/CMakeLists.txt | 2 +- ports/clp/CONTROL | 2 +- ports/clp/portfile.cmake | 6 +- ports/coinutils/CMakeLists.txt | 2 +- ports/coinutils/CONTROL | 2 +- ports/coinutils/portfile.cmake | 6 +- ports/collada-dom/CONTROL | 4 +- ports/collada-dom/portfile.cmake | 4 +- ports/console-bridge/CONTROL | 2 +- ports/console-bridge/portfile.cmake | 4 +- ports/cpp-netlib/CONTROL | 4 +- ports/cpp-netlib/portfile.cmake | 9 +- ports/crc32c/CONTROL | 2 +- ports/crc32c/portfile.cmake | 2 +- ports/cryptopp/CONTROL | 2 +- ports/cryptopp/portfile.cmake | 2 +- ports/curl/CONTROL | 2 +- ports/curl/portfile.cmake | 2 +- ports/cxxopts/CONTROL | 2 +- ports/cxxopts/portfile.cmake | 2 +- ports/eigen3/CONTROL | 2 +- ports/eigen3/portfile.cmake | 2 +- ports/exiv2/CONTROL | 4 +- ports/exiv2/portfile.cmake | 3 +- ports/fcl/CONTROL | 2 +- ports/fcl/portfile.cmake | 4 +- ports/ffmpeg/CONTROL | 2 +- ports/ffmpeg/FindFFMPEG.cmake | 138 ++- ports/ffmpeg/portfile.cmake | 9 +- ports/ffmpeg/vcpkg-cmake-wrapper.cmake | 8 + ports/fizz/CONTROL | 2 +- ports/fizz/portfile.cmake | 4 +- ports/flatbuffers/CONTROL | 10 +- ports/flatbuffers/portfile.cmake | 2 +- ports/folly/portfile.cmake | 2 +- ports/freeimage/CMakeLists.txt | 3 - ports/freeimage/CONTROL | 2 +- ports/freerdp/CONTROL | 2 +- ports/freerdp/portfile.cmake | 2 +- ports/g2o/CONTROL | 2 +- ports/g2o/portfile.cmake | 2 +- ports/gdcm/CONTROL | 2 +- ports/gdcm/portfile.cmake | 10 +- ports/geogram/CONTROL | 2 +- .../enable_openblas_compatibility.patch | 1008 +++++++++++++++++ ports/geogram/fix_underscore.patch | 10 + ports/geogram/portfile.cmake | 10 +- ports/geographiclib/CONTROL | 2 +- ports/geographiclib/portfile.cmake | 4 +- ports/gl3w/CONTROL | 2 +- ports/gl3w/portfile.cmake | 3 +- ....patch => 0001_force-system-install.patch} | 0 ...uwpmacro.patch => 0002_fix-uwpmacro.patch} | 0 .../0003_fix-cmake-configs-paths.patch | 62 + .../0004_fix-config-expected-paths.patch | 35 + ports/glbinding/portfile.cmake | 26 +- ports/glew/portfile.cmake | 3 +- ports/globjects/CONTROL | 3 +- ports/globjects/portfile.cmake | 2 +- ports/glog/CONTROL | 2 +- ports/glog/portfile.cmake | 2 +- ports/graphite2/CONTROL | 4 +- ports/graphite2/portfile.cmake | 3 +- ports/grpc/CONTROL | 2 +- ports/grpc/portfile.cmake | 6 +- ports/harfbuzz/portfile.cmake | 4 +- ports/hdf5/CONTROL | 24 +- ports/hdf5/portfile.cmake | 9 +- ports/http-parser/CONTROL | 2 +- ports/http-parser/portfile.cmake | 2 +- ports/imgui/CONTROL | 2 +- ports/imgui/portfile.cmake | 2 +- ports/ismrmrd/CONTROL | 4 +- ports/ismrmrd/fix_static.patch | 9 + ports/ismrmrd/portfile.cmake | 50 +- ports/itk/CONTROL | 2 +- ports/itk/fix_conflict_with_openjp2_pc.patch | 33 - ports/itk/fix_libminc_config_path.patch | 13 + ports/itk/fix_openjpeg_search.patch | 13 + ports/itk/portfile.cmake | 18 +- ports/jansson/CONTROL | 2 +- ports/jansson/portfile.cmake | 3 +- ports/jasper/CONTROL | 4 +- ports/jasper/jasper-fix-uwp.patch | 32 - ports/jasper/opengl-not-required.patch | 14 - ports/jasper/portfile.cmake | 12 +- ports/json-dto/CONTROL | 2 +- ports/json-dto/portfile.cmake | 2 +- ports/jxrlib/CONTROL | 2 +- ports/jxrlib/portfile.cmake | 9 +- ports/jxrlib/vcpkg-cmake-wrapper.cmake | 8 + ports/kangaru/CONTROL | 2 +- ports/kangaru/portfile.cmake | 6 +- ports/kinectsdk2/portfile.cmake | 14 +- ports/leptonica/CONTROL | 2 +- ports/leptonica/portfile.cmake | 2 +- ports/libbson/CONTROL | 2 +- ports/libbson/portfile.cmake | 4 +- ports/libfreenect2/CONTROL | 2 +- ports/libfreenect2/portfile.cmake | 2 +- ports/libharu/CONTROL | 2 +- ports/libharu/portfile.cmake | 18 +- ports/libmodbus/CONTROL | 2 +- ports/libmodbus/portfile.cmake | 5 +- ports/libogg/CONTROL | 2 +- ports/libogg/portfile.cmake | 3 +- ports/libpff/CONTROL | 2 +- ports/libpff/portfile.cmake | 2 +- ports/libpng/CONTROL | 2 +- ports/libpng/portfile.cmake | 2 +- ports/libressl/CONTROL | 4 +- ports/libressl/portfile.cmake | 16 +- ports/libsndfile/CONTROL | 2 +- ports/libsndfile/portfile.cmake | 5 +- ports/libtins/CONTROL | 2 +- ports/libtins/portfile.cmake | 8 +- ports/libusb/CONTROL | 2 +- ports/libusb/portfile.cmake | 108 +- ports/libwebp/CONTROL | 2 +- ports/libwebp/portfile.cmake | 15 +- ports/libwebsockets/CONTROL | 2 +- ports/libwebsockets/portfile.cmake | 4 +- ports/lmdb/CONTROL | 2 +- ports/lmdb/portfile.cmake | 5 +- ports/magnum-extras/CONTROL | 5 +- ports/magnum-extras/portfile.cmake | 2 +- ports/magnum-integration/CONTROL | 6 +- ports/magnum-plugins/CONTROL | 3 +- ports/mathgl/CONTROL | 2 +- ports/mathgl/portfile.cmake | 4 +- ports/mongo-c-driver/CONTROL | 2 +- ports/mongo-c-driver/portfile.cmake | 6 +- ports/mongo-cxx-driver/CONTROL | 2 +- ports/mongo-cxx-driver/portfile.cmake | 2 +- ports/moos-core/CONTROL | 4 +- ports/moos-core/portfile.cmake | 11 +- ports/mosquitto/portfile.cmake | 32 +- ports/ms-angle/CONTROL | 2 +- ports/ms-angle/portfile.cmake | 4 +- ports/nanomsg/CONTROL | 2 +- ports/nanomsg/portfile.cmake | 4 +- ports/nlopt/portfile.cmake | 2 +- ports/octomap/CONTROL | 2 +- ports/octomap/portfile.cmake | 3 +- ports/ogre/001-cmake-install-dir.patch | 42 - .../002-link-optimized-lib-workaround.patch | 37 - ports/ogre/CONTROL | 2 +- ports/ogre/portfile.cmake | 29 +- ports/ogre/toolchain_fixes.patch | 533 +++++++++ ports/ompl/portfile.cmake | 5 +- ports/openblas/CONTROL | 2 +- ports/openblas/enable_underscore.patch | 70 ++ ...-space-path.patch => fix_space_path.patch} | 0 ports/openblas/openblas_common.h | 72 -- ports/openblas/portfile.cmake | 50 +- ports/openblas/vcpkg-cmake-wrapper.cmake | 49 + ports/openexr/CONTROL | 2 +- ports/openexr/FindOpenEXR.cmake | 7 + ports/openexr/portfile.cmake | 9 +- ports/openexr/vcpkg-cmake-wrapper.cmake | 8 + ports/openmama/CONTROL | 2 +- ports/openmvg/CONTROL | 2 +- ports/openmvg/portfile.cmake | 2 +- ports/openmvs/CONTROL | 2 +- ports/openmvs/portfile.cmake | 4 +- ports/openni2/CONTROL | 2 +- ports/openni2/portfile.cmake | 2 +- ports/openssl-unix/portfile.cmake | 9 +- ports/openssl-uwp/portfile.cmake | 10 +- ports/openssl-windows/portfile.cmake | 9 +- ports/openssl/CONTROL | 2 +- ports/openssl/portfile.cmake | 2 + ports/opentracing/CONTROL | 4 +- ports/opentracing/portfile.cmake | 45 +- ports/opusfile/CMakeLists.txt | 2 + ports/opusfile/CONTROL | 2 +- ports/orocos-kdl/CONTROL | 2 +- ports/orocos-kdl/portfile.cmake | 6 +- ports/osi/CMakeLists.txt | 2 +- ports/osi/CONTROL | 2 +- ports/osi/portfile.cmake | 6 +- ports/pangolin/CONTROL | 2 +- ports/pangolin/portfile.cmake | 2 +- ports/pcl/CONTROL | 4 +- ports/pcl/portfile.cmake | 2 +- ports/pdal/CONTROL | 2 +- ports/pdal/portfile.cmake | 12 +- ports/poco/CONTROL | 2 +- ports/poco/portfile.cmake | 8 +- ports/proj4/CONTROL | 2 +- ports/proj4/portfile.cmake | 10 +- ports/protobuf/CONTROL | 2 +- ports/protobuf/disable-lite.patch | 41 - ports/protobuf/portfile.cmake | 29 +- ports/pthreads/portfile.cmake | 10 +- ports/pugixml/CONTROL | 2 +- ports/pugixml/portfile.cmake | 16 +- ports/qt5-base/portfile.cmake | 2 +- .../qt_modular_library.cmake | 6 +- ports/re2/CONTROL | 4 +- ports/re2/portfile.cmake | 4 +- ports/restclient-cpp/CONTROL | 2 +- ports/restinio/CONTROL | 8 +- ports/restinio/portfile.cmake | 3 +- ports/sdl2-image/CONTROL | 2 +- ports/sdl2-image/portfile.cmake | 6 +- ports/sdl2-mixer/portfile.cmake | 2 +- ports/sdl2-net/CONTROL | 2 +- ports/sdl2-net/portfile.cmake | 2 +- ports/sdl2-ttf/CONTROL | 2 +- ports/sdl2-ttf/portfile.cmake | 2 +- ports/sdl2/CONTROL | 2 +- ports/sdl2/portfile.cmake | 6 +- ports/selene/CONTROL | 2 +- ports/selene/portfile.cmake | 2 +- ports/sf2cute/CONTROL | 4 +- ports/sf2cute/portfile.cmake | 4 +- ports/shogun/CONTROL | 2 +- ports/shogun/portfile.cmake | 17 +- ports/sndfile/CONTROL | 6 +- ports/sndfile/portfile.cmake | 2 +- ports/so5extra/CONTROL | 2 +- ports/so5extra/portfile.cmake | 3 +- ports/sobjectizer/CONTROL | 2 +- ports/sobjectizer/portfile.cmake | 2 +- ports/sophus/CONTROL | 2 +- ports/sophus/portfile.cmake | 2 +- ports/string-theory/CONTROL | 2 +- ports/string-theory/portfile.cmake | 3 +- ports/suitesparse/CONTROL | 2 +- ports/suitesparse/portfile.cmake | 15 +- ports/suitesparse/suitesparse.patch | 85 +- ports/systemc/CONTROL | 2 +- ports/systemc/install.patch | 54 +- ports/systemc/portfile.cmake | 11 +- ports/szip/CONTROL | 2 +- ports/szip/portfile.cmake | 3 +- ports/tesseract/CONTROL | 2 +- ports/tesseract/portfile.cmake | 2 +- ports/thrift/CONTROL | 2 +- ports/thrift/portfile.cmake | 3 +- ports/tinyexif/CONTROL | 2 +- ports/tinyexif/portfile.cmake | 2 +- ports/tinyobjloader/CONTROL | 2 +- ports/tinyobjloader/portfile.cmake | 2 +- ports/tinyxml2/CONTROL | 3 +- ports/tinyxml2/portfile.cmake | 2 +- ports/tmx/CONTROL | 2 +- ports/tmx/portfile.cmake | 2 +- ports/treehopper/CONTROL | 3 +- ports/treehopper/portfile.cmake | 3 +- ports/trompeloeil/CONTROL | 2 +- ports/trompeloeil/portfile.cmake | 2 +- ports/urdfdom-headers/CONTROL | 2 +- ports/urdfdom-headers/portfile.cmake | 4 +- ports/urdfdom/CONTROL | 2 +- ports/urdfdom/portfile.cmake | 4 +- ports/usd/CONTROL | 2 +- ports/usd/portfile.cmake | 2 +- ports/uvw/CONTROL | 2 +- ports/uvw/portfile.cmake | 10 +- ports/visit-struct/CONTROL | 2 +- ports/visit-struct/portfile.cmake | 5 +- ports/wangle/CONTROL | 2 +- ports/wangle/portfile.cmake | 6 +- ports/wt/portfile.cmake | 4 +- ports/xalan-c/portfile.cmake | 2 +- ports/z3/CONTROL | 2 +- ports/z3/portfile.cmake | 2 +- ports/zopfli/CONTROL | 2 +- ports/zopfli/portfile.cmake | 2 +- ports/zserge-webview/CONTROL | 2 +- ports/zserge-webview/portfile.cmake | 8 +- ports/zxing-cpp/CONTROL | 4 +- ports/zxing-cpp/portfile.cmake | 10 +- 326 files changed, 3141 insertions(+), 1198 deletions(-) delete mode 100644 ports/ceres/0001_add_missing_include_path.patch rename ports/ceres/{0002_cmakelists_fixes.patch => 0001_cmakelists_fixes.patch} (81%) rename ports/ceres/{0003_use_glog_target.patch => 0002_use_glog_target.patch} (100%) rename ports/ceres/{0004_fix_exported_ceres_config.patch => 0003_fix_exported_ceres_config.patch} (100%) create mode 100644 ports/ceres/0004_blas_linux_fix.patch create mode 100644 ports/clapack/enable_openblas_compat.patch delete mode 100644 ports/clapack/openblas_linux.patch create mode 100644 ports/ffmpeg/vcpkg-cmake-wrapper.cmake create mode 100644 ports/geogram/enable_openblas_compatibility.patch create mode 100644 ports/geogram/fix_underscore.patch rename ports/glbinding/{force-system-install.patch => 0001_force-system-install.patch} (100%) rename ports/glbinding/{fix-uwpmacro.patch => 0002_fix-uwpmacro.patch} (100%) create mode 100644 ports/glbinding/0003_fix-cmake-configs-paths.patch create mode 100644 ports/glbinding/0004_fix-config-expected-paths.patch create mode 100644 ports/ismrmrd/fix_static.patch delete mode 100644 ports/itk/fix_conflict_with_openjp2_pc.patch create mode 100644 ports/itk/fix_libminc_config_path.patch create mode 100644 ports/itk/fix_openjpeg_search.patch delete mode 100644 ports/jasper/jasper-fix-uwp.patch delete mode 100644 ports/jasper/opengl-not-required.patch create mode 100644 ports/jxrlib/vcpkg-cmake-wrapper.cmake delete mode 100644 ports/ogre/001-cmake-install-dir.patch delete mode 100644 ports/ogre/002-link-optimized-lib-workaround.patch create mode 100644 ports/ogre/toolchain_fixes.patch create mode 100644 ports/openblas/enable_underscore.patch rename ports/openblas/{fix-space-path.patch => fix_space_path.patch} (100%) delete mode 100644 ports/openblas/openblas_common.h create mode 100644 ports/openblas/vcpkg-cmake-wrapper.cmake create mode 100644 ports/openexr/vcpkg-cmake-wrapper.cmake delete mode 100644 ports/protobuf/disable-lite.patch diff --git a/ports/alembic/CONTROL b/ports/alembic/CONTROL index 0adc152bb7..a1a47a3ff9 100644 --- a/ports/alembic/CONTROL +++ b/ports/alembic/CONTROL @@ -1,5 +1,5 @@ Source: alembic -Version: 1.7.11 +Version: 1.7.11-2 Build-Depends: ilmbase, hdf5 Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. Homepage: https://alembic.io/ diff --git a/ports/alembic/portfile.cmake b/ports/alembic/portfile.cmake index 9e97ac89d1..8b3e8568d0 100644 --- a/ports/alembic/portfile.cmake +++ b/ports/alembic/portfile.cmake @@ -2,7 +2,7 @@ include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Alembic's buildsystem uses very long paths and may fail on your system.\n" + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() @@ -30,7 +30,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Alembic") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Alembic) vcpkg_copy_pdbs() diff --git a/ports/allegro5/portfile.cmake b/ports/allegro5/portfile.cmake index b8619f99b3..37eea07562 100644 --- a/ports/allegro5/portfile.cmake +++ b/ports/allegro5/portfile.cmake @@ -1,44 +1,29 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO liballeg/allegro5 REF 5.2.5.0 SHA512 9b97a46f0fd146c3958a5f8333822665ae06b984b3dbedc1356afdac8fe3248203347cb08b30ebda049a7320948c7844e9d00dc055c317836c2557b5bfc2ab04 HEAD_REF master -) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(ALLEGRO_USE_STATIC ON) -else() - set(ALLEGRO_USE_STATIC OFF) -endif() - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-pdb-install.patch + fix-pdb-install.patch ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja + PREFER_NINJA OPTIONS -DWANT_DOCS=OFF -DALLEGRO_SDL=OFF -DWANT_DEMO=OFF - -DSHARED=${ALLEGRO_USE_STATIC} + -DSHARED=${VCPKG_BUILD_SHARED_LIBS} -DWANT_EXAMPLES=OFF -DWANT_CURL_EXAMPLE=OFF -DWANT_TESTS=OFF @@ -81,14 +66,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/allegro5) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/allegro5/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/allegro5/copyright) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - file(GLOB PDB_GLOB ${CURRENT_BUILDTREES_DIR}-dbg/lib/*.pdb) file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}-dbg/lib/Debug) file(COPY ${PDB_GLOB} DESTINATION ${CURRENT_BUILDTREES_DIR}-dbg/lib/Debug) vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/allegro5 RENAME copyright) diff --git a/ports/angelscript/CONTROL b/ports/angelscript/CONTROL index 7c12ea8459..7315b1a90a 100644 --- a/ports/angelscript/CONTROL +++ b/ports/angelscript/CONTROL @@ -1,3 +1,3 @@ Source: angelscript -Version: 2.33.0 -Description: The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer. +Version: 2.33.0-1 +Description: The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer. diff --git a/ports/angelscript/portfile.cmake b/ports/angelscript/portfile.cmake index 18128d220a..f6521df291 100644 --- a/ports/angelscript/portfile.cmake +++ b/ports/angelscript/portfile.cmake @@ -1,15 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_download_distfile(ARCHIVE @@ -20,14 +8,9 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - # (Optional) A friendly name to use instead of the filename of the archive (e.g.: a version number or tag). - # REF 1.0.0 - # (Optional) Read the docs for how to generate patches at: - # https://github.com/Microsoft/vcpkg/blob/master/docs/examples/patching.md + ARCHIVE ${ARCHIVE} PATCHES mark-threads-private.patch - # 002_more_port_fixes.patch ) vcpkg_configure_cmake( @@ -41,10 +24,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Angelscript") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Angelscript) # Handle copyright file(INSTALL ${CURRENT_PORT_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/angelscript RENAME copyright) - -# Post-build test for cmake libraries -# vcpkg_test_cmake(PACKAGE_NAME angelscript) diff --git a/ports/armadillo/CONTROL b/ports/armadillo/CONTROL index a162b1ced3..5baafdfdf9 100644 --- a/ports/armadillo/CONTROL +++ b/ports/armadillo/CONTROL @@ -1,4 +1,4 @@ Source: armadillo -Version: 2019-04-16-1 +Version: 2019-04-16-2 Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use Build-Depends: openblas (!osx), clapack (!osx) diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake index 6b9b3790ac..437f174ddc 100644 --- a/ports/armadillo/portfile.cmake +++ b/ports/armadillo/portfile.cmake @@ -25,7 +25,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/armadillo/CMake TARGET_PATH share/armadillo) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/armadillo/CMake) vcpkg_copy_pdbs() diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake index ed49d406e1..fd8fd52fc5 100644 --- a/ports/arrow/portfile.cmake +++ b/ports/arrow/portfile.cmake @@ -42,7 +42,7 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib) message(FATAL_ERROR "Installed lib file should be named 'arrow.lib' via patching the upstream build.") endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/arrow TARGET_PATH share/arrow) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/arrow) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL index ddc2627f0b..0b2d58a514 100644 --- a/ports/assimp/CONTROL +++ b/ports/assimp/CONTROL @@ -1,5 +1,5 @@ Source: assimp -Version: 4.1.0-5 +Version: 4.1.0-8 Homepage: https://github.com/assimp/assimp Description: The Open Asset import library Build-Depends: zlib, rapidjson diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 559dd249c2..b690b79d04 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -18,13 +18,19 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/zlib ${SOURCE_PATH}/contrib/gtest ${S set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS") set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DASSIMP_BUILD_TESTS=OFF -DASSIMP_BUILD_ASSIMP_VIEW=OFF -DASSIMP_BUILD_ZLIB=OFF - -DASSIMP_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DASSIMP_BUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS} -DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_INSTALL_PDB=OFF #-DSYSTEM_IRRXML=ON # Wait for the built-in irrxml to synchronize with port irrlich, add dependencies and enable this macro @@ -46,7 +52,7 @@ file(READ ${CURRENT_PACKAGES_DIR}/share/assimp/assimp-config.cmake ASSIMP_CONFIG string(REPLACE "get_filename_component(ASSIMP_ROOT_DIR \"\${_PREFIX}\" PATH)" "set(ASSIMP_ROOT_DIR \${_PREFIX})" ASSIMP_CONFIG ${ASSIMP_CONFIG}) -if(WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})" "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG}) diff --git a/ports/avro-c/portfile.cmake b/ports/avro-c/portfile.cmake index ee0b6f7ca7..553e694d8a 100644 --- a/ports/avro-c/portfile.cmake +++ b/ports/avro-c/portfile.cmake @@ -2,7 +2,7 @@ include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Avro-c's buildsystem uses very long paths and may fail on your system.\n" + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() diff --git a/ports/aws-c-common/CONTROL b/ports/aws-c-common/CONTROL index d80e990912..f9e0fc9afc 100644 --- a/ports/aws-c-common/CONTROL +++ b/ports/aws-c-common/CONTROL @@ -1,3 +1,3 @@ Source: aws-c-common -Version: 0.3.11 -Description: AWS common library for C \ No newline at end of file +Version: 0.3.11-1 +Description: AWS common library for C diff --git a/ports/aws-c-common/portfile.cmake b/ports/aws-c-common/portfile.cmake index 609d7269d0..53d85abb08 100644 --- a/ports/aws-c-common/portfile.cmake +++ b/ports/aws-c-common/portfile.cmake @@ -19,7 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/aws-c-common/cmake) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share/cmake) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include @@ -34,4 +34,4 @@ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aw file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share -) \ No newline at end of file +) diff --git a/ports/aws-c-event-stream/portfile.cmake b/ports/aws-c-event-stream/portfile.cmake index c5ee569333..8d1b0ec70b 100644 --- a/ports/aws-c-event-stream/portfile.cmake +++ b/ports/aws-c-event-stream/portfile.cmake @@ -12,7 +12,7 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/cmake" + "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" ) vcpkg_install_cmake() @@ -32,4 +32,4 @@ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aw file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share -) \ No newline at end of file +) diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index c6b5278165..dc7bc19fc2 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -2,7 +2,7 @@ include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Aws-sdk-cpp's buildsystem uses very long paths and may fail on your system.\n" + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() @@ -10,7 +10,7 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp - REF 1.7.116 + REF 1.7.116 SHA512 2d10aebf1c10bb7e7a0efa1fd930b8743d9bce1d7d36f72c55fd13612be4fd30cf0a67ebe4f8d7c05146306084b10d8657ff26ac3bafaaa9efaa4c67707acb49 HEAD_REF master ) diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL index 9eabe9faf6..720f07efb3 100644 --- a/ports/azure-storage-cpp/CONTROL +++ b/ports/azure-storage-cpp/CONTROL @@ -3,4 +3,4 @@ Version: 6.1.0 Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp&!osx), gettext Description: Microsoft Azure Storage Client SDK for C++ A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. -Homepage: https://blogs.msdn.com/b/windowsazurestorage/ \ No newline at end of file +Homepage: https://blogs.msdn.com/b/windowsazurestorage/ diff --git a/ports/botan/CONTROL b/ports/botan/CONTROL index 8ceb0118c9..9221e7f66b 100644 --- a/ports/botan/CONTROL +++ b/ports/botan/CONTROL @@ -1,4 +1,4 @@ Source: botan -Version: 2.9.0 +Version: 2.9.0-1 Homepage: https://botan.randombit.net -Description: A cryptography library written in C++11 \ No newline at end of file +Description: A cryptography library written in C++11 diff --git a/ports/botan/portfile.cmake b/ports/botan/portfile.cmake index 8b9a200d48..4dc02d5887 100644 --- a/ports/botan/portfile.cmake +++ b/ports/botan/portfile.cmake @@ -10,32 +10,14 @@ vcpkg_from_github( HEAD_REF master ) -set(NUMBER_OF_PROCESSORS "1") -if(DEFINED ENV{NUMBER_OF_PROCESSORS}) - set(NUMBER_OF_PROCESSORS $ENV{NUMBER_OF_PROCESSORS}) -else() - if(APPLE) - set(job_count_command sysctl -n hw.physicalcpu) - else() - set(job_count_command nproc) - endif() - execute_process( - COMMAND ${job_count_command} - OUTPUT_VARIABLE NUMBER_OF_PROCESSORS - ) - string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") - string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") - if(NOT NUMBER_OF_PROCESSORS) - set(NUMBER_OF_PROCESSORS "1") - endif() -endif() - if(CMAKE_HOST_WIN32) vcpkg_find_acquire_program(JOM) - set(build_tool "${JOM}" /J ${NUMBER_OF_PROCESSORS}) + set(build_tool "${JOM}") + set(parallel_build "/J ${VCPKG_CONCURRENCY}") else() find_program(MAKE make) - set(build_tool "${MAKE}" -j${NUMBER_OF_PROCESSORS}) + set(build_tool "${MAKE}") + set(parallel_build "-j${VCPKG_CONCURRENCY}") endif() vcpkg_find_acquire_program(PYTHON3) @@ -93,7 +75,7 @@ function(BOTAN_BUILD BOTAN_BUILD_TYPE) --link-method=copy) if(CMAKE_HOST_WIN32) list(APPEND configure_arguments ${BOTAN_MSVC_RUNTIME}${BOTAN_MSVC_RUNTIME_SUFFIX}) - endif() + endif() vcpkg_execute_required_process( COMMAND "${PYTHON3}" "${SOURCE_PATH}/configure.py" ${configure_arguments} @@ -102,8 +84,9 @@ function(BOTAN_BUILD BOTAN_BUILD_TYPE) message(STATUS "Configure ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE} done") message(STATUS "Build ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}") - vcpkg_execute_required_process( + vcpkg_execute_build_process( COMMAND ${build_tool} + NO_PARALLEL_COMMAND "${build_tool} ${parallel_build}" WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}" LOGNAME build-${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}) message(STATUS "Build ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE} done") diff --git a/ports/c-ares/CONTROL b/ports/c-ares/CONTROL index dda2acde09..c8a5f48542 100644 --- a/ports/c-ares/CONTROL +++ b/ports/c-ares/CONTROL @@ -1,5 +1,4 @@ Source: c-ares -Version: 2019-5-2 +Version: 2019-5-2-1 Homepage: https://github.com/c-ares/c-ares Description: A C library for asynchronous DNS requests -Build-Depends: diff --git a/ports/c-ares/portfile.cmake b/ports/c-ares/portfile.cmake index 094b52ff4a..6d3769b1c2 100644 --- a/ports/c-ares/portfile.cmake +++ b/ports/c-ares/portfile.cmake @@ -30,7 +30,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/c-ares") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/c-ares) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) diff --git a/ports/capnproto/CONTROL b/ports/capnproto/CONTROL index 2bb136b7ab..694469b1fb 100644 --- a/ports/capnproto/CONTROL +++ b/ports/capnproto/CONTROL @@ -1,5 +1,5 @@ Source: capnproto -Version: 0.7.0-1 +Version: 0.7.0-2 Description: Data interchange format and capability-based RPC system Homepage: https://capnproto.org/ Build-Depends: zlib diff --git a/ports/capnproto/portfile.cmake b/ports/capnproto/portfile.cmake index a9916a70af..4043a53c55 100644 --- a/ports/capnproto/portfile.cmake +++ b/ports/capnproto/portfile.cmake @@ -23,7 +23,7 @@ vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH}) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/CapnProto") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CapnProto) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools/capnproto") @@ -39,4 +39,4 @@ file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/capnp file(RENAME ${CURRENT_PACKAGES_DIR}/share/capnproto/LICENSE ${CURRENT_PACKAGES_DIR}/share/capnproto/copyright) # Disabled for now, see #5630 and #5635 -# vcpkg_test_cmake(PACKAGE_NAME CapnProto) \ No newline at end of file +# vcpkg_test_cmake(PACKAGE_NAME CapnProto) diff --git a/ports/cartographer/CONTROL b/ports/cartographer/CONTROL index b91c4a52ee..bf2916b69d 100644 --- a/ports/cartographer/CONTROL +++ b/ports/cartographer/CONTROL @@ -1,5 +1,5 @@ Source: cartographer -Version: 1.0.0 +Version: 1.0.0-1 Build-Depends: ceres[suitesparse], gflags, glog, lua, cairo, boost-iostreams, gtest, protobuf Homepage: https://github.com/googlecartographer/cartographer Description: Google 2D & 3D SLAM package diff --git a/ports/cartographer/portfile.cmake b/ports/cartographer/portfile.cmake index 889adddfbe..f8b1ddcd88 100644 --- a/ports/cartographer/portfile.cmake +++ b/ports/cartographer/portfile.cmake @@ -27,7 +27,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cartographer) +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() # Clean diff --git a/ports/catch2/CONTROL b/ports/catch2/CONTROL index b3cd3c33d4..1a8c9265d6 100644 --- a/ports/catch2/CONTROL +++ b/ports/catch2/CONTROL @@ -1,4 +1,4 @@ Source: catch2 -Version: 2.7.2 +Version: 2.7.2-2 Description: A modern, header-only test framework for unit testing. Homepage: https://github.com/catchorg/Catch2 diff --git a/ports/catch2/portfile.cmake b/ports/catch2/portfile.cmake index 372b627aca..d790985728 100644 --- a/ports/catch2/portfile.cmake +++ b/ports/catch2/portfile.cmake @@ -18,7 +18,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Catch2 TARGET_PATH share/catch2) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Catch2) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) diff --git a/ports/ccd/CONTROL b/ports/ccd/CONTROL index e2b4463ba8..7820a1455c 100644 --- a/ports/ccd/CONTROL +++ b/ports/ccd/CONTROL @@ -1,4 +1,4 @@ Source: ccd -Version: 2.1 +Version: 2.1-1 Homepage: https://github.com/danfis/libccd Description: Library for collision detection between two convex shapes diff --git a/ports/ccd/portfile.cmake b/ports/ccd/portfile.cmake index ba9b3a6f6c..45674918ec 100644 --- a/ports/ccd/portfile.cmake +++ b/ports/ccd/portfile.cmake @@ -1,12 +1,12 @@ include(vcpkg_common_functions) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH REPO danfis/libccd REF v2.1 SHA512 ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d - HEAD_REF master -) + HEAD_REF master +) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} @@ -21,7 +21,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/ccd") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/ccd) file(INSTALL ${SOURCE_PATH}/BSD-LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ccd RENAME copyright) diff --git a/ports/cereal/CONTROL b/ports/cereal/CONTROL index ce879198fa..05175d91d2 100644 --- a/ports/cereal/CONTROL +++ b/ports/cereal/CONTROL @@ -1,4 +1,4 @@ Source: cereal -Version: 1.2.2-1 +Version: 1.2.2-2 Homepage: https://github.com/USCiLab/cereal Description: a header-only C++11 serialization library (built in support for binary, XML and JSon) diff --git a/ports/cereal/portfile.cmake b/ports/cereal/portfile.cmake index 47eb76c497..de056150d2 100644 --- a/ports/cereal/portfile.cmake +++ b/ports/cereal/portfile.cmake @@ -18,8 +18,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/cmake/cereal") +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/cereal) # Clean file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/ceres/0001_add_missing_include_path.patch b/ports/ceres/0001_add_missing_include_path.patch deleted file mode 100644 index 8bb8dfb505..0000000000 --- a/ports/ceres/0001_add_missing_include_path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 02c72b5..15a947e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -582,7 +582,7 @@ include_directories( - # Note that this is *not* propagated to clients, ie CERES_INCLUDE_DIRS - # used by clients after find_package(Ceres) does not identify Eigen as - # as system headers. --include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS}) -+include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}/Eigen) - - if (SUITESPARSE) - include_directories(${SUITESPARSE_INCLUDE_DIRS}) diff --git a/ports/ceres/0002_cmakelists_fixes.patch b/ports/ceres/0001_cmakelists_fixes.patch similarity index 81% rename from ports/ceres/0002_cmakelists_fixes.patch rename to ports/ceres/0001_cmakelists_fixes.patch index f806794a8e..f269f05eef 100644 --- a/ports/ceres/0002_cmakelists_fixes.patch +++ b/ports/ceres/0001_cmakelists_fixes.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 15a947e..62d8c59 100644 +index 02c72b5..62d8c59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -374,27 +374,7 @@ if (MINIGLOG) @@ -31,6 +31,15 @@ index 15a947e..62d8c59 100644 endif (MINIGLOG) if (NOT SCHUR_SPECIALIZATIONS) +@@ -582,7 +562,7 @@ include_directories( + # Note that this is *not* propagated to clients, ie CERES_INCLUDE_DIRS + # used by clients after find_package(Ceres) does not identify Eigen as + # as system headers. +-include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS}) ++include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}/Eigen) + + if (SUITESPARSE) + include_directories(${SUITESPARSE_INCLUDE_DIRS}) @@ -917,8 +897,6 @@ install(FILES "${Ceres_BINARY_DIR}/CeresConfig-install.cmake" DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) install(FILES "${Ceres_BINARY_DIR}/CeresConfigVersion.cmake" diff --git a/ports/ceres/0003_use_glog_target.patch b/ports/ceres/0002_use_glog_target.patch similarity index 100% rename from ports/ceres/0003_use_glog_target.patch rename to ports/ceres/0002_use_glog_target.patch diff --git a/ports/ceres/0004_fix_exported_ceres_config.patch b/ports/ceres/0003_fix_exported_ceres_config.patch similarity index 100% rename from ports/ceres/0004_fix_exported_ceres_config.patch rename to ports/ceres/0003_fix_exported_ceres_config.patch diff --git a/ports/ceres/0004_blas_linux_fix.patch b/ports/ceres/0004_blas_linux_fix.patch new file mode 100644 index 0000000000..5fffee5e23 --- /dev/null +++ b/ports/ceres/0004_blas_linux_fix.patch @@ -0,0 +1,22 @@ +diff --git a/internal/ceres/blas.cc b/internal/ceres/blas.cc +index 3ba63bb..071a26e 100644 +--- a/internal/ceres/blas.cc ++++ b/internal/ceres/blas.cc +@@ -33,7 +33,7 @@ + #include "glog/logging.h" + + #ifndef CERES_NO_LAPACK +-extern "C" void dsyrk_(char* uplo, ++extern "C" void dsyrk(char* uplo, + char* trans, + int* n, + int* k, +@@ -64,7 +64,7 @@ void BLAS::SymmetricRankKUpdate(int num_rows, + int k = transpose ? num_rows : num_cols; + int lda = k; + int ldc = n; +- dsyrk_(&uplo, ++ dsyrk(&uplo, + &trans, + &n, + &k, diff --git a/ports/ceres/CONTROL b/ports/ceres/CONTROL index 8cd34102e5..850da31a62 100644 --- a/ports/ceres/CONTROL +++ b/ports/ceres/CONTROL @@ -1,5 +1,5 @@ Source: ceres -Version: 1.14.0-4 +Version: 1.14.0-6 Build-Depends: glog, eigen3 Homepage: https://github.com/ceres-solver/ceres-solver Description: non-linear optimization package diff --git a/ports/ceres/portfile.cmake b/ports/ceres/portfile.cmake index f1b21d6479..66481fc093 100644 --- a/ports/ceres/portfile.cmake +++ b/ports/ceres/portfile.cmake @@ -1,3 +1,5 @@ +include(vcpkg_common_functions) + set(MSVC_USE_STATIC_CRT_VALUE OFF) if(VCPKG_CRT_LINKAGE STREQUAL "static") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -6,7 +8,9 @@ if(VCPKG_CRT_LINKAGE STREQUAL "static") set(MSVC_USE_STATIC_CRT_VALUE ON) endif() -include(vcpkg_common_functions) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(ADDITIONAL_PATCH "0004_blas_linux_fix.patch") +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -15,10 +19,10 @@ vcpkg_from_github( SHA512 6dddddf5bd5834332a69add468578ad527e4d94fe85c9751ddf5fe9ad11a34918bdd9c994c49dd6ffc398333d0ac9752ac89aaef1293e2fe0a55524e303d415d HEAD_REF master PATCHES - 0001_add_missing_include_path.patch - 0002_cmakelists_fixes.patch - 0003_use_glog_target.patch - 0004_fix_exported_ceres_config.patch + 0001_cmakelists_fixes.patch + 0002_use_glog_target.patch + 0003_fix_exported_ceres_config.patch + ${ADDITIONAL_PATCH} ) file(REMOVE ${SOURCE_PATH}/cmake/FindGflags.cmake) @@ -70,9 +74,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake") + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib${LIB_SUFFIX}/cmake/Ceres") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib${LIB_SUFFIX}/cmake/Ceres) endif() vcpkg_copy_pdbs() diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake index 8732983051..e152f7b768 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -2,7 +2,7 @@ include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Cgal's buildsystem uses very long paths and may fail on your system.\n" + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL index 75755fe211..2b5d137fcb 100644 --- a/ports/clapack/CONTROL +++ b/ports/clapack/CONTROL @@ -1,5 +1,5 @@ Source: clapack -Version: 3.2.1-6 +Version: 3.2.1-9 Homepage: https://www.netlib.org/clapack Description: CLAPACK (f2c'ed version of LAPACK) Build-Depends: openblas (!osx) diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake index dfbf2c73ee..002218eb8d 100644 --- a/ports/clapack/FindLAPACK.cmake +++ b/ports/clapack/FindLAPACK.cmake @@ -66,39 +66,62 @@ include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) include(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake) include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) +include(${CMAKE_ROOT}/Modules/CMakeFindDependencyMacro.cmake) set(CLAPACK_VERSION "3.2.1") +set(CMAKE_THREAD_PREFER_PTHREAD TRUE) +find_dependency(Threads) + if(UNIX) find_library(ADDITIONAL_LAPACK_LIBRARY m) + set(PTHREAD_LINK_NAME "-pthread") endif() if(NOT F2C_LIBRARY) - find_library(F2C_LIBRARY_RELEASE NAMES f2c libf2c) - find_library(F2C_LIBRARY_DEBUG NAMES f2cd libf2cd) - list(APPEND F2C_LIBRARY_RELEASE ${ADDITIONAL_LAPACK_LIBRARY}) - list(APPEND F2C_LIBRARY_DEBUG ${ADDITIONAL_LAPACK_LIBRARY}) - select_library_configurations(F2C) -endif() + find_library(F2C_LIBRARY_RELEASE NAMES f2c libf2c) + find_library(F2C_LIBRARY_DEBUG NAMES f2cd libf2cd) + select_library_configurations(F2C) -find_package(BLAS) + #keep a list of "pure" f2c libs, without dependencies + set(oF2C_LIBRARY_RELEASE ${F2C_LIBRARY_RELEASE}) + set(oF2C_LIBRARY_DEBUG ${F2C_LIBRARY_DEBUG}) + set(oF2C_LIBRARY ${F2C_LIBRARY}) + + list(APPEND F2C_LIBRARY ${ADDITIONAL_LAPACK_LIBRARY}) +endif() if(NOT LAPACK_LIBRARY) - find_library(LAPACK_LIBRARY_RELEASE NAMES lapack) - find_library(LAPACK_LIBRARY_DEBUG NAMES lapackd) - list(APPEND LAPACK_LIBRARY_RELEASE ${F2C_LIBRARY_RELEASE}) - list(APPEND LAPACK_LIBRARY_DEBUG ${F2C_LIBRARY_DEBUG}) - select_library_configurations(LAPACK) + find_library(LAPACK_LIBRARY_RELEASE NAMES lapack) + find_library(LAPACK_LIBRARY_DEBUG NAMES lapackd) + + #keep a list of "pure" lapack libs, without dependencies + set(oLAPACK_LIBRARY_RELEASE ${LAPACK_LIBRARY_RELEASE}) + set(oLAPACK_LIBRARY_DEBUG ${LAPACK_LIBRARY_DEBUG}) + select_library_configurations(oLAPACK) + + list(APPEND LAPACK_LIBRARY_RELEASE ${F2C_LIBRARY_RELEASE}) + list(APPEND LAPACK_LIBRARY_DEBUG ${F2C_LIBRARY_DEBUG}) + + find_dependency(BLAS) + get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB_RELEASE) + if(NOT _loc) + get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY LOCATION_RELEASE) + endif() + set(LAPACK_BLAS_LIBRARY_RELEASE ${_loc}) + get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB_DEBUG) + if(NOT _loc) + get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY LOCATION_DEBUG) + endif() + set(LAPACK_BLAS_LIBRARY_DEBUG ${_loc}) + select_library_configurations(LAPACK_BLAS) + list(APPEND LAPACK_LIBRARY_RELEASE ${LAPACK_BLAS_LIBRARY_RELEASE}) + list(APPEND LAPACK_LIBRARY_DEBUG ${LAPACK_BLAS_LIBRARY_DEBUG}) + + select_library_configurations(LAPACK) + list(APPEND LAPACK_LIBRARY Threads::Threads) endif() -list(APPEND LAPACK_LIBRARY ${BLAS_LIBRARIES}) - -set(F2C_LIBRARIES "${F2C_LIBRARY}" CACHE STRING "" FORCE) -set(LAPACK_VERSION "${CLAPACK_VERSION}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(CLAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(CLAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) - if(NOT F2C_INCLUDE_DIR) find_path(F2C_INCLUDE_DIR NAMES f2c.h) endif() @@ -108,87 +131,29 @@ if(NOT LAPACK_INCLUDE_DIR) endif() list(APPEND LAPACK_INCLUDE_DIR ${F2C_INCLUDE_DIR}) +set(LAPACK_INCLUDE_DIR "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) set(LAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) set(CLAPACK_INCLUDE_DIR "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) set(CLAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) set(F2C_INCLUDE_DIRS "${F2C_INCLUDE_DIR}" CACHE PATH "" FORCE) +set(LAPACK_DLL_DIR ${LAPACK_INCLUDE_DIR}) +list(TRANSFORM LAPACK_DLL_DIR APPEND "/../bin") +message(STATUS "LAPACK_DLL_DIR: ${LAPACK_DLL_DIR}") + if(WIN32) - string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_RELEASE_DLL "${LAPACK_LIBRARY_RELEASE}" ) - string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_DEBUG_DLL "${LAPACK_LIBRARY_DEBUG}" ) - string( REPLACE ".lib" ".dll" F2C_LIBRARY_RELEASE_DLL "${F2C_LIBRARY_RELEASE}" ) - string( REPLACE ".lib" ".dll" F2C_LIBRARY_DEBUG_DLL "${F2C_LIBRARY_DEBUG}" ) + find_file(LAPACK_LIBRARY_RELEASE_DLL NAMES lapack.dll PATHS ${LAPACK_DLL_DIR}) + find_file(LAPACK_LIBRARY_DEBUG_FOLDER NAMES lapackd.dll PATHS ${LAPACK_DLL_DIR}) + find_file(F2C_LIBRARY_RELEASE_DLL NAMES f2c.dll libf2c.dll PATHS ${LAPACK_DLL_DIR}) + find_file(F2C_LIBRARY_DEBUG_DLL NAMES f2cd.dll libf2cd.dll PATHS ${LAPACK_DLL_DIR}) endif() -find_package_handle_standard_args(CLAPACK DEFAULT_MSG CLAPACK_LIBRARY CLAPACK_INCLUDE_DIR) -mark_as_advanced(CLAPACK_INCLUDE_DIR CLAPACK_LIBRARY) - -find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARY LAPACK_INCLUDE_DIR) -mark_as_advanced(LAPACK_INCLUDE_DIR LAPACK_LIBRARY) - -find_package_handle_standard_args(F2C DEFAULT_MSG F2C_LIBRARY F2C_INCLUDE_DIR) -mark_as_advanced(F2C_INCLUDE_DIR F2C_LIBRARY) - -#TARGETS -if( CLAPACK_FOUND AND NOT TARGET clapack::clapack ) - if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" ) - add_library( clapack::clapack SHARED IMPORTED ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - else() - add_library( clapack::clapack UNKNOWN IMPORTED ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG}" ) - set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - endif() -endif() - -if( CLAPACK_FOUND AND NOT TARGET lapack ) - if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" ) - add_library( lapack SHARED IMPORTED ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - else() - add_library( lapack UNKNOWN IMPORTED ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG}" ) - set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - endif() -endif() +set(LAPACK_BLAS_LIBRARY "${LAPACK_BLAS_LIBRARY}" CACHE STRING "" FORCE) +set(F2C_LIBRARIES "${F2C_LIBRARY}" CACHE STRING "" FORCE) +set(LAPACK_VERSION "${CLAPACK_VERSION}" CACHE STRING "" FORCE) +set(LAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) +set(CLAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) +set(CLAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) set(LAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) set(F2C_LIBRARY "${F2C_LIBRARY}" CACHE STRING "" FORCE) @@ -196,3 +161,77 @@ set(LAPACK_LIBRARY_RELEASE "${LAPACK_LIBRARY_RELEASE}" CACHE STRING "" FORCE) set(LAPACK_LIBRARY_DEBUG "${LAPACK_LIBRARY_DEBUG}" CACHE STRING "" FORCE) set(F2C_LIBRARY_RELEASE "${F2C_LIBRARY_RELEASE}" CACHE STRING "" FORCE) set(F2C_LIBRARY_DEBUG "${F2C_LIBRARY_DEBUG}" CACHE STRING "" FORCE) + +find_package_handle_standard_args(CLAPACK DEFAULT_MSG CLAPACK_LIBRARY CLAPACK_INCLUDE_DIR) +mark_as_advanced(CLAPACK_INCLUDE_DIR CLAPACK_LIBRARY) + +find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARY LAPACK_INCLUDE_DIR) +mark_as_advanced(LAPACK_INCLUDE_DIR LAPACK_LIBRARY) + +find_package_handle_standard_args(F2C DEFAULT_MSG F2C_LIBRARY F2C_INCLUDE_DIR) +mark_as_advanced(F2C_INCLUDE_DIR F2C_LIBRARY) + +#TARGETS +if(CLAPACK_FOUND AND NOT TARGET clapack::clapack) + if(EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}") + add_library(clapack::clapack SHARED IMPORTED) + set_target_properties(clapack::clapack PROPERTIES + IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" + IMPORTED_IMPLIB_RELEASE "${oLAPACK_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "$<$>:${oF2C_LIBRARY_RELEASE}>;$<$:${oF2C_LIBRARY_DEBUG}>;$<$>:${LAPACK_BLAS_LIBRARY_RELEASE}>;$<$:${LAPACK_BLAS_LIBRARY_DEBUG}>;$;$" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + if(EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}") + set_property(TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) + set_target_properties(clapack::clapack PROPERTIES + IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" + IMPORTED_IMPLIB_DEBUG "${oLAPACK_LIBRARY_DEBUG}") + endif() + else() + add_library(clapack::clapack UNKNOWN IMPORTED) + set_target_properties(clapack::clapack PROPERTIES + IMPORTED_LOCATION_RELEASE "${oLAPACK_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "$<$>:${oF2C_LIBRARY_RELEASE}>;$<$:${oF2C_LIBRARY_DEBUG}>;$<$>:${LAPACK_BLAS_LIBRARY_RELEASE}>;$<$:${LAPACK_BLAS_LIBRARY_DEBUG}>;$;$" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + if(EXISTS "${LAPACK_LIBRARY_DEBUG}") + set_property(TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) + set_target_properties(clapack::clapack PROPERTIES + IMPORTED_LOCATION_DEBUG "${oLAPACK_LIBRARY_DEBUG}") + endif() + endif() +endif() + +if(CLAPACK_FOUND AND NOT TARGET lapack) + if(EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}") + add_library(lapack SHARED IMPORTED) + set_target_properties(lapack PROPERTIES + IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" + IMPORTED_IMPLIB_RELEASE "${oLAPACK_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "$<$>:${oF2C_LIBRARY_RELEASE}>;$<$:${oF2C_LIBRARY_DEBUG}>;$<$>:${LAPACK_BLAS_LIBRARY_RELEASE}>;$<$:${LAPACK_BLAS_LIBRARY_DEBUG}>;$;$" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + if(EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}") + set_property(TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) + set_target_properties(lapack PROPERTIES + IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" + IMPORTED_IMPLIB_DEBUG "${oLAPACK_LIBRARY_DEBUG}") + endif() + else() + add_library(lapack UNKNOWN IMPORTED) + set_target_properties(lapack PROPERTIES + IMPORTED_LOCATION_RELEASE "${oLAPACK_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + INTERFACE_LINK_LIBRARIES "$<$>:${oF2C_LIBRARY_RELEASE}>;$<$:${oF2C_LIBRARY_DEBUG}>;$<$>:${LAPACK_BLAS_LIBRARY_RELEASE}>;$<$:${LAPACK_BLAS_LIBRARY_DEBUG}>;$;$" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + if(EXISTS "${LAPACK_LIBRARY_DEBUG}") + set_property(TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) + set_target_properties(lapack PROPERTIES + IMPORTED_LOCATION_DEBUG "${oLAPACK_LIBRARY_DEBUG}") + endif() + endif() +endif() diff --git a/ports/clapack/enable_openblas_compat.patch b/ports/clapack/enable_openblas_compat.patch new file mode 100644 index 0000000000..3199354757 --- /dev/null +++ b/ports/clapack/enable_openblas_compat.patch @@ -0,0 +1,112 @@ +diff --git a/INCLUDE/blaswrap.h b/INCLUDE/blaswrap.h +index 333a17a..fb6750a 100644 +--- a/INCLUDE/blaswrap.h ++++ b/INCLUDE/blaswrap.h +@@ -155,6 +155,107 @@ + #define ctrsm_ f2c_ctrsm + #define ztrsm_ f2c_ztrsm + ++#else ++ ++#define sswap_ sswap ++#define saxpy_ saxpy ++#define sasum_ sasum ++#define isamax_ isamax ++#define scopy_ scopy ++#define sscal_ sscal ++#define sger_ sger ++#define snrm2_ snrm2 ++#define ssymv_ ssymv ++#define sdot_ sdot ++#define saxpy_ saxpy ++#define ssyr2_ ssyr2 ++#define srot_ srot ++#define sgemv_ sgemv ++#define strsv_ strsv ++#define sgemm_ sgemm ++#define strsm_ strsm ++ ++#define dswap_ dswap ++#define daxpy_ daxpy ++#define dasum_ dasum ++#define idamax_ idamax ++#define dcopy_ dcopy ++#define dscal_ dscal ++#define dger_ dger ++#define dnrm2_ dnrm2 ++#define dsymv_ dsymv ++#define ddot_ ddot ++#define dsyr2_ dsyr2 ++#define drot_ drot ++#define dgemv_ dgemv ++#define dtrsv_ dtrsv ++#define dgemm_ dgemm ++#define dtrsm_ dtrsm ++ ++#define cswap_ cswap ++#define caxpy_ caxpy ++#define scasum_ scasum ++#define icamax_ icamax ++#define ccopy_ ccopy ++#define cscal_ cscal ++#define scnrm2_ scnrm2 ++#define cgemv_ cgemv ++#define ctrsv_ ctrsv ++#define cgemm_ cgemm ++#define ctrsm_ ctrsm ++#define cgerc_ cgerc ++#define chemv_ chemv ++#define cher2_ cher2 ++ ++#define zswap_ zswap ++#define zaxpy_ zaxpy ++#define dzasum_ dzasum ++#define izamax_ izamax ++#define zcopy_ zcopy ++#define zscal_ zscal ++#define dznrm2_ dznrm2 ++#define zgemv_ zgemv ++#define ztrsv_ ztrsv ++#define zgemm_ zgemm ++#define ztrsm_ ztrsm ++#define zgerc_ zgerc ++#define zhemv_ zhemv ++#define zher2_ zher2 ++ ++/* LAPACK */ ++#define dlacon_ dlacon ++#define slacon_ slacon ++#define icmax1_ icmax1 ++#define scsum1_ scsum1 ++#define clacon_ clacon ++#define dzsum1_ dzsum1 ++#define izmax1_ izmax1 ++#define zlacon_ zlacon ++ ++/* Fortran interface */ ++#define c_bridge_dgssv_ c_bridge_dgssv ++#define c_fortran_sgssv_ c_fortran_sgssv ++#define c_fortran_dgssv_ c_fortran_dgssv ++#define c_fortran_cgssv_ c_fortran_cgssv ++#define c_fortran_zgssv_ c_fortran_zgssv ++ ++#define cdotc_ cdotc ++#define cdotu_ cdotu ++#define csscal_ csscal ++#define zdscal_ zdscal ++#define zdotc_ zdotc ++#define zdotu_ zdotu ++#define ctrmm_ ctrmm ++#define dtrmm_ dtrmm ++#define strmm_ strmm ++#define ztrmm_ ztrmm ++#define cgeru_ cgeru ++#define zgeru_ zgeru ++#define xerbla_ xerbla ++#define dtrmv_ dtrmv ++#define dsyrk_ dsyrk ++#define zherk_ zherk ++ + #endif /* NO_BLAS_WRAP */ + + #endif /* __BLASWRAP_H */ diff --git a/ports/clapack/openblas_linux.patch b/ports/clapack/openblas_linux.patch deleted file mode 100644 index e2b7b6e828..0000000000 --- a/ports/clapack/openblas_linux.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c729d95..2b15e31 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,6 @@ - cmake_minimum_required(VERSION 2.6) - project(CLAPACK C) --find_package(BLAS REQUIRED) -+find_package(OpenBLAS REQUIRED) - - if(WIN32 AND NOT CYGWIN) - set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c) diff --git a/ports/clapack/portfile.cmake b/ports/clapack/portfile.cmake index ecdf51c87a..2845bbdc22 100644 --- a/ports/clapack/portfile.cmake +++ b/ports/clapack/portfile.cmake @@ -1,5 +1,11 @@ include(vcpkg_common_functions) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + message(WARNING "You do not need this package on macOS, since you already have the Accelerate Framework") + return() +endif() + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_download_distfile(ARCHIVE @@ -9,7 +15,7 @@ vcpkg_download_distfile(ARCHIVE ) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(ADDITIONAL_PATCH "openblas_linux.patch") + set(ADDITIONAL_PATCH "enable_openblas_compat.patch") endif() vcpkg_extract_source_archive_ex( @@ -31,7 +37,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() #TODO: fix the official exported targets, since they are broken (luckily it seems that no-one uses them for now) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/clapack) +vcpkg_fixup_cmake_targets() #we install a cmake wrapper since the official FindLAPACK module in cmake does find clapack easily, unfortunately... file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/lapack) diff --git a/ports/clapack/remove_internal_blas.patch b/ports/clapack/remove_internal_blas.patch index 471d87a87a..3b8c59b4c8 100644 --- a/ports/clapack/remove_internal_blas.patch +++ b/ports/clapack/remove_internal_blas.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 320ccc6..284e9d3 100755 +index 320ccc6..414ac8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,6 @@ @@ -45,7 +45,7 @@ index 320ccc6..284e9d3 100755 + DESTINATION include) + diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index 43d7b3f..6fa3598 100755 +index 43d7b3f..6fa3598 100644 --- a/F2CLIBS/libf2c/CMakeLists.txt +++ b/F2CLIBS/libf2c/CMakeLists.txt @@ -60,3 +60,11 @@ include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c) @@ -61,7 +61,7 @@ index 43d7b3f..6fa3598 100755 + ARCHIVE DESTINATION lib) + diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt -index ac4cce3..07dc8c7 100755 +index ac4cce3..07dc8c7 100644 --- a/SRC/CMakeLists.txt +++ b/SRC/CMakeLists.txt @@ -376,5 +376,9 @@ if(BUILD_COMPLEX16) @@ -75,10 +75,3 @@ index ac4cce3..07dc8c7 100755 + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) -diff --git a/clapack-config.cmake.in b/clapack-config.cmake.in -index cd19f1d..597f474 100755 ---- a/clapack-config.cmake.in -+++ b/clapack-config.cmake.in -@@ -1 +1 @@ --include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake") -+include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake") diff --git a/ports/clapack/vcpkg-cmake-wrapper.cmake b/ports/clapack/vcpkg-cmake-wrapper.cmake index 69c54ea0da..aee3e1e086 100644 --- a/ports/clapack/vcpkg-cmake-wrapper.cmake +++ b/ports/clapack/vcpkg-cmake-wrapper.cmake @@ -1,4 +1,8 @@ set(LAPACK_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) -_find_package(${ARGS}) + +if(NOT LAPACK_LIBRARIES) + _find_package(${ARGS}) +endif() + set(CMAKE_MODULE_PATH ${LAPACK_PREV_MODULE_PATH}) diff --git a/ports/clblas/CONTROL b/ports/clblas/CONTROL index 4163765794..3837fcbca9 100644 --- a/ports/clblas/CONTROL +++ b/ports/clblas/CONTROL @@ -1,4 +1,4 @@ Source: clblas -Version: 2.12-1 +Version: 2.12-2 Build-Depends: opencl Description: clBLAS is an OpenCL 1.2 accelerated BLAS (Basic Linear Algebra Subsystem) library. diff --git a/ports/clblas/portfile.cmake b/ports/clblas/portfile.cmake index 9088fc2e90..5619cea8fd 100644 --- a/ports/clblas/portfile.cmake +++ b/ports/clblas/portfile.cmake @@ -53,6 +53,6 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vcruntime140d.dll ) -vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake") +vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/clfft/CONTROL b/ports/clfft/CONTROL index d65da19951..4cc887f47f 100644 --- a/ports/clfft/CONTROL +++ b/ports/clfft/CONTROL @@ -1,5 +1,5 @@ Source: clfft -Version: 2.12.2 +Version: 2.12.2-1 Build-Depends: opencl Homepage: https://github.com/clMathLibraries/clFFT Description: clFFT is an OpenCL 1.2 accelerated Fast Fourier Transform library. diff --git a/ports/clfft/portfile.cmake b/ports/clfft/portfile.cmake index 4e314b5d99..6ef4ec6f77 100644 --- a/ports/clfft/portfile.cmake +++ b/ports/clfft/portfile.cmake @@ -32,6 +32,6 @@ file(INSTALL ${CURRENT_PACKAGES_DIR}/share/clfft/copyright ) -vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake") +vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/cli/CONTROL b/ports/cli/CONTROL index 13fa3d73be..a7db9c2edb 100644 --- a/ports/cli/CONTROL +++ b/ports/cli/CONTROL @@ -1,4 +1,4 @@ Source: cli -Version: 1.1 +Version: 1.1-1 Description: A library for interactive command line interfaces in modern C++ Build-Depends: boost-asio diff --git a/ports/cli/portfile.cmake b/ports/cli/portfile.cmake index 3a340b50fe..c83f75dd80 100644 --- a/ports/cli/portfile.cmake +++ b/ports/cli/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO daniele77/cli REF v1.1.0 - SHA512 a3aeac666567359521d625442f5a03b35ea1e6cf7bd63cdc52dfea20397a1726ce34aeab08ffd7181b9390fb791c56e5aba0260e300329ff327282f1547940c8 + SHA512 a3aeac666567359521d625442f5a03b35ea1e6cf7bd63cdc52dfea20397a1726ce34aeab08ffd7181b9390fb791c56e5aba0260e300329ff327282f1547940c8 HEAD_REF master ) @@ -14,7 +14,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cli TARGET_PATH share/cli) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cli) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cli RENAME copyright) diff --git a/ports/clp/CMakeLists.txt b/ports/clp/CMakeLists.txt index 94f6559d98..cced65c98a 100644 --- a/ports/clp/CMakeLists.txt +++ b/ports/clp/CMakeLists.txt @@ -12,7 +12,7 @@ set(CMAKE_CXX_STANDARD 14) set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") +set(INSTALL_CMAKE_DIR "share/clp" CACHE PATH "Path where cmake configs will be installed") # Make relative paths absolute (needed later on) set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) diff --git a/ports/clp/CONTROL b/ports/clp/CONTROL index a0bdee5d36..adf2036bfa 100644 --- a/ports/clp/CONTROL +++ b/ports/clp/CONTROL @@ -1,4 +1,4 @@ Source: clp -Version: 1.17.2-1 +Version: 1.17.2-2 Description: Clp (Coin-or linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available. Build-Depends: coinutils, osi diff --git a/ports/clp/portfile.cmake b/ports/clp/portfile.cmake index 83581af357..945a381995 100644 --- a/ports/clp/portfile.cmake +++ b/ports/clp/portfile.cmake @@ -19,11 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase - vcpkg_fixup_cmake_targets(CONFIG_PATH share/Clp) -else() - vcpkg_fixup_cmake_targets() -endif() +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/coinutils/CMakeLists.txt b/ports/coinutils/CMakeLists.txt index bdaf5969b6..643bbec44a 100644 --- a/ports/coinutils/CMakeLists.txt +++ b/ports/coinutils/CMakeLists.txt @@ -12,7 +12,7 @@ set(CMAKE_CXX_STANDARD 14) set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") +set(INSTALL_CMAKE_DIR "share/coinutils" CACHE PATH "Path where cmake configs will be installed") # Make relative paths absolute (needed later on) set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) diff --git a/ports/coinutils/CONTROL b/ports/coinutils/CONTROL index fd495d62dc..13db5a9372 100644 --- a/ports/coinutils/CONTROL +++ b/ports/coinutils/CONTROL @@ -1,3 +1,3 @@ Source: coinutils -Version: 2.11.2-1 +Version: 2.11.2-2 Description: CoinUtils (Coin-or Utilities) is an open-source collection of classes and functions that are generally useful to more than one COIN-OR project diff --git a/ports/coinutils/portfile.cmake b/ports/coinutils/portfile.cmake index 42bd8d2d1b..23a2a673d0 100644 --- a/ports/coinutils/portfile.cmake +++ b/ports/coinutils/portfile.cmake @@ -19,11 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase - vcpkg_fixup_cmake_targets(CONFIG_PATH share/CoinUtils) -else() - vcpkg_fixup_cmake_targets() -endif() +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/collada-dom/CONTROL b/ports/collada-dom/CONTROL index 6625c5a4a4..952f4ae504 100644 --- a/ports/collada-dom/CONTROL +++ b/ports/collada-dom/CONTROL @@ -1,4 +1,4 @@ Source: collada-dom -Version: 2.5.0 +Version: 2.5.0-1 Description: The COLLADA Document Object Model (DOM) is an application programming interface (API) that provides a C++ object representation of a COLLADA XML instance document. -Build-Depends: zlib, libxml2, minizip, pcre, uriparser, boost-filesystem, boost-system \ No newline at end of file +Build-Depends: zlib, libxml2, minizip, pcre, uriparser, boost-filesystem, boost-system diff --git a/ports/collada-dom/portfile.cmake b/ports/collada-dom/portfile.cmake index eda714af1c..f36d8e4a95 100644 --- a/ports/collada-dom/portfile.cmake +++ b/ports/collada-dom/portfile.cmake @@ -18,11 +18,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/collada_dom-2.5") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/collada_dom-2.5) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright file(INSTALL ${SOURCE_PATH}/licenses/license_e.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/collada-dom - RENAME copyright) \ No newline at end of file + RENAME copyright) diff --git a/ports/console-bridge/CONTROL b/ports/console-bridge/CONTROL index f9d10b7e04..47870b72e9 100644 --- a/ports/console-bridge/CONTROL +++ b/ports/console-bridge/CONTROL @@ -1,4 +1,4 @@ Source: console-bridge -Version: 0.3.2-3 +Version: 0.3.2-4 Homepage: https://github.com/ros/console_bridge Description: a ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages. diff --git a/ports/console-bridge/portfile.cmake b/ports/console-bridge/portfile.cmake index dc618b4b97..8b99e125be 100644 --- a/ports/console-bridge/portfile.cmake +++ b/ports/console-bridge/portfile.cmake @@ -22,9 +22,9 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake" TARGET_PATH share/console_bridge) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/console_bridge) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/console_bridge/cmake" TARGET_PATH share/console_bridge) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/console_bridge/cmake TARGET_PATH share/console_bridge) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/console_bridge) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/console_bridge) endif() diff --git a/ports/cpp-netlib/CONTROL b/ports/cpp-netlib/CONTROL index 361c4dcedd..9d33aa289e 100644 --- a/ports/cpp-netlib/CONTROL +++ b/ports/cpp-netlib/CONTROL @@ -1,4 +1,4 @@ Source: cpp-netlib -Version: 0.13.0-final +Version: 0.13.0-2 +Build-Depends: boost Description: A collection of network-related routines/implementations geared towards providing a robust cross-platform networking library -Build-Depends: boost \ No newline at end of file diff --git a/ports/cpp-netlib/portfile.cmake b/ports/cpp-netlib/portfile.cmake index b57efdbf13..abea253d8e 100644 --- a/ports/cpp-netlib/portfile.cmake +++ b/ports/cpp-netlib/portfile.cmake @@ -9,7 +9,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cpp-netlib/cpp-netlib - REF cpp-netlib-0.13.0-final + REF cpp-netlib-0.13.0-final SHA512 1839bf1acb7917acd2957f1008a44ed26a38849afb5843bfa0d5c557dde530afab4183d8d273a87d6416aad2b3a59fdecdef5fbb62bc91ed484486c80a1de5eb HEAD_REF master ) @@ -20,18 +20,17 @@ vcpkg_from_github( OPTIONS -DCPP-NETLIB_BUILD_TESTS=off -DCPP-NETLIB_BUILD_EXAMPLES=off - + ) vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -if(WIN32 AND NOT CYGWIN) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/${PORT}) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) else() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cppnetlib) endif() file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - diff --git a/ports/crc32c/CONTROL b/ports/crc32c/CONTROL index 329b5a3bf1..764a0f2d83 100644 --- a/ports/crc32c/CONTROL +++ b/ports/crc32c/CONTROL @@ -1,4 +1,4 @@ Source: crc32c -Version: 1.0.7 +Version: 1.0.7-1 Homepage: https://github.com/google/crc32c Description: CRC32C implementation with support for CPU-specific acceleration instructions. diff --git a/ports/crc32c/portfile.cmake b/ports/crc32c/portfile.cmake index 1802c0c351..a15961f94d 100644 --- a/ports/crc32c/portfile.cmake +++ b/ports/crc32c/portfile.cmake @@ -20,7 +20,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Crc32c") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Crc32c) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL index 76c754565d..04c25da704 100644 --- a/ports/cryptopp/CONTROL +++ b/ports/cryptopp/CONTROL @@ -1,4 +1,4 @@ Source: cryptopp -Version: 8.1.0-1 +Version: 8.1.0-2 Homepage: https://github.com/weidai11/cryptopp Description: Crypto++ is a free C++ class library of cryptographic schemes. diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake index ad6557f775..728436d59e 100644 --- a/ports/cryptopp/portfile.cmake +++ b/ports/cryptopp/portfile.cmake @@ -27,7 +27,7 @@ file(COPY ${CMAKE_SOURCE_PATH}/cryptopp-config.cmake DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) # disable assembly on OSX to fix broken build -if(APPLE) +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(CRYPTOPP_DISABLE_ASM "ON") else() set(CRYPTOPP_DISABLE_ASM "OFF") diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 1c607bce3b..bd7c4b39b9 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Version: 7.65.0-1 +Version: 7.65.0-2 Build-Depends: zlib Homepage: https://github.com/curl/curl Description: A library for transferring data with URLs diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 294c7a7584..5366fe88c4 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -113,7 +113,7 @@ vcpkg_install_cmake() if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/CURL) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CURL) elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/curl) - vcpkg_fixup_cmake_targets(CONFIG_PATH share/curl) + vcpkg_fixup_cmake_targets() else() message(FATAL_ERROR "Could not locate the curl config files") endif() diff --git a/ports/cxxopts/CONTROL b/ports/cxxopts/CONTROL index 5d1a92d915..1d5664cec6 100644 --- a/ports/cxxopts/CONTROL +++ b/ports/cxxopts/CONTROL @@ -1,4 +1,4 @@ Source: cxxopts -Version: 2.1.2 +Version: 2.1.2-1 Homepage: https://github.com/jarro2783/cxxopts Description: This is a lightweight C++ option parser library, supporting the standard GNU style syntax for options diff --git a/ports/cxxopts/portfile.cmake b/ports/cxxopts/portfile.cmake index d3b4fec561..dd5981e7d7 100644 --- a/ports/cxxopts/portfile.cmake +++ b/ports/cxxopts/portfile.cmake @@ -16,7 +16,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cxxopts TARGET_PATH share/cxxopts) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cxxopts) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) diff --git a/ports/eigen3/CONTROL b/ports/eigen3/CONTROL index b67376ced0..898b9ae713 100644 --- a/ports/eigen3/CONTROL +++ b/ports/eigen3/CONTROL @@ -1,4 +1,4 @@ Source: eigen3 -Version: 3.3.7-1 +Version: 3.3.7-2 Homepage: https://bitbucket.org/eigen/eigen Description: C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. diff --git a/ports/eigen3/portfile.cmake b/ports/eigen3/portfile.cmake index 31806319f4..ef61353736 100644 --- a/ports/eigen3/portfile.cmake +++ b/ports/eigen3/portfile.cmake @@ -2,7 +2,7 @@ include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "eigen3's buildsystem uses very long paths and may fail on your system.\n" + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL index a4ea220305..1868de82d0 100644 --- a/ports/exiv2/CONTROL +++ b/ports/exiv2/CONTROL @@ -1,8 +1,8 @@ Source: exiv2 -Version: 0.27.1 +Version: 0.27.1-1 Build-Depends: zlib, expat, libiconv, gettext Description: Image metadata library and tools Homepage: https://www.exiv2.org Feature: unicode -Description: Compile with unicode support on windows \ No newline at end of file +Description: Compile with unicode support on windows diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index 64ecfc28f2..d9e1ecb4d9 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -28,8 +28,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/exiv2/cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/exiv2/cmake) configure_file( ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake diff --git a/ports/fcl/CONTROL b/ports/fcl/CONTROL index bc1a27ccc8..aaae4f57b1 100644 --- a/ports/fcl/CONTROL +++ b/ports/fcl/CONTROL @@ -1,5 +1,5 @@ Source: fcl -Version: 0.5.0-5 +Version: 0.5.0-6 Homepage: https://github.com/flexible-collision-library/fcl Description: a library for performing three types of proximity queries on a pair of geometric models composed of triangles Build-Depends: ccd, octomap diff --git a/ports/fcl/portfile.cmake b/ports/fcl/portfile.cmake index 1bb4e9a154..65ff738d01 100644 --- a/ports/fcl/portfile.cmake +++ b/ports/fcl/portfile.cmake @@ -34,9 +34,9 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake") + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/fcl") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/fcl) endif() diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index 209bb2306b..4c15656798 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,5 +1,5 @@ Source: ffmpeg -Version: 4.1-6 +Version: 4.1-8 Homepage: https://ffmpeg.org Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations. diff --git a/ports/ffmpeg/FindFFMPEG.cmake b/ports/ffmpeg/FindFFMPEG.cmake index f8e65f53a9..65ab59e902 100644 --- a/ports/ffmpeg/FindFFMPEG.cmake +++ b/ports/ffmpeg/FindFFMPEG.cmake @@ -1,13 +1,131 @@ -include(FindPackageHandleStandardArgs) +# Distributed under the OSI-approved BSD 3-Clause License. +# +#.rst: +# FindFFMPEG +# -------- +# +# Find the FFPMEG libraries +# +# Result Variables +# ^^^^^^^^^^^^^^^^ +# +# The following variables will be defined: +# +# ``FFMPEG_FOUND`` +# True if FFMPEG found on the local system +# +# ``FFMPEG_INCLUDE_DIRS`` +# Location of FFMPEG header files +# +# ``FFMPEG_LIBRARY_DIRS`` +# Location of FFMPEG libraries +# +# ``FFMPEG_LIBRARIES`` +# List of the FFMPEG libraries found +# +# Hints +# ^^^^^ +# +# ``FFMPEG_ROOT`` +# Set this variable to a directory that contains a FFMPEG installation +# +# -find_path(FFMPEG_INCLUDE_DIRS NAMES libavcodec/avcodec.h) -unset(FFMPEG_LIBRARIES) -foreach(FFMPEG_SUBLIBRARY avformat avdevice avcodec avutil swscale) - find_library(FFMPEG_lib${FFMPEG_SUBLIBRARY}_LIBRARY NAMES ${FFMPEG_SUBLIBRARY}) - list(APPEND FFMPEG_LIBRARIES ${FFMPEG_lib${FFMPEG_SUBLIBRARY}_LIBRARY}) -endforeach() -if(WIN32) - list(APPEND FFMPEG_LIBRARIES wsock32 ws2_32 Secur32) +include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) +include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) +include(${CMAKE_ROOT}/Modules/CMakeFindDependencyMacro.cmake) + +find_dependency(Threads) +#list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS Threads::Threads) +if(UNIX) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -pthread) endif() -find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIRS) +# Platform dependent libraries required by FFMPEG +if(WIN32) + if(NOT CYGWIN) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS wsock32 ws2_32 Secur32) + endif() +else() + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS m) +endif() + +macro(FFMPEG_FIND varname shortname headername) + if(NOT FFMPEG_${varname}_INCLUDE_DIRS) + find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATH_SUFFIXES ffmpeg) + endif() + if(NOT FFMPEG_${varname}_LIBRARY) + find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATH_SUFFIXES ffmpeg ffmpeg/lib) + get_filename_component(FFMPEG_${varname}_LIBRARY_RELEASE_DIR ${FFMPEG_${varname}_LIBRARY_RELEASE} DIRECTORY) + find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS debug PATH_SUFFIXES ffmpeg ffmpeg/lib ffmpeg/debug/lib debug/ffmpeg/lib) + get_filename_component(FFMPEG_${varname}_LIBRARY_DEBUG_DIR ${FFMPEG_${varname}_LIBRARY_DEBUG} DIRECTORY) + select_library_configurations(FFMPEG_${varname}) + endif() + if (FFMPEG_${varname}_LIBRARY AND FFMPEG_${varname}_INCLUDE_DIRS) + set(FFMPEG_${varname}_FOUND 1) + list(APPEND FFMPEG_LIBRARY_DIRS ${FFMPEG_${varname}_LIBRARY_RELEASE_DIR} ${FFMPEG_${varname}_LIBRARY_DEBUG_DIR}) + endif() +endmacro(FFMPEG_FIND) + +macro(FFMPEG_FIND_GENEX varname shortname headername) + if(NOT FFMPEG_${varname}_INCLUDE_DIRS) + find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATH_SUFFIXES ffmpeg) + endif() + if(NOT FFMPEG_${varname}_LIBRARY) + find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATH_SUFFIXES ffmpeg ffmpeg/lib) + get_filename_component(FFMPEG_${varname}_LIBRARY_RELEASE_DIR ${FFMPEG_${varname}_LIBRARY_RELEASE} DIRECTORY) + find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS debug PATH_SUFFIXES ffmpeg ffmpeg/lib ffmpeg/debug/lib debug/ffmpeg/lib) + get_filename_component(FFMPEG_${varname}_LIBRARY_DEBUG_DIR ${FFMPEG_${varname}_LIBRARY_DEBUG} DIRECTORY) + set(FFMPEG_${varname}_LIBRARY "$<$:${FFMPEG_${varname}_LIBRARY_DEBUG}>$<$:${FFMPEG_${varname}_LIBRARY_RELEASE}>" CACHE STRING "") + set(FFMPEG_${varname}_LIBRARIES ${FFMPEG_${varname}_LIBRARY} CACHE STRING "") + endif() + if (FFMPEG_${varname}_LIBRARY AND FFMPEG_${varname}_INCLUDE_DIRS) + set(FFMPEG_${varname}_FOUND 1) + list(APPEND FFMPEG_LIBRARY_DIRS ${FFMPEG_${varname}_LIBRARY_RELEASE_DIR} ${FFMPEG_${varname}_LIBRARY_DEBUG_DIR}) + endif() +endmacro(FFMPEG_FIND) + +if(WIN32) + if(NOT FFMPEG_${varname}_INCLUDE_DIRS) + find_path(FFMPEG_stdint_INCLUDE_DIRS NAMES stdint.h PATH_SUFFIXES ffmpeg) + endif() + if (FFMPEG_stdint_INCLUDE_DIRS) + set(STDINT_OK TRUE) + endif() +else() + set(STDINT_OK TRUE) +endif() + +FFMPEG_FIND(libavcodec avcodec avcodec.h) +FFMPEG_FIND(libavdevice avdevice avdevice.h) +FFMPEG_FIND(libavfilter avfilter avfilter.h) +FFMPEG_FIND(libavformat avformat avformat.h) +FFMPEG_FIND(libavutil avutil avutil.h) +FFMPEG_FIND(libswresample swresample swresample.h) +FFMPEG_FIND(libswscale swscale swscale.h) +FFMPEG_FIND_GENEX(libzlib zlib zlib.h) + +if (FFMPEG_libavcodec_FOUND AND FFMPEG_libavdevice_FOUND AND FFMPEG_libavfilter_FOUND AND FFMPEG_libavformat_FOUND AND FFMPEG_libavutil_FOUND AND FFMPEG_libswresample_FOUND AND FFMPEG_libswscale_FOUND AND FFMPEG_libzlib_FOUND AND STDINT_OK) + list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_libavformat_INCLUDE_DIRS} ${FFMPEG_libavdevice_INCLUDE_DIRS} ${FFMPEG_libavcodec_INCLUDE_DIRS} ${FFMPEG_libavutil_INCLUDE_DIRS} ${FFMPEG_libswscale_INCLUDE_DIRS} ${FFMPEG_stdint_INCLUDE_DIRS}) + list(REMOVE_DUPLICATES FFMPEG_INCLUDE_DIRS) + list(REMOVE_DUPLICATES FFMPEG_LIBRARY_DIRS) + + list(APPEND FFMPEG_LIBRARIES + ${FFMPEG_libavformat_LIBRARY} + ${FFMPEG_libavdevice_LIBRARY} + ${FFMPEG_libavcodec_LIBRARY} + ${FFMPEG_libavutil_LIBRARY} + ${FFMPEG_libswscale_LIBRARY} + ${FFMPEG_libavfilter_LIBRARY} + ${FFMPEG_libswresample_LIBRARY} + ${FFMPEG_libzlib_LIBRARY} + ${FFMPEG_PLATFORM_DEPENDENT_LIBS} + ) + set(FFMPEG_LIBRARY ${FFMPEG_LIBRARIES}) + + set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE STRING "") + set(FFMPEG_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIRS} CACHE STRING "") + set(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBRARY_DIRS} CACHE STRING "") +endif() + +find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_LIBRARY_DIRS FFMPEG_INCLUDE_DIRS) diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index 1ce53a9961..15be7468b3 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -36,7 +36,7 @@ else() set(LIB_PATH_VAR "LIBRARY_PATH") endif() -if (WIN32) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}") set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}\\build.sh) @@ -243,8 +243,7 @@ vcpkg_copy_pdbs() # Handle copyright # TODO: Examine build log and confirm that this license matches the build output -file(COPY ${SOURCE_PATH}/COPYING.LGPLv2.1 DESTINATION ${CURRENT_PACKAGES_DIR}/share/ffmpeg) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ffmpeg/COPYING.LGPLv2.1 ${CURRENT_PACKAGES_DIR}/share/ffmpeg/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING.LGPLv2.1 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -# Used by OpenCV -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindFFMPEG.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/ffmpeg) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindFFMPEG.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/ffmpeg/vcpkg-cmake-wrapper.cmake b/ports/ffmpeg/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000000..322387565d --- /dev/null +++ b/ports/ffmpeg/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(FFMPEG_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT FFMPEG_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${FFMPEG_PREV_MODULE_PATH}) diff --git a/ports/fizz/CONTROL b/ports/fizz/CONTROL index 4f4856c47c..ab3acb20ef 100644 --- a/ports/fizz/CONTROL +++ b/ports/fizz/CONTROL @@ -1,4 +1,4 @@ Source: fizz -Version: 2019.05.20.00 +Version: 2019.05.20.00-1 Build-Depends: folly, openssl, libsodium, zlib Description: a TLS 1.3 implementation by Facebook diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake index 0eb0f81bf9..373f1d4076 100644 --- a/ports/fizz/portfile.cmake +++ b/ports/fizz/portfile.cmake @@ -5,7 +5,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookincubator/fizz - REF 6d26a1be8d7a20d8d89c374ee3dc5c452d18c18d + REF 6d26a1be8d7a20d8d89c374ee3dc5c452d18c18d SHA512 bc6aa17a97fdfc53d0a247b876cbd1fea8214608b7e463dcf21e34df65015fe77e617c5a6c6bfa84b87e60e56b6aeb89aa2d8d774f97fc1f76f415869948a48a HEAD_REF master PATCHES find-zlib.patch @@ -28,7 +28,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/fizz") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/fizz) vcpkg_copy_pdbs() file(READ ${CURRENT_PACKAGES_DIR}/share/fizz/fizz-config.cmake _contents) diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL index 8d553c1971..3baf26b02f 100644 --- a/ports/flatbuffers/CONTROL +++ b/ports/flatbuffers/CONTROL @@ -1,5 +1,5 @@ -Source: flatbuffers -Version: 1.11.0 -Description: Memory Efficient Serialization Library - FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility. -Homepage: https://google.github.io/flatbuffers/ +Source: flatbuffers +Version: 1.11.0-1 +Description: Memory Efficient Serialization Library + FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility. +Homepage: https://google.github.io/flatbuffers/ diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake index b954affe88..c619ac9ee5 100644 --- a/ports/flatbuffers/portfile.cmake +++ b/ports/flatbuffers/portfile.cmake @@ -29,7 +29,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/flatbuffers") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/flatbuffers) file(GLOB flatc_path ${CURRENT_PACKAGES_DIR}/bin/flatc*) if(flatc_path) diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index abf32aa991..2317c780e4 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -73,7 +73,7 @@ vcpkg_install_cmake(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/folly) +vcpkg_fixup_cmake_targets() # Release folly-targets.cmake does not link to the right libraries in debug mode. # We substitute with generator expressions so that the right libraries are linked for debug and release. diff --git a/ports/freeimage/CMakeLists.txt b/ports/freeimage/CMakeLists.txt index 60c7f9bd8e..af3d1c37fd 100644 --- a/ports/freeimage/CMakeLists.txt +++ b/ports/freeimage/CMakeLists.txt @@ -4,9 +4,6 @@ include(GNUInstallDirs) project(FreeImage C CXX) -set(CMAKE_MODULE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/share/JXR" ${CMAKE_MODULE_PATH}) -set(CMAKE_MODULE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/share/OpenEXR" ${CMAKE_MODULE_PATH}) - if(MSVC) add_definitions("-D_CRT_SECURE_NO_WARNINGS") set(CMAKE_CXX_FLAGS "/wd4828 ${CMAKE_CXX_FLAGS}") diff --git a/ports/freeimage/CONTROL b/ports/freeimage/CONTROL index 2420b5a56b..9d9a006c69 100644 --- a/ports/freeimage/CONTROL +++ b/ports/freeimage/CONTROL @@ -1,5 +1,5 @@ Source: freeimage -Version: 3.18.0-5 +Version: 3.18.0-6 Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openjpeg, libwebp[all], libraw, jxrlib, openexr Homepage: https://sourceforge.net/projects/freeimage/ Description: Support library for graphics image formats diff --git a/ports/freerdp/CONTROL b/ports/freerdp/CONTROL index f880f30a38..c5c3d657e5 100644 --- a/ports/freerdp/CONTROL +++ b/ports/freerdp/CONTROL @@ -1,5 +1,5 @@ Source: freerdp -Version: 2.0.0-rc4-1 +Version: 2.0.0-rc4-2 Homepage: https://github.com/FreeRDP/FreeRDP Description: A free implementation of the Remote Desktop Protocol (RDP) Build-Depends: openssl diff --git a/ports/freerdp/portfile.cmake b/ports/freerdp/portfile.cmake index 7fa0b3c72b..ca42af8a09 100644 --- a/ports/freerdp/portfile.cmake +++ b/ports/freerdp/portfile.cmake @@ -62,7 +62,7 @@ foreach(PACKAGE FreeRDP-Client2 FreeRDP2 WinPR2) endforeach() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeRDP-Client2_temp/FreeRDP-Client2 TARGET_PATH share/freerdp-client) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeRDP2_temp/FreeRDP2 TARGET_PATH share/freerdp) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeRDP2_temp/FreeRDP2) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/WinPR2_temp/WinPR2 TARGET_PATH share/winpr) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/g2o/CONTROL b/ports/g2o/CONTROL index 4838241074..0e6b43f7d0 100644 --- a/ports/g2o/CONTROL +++ b/ports/g2o/CONTROL @@ -1,5 +1,5 @@ Source: g2o -Version: 20170730_git-4 +Version: 20170730_git-5 Build-Depends: suitesparse, eigen3, clapack (!osx), ceres Description: g2o: A General Framework for Graph Optimization Homepage: https://openslam.org/g2o.html diff --git a/ports/g2o/portfile.cmake b/ports/g2o/portfile.cmake index 6d09b8a8cd..312bbc8e8a 100644 --- a/ports/g2o/portfile.cmake +++ b/ports/g2o/portfile.cmake @@ -24,7 +24,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() if(VCPKG_USE_HEAD_VERSION) - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/g2o") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/g2o) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) diff --git a/ports/gdcm/CONTROL b/ports/gdcm/CONTROL index d0dbcc652b..32a962eb46 100644 --- a/ports/gdcm/CONTROL +++ b/ports/gdcm/CONTROL @@ -1,4 +1,4 @@ Source: gdcm -Version: 3.0.0-1 +Version: 3.0.0-3 Description: Grassroots DICOM library Build-Depends: zlib, expat, openjpeg diff --git a/ports/gdcm/portfile.cmake b/ports/gdcm/portfile.cmake index 3fba69409c..36a3e0e1f7 100644 --- a/ports/gdcm/portfile.cmake +++ b/ports/gdcm/portfile.cmake @@ -15,12 +15,18 @@ vcpkg_from_github( file(REMOVE ${SOURCE_PATH}/CMake/FindOpenJPEG.cmake) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DGDCM_BUILD_DOCBOOK_MANPAGES=OFF - -DGDCM_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DGDCM_BUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS} -DGDCM_INSTALL_INCLUDE_DIR=include -DGDCM_USE_SYSTEM_EXPAT=ON -DGDCM_USE_SYSTEM_ZLIB=ON @@ -29,7 +35,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/gdcm TARGET_PATH share/gdcm) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/gdcm) vcpkg_copy_pdbs() file(REMOVE_RECURSE diff --git a/ports/geogram/CONTROL b/ports/geogram/CONTROL index 6d449c8829..8fd66be95f 100644 --- a/ports/geogram/CONTROL +++ b/ports/geogram/CONTROL @@ -1,5 +1,5 @@ Source: geogram -Version: 1.6.9-3 +Version: 1.6.9-6 Homepage: https://gforge.inria.fr/projects/geogram/ Description: Geogram is a programming library of geometric algorithms. Build-Depends: openblas (!osx), clapack (!osx) diff --git a/ports/geogram/enable_openblas_compatibility.patch b/ports/geogram/enable_openblas_compatibility.patch new file mode 100644 index 0000000000..e6ab75a4cb --- /dev/null +++ b/ports/geogram/enable_openblas_compatibility.patch @@ -0,0 +1,1008 @@ +diff --git a/src/lib/third_party/numerics/ARPACK/arpack_cnames.h b/src/lib/third_party/numerics/ARPACK/arpack_cnames.h +new file mode 100644 +index 0000000..e6f2c48 +--- /dev/null ++++ b/src/lib/third_party/numerics/ARPACK/arpack_cnames.h +@@ -0,0 +1,105 @@ ++#ifndef __ARPACK_CNAMES ++#define __ARPACK_CNAMES ++ ++/* ++ * These defines set up the naming scheme required to have a fortran 77 ++ * routine call a C routine ++ * for following Fortran to C interface: ++ * FORTRAN CALL C DECLARATION ++ * call dgemm(...) void dgemm(...) ++ */ ++/* BLAS */ ++#define sswap_ sswap ++#define saxpy_ saxpy ++#define sasum_ sasum ++#define isamax_ isamax ++#define scopy_ scopy ++#define sscal_ sscal ++#define sger_ sger ++#define snrm2_ snrm2 ++#define ssymv_ ssymv ++#define sdot_ sdot ++#define saxpy_ saxpy ++#define ssyr2_ ssyr2 ++#define srot_ srot ++#define sgemv_ sgemv ++#define strsv_ strsv ++#define sgemm_ sgemm ++#define strsm_ strsm ++ ++#define dswap_ dswap ++#define daxpy_ daxpy ++#define dasum_ dasum ++#define idamax_ idamax ++#define dcopy_ dcopy ++#define dscal_ dscal ++#define dger_ dger ++#define dnrm2_ dnrm2 ++#define dsymv_ dsymv ++#define ddot_ ddot ++#define dsyr2_ dsyr2 ++#define drot_ drot ++#define dgemv_ dgemv ++#define dtrsv_ dtrsv ++#define dgemm_ dgemm ++#define dtrsm_ dtrsm ++ ++#define cswap_ cswap ++#define caxpy_ caxpy ++#define scasum_ scasum ++#define icamax_ icamax ++#define ccopy_ ccopy ++#define cscal_ cscal ++#define scnrm2_ scnrm2 ++#define cgemv_ cgemv ++#define ctrsv_ ctrsv ++#define cgemm_ cgemm ++#define ctrsm_ ctrsm ++#define cgerc_ cgerc ++#define chemv_ chemv ++#define cher2_ cher2 ++ ++#define zswap_ zswap ++#define zaxpy_ zaxpy ++#define dzasum_ dzasum ++#define izamax_ izamax ++#define zcopy_ zcopy ++#define zscal_ zscal ++#define dznrm2_ dznrm2 ++#define zgemv_ zgemv ++#define ztrsv_ ztrsv ++#define zgemm_ zgemm ++#define ztrsm_ ztrsm ++#define zgerc_ zgerc ++#define zhemv_ zhemv ++#define zher2_ zher2 ++ ++/* LAPACK */ ++#define dlacon_ dlacon ++#define slacon_ slacon ++#define icmax1_ icmax1 ++#define scsum1_ scsum1 ++#define clacon_ clacon ++#define dzsum1_ dzsum1 ++#define izmax1_ izmax1 ++#define zlacon_ zlacon ++ ++/* Fortran interface */ ++#define c_bridge_dgssv_ c_bridge_dgssv ++#define c_fortran_sgssv_ c_fortran_sgssv ++#define c_fortran_dgssv_ c_fortran_dgssv ++#define c_fortran_cgssv_ c_fortran_cgssv ++#define c_fortran_zgssv_ c_fortran_zgssv ++ ++#define cdotc_ cdotc ++#define csscal_ csscal ++#define zdscal_ zdscal ++#define zdotc_ zdotc ++#define ctrmm_ ctrmm ++#define dtrmm_ dtrmm ++#define strmm_ strmm ++#define ztrmm_ ztrmm ++#define cgeru_ cgeru ++#define zgeru_ zgeru ++ ++#endif /* __ARPACK_CNAMES */ +diff --git a/src/lib/third_party/numerics/ARPACK/cgetv0.c b/src/lib/third_party/numerics/ARPACK/cgetv0.c +index 48e8677..871d7b0 100755 +--- a/src/lib/third_party/numerics/ARPACK/cgetv0.c ++++ b/src/lib/third_party/numerics/ARPACK/cgetv0.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/cnaitr.c b/src/lib/third_party/numerics/ARPACK/cnaitr.c +index ee9318b..693f399 100755 +--- a/src/lib/third_party/numerics/ARPACK/cnaitr.c ++++ b/src/lib/third_party/numerics/ARPACK/cnaitr.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/cnapps.c b/src/lib/third_party/numerics/ARPACK/cnapps.c +index 0c4a6a2..4929fc1 100755 +--- a/src/lib/third_party/numerics/ARPACK/cnapps.c ++++ b/src/lib/third_party/numerics/ARPACK/cnapps.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/cnaup2.c b/src/lib/third_party/numerics/ARPACK/cnaup2.c +index 8322446..2d98e4b 100755 +--- a/src/lib/third_party/numerics/ARPACK/cnaup2.c ++++ b/src/lib/third_party/numerics/ARPACK/cnaup2.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/cnaupd.c b/src/lib/third_party/numerics/ARPACK/cnaupd.c +index e51f72e..4fe5dca 100755 +--- a/src/lib/third_party/numerics/ARPACK/cnaupd.c ++++ b/src/lib/third_party/numerics/ARPACK/cnaupd.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/cneigh.c b/src/lib/third_party/numerics/ARPACK/cneigh.c +index d96bebd..adfa279 100755 +--- a/src/lib/third_party/numerics/ARPACK/cneigh.c ++++ b/src/lib/third_party/numerics/ARPACK/cneigh.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/cneupd.c b/src/lib/third_party/numerics/ARPACK/cneupd.c +index 6a839e7..35fc426 100755 +--- a/src/lib/third_party/numerics/ARPACK/cneupd.c ++++ b/src/lib/third_party/numerics/ARPACK/cneupd.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/cngets.c b/src/lib/third_party/numerics/ARPACK/cngets.c +index 9788d00..663406f 100755 +--- a/src/lib/third_party/numerics/ARPACK/cngets.c ++++ b/src/lib/third_party/numerics/ARPACK/cngets.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/csortc.c b/src/lib/third_party/numerics/ARPACK/csortc.c +index 8c6cedb..0d330fe 100755 +--- a/src/lib/third_party/numerics/ARPACK/csortc.c ++++ b/src/lib/third_party/numerics/ARPACK/csortc.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* \BeginDoc */ + + /* \Name: csortc */ +diff --git a/src/lib/third_party/numerics/ARPACK/cstatn.c b/src/lib/third_party/numerics/ARPACK/cstatn.c +index 6fcde6d..4eb47dc 100755 +--- a/src/lib/third_party/numerics/ARPACK/cstatn.c ++++ b/src/lib/third_party/numerics/ARPACK/cstatn.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dgetv0.c b/src/lib/third_party/numerics/ARPACK/dgetv0.c +index 0f4c2bb..2206708 100755 +--- a/src/lib/third_party/numerics/ARPACK/dgetv0.c ++++ b/src/lib/third_party/numerics/ARPACK/dgetv0.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dlaqrb.c b/src/lib/third_party/numerics/ARPACK/dlaqrb.c +index baa4f12..d4275a7 100755 +--- a/src/lib/third_party/numerics/ARPACK/dlaqrb.c ++++ b/src/lib/third_party/numerics/ARPACK/dlaqrb.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Table of constant values */ + + static integer c__1 = 1; +diff --git a/src/lib/third_party/numerics/ARPACK/dnaitr.c b/src/lib/third_party/numerics/ARPACK/dnaitr.c +index 8fffe7f..74eca38 100755 +--- a/src/lib/third_party/numerics/ARPACK/dnaitr.c ++++ b/src/lib/third_party/numerics/ARPACK/dnaitr.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dnapps.c b/src/lib/third_party/numerics/ARPACK/dnapps.c +index 67dac36..b0083a1 100755 +--- a/src/lib/third_party/numerics/ARPACK/dnapps.c ++++ b/src/lib/third_party/numerics/ARPACK/dnapps.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dnaup2.c b/src/lib/third_party/numerics/ARPACK/dnaup2.c +index 28dabb6..8b48f33 100755 +--- a/src/lib/third_party/numerics/ARPACK/dnaup2.c ++++ b/src/lib/third_party/numerics/ARPACK/dnaup2.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dnaupd.c b/src/lib/third_party/numerics/ARPACK/dnaupd.c +index e20298c..dcfaf47 100755 +--- a/src/lib/third_party/numerics/ARPACK/dnaupd.c ++++ b/src/lib/third_party/numerics/ARPACK/dnaupd.c +@@ -11,7 +11,7 @@ + */ + + #include "protos.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dnconv.c b/src/lib/third_party/numerics/ARPACK/dnconv.c +index e2324b7..aa0bf91 100755 +--- a/src/lib/third_party/numerics/ARPACK/dnconv.c ++++ b/src/lib/third_party/numerics/ARPACK/dnconv.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dneigh.c b/src/lib/third_party/numerics/ARPACK/dneigh.c +index b7057eb..94e3680 100755 +--- a/src/lib/third_party/numerics/ARPACK/dneigh.c ++++ b/src/lib/third_party/numerics/ARPACK/dneigh.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dneupd.c b/src/lib/third_party/numerics/ARPACK/dneupd.c +index 141255d..067041b 100755 +--- a/src/lib/third_party/numerics/ARPACK/dneupd.c ++++ b/src/lib/third_party/numerics/ARPACK/dneupd.c +@@ -11,7 +11,7 @@ + */ + + #include "protos.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dngets.c b/src/lib/third_party/numerics/ARPACK/dngets.c +index 9b0ee73..e39848f 100755 +--- a/src/lib/third_party/numerics/ARPACK/dngets.c ++++ b/src/lib/third_party/numerics/ARPACK/dngets.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dsaitr.c b/src/lib/third_party/numerics/ARPACK/dsaitr.c +index 2f3df52..89a597a 100755 +--- a/src/lib/third_party/numerics/ARPACK/dsaitr.c ++++ b/src/lib/third_party/numerics/ARPACK/dsaitr.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dsapps.c b/src/lib/third_party/numerics/ARPACK/dsapps.c +index e87b27d..4a320c9 100755 +--- a/src/lib/third_party/numerics/ARPACK/dsapps.c ++++ b/src/lib/third_party/numerics/ARPACK/dsapps.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dsaup2.c b/src/lib/third_party/numerics/ARPACK/dsaup2.c +index e5f224f..b93e80b 100755 +--- a/src/lib/third_party/numerics/ARPACK/dsaup2.c ++++ b/src/lib/third_party/numerics/ARPACK/dsaup2.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dsaupd.c b/src/lib/third_party/numerics/ARPACK/dsaupd.c +index a9e456f..d20ebe2 100755 +--- a/src/lib/third_party/numerics/ARPACK/dsaupd.c ++++ b/src/lib/third_party/numerics/ARPACK/dsaupd.c +@@ -11,7 +11,7 @@ + */ + + #include "protos.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dsconv.c b/src/lib/third_party/numerics/ARPACK/dsconv.c +index 843ac29..25e3b8f 100755 +--- a/src/lib/third_party/numerics/ARPACK/dsconv.c ++++ b/src/lib/third_party/numerics/ARPACK/dsconv.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dseigt.c b/src/lib/third_party/numerics/ARPACK/dseigt.c +index c7e975b..ba74d2f 100755 +--- a/src/lib/third_party/numerics/ARPACK/dseigt.c ++++ b/src/lib/third_party/numerics/ARPACK/dseigt.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dsesrt.c b/src/lib/third_party/numerics/ARPACK/dsesrt.c +index 1bf99ee..8a2030f 100755 +--- a/src/lib/third_party/numerics/ARPACK/dsesrt.c ++++ b/src/lib/third_party/numerics/ARPACK/dsesrt.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Table of constant values */ + + static integer c__1 = 1; +diff --git a/src/lib/third_party/numerics/ARPACK/dseupd.c b/src/lib/third_party/numerics/ARPACK/dseupd.c +index 9b81477..065e4d8 100755 +--- a/src/lib/third_party/numerics/ARPACK/dseupd.c ++++ b/src/lib/third_party/numerics/ARPACK/dseupd.c +@@ -11,7 +11,7 @@ + */ + + #include "protos.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dsgets.c b/src/lib/third_party/numerics/ARPACK/dsgets.c +index 7983ec8..19a33d9 100755 +--- a/src/lib/third_party/numerics/ARPACK/dsgets.c ++++ b/src/lib/third_party/numerics/ARPACK/dsgets.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dsortc.c b/src/lib/third_party/numerics/ARPACK/dsortc.c +index 2170fcc..131ae2f 100755 +--- a/src/lib/third_party/numerics/ARPACK/dsortc.c ++++ b/src/lib/third_party/numerics/ARPACK/dsortc.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* ----------------------------------------------------------------------- */ + /* \BeginDoc */ + +diff --git a/src/lib/third_party/numerics/ARPACK/dsortr.c b/src/lib/third_party/numerics/ARPACK/dsortr.c +index 5f8dca8..335d9a9 100755 +--- a/src/lib/third_party/numerics/ARPACK/dsortr.c ++++ b/src/lib/third_party/numerics/ARPACK/dsortr.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* ----------------------------------------------------------------------- */ + /* \BeginDoc */ + +diff --git a/src/lib/third_party/numerics/ARPACK/dstatn.c b/src/lib/third_party/numerics/ARPACK/dstatn.c +index 50c15f2..1909d6d 100755 +--- a/src/lib/third_party/numerics/ARPACK/dstatn.c ++++ b/src/lib/third_party/numerics/ARPACK/dstatn.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dstats.c b/src/lib/third_party/numerics/ARPACK/dstats.c +index 4341eea..02f4024 100755 +--- a/src/lib/third_party/numerics/ARPACK/dstats.c ++++ b/src/lib/third_party/numerics/ARPACK/dstats.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/dstqrb.c b/src/lib/third_party/numerics/ARPACK/dstqrb.c +index 2a10880..c25f44d 100755 +--- a/src/lib/third_party/numerics/ARPACK/dstqrb.c ++++ b/src/lib/third_party/numerics/ARPACK/dstqrb.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Table of constant values */ + + static integer c__0 = 0; +diff --git a/src/lib/third_party/numerics/ARPACK/protos.h b/src/lib/third_party/numerics/ARPACK/protos.h +index 2e87fe7..09a89fc 100755 +--- a/src/lib/third_party/numerics/ARPACK/protos.h ++++ b/src/lib/third_party/numerics/ARPACK/protos.h +@@ -8,7 +8,7 @@ + + #include + #include "f2c.h" +- ++#include "arpack_cnames.h" + int NUMERICS_API dnaupd_( + integer *ido, char *bmat, integer *n, char * + which, integer *nev, doublereal *tol, doublereal *resid, integer *ncv, +diff --git a/src/lib/third_party/numerics/ARPACK/sgetv0.c b/src/lib/third_party/numerics/ARPACK/sgetv0.c +index 206122a..314252f 100755 +--- a/src/lib/third_party/numerics/ARPACK/sgetv0.c ++++ b/src/lib/third_party/numerics/ARPACK/sgetv0.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/slaqrb.c b/src/lib/third_party/numerics/ARPACK/slaqrb.c +index 335faa2..12cc92a 100755 +--- a/src/lib/third_party/numerics/ARPACK/slaqrb.c ++++ b/src/lib/third_party/numerics/ARPACK/slaqrb.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Table of constant values */ + + static integer c__1 = 1; +diff --git a/src/lib/third_party/numerics/ARPACK/snaitr.c b/src/lib/third_party/numerics/ARPACK/snaitr.c +index 5e24f6c..f3bc2fa 100755 +--- a/src/lib/third_party/numerics/ARPACK/snaitr.c ++++ b/src/lib/third_party/numerics/ARPACK/snaitr.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/snapps.c b/src/lib/third_party/numerics/ARPACK/snapps.c +index 37470fc..9ae03e4 100755 +--- a/src/lib/third_party/numerics/ARPACK/snapps.c ++++ b/src/lib/third_party/numerics/ARPACK/snapps.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/snaup2.c b/src/lib/third_party/numerics/ARPACK/snaup2.c +index 4028150..f893a8e 100755 +--- a/src/lib/third_party/numerics/ARPACK/snaup2.c ++++ b/src/lib/third_party/numerics/ARPACK/snaup2.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/snaupd.c b/src/lib/third_party/numerics/ARPACK/snaupd.c +index 88118f0..66fac19 100755 +--- a/src/lib/third_party/numerics/ARPACK/snaupd.c ++++ b/src/lib/third_party/numerics/ARPACK/snaupd.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/snconv.c b/src/lib/third_party/numerics/ARPACK/snconv.c +index 4984455..cb42561 100755 +--- a/src/lib/third_party/numerics/ARPACK/snconv.c ++++ b/src/lib/third_party/numerics/ARPACK/snconv.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/sneigh.c b/src/lib/third_party/numerics/ARPACK/sneigh.c +index 4ff7d7a..a8b3ffc 100755 +--- a/src/lib/third_party/numerics/ARPACK/sneigh.c ++++ b/src/lib/third_party/numerics/ARPACK/sneigh.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/sneupd.c b/src/lib/third_party/numerics/ARPACK/sneupd.c +index e2a7205..430f033 100755 +--- a/src/lib/third_party/numerics/ARPACK/sneupd.c ++++ b/src/lib/third_party/numerics/ARPACK/sneupd.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/sngets.c b/src/lib/third_party/numerics/ARPACK/sngets.c +index 5a13f94..1c34e92 100755 +--- a/src/lib/third_party/numerics/ARPACK/sngets.c ++++ b/src/lib/third_party/numerics/ARPACK/sngets.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/ssaitr.c b/src/lib/third_party/numerics/ARPACK/ssaitr.c +index 65a61f6..98fbb1c 100755 +--- a/src/lib/third_party/numerics/ARPACK/ssaitr.c ++++ b/src/lib/third_party/numerics/ARPACK/ssaitr.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/ssapps.c b/src/lib/third_party/numerics/ARPACK/ssapps.c +index 9537c2f..b979fb1 100755 +--- a/src/lib/third_party/numerics/ARPACK/ssapps.c ++++ b/src/lib/third_party/numerics/ARPACK/ssapps.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/ssaup2.c b/src/lib/third_party/numerics/ARPACK/ssaup2.c +index a5123dc..59e08aa 100755 +--- a/src/lib/third_party/numerics/ARPACK/ssaup2.c ++++ b/src/lib/third_party/numerics/ARPACK/ssaup2.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/ssaupd.c b/src/lib/third_party/numerics/ARPACK/ssaupd.c +index 5898148..32ba0b0 100755 +--- a/src/lib/third_party/numerics/ARPACK/ssaupd.c ++++ b/src/lib/third_party/numerics/ARPACK/ssaupd.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/ssconv.c b/src/lib/third_party/numerics/ARPACK/ssconv.c +index 0e1c9c2..90faa50 100755 +--- a/src/lib/third_party/numerics/ARPACK/ssconv.c ++++ b/src/lib/third_party/numerics/ARPACK/ssconv.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/sseigt.c b/src/lib/third_party/numerics/ARPACK/sseigt.c +index 6b9e407..6652b74 100755 +--- a/src/lib/third_party/numerics/ARPACK/sseigt.c ++++ b/src/lib/third_party/numerics/ARPACK/sseigt.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/ssesrt.c b/src/lib/third_party/numerics/ARPACK/ssesrt.c +index 9287d6a..d6bcd6d 100755 +--- a/src/lib/third_party/numerics/ARPACK/ssesrt.c ++++ b/src/lib/third_party/numerics/ARPACK/ssesrt.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Table of constant values */ + + static integer c__1 = 1; +diff --git a/src/lib/third_party/numerics/ARPACK/sseupd.c b/src/lib/third_party/numerics/ARPACK/sseupd.c +index 163df3a..b0e825f 100755 +--- a/src/lib/third_party/numerics/ARPACK/sseupd.c ++++ b/src/lib/third_party/numerics/ARPACK/sseupd.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/ssgets.c b/src/lib/third_party/numerics/ARPACK/ssgets.c +index 244f2ab..52127c2 100755 +--- a/src/lib/third_party/numerics/ARPACK/ssgets.c ++++ b/src/lib/third_party/numerics/ARPACK/ssgets.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/ssortc.c b/src/lib/third_party/numerics/ARPACK/ssortc.c +index aa836f7..38b5fbd 100755 +--- a/src/lib/third_party/numerics/ARPACK/ssortc.c ++++ b/src/lib/third_party/numerics/ARPACK/ssortc.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* ----------------------------------------------------------------------- */ + /* \BeginDoc */ + +diff --git a/src/lib/third_party/numerics/ARPACK/ssortr.c b/src/lib/third_party/numerics/ARPACK/ssortr.c +index e48fb1c..88db423 100755 +--- a/src/lib/third_party/numerics/ARPACK/ssortr.c ++++ b/src/lib/third_party/numerics/ARPACK/ssortr.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* ----------------------------------------------------------------------- */ + /* \BeginDoc */ + +diff --git a/src/lib/third_party/numerics/ARPACK/sstatn.c b/src/lib/third_party/numerics/ARPACK/sstatn.c +index fc899df..26d49b9 100755 +--- a/src/lib/third_party/numerics/ARPACK/sstatn.c ++++ b/src/lib/third_party/numerics/ARPACK/sstatn.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/sstats.c b/src/lib/third_party/numerics/ARPACK/sstats.c +index 6601d2e..61577e2 100755 +--- a/src/lib/third_party/numerics/ARPACK/sstats.c ++++ b/src/lib/third_party/numerics/ARPACK/sstats.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/sstqrb.c b/src/lib/third_party/numerics/ARPACK/sstqrb.c +index 4c7bf91..2a416e2 100755 +--- a/src/lib/third_party/numerics/ARPACK/sstqrb.c ++++ b/src/lib/third_party/numerics/ARPACK/sstqrb.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Table of constant values */ + + static integer c__0 = 0; +diff --git a/src/lib/third_party/numerics/ARPACK/zgetv0.c b/src/lib/third_party/numerics/ARPACK/zgetv0.c +index 96d3c48..d868c1f 100755 +--- a/src/lib/third_party/numerics/ARPACK/zgetv0.c ++++ b/src/lib/third_party/numerics/ARPACK/zgetv0.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/znaitr.c b/src/lib/third_party/numerics/ARPACK/znaitr.c +index 2ce6b9c..c8cf0f6 100755 +--- a/src/lib/third_party/numerics/ARPACK/znaitr.c ++++ b/src/lib/third_party/numerics/ARPACK/znaitr.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/znapps.c b/src/lib/third_party/numerics/ARPACK/znapps.c +index 732aed0..30f46e6 100755 +--- a/src/lib/third_party/numerics/ARPACK/znapps.c ++++ b/src/lib/third_party/numerics/ARPACK/znapps.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/znaup2.c b/src/lib/third_party/numerics/ARPACK/znaup2.c +index b7caa42..7164775 100755 +--- a/src/lib/third_party/numerics/ARPACK/znaup2.c ++++ b/src/lib/third_party/numerics/ARPACK/znaup2.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/znaupd.c b/src/lib/third_party/numerics/ARPACK/znaupd.c +index ed251ee..f960959 100755 +--- a/src/lib/third_party/numerics/ARPACK/znaupd.c ++++ b/src/lib/third_party/numerics/ARPACK/znaupd.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/zneigh.c b/src/lib/third_party/numerics/ARPACK/zneigh.c +index 4157ab3..4ee3c1e 100755 +--- a/src/lib/third_party/numerics/ARPACK/zneigh.c ++++ b/src/lib/third_party/numerics/ARPACK/zneigh.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/zneupd.c b/src/lib/third_party/numerics/ARPACK/zneupd.c +index 3f684f4..3ef32c1 100755 +--- a/src/lib/third_party/numerics/ARPACK/zneupd.c ++++ b/src/lib/third_party/numerics/ARPACK/zneupd.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/zngets.c b/src/lib/third_party/numerics/ARPACK/zngets.c +index a2e461b..97bbebd 100755 +--- a/src/lib/third_party/numerics/ARPACK/zngets.c ++++ b/src/lib/third_party/numerics/ARPACK/zngets.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { +diff --git a/src/lib/third_party/numerics/ARPACK/zsortc.c b/src/lib/third_party/numerics/ARPACK/zsortc.c +index a35748c..38dbc42 100755 +--- a/src/lib/third_party/numerics/ARPACK/zsortc.c ++++ b/src/lib/third_party/numerics/ARPACK/zsortc.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* \BeginDoc */ + + /* \Name: zsortc */ +diff --git a/src/lib/third_party/numerics/ARPACK/zstatn.c b/src/lib/third_party/numerics/ARPACK/zstatn.c +index d433e97..5a8bd1e 100755 +--- a/src/lib/third_party/numerics/ARPACK/zstatn.c ++++ b/src/lib/third_party/numerics/ARPACK/zstatn.c +@@ -11,7 +11,7 @@ + */ + + #include "f2c.h" +- ++#include "arpack_cnames.h" + /* Common Block Declarations */ + + struct { diff --git a/ports/geogram/fix_underscore.patch b/ports/geogram/fix_underscore.patch new file mode 100644 index 0000000000..eeb5a30cb1 --- /dev/null +++ b/ports/geogram/fix_underscore.patch @@ -0,0 +1,10 @@ +diff --git a/src/lib/third_party/numerics/SUPERLU/slu_Cnames.h b/src/lib/third_party/numerics/SUPERLU/slu_Cnames.h +index 68b3afe..0369a68 100755 +--- a/src/lib/third_party/numerics/SUPERLU/slu_Cnames.h ++++ b/src/lib/third_party/numerics/SUPERLU/slu_Cnames.h +@@ -1,4 +1,4 @@ +-#define Add_ /* Bruno */ ++#define NoChange + + /*! \file + Copyright (c) 2003, The Regents of the University of California, through diff --git a/ports/geogram/portfile.cmake b/ports/geogram/portfile.cmake index 44f74f107a..9584e66195 100644 --- a/ports/geogram/portfile.cmake +++ b/ports/geogram/portfile.cmake @@ -8,11 +8,17 @@ vcpkg_download_distfile(ARCHIVE SHA512 1b5c7540bef734c1908f213f26780aba63b4911a8022d5eb3f7c90eabe2cb69efd1f298b30cdc8e2c636a5b37c8c25832dd4aad0b7c2ff5f0a5b5caa17970136 ) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(ADDITIONAL_PATCHES "fix_underscore.patch" "enable_openblas_compatibility.patch") +endif() + vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} REF ${GEOGRAM_VERSION} - PATCHES fix-cmake-config-and-install.patch + PATCHES + fix-cmake-config-and-install.patch + ${ADDITIONAL_PATCHES} ) file(COPY ${CURRENT_PORT_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}/cmake) @@ -65,7 +71,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/geogram") +vcpkg_fixup_cmake_targets() file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc) diff --git a/ports/geographiclib/CONTROL b/ports/geographiclib/CONTROL index 0d585a2810..1c4c5a17d0 100644 --- a/ports/geographiclib/CONTROL +++ b/ports/geographiclib/CONTROL @@ -1,4 +1,4 @@ Source: geographiclib -Version: 1.47-patch1-5 +Version: 1.47-patch1-6 Homepage: https://sourceforge.net/projects/geographiclib/ Description: a small set of C++ classes for performing conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates, for gravity (e.g., EGM2008), geoid height, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems. diff --git a/ports/geographiclib/portfile.cmake b/ports/geographiclib/portfile.cmake index 95db365cf8..8f4a716dce 100644 --- a/ports/geographiclib/portfile.cmake +++ b/ports/geographiclib/portfile.cmake @@ -46,7 +46,7 @@ endif() vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/geographiclib) +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) vcpkg_copy_pdbs() file(COPY ${CURRENT_PACKAGES_DIR}/lib/pkgconfig DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib) @@ -55,4 +55,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/00README.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib RENAME readme) -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib RENAME copyright) diff --git a/ports/gl3w/CONTROL b/ports/gl3w/CONTROL index ff4f512067..7ce058fbce 100644 --- a/ports/gl3w/CONTROL +++ b/ports/gl3w/CONTROL @@ -1,5 +1,5 @@ Source: gl3w -Version: 99ed3211 +Version: 2018-05-31-1 Homepage: https://github.com/skaslev/gl3w Description: Simple OpenGL core profile loading Build-Depends: opengl-registry diff --git a/ports/gl3w/portfile.cmake b/ports/gl3w/portfile.cmake index c5010491a3..ca35eb2bf1 100644 --- a/ports/gl3w/portfile.cmake +++ b/ports/gl3w/portfile.cmake @@ -32,8 +32,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/gl3w) +vcpkg_fixup_cmake_targets() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(HEADER ${CURRENT_PACKAGES_DIR}/include/GL/gl3w.h) diff --git a/ports/glbinding/force-system-install.patch b/ports/glbinding/0001_force-system-install.patch similarity index 100% rename from ports/glbinding/force-system-install.patch rename to ports/glbinding/0001_force-system-install.patch diff --git a/ports/glbinding/fix-uwpmacro.patch b/ports/glbinding/0002_fix-uwpmacro.patch similarity index 100% rename from ports/glbinding/fix-uwpmacro.patch rename to ports/glbinding/0002_fix-uwpmacro.patch diff --git a/ports/glbinding/0003_fix-cmake-configs-paths.patch b/ports/glbinding/0003_fix-cmake-configs-paths.patch new file mode 100644 index 0000000000..3598377840 --- /dev/null +++ b/ports/glbinding/0003_fix-cmake-configs-paths.patch @@ -0,0 +1,62 @@ +diff --git a/3rdparty/KHR/CMakeLists.txt b/3rdparty/KHR/CMakeLists.txt +index 25fac3a..429544f 100644 +--- a/3rdparty/KHR/CMakeLists.txt ++++ b/3rdparty/KHR/CMakeLists.txt +@@ -43,7 +43,7 @@ add_library(${target} INTERFACE) + add_library(externals::${target} ALIAS ${target}) + + # Export library for downstream projects +-export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/cmake/${target}/${target}-export.cmake) ++export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/${target}-export.cmake) + + + # +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 700b48b..8aaab8d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -141,15 +141,15 @@ endif() + if(1) + # Install into the system (/usr/bin or /usr/local/bin) + set(INSTALL_ROOT "share/${project}") # /usr/[local]/share/ +- set(INSTALL_CMAKE "share/${project}/cmake") # /usr/[local]/share//cmake ++ set(INSTALL_CMAKE "share/${project}") # /usr/[local]/share//cmake + set(INSTALL_EXAMPLES "share/${project}") # /usr/[local]/share/ + set(INSTALL_DATA "share/${project}") # /usr/[local]/share/ + set(INSTALL_BIN "bin") # /usr/[local]/bin + set(INSTALL_SHARED "lib") # /usr/[local]/lib + set(INSTALL_LIB "lib") # /usr/[local]/lib + set(INSTALL_INCLUDE "include") # /usr/[local]/include +- set(INSTALL_DOC "share/doc/${project}") # /usr/[local]/share/doc/ +- set(INSTALL_SHORTCUTS "share/applications") # /usr/[local]/share/applications ++ set(INSTALL_DOC "share/${project}/doc") # /usr/[local]/share/doc/ ++ set(INSTALL_SHORTCUTS "share/${project}/applications") # /usr/[local]/share/applications + set(INSTALL_ICONS "share/pixmaps") # /usr/[local]/share/pixmaps + set(INSTALL_INIT "etc/init") # /etc/init (upstart init scripts) + else() +diff --git a/source/glbinding-aux/CMakeLists.txt b/source/glbinding-aux/CMakeLists.txt +index 61cc166..cb0758a 100644 +--- a/source/glbinding-aux/CMakeLists.txt ++++ b/source/glbinding-aux/CMakeLists.txt +@@ -137,7 +137,7 @@ add_library(${target} + add_library(${META_PROJECT_NAME}::${target} ALIAS ${target}) + + # Export library for downstream projects +-export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/cmake/${target}/${target}-export.cmake) ++export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/${target}-export.cmake) + + # Create API export header + generate_export_header(${target} +diff --git a/source/glbinding/CMakeLists.txt b/source/glbinding/CMakeLists.txt +index bca68d1..f014494 100644 +--- a/source/glbinding/CMakeLists.txt ++++ b/source/glbinding/CMakeLists.txt +@@ -172,7 +172,7 @@ add_library(${target} + add_library(${META_PROJECT_NAME}::${target} ALIAS ${target}) + + # Export library for downstream projects +-export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/cmake/${target}/${target}-export.cmake) ++export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/${target}-export.cmake) + + # Create API export header + generate_export_header(${target} diff --git a/ports/glbinding/0004_fix-config-expected-paths.patch b/ports/glbinding/0004_fix-config-expected-paths.patch new file mode 100644 index 0000000000..e6fb164402 --- /dev/null +++ b/ports/glbinding/0004_fix-config-expected-paths.patch @@ -0,0 +1,35 @@ +diff --git a/glbinding-config.cmake b/glbinding-config.cmake +index 03fc505..01b6cc8 100644 +--- a/glbinding-config.cmake ++++ b/glbinding-config.cmake +@@ -1,7 +1,7 @@ + + # This config script tries to locate the project either in its source tree + # or from an install location. +-# ++# + # Please adjust the list of submodules to search for. + + +@@ -35,20 +35,11 @@ endmacro() + + # Try install location + set(MODULE_FOUND FALSE) +-find_modules("cmake") ++find_modules(".") + + if(MODULE_FOUND) + return() + endif() + +-# Try common build locations +-if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +- find_modules("build-debug/cmake") +- find_modules("build/cmake") +-else() +- find_modules("build/cmake") +- find_modules("build-debug/cmake") +-endif() +- + # Signal success/failure to CMake + set(glbinding_FOUND ${MODULE_FOUND}) diff --git a/ports/glbinding/portfile.cmake b/ports/glbinding/portfile.cmake index 99f233982c..d9fb5c0b21 100644 --- a/ports/glbinding/portfile.cmake +++ b/ports/glbinding/portfile.cmake @@ -5,9 +5,11 @@ vcpkg_from_github( REF v3.1.0 SHA512 d7294c9a0dc47a7c107b134e5dfa78c5812fc6bf739b9fd778fa7ce946d5ea971839a65c3985e0915fd75311e4a85fb221d33a71856c460199eab0e7622f7151 HEAD_REF master - PATCHES - force-system-install.patch - fix-uwpmacro.patch + PATCHES + 0001_force-system-install.patch + 0002_fix-uwpmacro.patch + 0003_fix-cmake-configs-paths.patch + 0004_fix-config-expected-paths.patch ) vcpkg_configure_cmake( @@ -16,25 +18,21 @@ vcpkg_configure_cmake( -DOPTION_BUILD_TESTS=OFF -DOPTION_BUILD_GPU_TESTS=OFF -DOPTION_BUILD_TOOLS=OFF + -DOPTION_BUILD_EXAMPLES=OFF -DGIT_REV=0 -DCMAKE_DISABLE_FIND_PACKAGE_cpplocate=ON -DOPTION_BUILD_EXAMPLES=OFF ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/glbinding) +vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/glbinding/cmake) - -# _IMPORT_PREFIX needs to go up one extra level in the directory tree. -# These files should be modified. -# /share/glbinding/glbinding-export.cmake -# /share/glbinding-aux/glbinding-aux-export.cmake +## _IMPORT_PREFIX needs to go up one extra level in the directory tree. file(GLOB_RECURSE TARGET_CMAKES "${CURRENT_PACKAGES_DIR}/*-export.cmake") foreach(TARGET_CMAKE IN LISTS TARGET_CMAKES) file(READ ${TARGET_CMAKE} _contents) - string(REPLACE + string(REPLACE [[ get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) @@ -50,13 +48,11 @@ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) file(WRITE ${TARGET_CMAKE} "${_contents}") endforeach() -file(WRITE ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-config.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/glbinding/glbinding-export.cmake)\ninclude(\${CMAKE_CURRENT_LIST_DIR}/glbinding-aux/glbinding-aux-export.cmake)\ninclude(\${CMAKE_CURRENT_LIST_DIR}/KHRplatform/KHRplatform-export.cmake)\nset(glbinding_FOUND TRUE)\n") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Remove files already published by egl-registry file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/KHR) # Handle copyright file(RENAME ${CURRENT_PACKAGES_DIR}/share/glbinding/LICENSE ${CURRENT_PACKAGES_DIR}/share/glbinding/copyright) - -vcpkg_copy_pdbs() diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake index f05934f05f..2637b20913 100644 --- a/ports/glew/portfile.cmake +++ b/ports/glew/portfile.cmake @@ -24,8 +24,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/glew") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/glew) set(_targets_cmake_files) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") diff --git a/ports/globjects/CONTROL b/ports/globjects/CONTROL index fb9ca9a1f2..0de66a3b29 100644 --- a/ports/globjects/CONTROL +++ b/ports/globjects/CONTROL @@ -1,6 +1,5 @@ Source: globjects -Maintainer: mattias@mattiascibien.net -Version: 1.1.0-2018-09-19-1 +Version: 1.1.0-2 Build-Depends: glbinding, glm Description: C++ library strictly wrapping OpenGL objects. Homepage: https://github.com/cginternals/globjects diff --git a/ports/globjects/portfile.cmake b/ports/globjects/portfile.cmake index 164edec711..524014a8b9 100644 --- a/ports/globjects/portfile.cmake +++ b/ports/globjects/portfile.cmake @@ -20,7 +20,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/globjects/cmake/globjects TARGET_PATH share/globjects/cmake/globjects) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/globjects/cmake/globjects) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/glog/CONTROL b/ports/glog/CONTROL index 21625e159b..a94938acd5 100644 --- a/ports/glog/CONTROL +++ b/ports/glog/CONTROL @@ -1,5 +1,5 @@ Source: glog -Version: 0.4.0 +Version: 0.4.0-1 Homepage: https://github.com/google/glog Description: C++ implementation of the Google logging module Build-Depends: gflags diff --git a/ports/glog/portfile.cmake b/ports/glog/portfile.cmake index da6b76f4fa..978539217a 100644 --- a/ports/glog/portfile.cmake +++ b/ports/glog/portfile.cmake @@ -25,7 +25,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/glog") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/glog) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/graphite2/CONTROL b/ports/graphite2/CONTROL index e8af4d4a12..faf867a973 100644 --- a/ports/graphite2/CONTROL +++ b/ports/graphite2/CONTROL @@ -1,5 +1,5 @@ Source: graphite2 -Version: 1.3.12 +Version: 1.3.12-1 Homepage: https://github.com/silnrsi/graphite Description: Graphite is a "smart font" system developed specifically to handle the complexities of lesser-known languages of the world. - Graphite2 is a rework of the original Graphite engine that is faster, smaller, and uses an API that is better suited to the layout architecture of most text-processing applications. \ No newline at end of file + Graphite2 is a rework of the original Graphite engine that is faster, smaller, and uses an API that is better suited to the layout architecture of most text-processing applications. diff --git a/ports/graphite2/portfile.cmake b/ports/graphite2/portfile.cmake index f5292ba834..679d956795 100644 --- a/ports/graphite2/portfile.cmake +++ b/ports/graphite2/portfile.cmake @@ -19,8 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/graphite2) +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL index 5edad1a169..079fd91f6c 100644 --- a/ports/grpc/CONTROL +++ b/ports/grpc/CONTROL @@ -1,5 +1,5 @@ Source: grpc -Version: 1.21.1 +Version: 1.21.1-1 Build-Depends: zlib, openssl, protobuf, c-ares (!uwp) Homepage: https://github.com/grpc/grpc Description: An RPC library and framework diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index e97082edef..b71a554208 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -16,7 +16,7 @@ vcpkg_from_github( REF 75475f090875e737ad6909a6057c59577f0c79b1 SHA512 db9ff82dee38cb0f4ba10874d10bf6cb20c8a4d49e7dd24bcd9f71388c54c782ee12fda6f1bfedd79ad988b0275d3f96df4686217465acfafcfb5e4c30093a5b HEAD_REF master - PATCHES + PATCHES 00001-fix-uwp.patch 00002-static-linking-in-linux.patch 00003-undef-base64-macro.patch @@ -72,7 +72,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake(ADD_BIN_TO_PATH) -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/grpc") +vcpkg_fixup_cmake_targets() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/grpc RENAME copyright) @@ -94,4 +94,4 @@ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -## \ No newline at end of file +## diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index 48cfaf1b74..93c1da6459 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -70,9 +70,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/harfbuzz TARGET_PATH share/harfbuzz) - +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() if (HAVE_GLIB) diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL index b22ee7b8e6..18f03e4871 100644 --- a/ports/hdf5/CONTROL +++ b/ports/hdf5/CONTROL @@ -1,12 +1,12 @@ -Source: hdf5 -Version: 1.10.5-6 -Homepage: https://www.hdfgroup.org/downloads/hdf5/ -Description: HDF5 is a data model, library, and file format for storing and managing data -Build-Depends: zlib, szip - -Feature: parallel -Description: parallel support for HDF5 -Build-Depends: msmpi - -Feature: cpp -Description: Builds cpp lib +Source: hdf5 +Version: 1.10.5-7 +Homepage: https://www.hdfgroup.org/downloads/hdf5/ +Description: HDF5 is a data model, library, and file format for storing and managing data +Build-Depends: zlib, szip + +Feature: parallel +Description: parallel support for HDF5 +Build-Depends: msmpi + +Feature: cpp +Description: Builds cpp lib diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 593b38abfc..1a148c2c32 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -30,10 +30,8 @@ else() set(ENABLE_CPP OFF) endif() -#Note: HDF5 Builds by default static as well as shared libraries. Set BUILD_SHARED_LIBS to OFF to only get static libraries -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) - file(REMOVE ${SOURCE_PATH}/config/cmake_ext_mod/FindSZIP.cmake)#Outdated; does not find debug szip + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} DISABLE_PARALLEL_CONFIGURE @@ -54,10 +52,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/hdf5) - -#Linux build create additional scripts here. I dont know what they are doing so I am deleting them and hope for the best +#Linux build create additional scripts here. I dont know what they are doing so I am deleting them and hope for the best if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() diff --git a/ports/http-parser/CONTROL b/ports/http-parser/CONTROL index 76cf878593..d97927cd27 100644 --- a/ports/http-parser/CONTROL +++ b/ports/http-parser/CONTROL @@ -1,4 +1,4 @@ Source: http-parser -Version: 2.9.2 +Version: 2.9.2-1 Homepage: https://github.com/nodejs/http-parser Description: HTTP Parser. diff --git a/ports/http-parser/portfile.cmake b/ports/http-parser/portfile.cmake index 8a208a5e73..f3cc67ec1e 100644 --- a/ports/http-parser/portfile.cmake +++ b/ports/http-parser/portfile.cmake @@ -21,7 +21,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/unofficial-http-parser" TARGET_PATH "share/unofficial-http-parser") +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-http-parser TARGET_PATH share/unofficial-http-parser) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE-MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/http-parser) diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL index 87364545ac..6de881a9a3 100644 --- a/ports/imgui/CONTROL +++ b/ports/imgui/CONTROL @@ -1,4 +1,4 @@ Source: imgui -Version: 1.70 +Version: 1.70-1 Homepage: https://github.com/ocornut/imgui Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. diff --git a/ports/imgui/portfile.cmake b/ports/imgui/portfile.cmake index 3fa3638869..2acebc0c8a 100644 --- a/ports/imgui/portfile.cmake +++ b/ports/imgui/portfile.cmake @@ -21,6 +21,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/imgui) +vcpkg_fixup_cmake_targets() configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/imgui/copyright COPYONLY) diff --git a/ports/ismrmrd/CONTROL b/ports/ismrmrd/CONTROL index 7f7c26ef74..f876416d42 100644 --- a/ports/ismrmrd/CONTROL +++ b/ports/ismrmrd/CONTROL @@ -1,4 +1,4 @@ Source: ismrmrd -Version: 1.4.0 +Version: 1.4.0-1 Description: ISMRM Raw Data Format -Build-Depends: pugixml, hdf5 +Build-Depends: pugixml, hdf5, boost, fftw3 diff --git a/ports/ismrmrd/fix_static.patch b/ports/ismrmrd/fix_static.patch new file mode 100644 index 0000000000..e9bd5f360a --- /dev/null +++ b/ports/ismrmrd/fix_static.patch @@ -0,0 +1,9 @@ +diff --git a/tests/test_main.cpp b/tests/test_main.cpp +index 4b1809d..7ec1414 100644 +--- a/tests/test_main.cpp ++++ b/tests/test_main.cpp +@@ -1,4 +1,3 @@ +-#define BOOST_TEST_DYN_LINK + #define BOOST_TEST_MODULE "ISMRMRD Unit Tests" + #include + diff --git a/ports/ismrmrd/portfile.cmake b/ports/ismrmrd/portfile.cmake index 7427cb1b2a..4b6f7e6d67 100644 --- a/ports/ismrmrd/portfile.cmake +++ b/ports/ismrmrd/portfile.cmake @@ -1,34 +1,34 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) - if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") - set(WIN32_INCLUDE_STDDEF "x86-windows-include-stddef.patch") + set(WIN32_INCLUDE_STDDEF_PATCH "x86-windows-include-stddef.patch") +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(STATIC_PATCH "fix_static.patch") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ismrmrd/ismrmrd - REF 4d4004d91ccadd41ddb30b019f970a69bb23a1bc - SHA512 648901de4629c8b11574894763a5fa61a3cb0420c5aa62cdff02c4641ba702ca73efba12b403076301e44a4f0a7c915da1f2c7a34b24377d0385af92f2eda892 + REF 4d4004d91ccadd41ddb30b019f970a69bb23a1bc + SHA512 648901de4629c8b11574894763a5fa61a3cb0420c5aa62cdff02c4641ba702ca73efba12b403076301e44a4f0a7c915da1f2c7a34b24377d0385af92f2eda892 HEAD_REF master PATCHES - ${WIN32_INCLUDE_STDDEF} + ${STATIC_PATCH} + ${WIN32_INCLUDE_STDDEF_PATCH} ) - - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DUSE_SYSTEM_PUGIXML=ON - -DUSE_HDF5_DATASET_SUPPORT=ON + OPTIONS + -DUSE_SYSTEM_PUGIXML=ON + -DUSE_HDF5_DATASET_SUPPORT=ON ) vcpkg_install_cmake() vcpkg_copy_pdbs() - vcpkg_fixup_cmake_targets(CONFIG_PATH share/ismrmrd/cmake) if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll) @@ -62,15 +62,27 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${ISMRMRD_CMAKE_DIRS}) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) + set(EXECUTABLE_SUFFIX ".exe") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_info.exe) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_c_example${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_c_example${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_generate_cartesian_shepp_logan${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_generate_cartesian_shepp_logan${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_info${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_read_timing_test${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_read_timing_test${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_recon_cartesian_2d${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_recon_cartesian_2d${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_test_xml${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_test_xml${EXECUTABLE_SUFFIX}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_c_example.exe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_c_example.exe) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_read_timing_test.exe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_read_timing_test.exe) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/) +endif() file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ismrmrd) file(RENAME ${CURRENT_PACKAGES_DIR}/share/ismrmrd/LICENSE ${CURRENT_PACKAGES_DIR}/share/ismrmrd/copyright) diff --git a/ports/itk/CONTROL b/ports/itk/CONTROL index b8ba70d0f3..b77968554c 100644 --- a/ports/itk/CONTROL +++ b/ports/itk/CONTROL @@ -1,5 +1,5 @@ Source: itk -Version: 5.0.0-1 +Version: 5.0.0-2 Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis. Homepage: https://github.com/InsightSoftwareConsortium/ITK Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat, eigen3, hdf5[cpp], openjpeg diff --git a/ports/itk/fix_conflict_with_openjp2_pc.patch b/ports/itk/fix_conflict_with_openjp2_pc.patch deleted file mode 100644 index b1a2fb6ec1..0000000000 --- a/ports/itk/fix_conflict_with_openjp2_pc.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt -index 6ac16ab6..2bde9952 100644 ---- a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt -+++ b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt -@@ -373,7 +373,8 @@ else() - endif() - - if(GDCM_USE_SYSTEM_OPENJPEG) -- find_package(OpenJPEG 2.0.0 REQUIRED) -+ # openjpeg version in vcpkg is already greater than 2.0.0 and openjpeg has no version.cmake file -+ find_package(OpenJPEG REQUIRED) - set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) - else() - set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) -diff --git a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -index 565cc338..ec126ef9 100644 ---- a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -+++ b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -@@ -359,12 +359,8 @@ endif() - - #----------------------------------------------------------------------------- - # pkgconfig support --# enabled by default on Unix, disabled by default on other platforms --if(UNIX) -- option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" ON) --else() -- option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF) --endif() -+# Cannot use the built-in openjp2 because the configuration path is under buildtrees -+option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF) - if(BUILD_PKGCONFIG_FILES) - # install in lib and not share (see multi-arch note above) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp2/libopenjp2.pc.cmake.in diff --git a/ports/itk/fix_libminc_config_path.patch b/ports/itk/fix_libminc_config_path.patch new file mode 100644 index 0000000000..3ff305d4be --- /dev/null +++ b/ports/itk/fix_libminc_config_path.patch @@ -0,0 +1,13 @@ +diff --git a/Modules/ThirdParty/MINC/src/libminc/CMakeLists.txt b/Modules/ThirdParty/MINC/src/libminc/CMakeLists.txt +index 305b2c63..63f81a53 100644 +--- a/Modules/ThirdParty/MINC/src/libminc/CMakeLists.txt ++++ b/Modules/ThirdParty/MINC/src/libminc/CMakeLists.txt +@@ -550,7 +550,7 @@ IF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT) + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Use${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINC.cmake + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINCConfig.cmake + DESTINATION +- ${LIBMINC_INSTALL_LIB_DIR}/cmake ++ share/itk + COMPONENT Development) + ENDIF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT) + diff --git a/ports/itk/fix_openjpeg_search.patch b/ports/itk/fix_openjpeg_search.patch new file mode 100644 index 0000000000..d17a1ab840 --- /dev/null +++ b/ports/itk/fix_openjpeg_search.patch @@ -0,0 +1,13 @@ +diff --git a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt +index 6ac16ab6..4638f13c 100644 +--- a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt ++++ b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt +@@ -373,7 +373,7 @@ else() + endif() + + if(GDCM_USE_SYSTEM_OPENJPEG) +- find_package(OpenJPEG 2.0.0 REQUIRED) ++ find_package(OpenJPEG REQUIRED) + set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) + else() + set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) diff --git a/ports/itk/portfile.cmake b/ports/itk/portfile.cmake index 77dd88d9db..a83527a51f 100644 --- a/ports/itk/portfile.cmake +++ b/ports/itk/portfile.cmake @@ -1,8 +1,8 @@ include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 50 AND CMAKE_HOST_WIN32) - message(WARNING "ITKs buildsystem uses very long paths and may fail on your system.\n" +if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() @@ -10,10 +10,12 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO InsightSoftwareConsortium/ITK - REF 3e12e7006a5881136414be54216a35bbacb55baa - SHA512 9796429f8750faffc87e44052455740d1a560883e83c3ed9614d1c7ae9cc1ae22a360b572d9bb1c5ec62ca12ac81d3aa0b8dbaffff3e4ad4c2f85077ed04a10b + REF v5.0.0 + SHA512 7eecd62ab3124147f0abce482699dfdc43610703959d4a3f667c8ce12a6ecacf836a863d146f3cc7d5220b4aa05adf70a0d4dc6fa8e87bac215565badc96acff HEAD_REF master - PATCHES fix_conflict_with_openjp2_pc.patch + PATCHES + fix_openjpeg_search.patch + fix_libminc_config_path.patch ) if ("vtk" IN_LIST FEATURES) @@ -66,12 +68,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) # combines release and debug build configurations file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/itk) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/itk/LICENSE ${CURRENT_PACKAGES_DIR}/share/itk/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/jansson/CONTROL b/ports/jansson/CONTROL index 0ebcd2a5a6..19b1224ef3 100644 --- a/ports/jansson/CONTROL +++ b/ports/jansson/CONTROL @@ -1,4 +1,4 @@ Source: jansson -Version: 2.12 +Version: 2.12-1 Homepage: https://github.com/akheron/jansson Description: Jansson is a C library for encoding, decoding and manipulating JSON data diff --git a/ports/jansson/portfile.cmake b/ports/jansson/portfile.cmake index b6f3caef0a..62086e99d5 100644 --- a/ports/jansson/portfile.cmake +++ b/ports/jansson/portfile.cmake @@ -42,8 +42,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/jansson) +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jansson RENAME copyright) diff --git a/ports/jasper/CONTROL b/ports/jasper/CONTROL index 858264411e..43c657dd4c 100644 --- a/ports/jasper/CONTROL +++ b/ports/jasper/CONTROL @@ -1,5 +1,5 @@ Source: jasper -Version: 2.0.16-1 +Version: 2.0.16-2 Homepage: https://github.com/mdadams/jasper Description: Open source implementation of the JPEG-2000 Part-1 standard -Build-Depends: libjpeg-turbo +Build-Depends: libjpeg-turbo, opengl, freeglut diff --git a/ports/jasper/jasper-fix-uwp.patch b/ports/jasper/jasper-fix-uwp.patch deleted file mode 100644 index 2b67d6c939..0000000000 --- a/ports/jasper/jasper-fix-uwp.patch +++ /dev/null @@ -1,32 +0,0 @@ -From bad33461a302ed8db02e0d9875e7b59b9e8f6032 Mon Sep 17 00:00:00 2001 -From: Mikhail Paulyshka -Date: Tue, 7 Nov 2017 20:10:31 +0300 -Subject: [PATCH] Fixed build for Windows 10 UWP - ---- - src/libjasper/CMakeLists.txt | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/libjasper/CMakeLists.txt b/src/libjasper/CMakeLists.txt -index 234ae67..9d0a522 100644 ---- a/src/libjasper/CMakeLists.txt -+++ b/src/libjasper/CMakeLists.txt -@@ -145,6 +145,15 @@ target_include_directories(libjasper BEFORE PRIVATE - set_target_properties(libjasper PROPERTIES OUTPUT_NAME jasper) - set_target_properties(libjasper PROPERTIES LINKER_LANGUAGE C) - -+if(MSVC) -+ target_compile_definitions(libjasper PRIVATE -+ "-D_CRT_SECURE_NO_WARNINGS") -+ target_compile_definitions(libjasper PRIVATE -+ "-D_CRT_SECURE_NO_DEPRECATE") -+ target_compile_definitions(libjasper PRIVATE -+ "-D_CRT_NONSTDC_NO_DEPRECATE") -+endif() -+ - if (UNIX) - set_target_properties(libjasper PROPERTIES - VERSION ${JAS_SO_NAME} SOVERSION ${JAS_SO_VERSION}) --- -2.14.1.windows.1 - diff --git a/ports/jasper/opengl-not-required.patch b/ports/jasper/opengl-not-required.patch deleted file mode 100644 index 5c40a6b676..0000000000 --- a/ports/jasper/opengl-not-required.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c432ba2..c67598f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -267,7 +267,9 @@ message("JAS_HAVE_LIBJPEG: ${JAS_HAVE_LIBJPEG}") - # Check for the OpenGL and GLUT libraries. - ################################################################################ - -+if(JAS_ENABLE_OPENGL) - find_package(OpenGL ${JAS_REQUIRED}) -+endif() - message("JAS_ENABLE_OPENGL: ${JAS_ENABLE_OPENGL}") - message("OpenGL library found: ${OPENGL_FOUND}") - if (JAS_ENABLE_OPENGL AND OPENGL_FOUND) diff --git a/ports/jasper/portfile.cmake b/ports/jasper/portfile.cmake index 6d11d166b1..ae42d2a226 100644 --- a/ports/jasper/portfile.cmake +++ b/ports/jasper/portfile.cmake @@ -5,13 +5,7 @@ vcpkg_from_github( REPO mdadams/jasper REF version-2.0.16 SHA512 b3bca227f833567c9061c4a29c0599784ed6a131b5cceddfd1696542d19add821eda445ce6d83782b454b266723b24d0f028cbc644a25c0e3a75304e615b34ee - HEAD_REF master) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/jasper-fix-uwp.patch - ${CMAKE_CURRENT_LIST_DIR}/opengl-not-required.patch + HEAD_REF master ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -26,7 +20,6 @@ vcpkg_configure_cmake( OPTIONS -DJAS_ENABLE_AUTOMATIC_DEPENDENCIES=OFF -DJAS_ENABLE_LIBJPEG=ON - -DJAS_ENABLE_OPENGL=OFF # not needed for the library -DJAS_ENABLE_DOC=OFF -DJAS_ENABLE_PROGRAMS=OFF -DJAS_ENABLE_SHARED=${JAS_ENABLE_SHARED} @@ -43,5 +36,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jasper) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/jasper/LICENSE ${CURRENT_PACKAGES_DIR}/share/jasper/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jasper RENAME copyright) diff --git a/ports/json-dto/CONTROL b/ports/json-dto/CONTROL index 1d8b7b24b5..dbd64c3c11 100644 --- a/ports/json-dto/CONTROL +++ b/ports/json-dto/CONTROL @@ -1,4 +1,4 @@ Source: json-dto -Version: 0.2.8 +Version: 0.2.8-2 Description: A small header-only library for converting data between json representation and c++ structs. Build-Depends: rapidjson diff --git a/ports/json-dto/portfile.cmake b/ports/json-dto/portfile.cmake index 212ef87aae..7600433ea1 100644 --- a/ports/json-dto/portfile.cmake +++ b/ports/json-dto/portfile.cmake @@ -19,7 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/json-dto") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/json-dto) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/jxrlib/CONTROL b/ports/jxrlib/CONTROL index 9087786816..f104c4c844 100644 --- a/ports/jxrlib/CONTROL +++ b/ports/jxrlib/CONTROL @@ -1,4 +1,4 @@ Source: jxrlib -Version: 1.1-6 +Version: 1.1-7 Homepage: https://github.com/4creators/jxrlib Description: Open source implementation of the jpegxr image format standard. diff --git a/ports/jxrlib/portfile.cmake b/ports/jxrlib/portfile.cmake index 49869b43fe..43358fa154 100644 --- a/ports/jxrlib/portfile.cmake +++ b/ports/jxrlib/portfile.cmake @@ -25,14 +25,13 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(COPY ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxrlib) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/jxrlib/LICENSE ${CURRENT_PACKAGES_DIR}/share/jxrlib/copyright) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) #install FindJXR.cmake file -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindJXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/JXR) - -vcpkg_copy_pdbs() +file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindJXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr) diff --git a/ports/jxrlib/vcpkg-cmake-wrapper.cmake b/ports/jxrlib/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000000..e95a66bdc4 --- /dev/null +++ b/ports/jxrlib/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(JXR_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT JXR_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${JXR_PREV_MODULE_PATH}) diff --git a/ports/kangaru/CONTROL b/ports/kangaru/CONTROL index 278546bad8..6990d51902 100644 --- a/ports/kangaru/CONTROL +++ b/ports/kangaru/CONTROL @@ -1,3 +1,3 @@ Source: kangaru -Version: 4.1.3 +Version: 4.1.3-1 Description: A dependency injection container for C++11, C++14 and later diff --git a/ports/kangaru/portfile.cmake b/ports/kangaru/portfile.cmake index ffcb68bfb4..15af5ded0c 100644 --- a/ports/kangaru/portfile.cmake +++ b/ports/kangaru/portfile.cmake @@ -15,11 +15,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/kangaru") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/kangaru) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib + ${CURRENT_PACKAGES_DIR}/debug ) diff --git a/ports/kinectsdk2/portfile.cmake b/ports/kinectsdk2/portfile.cmake index a4b89b521c..bd2080c047 100644 --- a/ports/kinectsdk2/portfile.cmake +++ b/ports/kinectsdk2/portfile.cmake @@ -1,20 +1,8 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Kinectsdk2's buildsystem uses very long paths and may fail on your system.\n" + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() diff --git a/ports/leptonica/CONTROL b/ports/leptonica/CONTROL index 2f48aa0d23..39a0a5e5cf 100644 --- a/ports/leptonica/CONTROL +++ b/ports/leptonica/CONTROL @@ -1,5 +1,5 @@ Source: leptonica -Version: 1.76.0 +Version: 1.76.0-1 Homepage: https://github.com/DanBloomberg/leptonica Description: An open source library containing software that is broadly useful for image processing and image analysis applications Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib diff --git a/ports/leptonica/portfile.cmake b/ports/leptonica/portfile.cmake index d42fa6b905..34a1c379e0 100644 --- a/ports/leptonica/portfile.cmake +++ b/ports/leptonica/portfile.cmake @@ -24,7 +24,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) vcpkg_copy_pdbs() diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL index eaa533a615..f5ae2330d8 100644 --- a/ports/libbson/CONTROL +++ b/ports/libbson/CONTROL @@ -1,4 +1,4 @@ Source: libbson -Version: 1.14.0 +Version: 1.14.0-1 Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents. Homepage: https://github.com/mongodb/libbson diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake index 18f567b710..c682ae086f 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -30,9 +30,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libbson-static-1.0") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-static-1.0) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libbson-1.0") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-1.0) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver) diff --git a/ports/libfreenect2/CONTROL b/ports/libfreenect2/CONTROL index 82befaac0d..bb0b638717 100644 --- a/ports/libfreenect2/CONTROL +++ b/ports/libfreenect2/CONTROL @@ -1,5 +1,5 @@ Source: libfreenect2 -Version: 0.2.0-1 +Version: 0.2.0-2 Build-Depends: libusb, libjpeg-turbo Homepage: https://github.com/OpenKinect/libfreenect2 Description: Open source drivers for the Kinect for Windows v2 device diff --git a/ports/libfreenect2/portfile.cmake b/ports/libfreenect2/portfile.cmake index ba41bb9041..839c7073ea 100644 --- a/ports/libfreenect2/portfile.cmake +++ b/ports/libfreenect2/portfile.cmake @@ -26,7 +26,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/freenect2") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/freenect2) vcpkg_copy_pdbs() diff --git a/ports/libharu/CONTROL b/ports/libharu/CONTROL index 33fa2e3cb3..f8d2ca29a3 100644 --- a/ports/libharu/CONTROL +++ b/ports/libharu/CONTROL @@ -1,5 +1,5 @@ Source: libharu -Version: 2017-08-15-d84867ebf9f-6 +Version: 2017-08-15-8 Homepage: https://github.com/libharu/libharu Description: libharu - free PDF library Build-Depends: zlib, libpng diff --git a/ports/libharu/portfile.cmake b/ports/libharu/portfile.cmake index 7855dedc74..962550ca88 100644 --- a/ports/libharu/portfile.cmake +++ b/ports/libharu/portfile.cmake @@ -19,22 +19,32 @@ vcpkg_from_github( ${SHADING_PR} ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LIBHPDF_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "shared" LIBHPDF_SHARED) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) + set(VCPKG_BUILD_STATIC_LIBS OFF) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) + set(VCPKG_BUILD_STATIC_LIBS ON) +endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DLIBHPDF_STATIC=${LIBHPDF_STATIC} - -DLIBHPDF_SHARED=${LIBHPDF_SHARED} + -DLIBHPDF_STATIC=${VCPKG_BUILD_STATIC_LIBS} + -DLIBHPDF_SHARED=${VCPKG_BUILD_SHARED_LIBS} ) vcpkg_install_cmake() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libhpdfs.lib ${CURRENT_PACKAGES_DIR}/lib/libhpdf.lib) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfsd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfd.lib) + else() + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libhpdfs.a ${CURRENT_PACKAGES_DIR}/lib/libhpdf.a) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfs.a ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfd.a) + endif() endif() file(REMOVE_RECURSE diff --git a/ports/libmodbus/CONTROL b/ports/libmodbus/CONTROL index ef880d2a08..44cededd2f 100644 --- a/ports/libmodbus/CONTROL +++ b/ports/libmodbus/CONTROL @@ -1,3 +1,3 @@ Source: libmodbus -Version: 3.1.4-2 +Version: 3.1.4-3 Description: libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol diff --git a/ports/libmodbus/portfile.cmake b/ports/libmodbus/portfile.cmake index 95e3b87206..3b5e27c2af 100644 --- a/ports/libmodbus/portfile.cmake +++ b/ports/libmodbus/portfile.cmake @@ -19,10 +19,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmodbus RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/libogg/CONTROL b/ports/libogg/CONTROL index abce418396..497ec9a6d6 100644 --- a/ports/libogg/CONTROL +++ b/ports/libogg/CONTROL @@ -1,4 +1,4 @@ Source: libogg -Version: 1.3.3-3 +Version: 1.3.3-4 Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs. Homepage: https://github.com/xiph/ogg diff --git a/ports/libogg/portfile.cmake b/ports/libogg/portfile.cmake index b42ad81361..0b3b8be7bc 100644 --- a/ports/libogg/portfile.cmake +++ b/ports/libogg/portfile.cmake @@ -24,4 +24,5 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libogg RENAME copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + diff --git a/ports/libpff/CONTROL b/ports/libpff/CONTROL index 0aeb07a199..8520aa188d 100644 --- a/ports/libpff/CONTROL +++ b/ports/libpff/CONTROL @@ -1,4 +1,4 @@ Source: libpff -Version: 2018-07-14 +Version: 2018-07-14-1 Build-Depends: zlib Description: Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format. diff --git a/ports/libpff/portfile.cmake b/ports/libpff/portfile.cmake index f9a56a86e9..6d327d8a5b 100644 --- a/ports/libpff/portfile.cmake +++ b/ports/libpff/portfile.cmake @@ -29,7 +29,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libpff" TARGET_PATH "share/unofficial-libpff") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libpff TARGET_PATH share/unofficial-libpff) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libpng/CONTROL b/ports/libpng/CONTROL index 1b07ce1e25..f813439d8b 100644 --- a/ports/libpng/CONTROL +++ b/ports/libpng/CONTROL @@ -1,5 +1,5 @@ Source: libpng -Version: 1.6.37-1 +Version: 1.6.37-2 Build-Depends: zlib Homepage: https://github.com/glennrp/libpng Description: libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files. diff --git a/ports/libpng/portfile.cmake b/ports/libpng/portfile.cmake index ab552b8e69..7262d34c72 100644 --- a/ports/libpng/portfile.cmake +++ b/ports/libpng/portfile.cmake @@ -44,7 +44,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/libpng TARGET_PATH share/libpng) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/libpng) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share/) file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpng) diff --git a/ports/libressl/CONTROL b/ports/libressl/CONTROL index 989dbfdeb9..2cb09fb6c3 100644 --- a/ports/libressl/CONTROL +++ b/ports/libressl/CONTROL @@ -1,6 +1,6 @@ Source: libressl -Version: 2.9.1 +Version: 2.9.1-2 Description: LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes. Feature: tools -Description: Build openssl and ocspcheck executables \ No newline at end of file +Description: Build openssl and ocspcheck executables diff --git a/ports/libressl/portfile.cmake b/ports/libressl/portfile.cmake index d99ee1b624..5c8e5b964c 100644 --- a/ports/libressl/portfile.cmake +++ b/ports/libressl/portfile.cmake @@ -1,5 +1,11 @@ cmake_minimum_required(VERSION 3.13) +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") + message(WARNING "Can't build libressl if openssl is installed. Please remove openssl, and try install libressl again if you need it. Build will continue since libressl is a subset of openssl") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "${PORT} does not currently support UWP") endif() @@ -28,11 +34,6 @@ vcpkg_extract_source_archive_ex( 0002-suppress-msvc-warnings.patch ) -set(BUILD_SHARED_LIBS OFF) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_SHARED_LIBS ON) -endif() - set(LIBRESSL_APPS OFF) if("tools" IN_LIST FEATURES) set(LIBRESSL_APPS ON) @@ -44,7 +45,6 @@ vcpkg_configure_cmake( OPTIONS -DLIBRESSL_APPS=${LIBRESSL_APPS} -DLIBRESSL_TESTS=OFF - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} OPTIONS_DEBUG -DLIBRESSL_APPS=OFF ) @@ -61,7 +61,7 @@ if(LIBRESSL_APPS) vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/openssl") endif() -if(NOT BUILD_SHARED_LIBS) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin" @@ -81,7 +81,7 @@ vcpkg_copy_pdbs() file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) AND BUILD_SHARED_LIBS) +if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) AND (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")) file(GLOB_RECURSE LIBS "${CURRENT_PACKAGES_DIR}/*.lib") foreach(LIB ${LIBS}) string(REGEX REPLACE "(.+)-[0-9]+\\.lib" "\\1.lib" LINK "${LIB}") diff --git a/ports/libsndfile/CONTROL b/ports/libsndfile/CONTROL index 91a28e6b34..2547637a8c 100644 --- a/ports/libsndfile/CONTROL +++ b/ports/libsndfile/CONTROL @@ -1,5 +1,5 @@ Source: libsndfile -Version: 1.0.29-6830c42-7 +Version: 1.0.29-8 Description: Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo Homepage: https://github.com/erikd/libsndfile Default-Features: external-libs diff --git a/ports/libsndfile/portfile.cmake b/ports/libsndfile/portfile.cmake index 7c103b6a29..1e86fbffbd 100644 --- a/ports/libsndfile/portfile.cmake +++ b/ports/libsndfile/portfile.cmake @@ -26,7 +26,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_REGTEST=OFF -DBUILD_TESTING=OFF @@ -41,8 +41,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/libsndfile) +vcpkg_fixup_cmake_targets() # Fix applied for 6830c421899e32f8d413a903a21a9b6cf384d369 file(READ "${CURRENT_PACKAGES_DIR}/share/libsndfile/LibSndFileTargets.cmake" _contents) diff --git a/ports/libtins/CONTROL b/ports/libtins/CONTROL index e2a7f43a2d..4bd5d3755c 100644 --- a/ports/libtins/CONTROL +++ b/ports/libtins/CONTROL @@ -1,4 +1,4 @@ Source: libtins -Version: 4.0-2 +Version: 4.0-3 Description: High-level, multiplatform C++ network packet sniffing and crafting library Build-Depends: winpcap (windows) diff --git a/ports/libtins/portfile.cmake b/ports/libtins/portfile.cmake index 6890fe64ca..1839d118c9 100644 --- a/ports/libtins/portfile.cmake +++ b/ports/libtins/portfile.cmake @@ -10,16 +10,22 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTINS_BUILD_SHARED) +set(ENABLE_PCAP FALSE) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(ENABLE_PCAP TRUE) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DLIBTINS_BUILD_SHARED=${LIBTINS_BUILD_SHARED} + -DLIBTINS_ENABLE_PCAP=${ENABLE_PCAP} ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/libtins) +vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/libusb/CONTROL b/ports/libusb/CONTROL index ecd2301447..e4229daed3 100644 --- a/ports/libusb/CONTROL +++ b/ports/libusb/CONTROL @@ -1,4 +1,4 @@ Source: libusb -Version: 1.0.22-2 +Version: 1.0.22-3 Homepage: https://github.com/libusb/libusb Description: a cross-platform library to access USB devices diff --git a/ports/libusb/portfile.cmake b/ports/libusb/portfile.cmake index d2a96c73b8..d5047841fe 100644 --- a/ports/libusb/portfile.cmake +++ b/ports/libusb/portfile.cmake @@ -1,7 +1,11 @@ include(vcpkg_common_functions) -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "Error: UWP builds are currently not supported.") +if (VCPKG_CMAKE_SYSTEM_NAME) + message(FATAL_ERROR "Error: the port is unsupported on your platform. Please open an issue on github.com/Microsoft/vcpkg to request a fix") +endif() + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + message("${PORT} currently requires the following tools and libraries from the system package manager:\n autoreconf\n libudev\n\nThese can be installed on Ubuntu systems via apt-get install autoreconf libudev-dev") endif() vcpkg_from_github( @@ -11,28 +15,96 @@ vcpkg_from_github( SHA512 b1fed66aafa82490889ee488832c6884a95d38ce7b28fb7c3234b9bce1f749455d7b91cde397a0abc25101410edb13ab2f9832c59aa7b0ea8c19ba2cf4c63b00 HEAD_REF master PATCHES - "${CMAKE_CURRENT_LIST_DIR}/fix_c2001.patch" + fix_c2001.patch ) -if(VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(MSVS_VERSION 2017) -else() - set(MSVS_VERSION 2015) -endif() +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + if(VCPKG_PLATFORM_TOOLSET MATCHES "v142") + set(MSVS_VERSION 2017) #they are abi compatible, so it should work + elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141") + set(MSVS_VERSION 2017) + else() + set(MSVS_VERSION 2015) + endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(LIBUSB_PROJECT_TYPE dll) -else() - set(LIBUSB_PROJECT_TYPE static) -endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(LIBUSB_PROJECT_TYPE dll) + else() + set(LIBUSB_PROJECT_TYPE static) + endif() -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj - LICENSE_SUBPATH COPYING -) + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj + LICENSE_SUBPATH COPYING + ) +else() + set(BASH /bin/bash) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Release") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + # Copy sources + message(STATUS "Copying source files...") + file(GLOB PORT_SOURCE_FILES ${SOURCE_PATH}/*) + foreach(SOURCE_FILE ${PORT_SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + endforeach() + message(STATUS "Copying source files... done") + # Configure release + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"./autogen.sh\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"./configure --prefix=${CURRENT_PACKAGES_DIR}\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Debug") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + # Copy sources + message(STATUS "Copying source files...") + file(GLOB PORT_SOURCE_FILES ${SOURCE_PATH}/*) + foreach(SOURCE_FILE ${PORT_SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + endforeach() + message(STATUS "Copying source files... done") + # Configure debug + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"./autogen.sh\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"./configure --prefix=${CURRENT_PACKAGES_DIR}/debug\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + # Build release + message(STATUS "Package ${TARGET_TRIPLET}-rel") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"make install\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + message(STATUS "Package ${TARGET_TRIPLET}-rel done") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + # Build debug + message(STATUS "Package ${TARGET_TRIPLET}-dbg") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"make install\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + message(STATUS "Package ${TARGET_TRIPLET}-dbg done") + endif() +endif() file(INSTALL ${SOURCE_PATH}/libusb/libusb.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/libusb-1.0 ) + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL index a22b389b49..90dffdc777 100644 --- a/ports/libwebp/CONTROL +++ b/ports/libwebp/CONTROL @@ -1,5 +1,5 @@ Source: libwebp -Version: 1.0.2-4 +Version: 1.0.2-6 Homepage: https://github.com/webmproject/libwebp Description: Lossy compression of digital photographic images. Build-Depends: opengl diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake index 49590a982f..11b0b79041 100644 --- a/ports/libwebp/portfile.cmake +++ b/ports/libwebp/portfile.cmake @@ -37,6 +37,12 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") message("WebP currently requires the following library from the system package manager:\n Xxf86vm\n\nThis can be installed on Ubuntu systems via apt-get install libxxf86vm-dev") endif() +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(WEBP_BUILD_VWEBP OFF) + set(WEBP_BUILD_EXTRAS OFF) + message("Due to GLUT Framework problems with CMake, at the moment it's not possible to build VWebP on Mac. It has been disabled together with extras.") +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -63,8 +69,12 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/WebP/cmake/" TARGET_PATH "share/WebP/") +vcpkg_fixup_cmake_targets(CONFIG_PATH share/WebP/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/WebP) +file(GLOB CMAKE_FILES ${CURRENT_PACKAGES_DIR}/share/${PORT}/*) +file(COPY ${CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/webp/) #somehow the native CMAKE_EXECUTABLE_SUFFIX does not work, so here we emulate it if(CMAKE_HOST_WIN32) @@ -114,5 +124,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libwebp/COPYING ${CURRENT_PACKAGES_DIR}/share/libwebp/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebp RENAME copyright) diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL index ae9c3d6ee3..1b091480a5 100644 --- a/ports/libwebsockets/CONTROL +++ b/ports/libwebsockets/CONTROL @@ -1,5 +1,5 @@ Source: libwebsockets -Version: 3.1.0-1 +Version: 3.1.0-2 Build-Depends: zlib, openssl Homepage: https://github.com/warmcat/libwebsockets Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server. diff --git a/ports/libwebsockets/portfile.cmake b/ports/libwebsockets/portfile.cmake index c23f990422..b2b90cccff 100644 --- a/ports/libwebsockets/portfile.cmake +++ b/ports/libwebsockets/portfile.cmake @@ -27,9 +27,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libwebsockets" TARGET_PATH "share/libwebsockets") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libwebsockets) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/lmdb/CONTROL b/ports/lmdb/CONTROL index 247d812d57..eea847401f 100644 --- a/ports/lmdb/CONTROL +++ b/ports/lmdb/CONTROL @@ -1,4 +1,4 @@ Source: lmdb -Version: 0.9.23 +Version: 0.9.23-1 Homepage: https://github.com/LMDB/lmdb Description: LMDB is an extraordinarily fast, memory-efficient database diff --git a/ports/lmdb/portfile.cmake b/ports/lmdb/portfile.cmake index 504c3935ca..9dc1aeeb2d 100644 --- a/ports/lmdb/portfile.cmake +++ b/ports/lmdb/portfile.cmake @@ -18,9 +18,8 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/lmdb) +vcpkg_fixup_cmake_targets() file(INSTALL ${SOURCE_PATH}/libraries/liblmdb/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/lmdb RENAME copyright) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/magnum-extras/CONTROL b/ports/magnum-extras/CONTROL index 7ff04cb630..e065088af9 100644 --- a/ports/magnum-extras/CONTROL +++ b/ports/magnum-extras/CONTROL @@ -1,9 +1,8 @@ Source: magnum-extras -Version: 2019.01-1 +Version: 2019.01-2 Build-Depends: magnum[core] -Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization +Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization Homepage: https://magnum.graphics/ -Default-Features: Feature: ui Description: Ui library diff --git a/ports/magnum-extras/portfile.cmake b/ports/magnum-extras/portfile.cmake index 7941aeee98..41faca02cd 100644 --- a/ports/magnum-extras/portfile.cmake +++ b/ports/magnum-extras/portfile.cmake @@ -37,7 +37,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/MagnumExtras TARGET_PATH share/MagnumExtras) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/MagnumExtras TARGET_PATH share/magnumextras) # Messages to the user if("ui" IN_LIST FEATURES) diff --git a/ports/magnum-integration/CONTROL b/ports/magnum-integration/CONTROL index 5383204972..68a481b8c6 100644 --- a/ports/magnum-integration/CONTROL +++ b/ports/magnum-integration/CONTROL @@ -1,9 +1,8 @@ Source: magnum-integration -Version: 2019.01-1 +Version: 2019.01-2 Build-Depends: magnum[core] -Description: Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization +Description: Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization Homepage: https://magnum.graphics/ -Default-Features: Feature: bullet Description: BulletIntegration library @@ -22,4 +21,3 @@ Build-Depends: imgui #Feature: dart #Description: DartIntegration library #Build-Depends: dart - diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL index ef4c4084cf..abe303a90c 100644 --- a/ports/magnum-plugins/CONTROL +++ b/ports/magnum-plugins/CONTROL @@ -1,7 +1,7 @@ Source: magnum-plugins Version: 2019.01-1 Build-Depends: magnum[core] -Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization +Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization Homepage: https://magnum.graphics/ Default-Features: ddsimporter, miniexrimageconverter, opengeximporter, stanfordimporter, stbimageconverter, stbimageimporter @@ -27,7 +27,6 @@ Build-Depends: magnum[audio] Feature: drwavaudioimporter Description: DrWavAudioImporter plugin Build-Depends: magnum[audio] -# #Feature: faad2audioimporter #Description: Faad2AudioImporter plugin #Build-Depends: magnum[audio], faad2 diff --git a/ports/mathgl/CONTROL b/ports/mathgl/CONTROL index 211c435e8a..9337e5f2dd 100644 --- a/ports/mathgl/CONTROL +++ b/ports/mathgl/CONTROL @@ -1,5 +1,5 @@ Source: mathgl -Version: 2.4.3 +Version: 2.4.3-1 Description: MathGL is a free library of fast C++ routines for the plotting of the data varied in one or more dimensions Default-Features: opengl, jpeg, png, zlib diff --git a/ports/mathgl/portfile.cmake b/ports/mathgl/portfile.cmake index dd44353e0f..d17707c645 100644 --- a/ports/mathgl/portfile.cmake +++ b/ports/mathgl/portfile.cmake @@ -91,11 +91,11 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/mathgl) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) file(REMOVE ${CURRENT_PACKAGES_DIR}/mathgl2-config.cmake) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/mathgl2-config.cmake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mathgl TARGET_PATH share/mathgl) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mathgl) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL index 35f29143d6..0a02b9dd13 100644 --- a/ports/mongo-c-driver/CONTROL +++ b/ports/mongo-c-driver/CONTROL @@ -1,5 +1,5 @@ Source: mongo-c-driver -Version: 1.14.0-1 +Version: 1.14.0-2 Build-Depends: libbson, openssl (!windows), zlib Description: Client library written in C for MongoDB. Homepage: https://github.com/mongodb/mongo-c-driver diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index 5a0c484c0c..3db262c2ff 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -40,9 +40,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libmongoc-static-1.0") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libmongoc-static-1.0) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libmongoc-1.0") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libmongoc-1.0) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) @@ -96,7 +96,7 @@ endif() file(READ ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFIX}-config.cmake LIBMONGOC_CONFIG_CMAKE) # Patch: Set _IMPORT_PREFIX and replace PACKAGE_PREFIX_DIR -string(REPLACE +string(REPLACE [[ get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) ]] diff --git a/ports/mongo-cxx-driver/CONTROL b/ports/mongo-cxx-driver/CONTROL index 50a2a6efdf..c1d85e6366 100644 --- a/ports/mongo-cxx-driver/CONTROL +++ b/ports/mongo-cxx-driver/CONTROL @@ -1,5 +1,5 @@ Source: mongo-cxx-driver -Version: 3.4.0-1 +Version: 3.4.0-2 Build-Depends: libbson, mongo-c-driver, boost-smart-ptr, boost-optional, boost-utility Homepage: https://github.com/mongodb/mongo-cxx-driver Description: MongoDB C++ Driver. diff --git a/ports/mongo-cxx-driver/portfile.cmake b/ports/mongo-cxx-driver/portfile.cmake index a5a1c6f399..3ff200da3c 100644 --- a/ports/mongo-cxx-driver/portfile.cmake +++ b/ports/mongo-cxx-driver/portfile.cmake @@ -26,7 +26,7 @@ elseif ("boost" IN_LIST FEATURES) elseif("std-experimental" IN_LIST FEATURES) set(BSONCXX_POLY STD_EXPERIMENTAL) else() - if (WIN32) + if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(BSONCXX_POLY BOOST) else() set(BSONCXX_POLY MNMLSTC) diff --git a/ports/moos-core/CONTROL b/ports/moos-core/CONTROL index 33e68c93f8..2534bb9054 100644 --- a/ports/moos-core/CONTROL +++ b/ports/moos-core/CONTROL @@ -1,4 +1,4 @@ Source: moos-core -Version: 10.4.0-2 +Version: 10.4.0-3 Description: A very light weight, easy to use middleware. -Homepage: https://sites.google.com/site/moossoftware/ \ No newline at end of file +Homepage: https://sites.google.com/site/moossoftware/ diff --git a/ports/moos-core/portfile.cmake b/ports/moos-core/portfile.cmake index 646fde9e2f..663ad6df26 100644 --- a/ports/moos-core/portfile.cmake +++ b/ports/moos-core/portfile.cmake @@ -12,25 +12,16 @@ vcpkg_from_github( cmake_fix.patch ) -message(STATUS "MOOS VCPKG SOURCE_PATH ${SOURCE_PATH}") -message(STATUS "MOOS INSTALL -DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}") - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_SHARED_LIBS=OFF -DCMAKE_ENABLE_EXPORT=OFF ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/MOOS") - -set(MOOS_EXEC_SUFFIX "") -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(MOOS_EXEC_SUFFIX ".exe") -endif() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/MOOS) # Stage tools file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) diff --git a/ports/mosquitto/portfile.cmake b/ports/mosquitto/portfile.cmake index f3b2f9715f..901e80fd75 100644 --- a/ports/mosquitto/portfile.cmake +++ b/ports/mosquitto/portfile.cmake @@ -30,17 +30,31 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_copy_pdbs() -# Remove debug/include file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe) -file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) -file(REMOVE ${EXE}) -file(REMOVE ${DEBUG_EXE}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mosquitto RENAME copyright) +if(CMAKE_HOST_WIN32) + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") +endif() -# Copy pdb -vcpkg_copy_pdbs() +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_passwd${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_passwd${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_pub${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_pub${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_rr${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_rr${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_sub${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_sub${EXECUTABLE_SUFFIX}) + +#if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() +#endif() + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mosquitto RENAME copyright) diff --git a/ports/ms-angle/CONTROL b/ports/ms-angle/CONTROL index 6d68b4e56b..4fadc59943 100644 --- a/ports/ms-angle/CONTROL +++ b/ports/ms-angle/CONTROL @@ -1,4 +1,4 @@ Source: ms-angle -Version: 2018-04-18-1 +Version: 2018-04-18-2 Description: The UWP version of a conformant OpenGL ES implementation for Windows, Mac and Linux. The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support. diff --git a/ports/ms-angle/portfile.cmake b/ports/ms-angle/portfile.cmake index 0a8dc8c9b4..0e10fa1cc5 100644 --- a/ports/ms-angle/portfile.cmake +++ b/ports/ms-angle/portfile.cmake @@ -25,9 +25,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/ms-angle) - +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ms-angle RENAME copyright) diff --git a/ports/nanomsg/CONTROL b/ports/nanomsg/CONTROL index c560edbd13..8693cfef35 100644 --- a/ports/nanomsg/CONTROL +++ b/ports/nanomsg/CONTROL @@ -1,5 +1,5 @@ Source: nanomsg -Version: 1.1.5 +Version: 1.1.5-1 Description: a simple high-performance implementation of several "scalability protocols". These scalability protocols are light-weight messaging protocols which can be used to solve a number of very common messaging patterns, such as request/reply, publish/subscribe, surveyor/respondent, and so forth. These protocols can run over a variety of transports such as TCP, UNIX sockets, and even WebSocket. diff --git a/ports/nanomsg/portfile.cmake b/ports/nanomsg/portfile.cmake index 71b26ea5e8..d07685f609 100644 --- a/ports/nanomsg/portfile.cmake +++ b/ports/nanomsg/portfile.cmake @@ -32,7 +32,7 @@ vcpkg_install_cmake() file(STRINGS ${SOURCE_PATH}/.version NN_PACKAGE_VERSION) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/nanomsg-${NN_PACKAGE_VERSION}") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nanomsg-${NN_PACKAGE_VERSION}) vcpkg_replace_string( ${CURRENT_PACKAGES_DIR}/share/${PORT}/nanomsg-config.cmake @@ -64,7 +64,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin ) - + vcpkg_replace_string( ${CURRENT_PACKAGES_DIR}/include/nanomsg/nn.h "defined(NN_STATIC_LIB)" diff --git a/ports/nlopt/portfile.cmake b/ports/nlopt/portfile.cmake index c5017f4f8e..5fb068145a 100644 --- a/ports/nlopt/portfile.cmake +++ b/ports/nlopt/portfile.cmake @@ -25,7 +25,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/nlopt") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nlopt) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/octomap/CONTROL b/ports/octomap/CONTROL index 3669f38504..afac685c6d 100644 --- a/ports/octomap/CONTROL +++ b/ports/octomap/CONTROL @@ -1,3 +1,3 @@ Source: octomap -Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-6 +Version: 2017-03-11-7 Description: An Efficient Probabilistic 3D Mapping Framework Based on Octrees diff --git a/ports/octomap/portfile.cmake b/ports/octomap/portfile.cmake index d260d44096..203adce4df 100644 --- a/ports/octomap/portfile.cmake +++ b/ports/octomap/portfile.cmake @@ -49,8 +49,7 @@ else() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/octomap) - +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/ogre/001-cmake-install-dir.patch b/ports/ogre/001-cmake-install-dir.patch deleted file mode 100644 index d0df419eb8..0000000000 --- a/ports/ogre/001-cmake-install-dir.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt -index a7a3796..2e21403 100644 ---- a/CMake/CMakeLists.txt -+++ b/CMake/CMakeLists.txt -@@ -13,10 +13,12 @@ - # directory, but can also be used for custom projects. - ############################################################# - --if(WIN32 OR APPLE) -- set(OGRE_CMAKE_DIR "CMake") --else() -- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") -+if(NOT DEFINED OGRE_CMAKE_DIR) -+ if(WIN32 OR APPLE) -+ set(OGRE_CMAKE_DIR "CMake") -+ else() -+ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") -+ endif() - endif() - - set(INST_FILES Utils/FindPkgMacros.cmake) -diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake -index 783755e..79f7514 100644 ---- a/CMake/InstallResources.cmake -+++ b/CMake/InstallResources.cmake -@@ -208,10 +208,12 @@ endif () - # Create the CMake package files - include(CMakePackageConfigHelpers) - --if(WIN32 OR APPLE) -- set(OGRE_CMAKE_DIR "CMake") --else() -- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") -+if(NOT DEFINED OGRE_CMAKE_DIR) -+ if(WIN32 OR APPLE) -+ set(OGRE_CMAKE_DIR "CMake") -+ else() -+ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") -+ endif() - endif() - configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake - INSTALL_DESTINATION ${OGRE_CMAKE_DIR} diff --git a/ports/ogre/002-link-optimized-lib-workaround.patch b/ports/ogre/002-link-optimized-lib-workaround.patch deleted file mode 100644 index b2678f488d..0000000000 --- a/ports/ogre/002-link-optimized-lib-workaround.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/CMake/Dependencies.cmake -+++ b/CMake/Dependencies.cmake -@@ -199,6 +199,11 @@ - # Find zlib - find_package(ZLIB) - macro_log_feature(ZLIB_FOUND "zlib" "Simple data compression library" "http://www.zlib.net" FALSE "" "") -+# replace optimized/debug keyword with generator expression -+unset(ZLIB_LIBRARY) -+set(ZLIB_LIBRARY $<$:${ZLIB_LIBRARY_RELEASE}> $<$:${ZLIB_LIBRARY_DEBUG}>) -+unset(ZLIB_LIBRARIES) -+set(ZLIB_LIBRARIES ${ZLIB_LIBRARY}) - - if (ZLIB_FOUND) - # Find zziplib -@@ -213,6 +218,11 @@ - # Find FreeType - find_package(Freetype) - macro_log_feature(FREETYPE_FOUND "freetype" "Portable font engine" "http://www.freetype.org" FALSE "" "") -+# replace optimized/debug keyword with generator expression -+unset(FREETYPE_LIBRARY) -+set(FREETYPE_LIBRARY $<$:${FREETYPE_LIBRARY_RELEASE}> $<$:${FREETYPE_LIBRARY_DEBUG}>) -+unset(FREETYPE_LIBRARIES) -+set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY}) - - # Find X11 - if (UNIX AND NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN) ---- src.orig/CMake/Utils/FindPkgMacros.cmake -+++ src.new/CMake/Utils/FindPkgMacros.cmake -@@ -82,7 +82,7 @@ - if (${PREFIX}_FWK) - set(${PREFIX} ${${PREFIX}_FWK}) - elseif (${PREFIX}_REL AND ${PREFIX}_DBG) -- set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG}) -+ set(${PREFIX} $<$:${${PREFIX}_REL}> $<$:${${PREFIX}_DBG}>) - elseif (${PREFIX}_REL) - set(${PREFIX} ${${PREFIX}_REL}) - elseif (${PREFIX}_DBG) diff --git a/ports/ogre/CONTROL b/ports/ogre/CONTROL index a454a69f1a..d7a4dd3f55 100644 --- a/ports/ogre/CONTROL +++ b/ports/ogre/CONTROL @@ -1,5 +1,5 @@ Source: ogre -Version: 1.12.0 +Version: 1.12.0-1 Build-Depends: freeimage, freetype, zlib, zziplib Homepage: https://github.com/OGRECave/ogre Description: 3D Object-Oriented Graphics Rendering Engine diff --git a/ports/ogre/portfile.cmake b/ports/ogre/portfile.cmake index 1b9087acab..04b4fe608d 100644 --- a/ports/ogre/portfile.cmake +++ b/ports/ogre/portfile.cmake @@ -4,13 +4,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OGRECave/ogre REF c14f8847f743f4dc1b3abc947b1725c87d8b10ce - SHA512 a2fd7ffd653c1578bc860b58cf4c899f27cc967f75e2254dc3e372044f118d5951e42b35bfc711aa8996e1885f372d3cfa5a768b8674e0b3d844811990eb87fc + SHA512 a2fd7ffd653c1578bc860b58cf4c899f27cc967f75e2254dc3e372044f118d5951e42b35bfc711aa8996e1885f372d3cfa5a768b8674e0b3d844811990eb87fc HEAD_REF master PATCHES - 001-cmake-install-dir.patch - 002-link-optimized-lib-workaround.patch + toolchain_fixes.patch ) +file(REMOVE "${SOURCE_PATH}/CMake/Packages/FindOpenEXR.cmake") + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) set(OGRE_STATIC ON) else() @@ -70,27 +71,29 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() -# Remove unwanted files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/ogre) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - file(GLOB REL_CFGS ${CURRENT_PACKAGES_DIR}/bin/*.cfg) -file(COPY ${REL_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +if(REL_CFGS) + file(COPY ${REL_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(REMOVE ${REL_CFGS}) +endif() file(GLOB DBG_CFGS ${CURRENT_PACKAGES_DIR}/debug/bin/*.cfg) -file(COPY ${DBG_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - -file(REMOVE ${REL_CFGS} ${DBG_CFGS}) +if(DBG_CFGS) + file(COPY ${DBG_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(REMOVE ${DBG_CFGS}) +endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() if(NOT VCPKG_CMAKE_SYSTEM_NAME) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Release") file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMain.lib) @@ -98,7 +101,7 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME) file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMainStatic.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMainStatic.lib) endif() endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Debug") file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMain_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMain_d.lib) diff --git a/ports/ogre/toolchain_fixes.patch b/ports/ogre/toolchain_fixes.patch new file mode 100644 index 0000000000..1af384bdf3 --- /dev/null +++ b/ports/ogre/toolchain_fixes.patch @@ -0,0 +1,533 @@ +diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt +index a7a3796..2e21403 100755 +--- a/CMake/CMakeLists.txt ++++ b/CMake/CMakeLists.txt +@@ -13,10 +13,12 @@ + # directory, but can also be used for custom projects. + ############################################################# + +-if(WIN32 OR APPLE) +- set(OGRE_CMAKE_DIR "CMake") +-else() +- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") ++if(NOT DEFINED OGRE_CMAKE_DIR) ++ if(WIN32 OR APPLE) ++ set(OGRE_CMAKE_DIR "CMake") ++ else() ++ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") ++ endif() + endif() + + set(INST_FILES Utils/FindPkgMacros.cmake) +diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake +index 783755e..79f7514 100644 +--- a/CMake/InstallResources.cmake ++++ b/CMake/InstallResources.cmake +@@ -208,10 +208,12 @@ endif () + # Create the CMake package files + include(CMakePackageConfigHelpers) + +-if(WIN32 OR APPLE) +- set(OGRE_CMAKE_DIR "CMake") +-else() +- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") ++if(NOT DEFINED OGRE_CMAKE_DIR) ++ if(WIN32 OR APPLE) ++ set(OGRE_CMAKE_DIR "CMake") ++ else() ++ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") ++ endif() + endif() + configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake + INSTALL_DESTINATION ${OGRE_CMAKE_DIR} +diff --git a/CMake/Packages/FindCg.cmake b/CMake/Packages/FindCg.cmake +index 4501cf9..e91bfd0 100644 +--- a/CMake/Packages/FindCg.cmake ++++ b/CMake/Packages/FindCg.cmake +@@ -11,7 +11,7 @@ + # Once done, this will define + # + # Cg_FOUND - system has Cg +-# Cg_INCLUDE_DIRS - the Cg include directories ++# Cg_INCLUDE_DIRS - the Cg include directories + # Cg_LIBRARIES - link these to use Cg + + include(FindPkgMacros) +@@ -56,7 +56,7 @@ endif() + + find_library(Cg_LIBRARY_REL NAMES ${Cg_LIBRARY_NAMES} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(Cg_LIBRARY_DBG NAMES ${Cg_LIBRARY_NAMES_DBG} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) +-make_library_set(Cg_LIBRARY) ++make_library_set(Cg) + + if (WIN32) + if (CMAKE_CL_64) +diff --git a/CMake/Packages/FindFreeImage.cmake b/CMake/Packages/FindFreeImage.cmake +index 7c89ec5..445d86a 100644 +--- a/CMake/Packages/FindFreeImage.cmake ++++ b/CMake/Packages/FindFreeImage.cmake +@@ -11,7 +11,7 @@ + # Once done, this will define + # + # FreeImage_FOUND - system has FreeImage +-# FreeImage_INCLUDE_DIRS - the FreeImage include directories ++# FreeImage_INCLUDE_DIRS - the FreeImage include directories + # FreeImage_LIBRARIES - link these to use FreeImage + + include(FindPkgMacros) +@@ -43,7 +43,6 @@ find_path(FreeImage_INCLUDE_DIR NAMES FreeImage.h HINTS ${FreeImage_INC_SEARCH_P + find_library(FreeImage_LIBRARY_REL NAMES ${FreeImage_LIBRARY_NAMES} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(FreeImage_LIBRARY_DBG NAMES ${FreeImage_LIBRARY_NAMES_DBG} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) + +-make_library_set(FreeImage_LIBRARY) ++make_library_set(FreeImage) + + findpkg_finish(FreeImage) +- +diff --git a/CMake/Packages/FindGLSLOptimizer.cmake b/CMake/Packages/FindGLSLOptimizer.cmake +index dd4b179..8e51d2f 100644 +--- a/CMake/Packages/FindGLSLOptimizer.cmake ++++ b/CMake/Packages/FindGLSLOptimizer.cmake +@@ -11,7 +11,7 @@ + # Once done, this will define + # + # GLSL_Optimizer_FOUND - system has GLSL_Optimizer +-# GLSL_Optimizer_INCLUDE_DIRS - the GLSL_Optimizer include directories ++# GLSL_Optimizer_INCLUDE_DIRS - the GLSL_Optimizer include directories + # GLSL_Optimizer_LIBRARIES - link these to use GLSL_Optimizer + + include(FindPkgMacros) +@@ -38,8 +38,7 @@ findpkg_framework(GLSL_Optimizer) + find_path(GLSL_Optimizer_INCLUDE_DIR NAMES glsl_optimizer.h HINTS ${GLSL_Optimizer_INC_SEARCH_PATH} ${GLSL_Optimizer_PKGC_INCLUDE_DIRS} PATH_SUFFIXES GLSL_Optimizer) + find_library(GLSL_Optimizer_LIBRARY_REL NAMES ${GLSL_Optimizer_LIBRARY_NAMES} HINTS ${GLSL_Optimizer_LIB_SEARCH_PATH} ${GLSL_Optimizer_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(GLSL_Optimizer_LIBRARY_DBG NAMES ${GLSL_Optimizer_LIBRARY_NAMES_DBG} HINTS ${GLSL_Optimizer_LIB_SEARCH_PATH} ${GLSL_Optimizer_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) +-make_library_set(GLSL_Optimizer_LIBRARY) ++make_library_set(GLSL_Optimizer) + + findpkg_finish(GLSL_Optimizer) + add_parent_dir(GLSL_Optimizer_INCLUDE_DIRS GLSL_Optimizer_INCLUDE_DIR) +- +diff --git a/CMake/Packages/FindHLSL2GLSL.cmake b/CMake/Packages/FindHLSL2GLSL.cmake +index 7125895..f73c928 100644 +--- a/CMake/Packages/FindHLSL2GLSL.cmake ++++ b/CMake/Packages/FindHLSL2GLSL.cmake +@@ -11,7 +11,7 @@ + # Once done, this will define + # + # HLSL2GLSL_FOUND - system has HLSL2GLSL +-# HLSL2GLSL_INCLUDE_DIRS - the HLSL2GLSL include directories ++# HLSL2GLSL_INCLUDE_DIRS - the HLSL2GLSL include directories + # HLSL2GLSL_LIBRARIES - link these to use HLSL2GLSL + + include(FindPkgMacros) +@@ -38,8 +38,7 @@ findpkg_framework(HLSL2GLSL) + find_path(HLSL2GLSL_INCLUDE_DIR NAMES hlsl2glsl.h HINTS ${HLSL2GLSL_INC_SEARCH_PATH} ${HLSL2GLSL_PKGC_INCLUDE_DIRS} PATH_SUFFIXES HLSL2GLSL) + find_library(HLSL2GLSL_LIBRARY_REL NAMES ${HLSL2GLSL_LIBRARY_NAMES} HINTS ${HLSL2GLSL_LIB_SEARCH_PATH} ${HLSL2GLSL_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(HLSL2GLSL_LIBRARY_DBG NAMES ${HLSL2GLSL_LIBRARY_NAMES_DBG} HINTS ${HLSL2GLSL_LIB_SEARCH_PATH} ${HLSL2GLSL_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) +-make_library_set(HLSL2GLSL_LIBRARY) ++make_library_set(HLSL2GLSL) + + findpkg_finish(HLSL2GLSL) + add_parent_dir(HLSL2GLSL_INCLUDE_DIRS HLSL2GLSL_INCLUDE_DIR) +- +diff --git a/CMake/Packages/FindNVAPI.cmake b/CMake/Packages/FindNVAPI.cmake +index 95c70cd..17dabb8 100644 +--- a/CMake/Packages/FindNVAPI.cmake ++++ b/CMake/Packages/FindNVAPI.cmake +@@ -11,7 +11,7 @@ + # Once done, this will define + # + # NVAPI_FOUND - system has NVAPI +-# NVAPI_INCLUDE_DIRS - the NVAPI include directories ++# NVAPI_INCLUDE_DIRS - the NVAPI include directories + # NVAPI_LIBRARIES - link these to use NVAPI + + include(FindPkgMacros) +@@ -44,7 +44,7 @@ findpkg_framework(NVAPI) + find_path(NVAPI_INCLUDE_DIR NAMES nvapi.h HINTS ${NVAPI_FRAMEWORK_INCLUDES} ${NVAPI_INC_SEARCH_PATH} ${NVAPI_PKGC_INCLUDE_DIRS} PATH_SUFFIXES NVAPI) + find_library(NVAPI_LIBRARY_REL NAMES ${NVAPI_LIBRARY_NAMES} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel) + find_library(NVAPI_LIBRARY_DBG NAMES ${NVAPI_LIBRARY_NAMES_DBG} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug) +-make_library_set(NVAPI_LIBRARY) ++make_library_set(NVAPI) + + findpkg_finish(NVAPI) +-add_parent_dir(NVAPI_INCLUDE_DIRS NVAPI_INCLUDE_DIR) +\ No newline at end of file ++add_parent_dir(NVAPI_INCLUDE_DIRS NVAPI_INCLUDE_DIR) +diff --git a/CMake/Packages/FindPOCO.cmake b/CMake/Packages/FindPOCO.cmake +index 6b6d7fa..c2cb80e 100644 +--- a/CMake/Packages/FindPOCO.cmake ++++ b/CMake/Packages/FindPOCO.cmake +@@ -11,7 +11,7 @@ + # Once done, this will define + # + # POCO_FOUND - system has POCO +-# POCO_INCLUDE_DIRS - the POCO include directories ++# POCO_INCLUDE_DIRS - the POCO include directories + # POCO_LIBRARIES - link these to use POCO + + include(FindPkgMacros) +@@ -23,8 +23,8 @@ getenv_path(POCO_ROOT) + getenv_path(POCO_BASE) + + # construct search paths +-set(POCO_PREFIX_PATH +- ${POCO_HOME} ${ENV_POCO_HOME} ++set(POCO_PREFIX_PATH ++ ${POCO_HOME} ${ENV_POCO_HOME} + ${POCO_ROOT} ${ENV_POCO_ROOT} + ${POCO_BASE} ${ENV_POCO_BASE} + ) +@@ -50,7 +50,7 @@ findpkg_framework(POCO) + find_path(POCO_INCLUDE_DIR NAMES Poco/Foundation.h HINTS ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Foundation/include) + find_library(POCO_LIBRARY_REL NAMES ${POCO_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_LIBRARY_DBG NAMES ${POCO_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_LIBRARY) ++make_library_set(POCO) + + findpkg_finish(POCO) + +@@ -66,7 +66,7 @@ get_debug_names(POCO_Util_LIBRARY_NAMES) + find_path(POCO_Util_INCLUDE_DIR NAMES Poco/Util/Util.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Util/include) + find_library(POCO_Util_LIBRARY_REL NAMES ${POCO_Util_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_Util_LIBRARY_DBG NAMES ${POCO_Util_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_Util_LIBRARY) ++make_library_set(POCO_Util) + findpkg_finish(POCO_Util) + + # Look for Poco's Net package +@@ -76,7 +76,7 @@ get_debug_names(POCO_Net_LIBRARY_NAMES) + find_path(POCO_Net_INCLUDE_DIR NAMES Poco/Net/Net.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Net/include) + find_library(POCO_Net_LIBRARY_REL NAMES ${POCO_Net_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_Net_LIBRARY_DBG NAMES ${POCO_Net_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_Net_LIBRARY) ++make_library_set(POCO_Net) + findpkg_finish(POCO_Net) + + # Look for Poco's NetSSL package +@@ -86,7 +86,7 @@ get_debug_names(POCO_NetSSL_LIBRARY_NAMES) + find_path(POCO_NetSSL_INCLUDE_DIR NAMES Poco/Net/NetSSL.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES NetSSL/include) + find_library(POCO_NetSSL_LIBRARY_REL NAMES ${POCO_NetSSL_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_NetSSL_LIBRARY_DBG NAMES ${POCO_NetSSL_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_NetSSL_LIBRARY) ++make_library_set(POCO_NetSSL) + findpkg_finish(POCO_NetSSL) + + # Look for Poco's XML package +@@ -96,6 +96,5 @@ get_debug_names(POCO_XML_LIBRARY_NAMES) + find_path(POCO_XML_INCLUDE_DIR NAMES Poco/XML/XML.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES XML/include) + find_library(POCO_XML_LIBRARY_REL NAMES ${POCO_XML_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) + find_library(POCO_XML_LIBRARY_DBG NAMES ${POCO_XML_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686) +-make_library_set(POCO_XML_LIBRARY) ++make_library_set(POCO_XML) + findpkg_finish(POCO_XML) +- +diff --git a/CMake/Packages/FindTBB.cmake b/CMake/Packages/FindTBB.cmake +index 0c48510..7f0c8f6 100644 +--- a/CMake/Packages/FindTBB.cmake ++++ b/CMake/Packages/FindTBB.cmake +@@ -11,7 +11,7 @@ + # Once done, this will define + # + # TBB_FOUND - system has TBB +-# TBB_INCLUDE_DIRS - the TBB include directories ++# TBB_INCLUDE_DIRS - the TBB include directories + # TBB_LIBRARIES - link these to use TBB + + include(FindPkgMacros) +@@ -23,8 +23,8 @@ getenv_path(TBB_ROOT) + getenv_path(TBB_BASE) + + # construct search paths +-set(TBB_PREFIX_PATH +- ${TBB_HOME} ${ENV_TBB_HOME} ++set(TBB_PREFIX_PATH ++ ${TBB_HOME} ${ENV_TBB_HOME} + ${TBB_ROOT} ${ENV_TBB_ROOT} + ${TBB_BASE} ${ENV_TBB_BASE} + ) +@@ -68,11 +68,11 @@ if (WIN32 AND MSVC) + endif () + if (MSVC_VERSION EQUAL 1900) + set(COMPILER_PREFIX "vc13") +- endif () ++ endif () + if (MSVC_VERSION EQUAL 1911) + set(COMPILER_PREFIX "vc14") + endif () +- ++ + # for each prefix path, add ia32/64\${COMPILER_PREFIX}\lib to the lib search path + foreach (dir ${TBB_PREFIX_PATH}) + if (CMAKE_CL_64) +@@ -104,7 +104,7 @@ findpkg_framework(TBB) + find_path(TBB_INCLUDE_DIR NAMES tbb/tbb.h HINTS ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS}) + find_library(TBB_LIBRARY_REL NAMES ${TBB_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) + find_library(TBB_LIBRARY_DBG NAMES ${TBB_LIBRARY_NAMES_DBG} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) +-make_library_set(TBB_LIBRARY) ++make_library_set(TBB) + + findpkg_finish(TBB) + +@@ -120,7 +120,7 @@ get_debug_names(TBB_MALLOC_LIBRARY_NAMES) + find_path(TBB_MALLOC_INCLUDE_DIR NAMES tbb/tbb.h HINTS ${TBB_INCLUDE_DIR} ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS} ) + find_library(TBB_MALLOC_LIBRARY_REL NAMES ${TBB_MALLOC_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS} ) + find_library(TBB_MALLOC_LIBRARY_DBG NAMES ${TBB_MALLOC_LIBRARY_NAMES_DBG} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS} ) +-make_library_set(TBB_MALLOC_LIBRARY) ++make_library_set(TBB_MALLOC) + findpkg_finish(TBB_MALLOC) + + # Look for TBB's malloc proxy package +@@ -130,5 +130,5 @@ get_debug_names(TBB_MALLOC_PROXY_LIBRARY_NAMES) + find_path(TBB_MALLOC_PROXY_INCLUDE_DIR NAMES tbb/tbbmalloc_proxy.h HINTS ${TBB_INCLUDE_DIR} ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS}) + find_library(TBB_MALLOC_PROXY_LIBRARY_REL NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) + find_library(TBB_MALLOC_PROXY_LIBRARY_DBG NAMES ${TBB_MALLOC_PROXY_LIBRARY_NAMES_DBG} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS}) +-make_library_set(TBB_MALLOC_PROXY_LIBRARY) ++make_library_set(TBB_MALLOC_PROXY) + findpkg_finish(TBB_MALLOC_PROXY) +diff --git a/CMake/Packages/FindZZip.cmake b/CMake/Packages/FindZZip.cmake +index e97951e..1c7cf00 100644 +--- a/CMake/Packages/FindZZip.cmake ++++ b/CMake/Packages/FindZZip.cmake +@@ -11,7 +11,7 @@ + # Once done, this will define + # + # ZZip_FOUND - system has ZZip +-# ZZip_INCLUDE_DIRS - the ZZip include directories ++# ZZip_INCLUDE_DIRS - the ZZip include directories + # ZZip_LIBRARIES - link these to use ZZip + + include(FindPkgMacros) +@@ -39,12 +39,11 @@ use_pkgconfig(ZZip_PKGC zziplib) + + findpkg_framework(ZZip) + +-find_path(ZZip_INCLUDE_DIR NAMES zzip/zzip.h HINTS ${ZZip_INC_SEARCH_PATH} ${ZZip_PKGC_INCLUDE_DIRS}) ++find_path(ZZip_INCLUDE_DIRS NAMES zzip/zzip.h HINTS ${ZZip_INC_SEARCH_PATH} ${ZZip_PKGC_INCLUDE_DIRS}) + + find_library(ZZip_LIBRARY_REL NAMES ${ZZip_LIBRARY_NAMES} HINTS ${ZZip_LIB_SEARCH_PATH} ${ZZip_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) + find_library(ZZip_LIBRARY_DBG NAMES ${ZZip_LIBRARY_NAMES_DBG} HINTS ${ZZip_LIB_SEARCH_PATH} ${ZZip_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) + +-make_library_set(ZZip_LIBRARY) ++make_library_set(ZZip) + + findpkg_finish(ZZip) +- +diff --git a/CMake/Utils/FindPkgMacros.cmake b/CMake/Utils/FindPkgMacros.cmake +index 374f84b..dc7066d 100644 +--- a/CMake/Utils/FindPkgMacros.cmake ++++ b/CMake/Utils/FindPkgMacros.cmake +@@ -79,15 +79,21 @@ endmacro (use_pkgconfig) + + # Couple a set of release AND debug libraries (or frameworks) + macro(make_library_set PREFIX) +- if (${PREFIX}_FWK) +- set(${PREFIX} ${${PREFIX}_FWK}) +- elseif (${PREFIX}_REL AND ${PREFIX}_DBG) +- set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG}) +- elseif (${PREFIX}_REL) +- set(${PREFIX} ${${PREFIX}_REL}) +- elseif (${PREFIX}_DBG) +- set(${PREFIX} ${${PREFIX}_DBG}) +- endif () ++ include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) ++ set(PREFIX_LIB "${PREFIX}_LIBRARY") ++ if (${PREFIX_LIB}_FWK) ++ set(${PREFIX_LIB} ${${PREFIX_LIB}_FWK}) ++ elseif (${PREFIX_LIB}_REL AND ${PREFIX_LIB}_DBG) ++ set(${PREFIX_LIB}_RELEASE ${${PREFIX_LIB}_REL} CACHE STRING "") ++ set(${PREFIX_LIB}_DEBUG ${${PREFIX_LIB}_DBG} CACHE STRING "") ++ select_library_configurations(${PREFIX}) ++ elseif (${PREFIX_LIB}_REL) ++ set(${PREFIX_LIB} ${${PREFIX_LIB}_REL}) ++ set(${PREFIX_LIB}_RELEASE ${${PREFIX_LIB}_REL}) ++ elseif (${PREFIX_LIB}_DBG) ++ set(${PREFIX_LIB} ${${PREFIX_LIB}_DBG}) ++ set(${PREFIX_LIB}_DEBUG ${${PREFIX_LIB}_DBG}) ++ endif() + endmacro(make_library_set) + + # Generate debug names from given release names +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d2819f0..8b54b38 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -142,7 +142,7 @@ if (MSVC) + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /bigobj") + endif () + +- if (OGRE_PROJECT_FOLDERS) ++ if (OGRE_PROJECT_FOLDERS) + # Turn on the ability to create folders to organize projects (.vcproj) + # It creates "CMakePredefinedTargets" folder by default and adds CMake + # defined projects like INSTALL.vcproj and ZERO_CHECK.vcproj +@@ -274,14 +274,9 @@ elseif(EMSCRIPTEN) + elseif (APPLE AND NOT APPLE_IOS) + + set(XCODE_ATTRIBUTE_SDKROOT macosx) +- if(CMAKE_GENERATOR STREQUAL "Unix Makefiles") + execute_process(COMMAND xcodebuild -version -sdk "${XCODE_ATTRIBUTE_SDKROOT}" Path | head -n 1 OUTPUT_VARIABLE CMAKE_OSX_SYSROOT) + string(REGEX REPLACE "(\r?\n)+$" "" CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT}") +- else() +- set(CMAKE_OSX_SYSROOT macosx) +- endif() + +- # Make sure that the OpenGL render system is selected for non-iOS Apple builds + set(OGRE_BUILD_RENDERSYSTEM_GLES2 FALSE) + endif () + +@@ -310,7 +305,7 @@ include(Dependencies) + # Customise what to build + option(OGRE_STATIC "Static build" FALSE) + option(OGRE_ENABLE_PRECOMPILED_HEADERS "Use precompiled headers to speed up build" TRUE) +-set(OGRE_RESOURCEMANAGER_STRICT "2" CACHE STRING ++set(OGRE_RESOURCEMANAGER_STRICT "2" CACHE STRING + "Make ResourceManager strict for faster operation. Possible values: + 0 - OFF search in all groups twice - for case sensitive and insensitive lookup [DEPRECATED] + 1 - PEDANTIC require an explicit resource group. Case sensitive lookup. +@@ -352,7 +347,7 @@ cmake_dependent_option(OGRE_BUILD_LIBS_AS_FRAMEWORKS "Build frameworks for libra + option(OGRE_BUILD_TESTS "Build the unit tests & PlayPen" FALSE) + option(OGRE_CONFIG_DOUBLE "Use doubles instead of floats in Ogre" FALSE) + option(OGRE_CONFIG_NODE_INHERIT_TRANSFORM "Tells the node whether it should inherit full transform from it's parent node or derived position, orientation and scale" FALSE) +-set(OGRE_CONFIG_THREADS "3" CACHE STRING ++set(OGRE_CONFIG_THREADS "3" CACHE STRING + "Enable Ogre thread safety support for multithreading. Possible values: + 0 - no thread safety. DefaultWorkQueue is not threaded. + 1 - background resource preparation and loading is thread safe. Threaded DefaultWorkQueue. [DEPRECATED] +diff --git a/Components/Overlay/CMakeLists.txt b/Components/Overlay/CMakeLists.txt +index bdb303d..e8031d1 100644 +--- a/Components/Overlay/CMakeLists.txt ++++ b/Components/Overlay/CMakeLists.txt +@@ -13,7 +13,7 @@ + + # define header and source files for the library + file(GLOB HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h") +-list(APPEND HEADER_FILES ++list(APPEND HEADER_FILES + ${PROJECT_BINARY_DIR}/include/OgreOverlayPrerequisites.h + ${CMAKE_CURRENT_SOURCE_DIR}/include/OgreOverlay.i) + file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") +@@ -21,17 +21,17 @@ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") + # setup target + add_library(OgreOverlay ${OGRE_COMP_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES} ${PLATFORM_HEADER_FILES} ${PLATFORM_SOURCE_FILES}) + set_target_properties(OgreOverlay PROPERTIES VERSION ${OGRE_SOVERSION} SOVERSION ${OGRE_SOVERSION}) +-target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE "${FREETYPE_LIBRARIES}" ZLIB::ZLIB) +-target_include_directories(OgreOverlay PUBLIC ++target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE ${FREETYPE_LIBRARIES} ZLIB::ZLIB) ++target_include_directories(OgreOverlay PUBLIC + "$" + $ + PRIVATE ${FREETYPE_INCLUDE_DIRS}) + +-generate_export_header(OgreOverlay ++generate_export_header(OgreOverlay + EXPORT_MACRO_NAME _OgreOverlayExport + EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreOverlayPrerequisites.h) + +-# install ++# install + ogre_config_framework(OgreOverlay) + ogre_config_component(OgreOverlay) + +@@ -40,4 +40,4 @@ install(FILES ${HEADER_FILES} + ) + install(FILES "${PROJECT_SOURCE_DIR}/Media/packs/profiler.zip" + DESTINATION "${OGRE_MEDIA_PATH}/packs/" +-) +\ No newline at end of file ++) +diff --git a/OgreMain/CMakeLists.txt b/OgreMain/CMakeLists.txt +index 6ec4e34..666a736 100644 +--- a/OgreMain/CMakeLists.txt ++++ b/OgreMain/CMakeLists.txt +@@ -188,21 +188,21 @@ if (WINDOWS_STORE OR WINDOWS_PHONE) + set_target_properties(OgreMain PROPERTIES VS_WINRT_COMPONENT "true") + endif () + +-generate_export_header(OgreMain ++generate_export_header(OgreMain + EXPORT_MACRO_NAME _OgreExport + NO_EXPORT_MACRO_NAME _OgrePrivate + DEPRECATED_MACRO_NAME OGRE_DEPRECATED + EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreExports.h) + +-target_include_directories(OgreMain PUBLIC +- "$" ++target_include_directories(OgreMain PUBLIC ++ "$" + "$" + $ + PRIVATE "${OGRE_PROFILING_REMOTERY_PATH}") + + # In visual studio 2010 - 64 bit we get this error: "LINK : fatal error LNK1210: exceeded internal ILK size limit; link with /INCREMENTAL:NO" + if(WIN32 AND MSVC10 AND CMAKE_CL_64) +- set_target_properties(OgreMain PROPERTIES ++ set_target_properties(OgreMain PROPERTIES + VERSION ${OGRE_SOVERSION} + LINK_FLAGS "/INCREMENTAL:NO" + ) +@@ -211,7 +211,7 @@ else() + endif() + + if(OGRE_GCC_VERSION VERSION_EQUAL 4.8 OR OGRE_GCC_VERSION VERSION_GREATER 4.8) +- if(CMAKE_SYSTEM_NAME STREQUAL "Android") ++ if(CMAKE_SYSTEM_NAME STREQUAL "Android") + list(APPEND LIBRARIES "atomic") + else() + list(APPEND LIBRARIES "-latomic") +@@ -226,8 +226,6 @@ if (APPLE) + LINK_FLAGS "-framework IOKit -framework Cocoa -framework Carbon -framework OpenGL -framework CoreVideo" + ) + +- set(OGRE_OSX_BUILD_CONFIGURATION "$(PLATFORM_NAME)/$(CONFIGURATION)") +- + if(OGRE_BUILD_LIBS_AS_FRAMEWORKS) + add_custom_command(TARGET OgreMain POST_BUILD + COMMAND mkdir ARGS -p ${PROJECT_BINARY_DIR}/lib/${OGRE_OSX_BUILD_CONFIGURATION}/Ogre.framework/Headers/Threading +diff --git a/PlugIns/EXRCodec/CMakeLists.txt b/PlugIns/EXRCodec/CMakeLists.txt +index e9c936a..a83d793 100644 +--- a/PlugIns/EXRCodec/CMakeLists.txt ++++ b/PlugIns/EXRCodec/CMakeLists.txt +@@ -13,14 +13,14 @@ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") + + add_library(Codec_EXR ${OGRE_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES}) + target_link_libraries(Codec_EXR OgreMain ${OPENEXR_LIBRARIES}) +-target_include_directories(Codec_EXR PUBLIC ++target_include_directories(Codec_EXR PUBLIC + "$" + $) +-target_include_directories(Codec_EXR SYSTEM PRIVATE "${OPENEXR_INCLUDE_DIR}/OpenEXR") ++target_include_directories(Codec_EXR SYSTEM PRIVATE "${OPENEXR_INCLUDE_DIR}") + + ogre_config_framework(Codec_EXR) + ogre_config_plugin(Codec_EXR) +-generate_export_header(Codec_EXR ++generate_export_header(Codec_EXR + EXPORT_MACRO_NAME _OgreEXRPluginExport + EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreEXRCodecExports.h) + install(FILES ${HEADER_FILES} DESTINATION include/OGRE/Plugins/EXRCodec) +diff --git a/RenderSystems/GL3Plus/CMakeLists.txt b/RenderSystems/GL3Plus/CMakeLists.txt +index ba55b43..66c2758 100644 +--- a/RenderSystems/GL3Plus/CMakeLists.txt ++++ b/RenderSystems/GL3Plus/CMakeLists.txt +@@ -21,12 +21,12 @@ set(HEADER_FILES ${HEADER_FILES} ${GLSL_HEADERS}) + add_definitions(${OGRE_VISIBILITY_FLAGS}) + + if(OGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT) +- set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/src/OgreGL3PlusStateCacheManager.cpp ++ set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/src/OgreGL3PlusStateCacheManager.cpp + PROPERTIES COMPILE_DEFINITIONS OGRE_ENABLE_STATE_CACHE) + endif() + add_library(RenderSystem_GL3Plus ${OGRE_LIB_TYPE} ${HEADER_FILES} ${GLSL_SOURCE} ${SOURCE_FILES}) + target_link_libraries(RenderSystem_GL3Plus OgreMain OgreGLSupport ${OPENGL_gl_LIBRARY} ${CMAKE_DL_LIBS}) +-target_include_directories(RenderSystem_GL3Plus PUBLIC ++target_include_directories(RenderSystem_GL3Plus PUBLIC + "$" + "$" + $ +@@ -44,4 +44,4 @@ ogre_config_plugin(RenderSystem_GL3Plus) + + install(FILES ${HEADER_FILES} ${GLSUPPORT_HEADERS} DESTINATION include/OGRE/RenderSystems/GL3Plus) + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/GL DESTINATION include/OGRE/RenderSystems/GL3Plus) +-install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/GLSL/ DESTINATION include/OGRE/RenderSystems/GL3Plus) ++install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/GLSL DESTINATION include/OGRE/RenderSystems/GL3Plus) diff --git a/ports/ompl/portfile.cmake b/ports/ompl/portfile.cmake index c8fdc99278..87af91de84 100644 --- a/ports/ompl/portfile.cmake +++ b/ports/ompl/portfile.cmake @@ -2,12 +2,11 @@ include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "OMPL's buildsystem uses very long paths and may fail on your system.\n" + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() - set(OMPL_VERSION 1.4.2) set(OMPL_DISTNAME "ompl") set(OMPL_CHECKSUM "1dc477ee471c0570fd94838b072105960e09186f29634e2f61d885153df36532ab40e30912b534c61f222c09dad63fc6097d324b53c265f9284f20c585d3095c") @@ -31,7 +30,7 @@ vcpkg_extract_source_archive_ex( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS -DOMPL_VERSIONED_INSTALL=OFF -DOMPL_REGISTRATION=OFF -DOMPL_BUILD_DEMOS=OFF diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL index dd4e017327..1c01d83631 100644 --- a/ports/openblas/CONTROL +++ b/ports/openblas/CONTROL @@ -1,4 +1,4 @@ Source: openblas -Version: 0.3.6-2 +Version: 0.3.6-4 Homepage: https://github.com/xianyi/OpenBLAS Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. diff --git a/ports/openblas/enable_underscore.patch b/ports/openblas/enable_underscore.patch new file mode 100644 index 0000000000..d2eb3ff22b --- /dev/null +++ b/ports/openblas/enable_underscore.patch @@ -0,0 +1,70 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9696961..47ef712 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,7 +29,7 @@ option(BUILD_RELAPACK "Build with ReLAPACK (recursive implementation of several + # 64 bit integer interfaces in OpenBLAS. + + set(SYMBOLPREFIX "" CACHE STRING "Add a prefix to all exported symbol names in the shared library to avoid conflicts with other BLAS libraries" ) +-set(SYMBOLSUFFIX "" CACHE STRING "Add a suffix to all exported symbol names in the shared library, e.g. _64 for INTERFACE64 builds" ) ++set(SYMBOLSUFFIX "_" CACHE STRING "Add a suffix to all exported symbol names in the shared library, e.g. _64 for INTERFACE64 builds" ) + ####### + if(BUILD_WITHOUT_LAPACK) + set(NO_LAPACK 1) +@@ -232,7 +232,7 @@ if (BUILD_SHARED_LIBS AND BUILD_RELAPACK) + endif() + endif() + +-if (BUILD_SHARED_LIBS AND NOT ${SYMBOLPREFIX}${SYMBOLSUFIX} STREQUAL "") ++if (NOT ${SYMBOLPREFIX}${SYMBOLSUFFIX} STREQUAL "") + if (NOT DEFINED ARCH) + set(ARCH_IN "x86_64") + else() +@@ -289,12 +289,14 @@ endif() + if (NOT ${SYMBOLSUFFIX} STREQUAL "") + message(STATUS "adding suffix ${SYMBOLSUFFIX} to names of exported symbols in ${OpenBLAS_LIBNAME}") + endif() ++if(BUILD_SHARED_LIBS) + add_custom_command(TARGET ${OpenBLAS_LIBNAME} POST_BUILD + COMMAND perl ${PROJECT_SOURCE_DIR}/exports/gensymbol "objcopy" "${ARCH}" "${BU}" "${EXPRECISION_IN}" "${NO_CBLAS_IN}" "${NO_LAPACK_IN}" "${NO_LAPACKE_IN}" "${NEED2UNDERSCORES_IN}" "${ONLY_CBLAS_IN}" \"${SYMBOLPREFIX}\" \"${SYMBOLSUFFIX}\" "${BUILD_LAPACK_DEPRECATED}" > ${PROJECT_BINARY_DIR}/objcopy.def + COMMAND objcopy -v --redefine-syms ${PROJECT_BINARY_DIR}/objcopy.def ${PROJECT_BINARY_DIR}/lib/lib${OpenBLAS_LIBNAME}.so + COMMENT "renaming symbols" + ) + endif() ++endif() + + + # Install project +@@ -385,4 +387,3 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PN}ConfigVersion.cmake + install(EXPORT "${PN}${SUFFIX64}Targets" + NAMESPACE "${PN}${SUFFIX64}::" + DESTINATION ${CMAKECONFIG_INSTALL_DIR}) +- +diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake +index 259ef16..936fbf7 100644 +--- a/cmake/prebuild.cmake ++++ b/cmake/prebuild.cmake +@@ -58,10 +58,8 @@ endif () + set(TARGET_CONF_TEMP "${PROJECT_BINARY_DIR}/${TARGET_CONF}.tmp") + + # c_check +-set(FU "") +-if (APPLE OR (MSVC AND NOT ${CMAKE_C_COMPILER_ID} MATCHES "Clang")) +- set(FU "_") +-endif() ++set(FU "") ++set(BU "") + + set(COMPILER_ID ${CMAKE_C_COMPILER_ID}) + if (${COMPILER_ID} STREQUAL "GNU") +@@ -75,7 +73,9 @@ file(WRITE ${TARGET_CONF_TEMP} + "#define ARCH_${UC_ARCH}\t1\n" + "#define C_${COMPILER_ID}\t1\n" + "#define __${BINARY}BIT__\t1\n" +- "#define FUNDERSCORE\t${FU}\n") ++ "#define FUNDERSCORE\t${FU}\n" ++ "#define BUNDERSCORE\t${BU}\n" ++ "//#define NEEDBUNDERSCORE 1\n") + + if (${HOST_OS} STREQUAL "WINDOWSSTORE") + file(APPEND ${TARGET_CONF_TEMP} diff --git a/ports/openblas/fix-space-path.patch b/ports/openblas/fix_space_path.patch similarity index 100% rename from ports/openblas/fix-space-path.patch rename to ports/openblas/fix_space_path.patch diff --git a/ports/openblas/openblas_common.h b/ports/openblas/openblas_common.h deleted file mode 100644 index 10b25d4c7c..0000000000 --- a/ports/openblas/openblas_common.h +++ /dev/null @@ -1,72 +0,0 @@ -#pragma once -#include "openblas_config.h" - -#if defined(OPENBLAS_OS_WINNT) || defined(OPENBLAS_OS_CYGWIN_NT) || defined(OPENBLAS_OS_INTERIX) -#define OPENBLAS_WINDOWS_ABI -#define OPENBLAS_OS_WINDOWS - -#ifdef DOUBLE -#define DOUBLE_DEFINED DOUBLE -#undef DOUBLE -#endif -#endif - -#ifdef NEEDBUNDERSCORE -#define BLASFUNC(FUNC) FUNC##_ -#else -#define BLASFUNC(FUNC) FUNC -#endif - - -#ifdef OPENBLAS_QUAD_PRECISION -typedef struct { - unsigned long x[2]; -} xdouble; -#elif defined OPENBLAS_EXPRECISION -#define xdouble long double -#else -#define xdouble double -#endif - -#if defined(OS_WINNT) && defined(__64BIT__) -typedef long long BLASLONG; -typedef unsigned long long BLASULONG; -#else -typedef long BLASLONG; -typedef unsigned long BLASULONG; -#endif - -#ifdef OPENBLAS_USE64BITINT -typedef BLASLONG blasint; -#else -typedef int blasint; -#endif - -#if defined(XDOUBLE) || defined(DOUBLE) -#define FLOATRET FLOAT -#else -#ifdef NEED_F2CCONV -#define FLOATRET double -#else -#define FLOATRET float -#endif -#endif - - -/* Inclusion of a standard header file is needed for definition of __STDC_* - predefined macros with some compilers (e.g. GCC 4.7 on Linux). This occurs - as a side effect of including either or . */ -#include -#define OPENBLAS_COMPLEX_STRUCT -typedef struct { float real, imag; } openblas_complex_float; -typedef struct { double real, imag; } openblas_complex_double; -typedef struct { xdouble real, imag; } openblas_complex_xdouble; -#define openblas_make_complex_float(real, imag) {(real), (imag)} -#define openblas_make_complex_double(real, imag) {(real), (imag)} -#define openblas_make_complex_xdouble(real, imag) {(real), (imag)} -#define openblas_complex_float_real(z) ((z).real) -#define openblas_complex_float_imag(z) ((z).imag) -#define openblas_complex_double_real(z) ((z).real) -#define openblas_complex_double_imag(z) ((z).imag) -#define openblas_complex_xdouble_real(z) ((z).real) -#define openblas_complex_xdouble_imag(z) ((z).imag) diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake index 1bd7b61574..45260c78a5 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -1,9 +1,26 @@ include(vcpkg_common_functions) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + message(WARNING "You do not need this package on macOS, since you already have the Accelerate Framework") + return() +endif() + if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") message(FATAL_ERROR "openblas can only be built for x64 currently") endif() +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(ADDITIONAL_PATCH "enable_underscore.patch") +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(NO_SHARED 1) +endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(NO_STATIC 1) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xianyi/OpenBLAS @@ -12,7 +29,8 @@ vcpkg_from_github( HEAD_REF develop PATCHES uwp.patch - fix-space-path.patch + fix_space_path.patch + ${ADDITIONAL_PATCH} ) find_program(GIT NAMES git git.cmd) @@ -26,8 +44,7 @@ vcpkg_find_acquire_program(PERL) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH};${SED_EXE_PATH}") -set(COMMON_OPTIONS - -DBUILD_WITHOUT_LAPACK=ON) +set(COMMON_OPTIONS -DBUILD_WITHOUT_LAPACK=ON) # for UWP version, must build non uwp first for helper # binaries. @@ -60,7 +77,7 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS + OPTIONS ${COMMON_OPTIONS} -DCMAKE_SYSTEM_PROCESSOR=AMD64 -DVS_WINRT_COMPONENT=TRUE @@ -76,28 +93,21 @@ else() SOURCE_PATH ${SOURCE_PATH} OPTIONS ${COMMON_OPTIONS} + -DTARGET=SANDYBRIDGE -DCMAKE_SYSTEM_PROCESSOR=AMD64 + -DBINARY=64 + -DNO_SHARED=${NO_SHARED} + -DNO_STATIC=${NO_STATIC} -DNOFORTRAN=ON) endif() vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/OpenBLAS TARGET_PATH share/openblas) -#maybe we need also to write a wrapper inside share/blas to search implicitly for openblas, whenever we feel it's ready for its own -config.cmake file - -# openblas do not make the config file , so I manually made this -# but I think in most case, libraries will not include these files, they define their own used function prototypes -# this is only to quite vcpkg -file(COPY ${CMAKE_CURRENT_LIST_DIR}/openblas_common.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) - -file(READ ${SOURCE_PATH}/cblas.h CBLAS_H) -string(REPLACE "#include \"common.h\"" "#include \"openblas_common.h\"" CBLAS_H "${CBLAS_H}") -file(WRITE ${CURRENT_PACKAGES_DIR}/include/cblas.h "${CBLAS_H}") - -# openblas is BSD -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openblas) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/openblas/LICENSE ${CURRENT_PACKAGES_DIR}/share/openblas/copyright) - +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/OpenBLAS) +#we install a cmake wrapper since the official FindBLAS thinks that OpenBLAS can solve also LAPACK libraries, while it cannot because we disabled it and we use CLAPACK... maybe we have to trigger finding one package when requesting the other and vice-versa. Wrappers should be ready also to avoid an infinite loop +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/blas) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openblas RENAME copyright) diff --git a/ports/openblas/vcpkg-cmake-wrapper.cmake b/ports/openblas/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000000..e0791bde87 --- /dev/null +++ b/ports/openblas/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,49 @@ +list(REMOVE_ITEM ARGS "BLAS") +list(REMOVE_ITEM ARGS "blas") +list(REMOVE_ITEM ARGS "Blas") +list(REMOVE_ITEM ARGS "NO_MODULE") +list(REMOVE_ITEM ARGS "CONFIG") +list(REMOVE_ITEM ARGS "MODULE") +if(NOT BLAS_LIBRARY OR BLAS_LIBRARIES OR OpenBLAS_LIBRARY OR OpenBLAS_LIBRARIES OR BLAS_LIB OR BLAS_LIBS) + include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) + include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) + + _find_package(OpenBLAS CONFIG ${ARGS}) + + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + _find_package(Threads) + + get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY INTERFACE_INCLUDE_DIRECTORIES) + set(BLAS_INCLUDE_DIR ${_loc}) + get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB_RELEASE) + if(NOT _loc) + get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY LOCATION_RELEASE) + endif() + set(BLAS_LIBRARY_RELEASE ${_loc}) + get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY IMPORTED_IMPLIB_DEBUG) + if(NOT _loc) + get_property(_loc TARGET OpenBLAS::OpenBLAS PROPERTY LOCATION_DEBUG) + endif() + set(BLAS_LIBRARY_DEBUG ${_loc}) + list(APPEND BLAS_LIBRARY_RELEASE Threads::Threads) + list(APPEND BLAS_LIBRARY_DEBUG Threads::Threads) + select_library_configurations(BLAS) + + set(BLAS_LIBRARY "${BLAS_LIBRARY}" CACHE STRING "" FORCE) + set(BLAS_LIBRARIES "${BLAS_LIBRARY}" CACHE STRING "" FORCE) + set(OpenBLAS_LIBRARY "${BLAS_LIBRARY}" CACHE STRING "" FORCE) + set(OpenBLAS_LIBRARIES "${BLAS_LIBRARY}" CACHE STRING "" FORCE) + set(BLAS_LIB "${BLAS_LIBRARY}" CACHE STRING "" FORCE) + set(BLAS_LIBS "${BLAS_LIBRARY}" CACHE STRING "" FORCE) + + set(BLAS_INCLUDE_DIR "${BLAS_INCLUDE_DIR}" CACHE STRING "" FORCE) + set(BLAS_INCLUDE_DIRS "${BLAS_INCLUDE_DIR}" CACHE STRING "" FORCE) + set(OpenBLAS_INCLUDE_DIR "${BLAS_INCLUDE_DIR}" CACHE STRING "" FORCE) + set(OpenBLAS_INCLUDE_DIRS "${BLAS_INCLUDE_DIR}" CACHE STRING "" FORCE) + set(BLAS_INC "${BLAS_INCLUDE_DIR}" CACHE STRING "" FORCE) + + find_package_handle_standard_args(BLAS DEFAULT_MSG BLAS_LIBRARY BLAS_INCLUDE_DIR) + mark_as_advanced(BLAS_INCLUDE_DIR BLAS_LIBRARY) + find_package_handle_standard_args(OpenBLAS DEFAULT_MSG OpenBLAS_LIBRARY OpenBLAS_INCLUDE_DIR) + mark_as_advanced(OpenBLAS_INCLUDE_DIR OpenBLAS_LIBRARY) +endif() diff --git a/ports/openexr/CONTROL b/ports/openexr/CONTROL index 8795b9dce9..5fc8b52d62 100644 --- a/ports/openexr/CONTROL +++ b/ports/openexr/CONTROL @@ -1,5 +1,5 @@ Source: openexr -Version: 2.3.0-3 +Version: 2.3.0-4 Homepage: https://www.openexr.com/ Description: OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications Build-Depends: zlib diff --git a/ports/openexr/FindOpenEXR.cmake b/ports/openexr/FindOpenEXR.cmake index a381c6db9a..4b5b280a07 100644 --- a/ports/openexr/FindOpenEXR.cmake +++ b/ports/openexr/FindOpenEXR.cmake @@ -54,9 +54,12 @@ if(NOT OpenEXR_IEXMATH_LIBRARY) endif() set(OPENEXR_HALF_LIBRARY "${OpenEXR_HALF_LIBRARY}") +set(OPENEXR_Half_LIBRARY "${OpenEXR_HALF_LIBRARY}") set(OPENEXR_IEX_LIBRARY "${OpenEXR_IEX_LIBRARY}") +set(OPENEXR_Iex_LIBRARY "${OpenEXR_IEX_LIBRARY}") set(OPENEXR_IMATH_LIBRARY "${OpenEXR_MATH_LIBRARY}") set(OPENEXR_ILMIMF_LIBRARY "${OpenEXR_BASE_LIBRARY}") +set(OPENEXR_IlmImf_LIBRARY "${OpenEXR_BASE_LIBRARY}") set(OPENEXR_ILMIMFUTIL_LIBRARY "${OpenEXR_UTIL_LIBRARY}") set(OPENEXR_ILMTHREAD_LIBRARY "${OpenEXR_THREAD_LIBRARY}") @@ -80,6 +83,10 @@ set(OPENEXR_LIBRARIES ${OPENEXR_ILMTHREAD_LIBRARY} ) +set(OpenEXR_INCLUDE_DIR ${OpenEXR_INCLUDE_DIRS}) +set(OPENEXR_INCLUDE_DIRS ${OpenEXR_INCLUDE_DIRS}) +set(OPENEXR_INCLUDE_DIR ${OPENEXR_INCLUDE_PATHS}) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR REQUIRED_VARS OpenEXR_LIBRARIES OpenEXR_INCLUDE_DIRS) if(OpenEXR_FOUND) diff --git a/ports/openexr/portfile.cmake b/ports/openexr/portfile.cmake index e3bfc95929..0cdd30b2e5 100644 --- a/ports/openexr/portfile.cmake +++ b/ports/openexr/portfile.cmake @@ -62,9 +62,6 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -set(OPENEXR_PORT_DIR "openexr") - -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}/copyright) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/openexr/vcpkg-cmake-wrapper.cmake b/ports/openexr/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000000..a977a420e8 --- /dev/null +++ b/ports/openexr/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(OPENEXR_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT OpenEXR_LIBRARIES OR OPENEXR_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${OPENEXR_PREV_MODULE_PATH}) diff --git a/ports/openmama/CONTROL b/ports/openmama/CONTROL index 899f47b931..fbfb815c35 100644 --- a/ports/openmama/CONTROL +++ b/ports/openmama/CONTROL @@ -1,5 +1,5 @@ Source: openmama -Version: 6.2.3 +Version: 6.2.3-1 Build-Depends: libevent, apr, qpid-proton Homepage: https://github.com/OpenMAMA/OpenMAMA Description: OpenMAMA is a high performance vendor neutral lightweight wrapper that provides a common API interface to different middleware and messaging solutions across a variety of platforms and languages. diff --git a/ports/openmvg/CONTROL b/ports/openmvg/CONTROL index 90c10f3cd1..b083516640 100644 --- a/ports/openmvg/CONTROL +++ b/ports/openmvg/CONTROL @@ -1,5 +1,5 @@ Source: openmvg -Version: 1.4-4 +Version: 1.4-5 Description: open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion. Build-Depends: coinutils, clp, osi, liblemon, flann, eigen3, ceres, cereal, libjpeg-turbo, tiff, libpng, zlib, suitesparse diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index 04a7e57ee4..a5dea72fa0 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -74,7 +74,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/openMVG/cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH share/openMVG/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/openmvs/CONTROL b/ports/openmvs/CONTROL index f4863e1754..6cbbe4119e 100644 --- a/ports/openmvs/CONTROL +++ b/ports/openmvs/CONTROL @@ -1,4 +1,4 @@ Source: openmvs -Version: 1.0 +Version: 1.0-1 Description: OpenMVS: open Multi-View Stereo reconstruction library Build-Depends: zlib, boost-iostreams, boost-program-options, boost-system, boost-serialization, eigen3, ceres, opencv, cgal[core], glew, glfw3, vcglib diff --git a/ports/openmvs/portfile.cmake b/ports/openmvs/portfile.cmake index 22945ab2e5..97f7893833 100644 --- a/ports/openmvs/portfile.cmake +++ b/ports/openmvs/portfile.cmake @@ -22,9 +22,9 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/openmvs) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/CMake/OpenMVS TARGET_PATH share/openmvs) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/CMake/OpenMVS) endif() #somehow the native CMAKE_EXECUTABLE_SUFFIX does not work, so here we emulate it diff --git a/ports/openni2/CONTROL b/ports/openni2/CONTROL index 3d13ea26bb..9dca0b47a6 100644 --- a/ports/openni2/CONTROL +++ b/ports/openni2/CONTROL @@ -1,5 +1,5 @@ Source: openni2 -Version: 2.2.0.33-8 +Version: 2.2.0.33-9 Build-Depends: kinectsdk1 Homepage: https://github.com/OpenNI/OpenNI2 Description: OpenNI is open source library for access to Natural Interaction (NI) devices such as RGB-D camera. diff --git a/ports/openni2/portfile.cmake b/ports/openni2/portfile.cmake index 8ef2514b34..d5be0e3d4b 100644 --- a/ports/openni2/portfile.cmake +++ b/ports/openni2/portfile.cmake @@ -46,7 +46,7 @@ endif() set(SOURCE_INCLUDE_PATH "${SOURCE_PATH}/Include") set(SOURCE_BIN_PATH_RELEASE "${SOURCE_PATH}/Bin/${PLATFORM}-Release") set(SOURCE_BIN_PATH_DEBUG "${SOURCE_PATH}/Bin/${PLATFORM}-Debug") -set(SOURCE_CONFIG_PATH "${SOURCE_PATH}/Config") +set(SOURCE_CONFIG_PATH ${SOURCE_PATH}/Config) set(SOURCE_THIRDPARTY_PATH "${SOURCE_PATH}/ThirdParty") file( diff --git a/ports/openssl-unix/portfile.cmake b/ports/openssl-unix/portfile.cmake index b0064cdf4a..03e358b4b7 100644 --- a/ports/openssl-unix/portfile.cmake +++ b/ports/openssl-unix/portfile.cmake @@ -1,8 +1,15 @@ +include(vcpkg_common_functions) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) message(FATAL_ERROR "This port is only for openssl on Unix-like systems") endif() -include(vcpkg_common_functions) +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") + message(WARNING "Can't build openssl if libressl is installed. Please remove libressl, and try install openssl again if you need it. Build will continue but there might be problems since libressl is only a subset of openssl") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + set(OPENSSL_VERSION 1.0.2q) vcpkg_find_acquire_program(PERL) diff --git a/ports/openssl-uwp/portfile.cmake b/ports/openssl-uwp/portfile.cmake index 8efd7bd203..239f98d2b4 100644 --- a/ports/openssl-uwp/portfile.cmake +++ b/ports/openssl-uwp/portfile.cmake @@ -1,11 +1,17 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "This portfile only supports UWP") endif() +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") + message(WARNING "Can't build openssl if libressl is installed. Please remove libressl, and try install openssl again if you need it. Build will continue but there might be problems since libressl is only a subset of openssl") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(UWP_PLATFORM "arm") elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") diff --git a/ports/openssl-windows/portfile.cmake b/ports/openssl-windows/portfile.cmake index b5e505a3dc..856e0979ed 100644 --- a/ports/openssl-windows/portfile.cmake +++ b/ports/openssl-windows/portfile.cmake @@ -1,8 +1,15 @@ +include(vcpkg_common_functions) + if(VCPKG_CMAKE_SYSTEM_NAME) message(FATAL_ERROR "This port is only for building openssl on Windows Desktop") endif() -include(vcpkg_common_functions) +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") + message(WARNING "Can't build openssl if libressl is installed. Please remove libressl, and try install openssl again if you need it. Build will continue but there might be problems since libressl is only a subset of openssl") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + set(OPENSSL_VERSION 1.0.2q) vcpkg_find_acquire_program(PERL) diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL index a398b409d0..b495ce0c3c 100644 --- a/ports/openssl/CONTROL +++ b/ports/openssl/CONTROL @@ -1,5 +1,5 @@ Source: openssl -Version: 0 +Version: 1 Homepage: https://www.openssl.org Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. Build-Depends: openssl-windows (windows), openssl-uwp (uwp), openssl-unix (!uwp&!windows) diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake index 3d55c367f5..4d25eff6bf 100644 --- a/ports/openssl/portfile.cmake +++ b/ports/openssl/portfile.cmake @@ -1,2 +1,4 @@ +include(vcpkg_common_functions) + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl/) diff --git a/ports/opentracing/CONTROL b/ports/opentracing/CONTROL index c533de1f8e..62f6dd3036 100644 --- a/ports/opentracing/CONTROL +++ b/ports/opentracing/CONTROL @@ -1,4 +1,4 @@ Source: opentracing -Version: 1.5.1 -Description: C++ implementation of the OpenTracing API +Version: 1.5.1-1 +Description: C++ implementation of the OpenTracing API Homepage: https://opentracing.io diff --git a/ports/opentracing/portfile.cmake b/ports/opentracing/portfile.cmake index cf82ddbf6d..595faf1cf6 100644 --- a/ports/opentracing/portfile.cmake +++ b/ports/opentracing/portfile.cmake @@ -5,9 +5,9 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set( LOCAL_OPTIONS - -DBUILD_STATIC_LIBS=OFF - ) + set( LOCAL_OPTIONS + -DBUILD_STATIC_LIBS=OFF + ) else() message("Static building is only possible when compiling static and dynamic versions at the same time. Enabling both.") set(VCPKG_LIBRARY_LINKAGE dynamic) @@ -23,37 +23,36 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - ${OPTIONS} - ${LOCAL_OPTIONS} + OPTIONS + ${OPTIONS} + ${LOCAL_OPTIONS} ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/OpenTracing") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/OpenTracing) vcpkg_copy_pdbs() # Move DLLs to /bin if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/bin/opentracing.dll) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/bin/opentracing.dll) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/debug/bin/opentracing.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/debug/bin/opentracing.dll) - # Fix targets - file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake RELEASE_CONFIG) - string(REPLACE "\${_IMPORT_PREFIX}/lib/opentracing.dll" - "\${_IMPORT_PREFIX}/bin/opentracing.dll" RELEASE_CONFIG ${RELEASE_CONFIG}) - file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake "${RELEASE_CONFIG}") + # Fix targets + file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake RELEASE_CONFIG) + string(REPLACE "\${_IMPORT_PREFIX}/lib/opentracing.dll" + "\${_IMPORT_PREFIX}/bin/opentracing.dll" RELEASE_CONFIG ${RELEASE_CONFIG}) + file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake "${RELEASE_CONFIG}") - file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake DEBUG_CONFIG) - string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/opentracing.dll" - "\${_IMPORT_PREFIX}/debug/bin/opentracing.dll" DEBUG_CONFIG ${DEBUG_CONFIG}) - file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake "${DEBUG_CONFIG}") - endif() + file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake DEBUG_CONFIG) + string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/opentracing.dll" + "\${_IMPORT_PREFIX}/debug/bin/opentracing.dll" DEBUG_CONFIG ${DEBUG_CONFIG}) + file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake "${DEBUG_CONFIG}") + endif() endif() # Handle copyright diff --git a/ports/opusfile/CMakeLists.txt b/ports/opusfile/CMakeLists.txt index c70ea98bc8..ecef1d01f8 100644 --- a/ports/opusfile/CMakeLists.txt +++ b/ports/opusfile/CMakeLists.txt @@ -1,7 +1,9 @@ cmake_minimum_required(VERSION 3.4) project(opusfile C) +if(MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4267 /wd4244 /wd4090") +endif() find_path(OGG_INCLUDE_DIR ogg/ogg.h) find_library(OGG_LIBRARY ogg) diff --git a/ports/opusfile/CONTROL b/ports/opusfile/CONTROL index 3e80d47771..0ba3167a67 100644 --- a/ports/opusfile/CONTROL +++ b/ports/opusfile/CONTROL @@ -1,5 +1,5 @@ Source: opusfile -Version: 0.11-2 +Version: 0.11-3 Homepage: https://github.com/xiph/opusfile Description: Stand-alone decoder library for .opus streams Build-Depends: libogg, opus diff --git a/ports/orocos-kdl/CONTROL b/ports/orocos-kdl/CONTROL index af590b4b31..983219ca0c 100644 --- a/ports/orocos-kdl/CONTROL +++ b/ports/orocos-kdl/CONTROL @@ -1,4 +1,4 @@ Source: orocos-kdl -Version: 1.4 +Version: 1.4-1 Description: Kinematics and Dynamics Library Build-Depends: eigen3 diff --git a/ports/orocos-kdl/portfile.cmake b/ports/orocos-kdl/portfile.cmake index 622a9da939..58e28a045b 100644 --- a/ports/orocos-kdl/portfile.cmake +++ b/ports/orocos-kdl/portfile.cmake @@ -30,14 +30,14 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/orocos_kdl/cmake" TARGET_PATH share/orocos_kdl) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/orocos_kdl/cmake TARGET_PATH share/orocos_kdl) -file(REMOVE_RECURSE +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/doc ${CURRENT_PACKAGES_DIR}/doc/liborocos-kdl) - + # Handle copyright diff --git a/ports/osi/CMakeLists.txt b/ports/osi/CMakeLists.txt index 1aa44d262a..0542339ebd 100644 --- a/ports/osi/CMakeLists.txt +++ b/ports/osi/CMakeLists.txt @@ -12,7 +12,7 @@ set(CMAKE_CXX_STANDARD 14) set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") +set(INSTALL_CMAKE_DIR "share/osi" CACHE PATH "Path where cmake configs will be installed") # Make relative paths absolute (needed later on) set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) diff --git a/ports/osi/CONTROL b/ports/osi/CONTROL index 01190fb21f..5f65e3cf2c 100644 --- a/ports/osi/CONTROL +++ b/ports/osi/CONTROL @@ -1,4 +1,4 @@ Source: osi -Version: 0.108.4-1 +Version: 0.108.4-2 Description: Osi (Open Solver Interface) provides an abstract base class to a generic linear programming (LP) solver, along with derived classes for specific solvers. Many applications may be able to use the Osi to insulate themselves from a specific LP solver. Build-Depends: coinutils diff --git a/ports/osi/portfile.cmake b/ports/osi/portfile.cmake index dc0dc78573..bb340eaca0 100644 --- a/ports/osi/portfile.cmake +++ b/ports/osi/portfile.cmake @@ -19,11 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase - vcpkg_fixup_cmake_targets(CONFIG_PATH "share/Osi") -else() - vcpkg_fixup_cmake_targets() -endif() +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/pangolin/CONTROL b/ports/pangolin/CONTROL index 77e836cb39..8963cc26bb 100644 --- a/ports/pangolin/CONTROL +++ b/ports/pangolin/CONTROL @@ -1,5 +1,5 @@ Source: pangolin -Version: 0.5-6 +Version: 0.5-7 Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg Homepage: https://github.com/stevenlovegrove/Pangolin Description: Lightweight GUI Library diff --git a/ports/pangolin/portfile.cmake b/ports/pangolin/portfile.cmake index ac4d316253..e22672ec00 100644 --- a/ports/pangolin/portfile.cmake +++ b/ports/pangolin/portfile.cmake @@ -29,7 +29,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Pangolin") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Pangolin) vcpkg_copy_pdbs() diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL index dcd8c7aadc..1a9852c8e9 100644 --- a/ports/pcl/CONTROL +++ b/ports/pcl/CONTROL @@ -1,5 +1,5 @@ Source: pcl -Version: 1.9.1-3 +Version: 1.9.1-4 Homepage: https://github.com/PointCloudLibrary/pcl Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing. Build-Depends: eigen3, flann, qhull, vtk, libpng, boost-system, boost-filesystem, boost-thread, boost-date-time, boost-iostreams, boost-random, boost-foreach, boost-dynamic-bitset, boost-property-map, boost-graph, boost-multi-array, boost-signals2, boost-ptr-container, boost-uuid, boost-interprocess, boost-asio @@ -22,4 +22,4 @@ Build-Depends: boost-accumulators Feature: cuda Description: CUDA support for PCL -Build-Depends: cuda \ No newline at end of file +Build-Depends: cuda diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake index 971abe0258..b30ceb0d8e 100644 --- a/ports/pcl/portfile.cmake +++ b/ports/pcl/portfile.cmake @@ -68,7 +68,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/pcl) +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/pdal/CONTROL b/ports/pdal/CONTROL index 743f77c8e9..7c465df4e1 100644 --- a/ports/pdal/CONTROL +++ b/ports/pdal/CONTROL @@ -1,4 +1,4 @@ Source: pdal -Version: 1.7.1-4 +Version: 1.7.1-5 Description: PDAL - Point Data Abstraction Library is a library for manipulating point cloud data. Build-Depends: gdal, geos, jsoncpp, libgeotiff, laszip diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake index 566fc08e4d..650849224f 100644 --- a/ports/pdal/portfile.cmake +++ b/ports/pdal/portfile.cmake @@ -27,26 +27,26 @@ file(REMOVE "${SOURCE_PATH}/pdal/gitsha.cpp") foreach(_module IN ITEMS FindGDAL FindGEOS FindGeoTIFF FindCurl) # Outdated; Supplied by CMake file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake") endforeach() -foreach(_module IN ITEMS FindGEOS) # Overwritten Modules. +foreach(_module IN ITEMS FindGEOS) # Overwritten Modules. file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake") file(COPY ${CMAKE_CURRENT_LIST_DIR}/${_module}.cmake DESTINATION ${SOURCE_PATH}/cmake/modules/ ) endforeach() -# NOTE: CMake native BUILD_SHARED_LIBS option will be set by vcpkg_configure_cmake -# TODO: Remove this as soon as PDAL switches to use BUILD_SHARED_LIBS if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(PDAL_BUILD_STATIC OFF) + set(VCPKG_BUILD_SHARED_LIBS ON) + set(VCPKG_BUILD_STATIC_LIBS OFF) else() - set(PDAL_BUILD_STATIC ON) + set(VCPKG_BUILD_SHARED_LIBS OFF) + set(VCPKG_BUILD_STATIC_LIBS ON) endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DPDAL_BUILD_STATIC:BOOL=${PDAL_BUILD_STATIC} + -DPDAL_BUILD_STATIC:BOOL=${VCPKG_BUILD_STATIC_LIBS} -DWITH_TESTS:BOOL=OFF -DWITH_COMPLETION:BOOL=OFF ) diff --git a/ports/poco/CONTROL b/ports/poco/CONTROL index 4503529c64..1e98ccc748 100644 --- a/ports/poco/CONTROL +++ b/ports/poco/CONTROL @@ -1,5 +1,5 @@ Source: poco -Version: 2.0.0-pre-1 +Version: 2.0.0-pre-2 Build-Depends: expat, libpq, pcre, sqlite3, zlib Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems. Homepage: https://github.com/pocoproject/poco diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake index 36a127489c..46d9a439cc 100644 --- a/ports/poco/portfile.cmake +++ b/ports/poco/portfile.cmake @@ -76,7 +76,7 @@ vcpkg_configure_cmake( -DPOCO_ENABLE_WSTRING=ON -DPOCO_ENABLE_FPENVIRONMENT=ON -DPOCO_ENABLE_CPPUNIT=ON - # + # -DMYSQL_INCLUDE_DIR=${MYSQL_INCLUDE_DIR} OPTIONS_RELEASE -DMYSQL_LIBRARY=${MYSQL_LIBRARY} @@ -144,9 +144,9 @@ endif() # if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") - vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/Poco") - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Poco") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Poco) endif() # remove unused files @@ -156,4 +156,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/poco) file(RENAME ${CURRENT_PACKAGES_DIR}/share/poco/LICENSE ${CURRENT_PACKAGES_DIR}/share/poco/copyright) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/proj4/CONTROL b/ports/proj4/CONTROL index d1aecc21f0..265b8173dd 100644 --- a/ports/proj4/CONTROL +++ b/ports/proj4/CONTROL @@ -1,4 +1,4 @@ Source: proj4 -Version: 4.9.3-1 +Version: 4.9.3-3 Homepage: https://download.osgeo.org/proj Description: PROJ.4 library for cartographic projections diff --git a/ports/proj4/portfile.cmake b/ports/proj4/portfile.cmake index 64974e4ba0..b34f04ac33 100644 --- a/ports/proj4/portfile.cmake +++ b/ports/proj4/portfile.cmake @@ -18,10 +18,16 @@ vcpkg_extract_source_archive_ex( 0003-CMake-configurable-cmake-config-install-location.patch ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS - -DBUILD_LIBPROJ_SHARED=${BUILD_SHARED_LIBS} + -DBUILD_LIBPROJ_SHARED=${VCPKG_BUILD_SHARED_LIBS} -DPROJ_LIB_SUBDIR=lib -DPROJ_INCLUDE_SUBDIR=include -DPROJ_DATA_SUBDIR=share/proj4 @@ -34,7 +40,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/proj4) +vcpkg_fixup_cmake_targets() # Rename library and adapt cmake configuration if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") diff --git a/ports/protobuf/CONTROL b/ports/protobuf/CONTROL index bce258d24b..0dc2aa6dc5 100644 --- a/ports/protobuf/CONTROL +++ b/ports/protobuf/CONTROL @@ -1,5 +1,5 @@ Source: protobuf -Version: 3.8.0 +Version: 3.8.0-1 Homepage: https://github.com/google/protobuf Description: Protocol Buffers - Google's data interchange format diff --git a/ports/protobuf/disable-lite.patch b/ports/protobuf/disable-lite.patch deleted file mode 100644 index 3a372e68fc..0000000000 --- a/ports/protobuf/disable-lite.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/cmake/install.cmake b/cmake/install.cmake -index 9b2ae93c..7c9670a3 100644 ---- a/cmake/install.cmake -+++ b/cmake/install.cmake -@@ -22,10 +22,12 @@ foreach(_library ${_protobuf_libraries}) - set_property(TARGET ${_library} - PROPERTY INSTALL_RPATH "@loader_path") - endif() -+ if(NOT "${_library}" STREQUAL "libprotobuf-lite") - install(TARGETS ${_library} EXPORT protobuf-targets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${_library} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library}) -+ endif() - endforeach() - - if (protobuf_BUILD_PROTOC_BINARIES) -@@ -40,7 +42,7 @@ if (protobuf_BUILD_PROTOC_BINARIES) - endif() - endif (protobuf_BUILD_PROTOC_BINARIES) - --install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc ${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - - file(STRINGS extract_includes.bat.in _extract_strings - REGEX "^copy") -@@ -121,12 +123,12 @@ configure_file(protobuf-options.cmake - # Allows the build directory to be used as a find directory. - - if (protobuf_BUILD_PROTOC_BINARIES) -- export(TARGETS libprotobuf-lite libprotobuf libprotoc protoc -+ export(TARGETS libprotobuf libprotoc protoc - NAMESPACE protobuf:: - FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake - ) - else (protobuf_BUILD_PROTOC_BINARIES) -- export(TARGETS libprotobuf-lite libprotobuf -+ export(TARGETS libprotobuf - NAMESPACE protobuf:: - FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake - ) diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake index 982345db1a..7c04158a83 100644 --- a/ports/protobuf/portfile.cmake +++ b/ports/protobuf/portfile.cmake @@ -8,7 +8,6 @@ vcpkg_from_github( HEAD_REF master PATCHES fix-uwp.patch - disable-lite.patch ) if(CMAKE_HOST_WIN32 AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x86") @@ -24,15 +23,15 @@ if(NOT protobuf_BUILD_PROTOC_BINARIES AND NOT EXISTS ${CURRENT_INSTALLED_DIR}/.. endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(protobuf_BUILD_SHARED_LIBS ON) + set(VCPKG_BUILD_SHARED_LIBS ON) else() - set(protobuf_BUILD_SHARED_LIBS OFF) + set(VCPKG_BUILD_SHARED_LIBS OFF) endif() -if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(protobuf_MSVC_STATIC_RUNTIME ON) +if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_STATIC_CRT OFF) else() - set(protobuf_MSVC_STATIC_RUNTIME OFF) + set(VCPKG_BUILD_STATIC_CRT ON) endif() if("zlib" IN_LIST FEATURES) @@ -45,8 +44,8 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/cmake PREFER_NINJA OPTIONS - -Dprotobuf_BUILD_SHARED_LIBS=${protobuf_BUILD_SHARED_LIBS} - -Dprotobuf_MSVC_STATIC_RUNTIME=${protobuf_MSVC_STATIC_RUNTIME} + -Dprotobuf_BUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS} + -Dprotobuf_MSVC_STATIC_RUNTIME=${VCPKG_BUILD_STATIC_CRT} -Dprotobuf_WITH_ZLIB=${protobuf_WITH_ZLIB} -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_INSTALL_CMAKEDIR:STRING=share/protobuf @@ -91,10 +90,10 @@ protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/share) if(CMAKE_HOST_WIN32) if(protobuf_BUILD_PROTOC_BINARIES) - file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/protobuf) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/protobuf) + file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) else() - file(COPY ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/protobuf DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(COPY ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/${PORT} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -107,22 +106,18 @@ if(CMAKE_HOST_WIN32) else() file(GLOB EXECUTABLES ${CURRENT_PACKAGES_DIR}/bin/protoc*) foreach(E IN LISTS EXECUTABLES) - file(INSTALL ${E} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/protobuf + file(INSTALL ${E} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ) endforeach() protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin) protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin) endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libprotobuf-lite.lib) - message(FATAL_ERROR "Expected to not build the lite runtime because it contains some of the same symbols as the full runtime.") -endif() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(READ ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h _contents) string(REPLACE "\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" "\#define PROTOBUF_USE_DLLS\n\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" _contents "${_contents}") file(WRITE ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h "${_contents}") endif() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/protobuf RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/pthreads/portfile.cmake b/ports/pthreads/portfile.cmake index 4debe0d26c..393fefddc7 100644 --- a/ports/pthreads/portfile.cmake +++ b/ports/pthreads/portfile.cmake @@ -1,14 +1,16 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + message(FATAL_ERROR "${PORT} does not currently support UWP platform nor ARM architectures") endif() -if(VCPKG_CMAKE_SYSTEM_NAME) + +if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(VCPKG_POLICY_EMPTY_PACKAGE enabled) return() endif() set(PTHREADS4W_VERSION "3.0.0") -include(vcpkg_common_functions) vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/pthreads4w/files/pthreads4w-code-v${PTHREADS4W_VERSION}.zip/download" FILENAME "pthreads4w-code-v${PTHREADS4W_VERSION}.zip" diff --git a/ports/pugixml/CONTROL b/ports/pugixml/CONTROL index 96adad3fb7..a68f438334 100644 --- a/ports/pugixml/CONTROL +++ b/ports/pugixml/CONTROL @@ -1,4 +1,4 @@ Source: pugixml -Version: 1.9-1 +Version: 1.9-2 Homepage: https://github.com/zeux/pugixml Description: C++ XML processing library diff --git a/ports/pugixml/portfile.cmake b/ports/pugixml/portfile.cmake index b0ec2cc582..62d0a4b74a 100644 --- a/ports/pugixml/portfile.cmake +++ b/ports/pugixml/portfile.cmake @@ -1,14 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# include(vcpkg_common_functions) vcpkg_from_github( @@ -20,14 +9,13 @@ vcpkg_from_github( ) vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH ${SOURCE_PATH} ) vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/pugixml") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/pugixml) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pugixml RENAME copyright) diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index 47d6ce2e78..6020376ba0 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -2,7 +2,7 @@ include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Qt5's buildsystem uses very long paths and may fail on your system.\n" + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() diff --git a/ports/qt5-modularscripts/qt_modular_library.cmake b/ports/qt5-modularscripts/qt_modular_library.cmake index 206c040028..61eea306b6 100644 --- a/ports/qt5-modularscripts/qt_modular_library.cmake +++ b/ports/qt5-modularscripts/qt_modular_library.cmake @@ -2,8 +2,8 @@ set(_qt5base_port_dir "${CMAKE_CURRENT_LIST_DIR}") function(qt_modular_fetch_library NAME HASH TARGET_SOURCE_PATH) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) - if(BUILDTREES_PATH_LENGTH GREATER 45) - message(WARNING "Qt5's buildsystem uses very long paths and may fail on your system.\n" + if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() @@ -110,7 +110,7 @@ function(qt_modular_build_library SOURCE_PATH) #Move release and debug dlls to the correct directory if(EXISTS ${CURRENT_PACKAGES_DIR}/tools/qt5) - file(RENAME ${CURRENT_PACKAGES_DIR}/tools/qt5 ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(RENAME ${CURRENT_PACKAGES_DIR}/tools/qt5 ${CURRENT_PACKAGES_DIR}/tools/${PORT}) endif() if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/tools/qt5 ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}) diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL index 32a1726ab4..4bf7106e7d 100644 --- a/ports/re2/CONTROL +++ b/ports/re2/CONTROL @@ -1,4 +1,4 @@ Source: re2 -Version: 2019-05-07 +Version: 2019-05-07-1 Homepage: https://github.com/google/re2 -Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. \ No newline at end of file +Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake index 3cb43876a8..ef2c9e842f 100644 --- a/ports/re2/portfile.cmake +++ b/ports/re2/portfile.cmake @@ -3,7 +3,7 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/re2 - REF cd23be77c716bf75ebb3ddc07fa3ef0c943da6d2 + REF cd23be77c716bf75ebb3ddc07fa3ef0c943da6d2 SHA512 c307fc9294497dc3b4ae95db117f310e0db8f91a90c32bb316fe7e32414b2ade48264471e7a7bb0860aa9b0afe7dd460dadc552b1173ac35235ad3624c6f2ed5 HEAD_REF master ) @@ -14,7 +14,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/re2 TARGET_PATH share/re2) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/re2) vcpkg_copy_pdbs() diff --git a/ports/restclient-cpp/CONTROL b/ports/restclient-cpp/CONTROL index 5cb43b1d42..975f5df7a7 100644 --- a/ports/restclient-cpp/CONTROL +++ b/ports/restclient-cpp/CONTROL @@ -1,4 +1,4 @@ Source: restclient-cpp -Version: 0.5.1 +Version: 0.5.1-1 Build-Depends: curl Description: Binn is a binary data serialization format designed to be compact, fast and easy to use. diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL index b608f12b5a..a7c81a55f8 100644 --- a/ports/restinio/CONTROL +++ b/ports/restinio/CONTROL @@ -1,4 +1,4 @@ -Source: restinio -Version: 0.5.1 -Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. -Build-Depends: asio, fmt, http-parser +Source: restinio +Version: 0.5.1-1 +Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. +Build-Depends: asio, fmt, http-parser diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake index 9ab82bc4a0..5ae3cc2e2a 100644 --- a/ports/restinio/portfile.cmake +++ b/ports/restinio/portfile.cmake @@ -13,8 +13,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/restinio") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/restinio) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/sdl2-image/CONTROL b/ports/sdl2-image/CONTROL index 388e08d5af..1c28b50f08 100644 --- a/ports/sdl2-image/CONTROL +++ b/ports/sdl2-image/CONTROL @@ -1,5 +1,5 @@ Source: sdl2-image -Version: 2.0.4-2 +Version: 2.0.4-3 Build-Depends: sdl2, libpng Homepage: https://www.libsdl.org/projects/SDL_image Description: SDL_image is an image file loading library. It loads images as SDL surfaces and textures, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, XV diff --git a/ports/sdl2-image/portfile.cmake b/ports/sdl2-image/portfile.cmake index 4d02e93f4b..a1e69af54f 100644 --- a/ports/sdl2-image/portfile.cmake +++ b/ports/sdl2-image/portfile.cmake @@ -11,7 +11,7 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} - REF ${SDL2_IMAGE_VERSION} + REF ${SDL2_IMAGE_VERSION} ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -43,12 +43,12 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/sdl2-image") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-image) file(RENAME ${CURRENT_PACKAGES_DIR}/share/sdl2-image/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/sdl2-image/copyright) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/sdl2-mixer/portfile.cmake b/ports/sdl2-mixer/portfile.cmake index 0b1b6dceaf..977062a19d 100644 --- a/ports/sdl2-mixer/portfile.cmake +++ b/ports/sdl2-mixer/portfile.cmake @@ -53,8 +53,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/sdl2-mixer") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-mixer) diff --git a/ports/sdl2-net/CONTROL b/ports/sdl2-net/CONTROL index 848691145e..9270c5a823 100644 --- a/ports/sdl2-net/CONTROL +++ b/ports/sdl2-net/CONTROL @@ -1,5 +1,5 @@ Source: sdl2-net -Version: 2.0.1-6 +Version: 2.0.1-7 Homepage: https://www.libsdl.org/projects/SDL_net Description: Networking library for SDL Build-Depends: sdl2 diff --git a/ports/sdl2-net/portfile.cmake b/ports/sdl2-net/portfile.cmake index 2a8928e164..b047be96b5 100644 --- a/ports/sdl2-net/portfile.cmake +++ b/ports/sdl2-net/portfile.cmake @@ -17,8 +17,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/sdl2-net") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-net) diff --git a/ports/sdl2-ttf/CONTROL b/ports/sdl2-ttf/CONTROL index 9154c52da4..34d12bafd5 100644 --- a/ports/sdl2-ttf/CONTROL +++ b/ports/sdl2-ttf/CONTROL @@ -1,5 +1,5 @@ Source: sdl2-ttf -Version: 2.0.15-2 +Version: 2.0.15-3 Homepage: https://www.libsdl.org/projects/SDL_ttf/ Description: A library for rendering TrueType fonts with SDL Build-Depends: sdl2, freetype diff --git a/ports/sdl2-ttf/portfile.cmake b/ports/sdl2-ttf/portfile.cmake index 55451dcf12..eb623e13ef 100644 --- a/ports/sdl2-ttf/portfile.cmake +++ b/ports/sdl2-ttf/portfile.cmake @@ -24,8 +24,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/sdl2-ttf") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-ttf) diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL index bfda1f10b2..d76db966f8 100644 --- a/ports/sdl2/CONTROL +++ b/ports/sdl2/CONTROL @@ -1,5 +1,5 @@ Source: sdl2 -Version: 2.0.9-3 +Version: 2.0.9-4 Homepage: https://github.com/SDL-Mirror/SDL 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. diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake index 4685605751..a2bc6363af 100644 --- a/ports/sdl2/portfile.cmake +++ b/ports/sdl2/portfile.cmake @@ -36,11 +36,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") - vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/SDL2") - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/SDL2") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SDL2) elseif(EXISTS "${CURRENT_PACKAGES_DIR}/SDL2.framework/Resources") - vcpkg_fixup_cmake_targets(CONFIG_PATH "SDL2.framework/Resources") + vcpkg_fixup_cmake_targets(CONFIG_PATH SDL2.framework/Resources) endif() file(REMOVE_RECURSE diff --git a/ports/selene/CONTROL b/ports/selene/CONTROL index ce266e859d..b3bbed2b6b 100644 --- a/ports/selene/CONTROL +++ b/ports/selene/CONTROL @@ -1,4 +1,4 @@ Source: selene -Version: 0.3.1 +Version: 0.3.1-1 Description: A C++17 image representation, processing and I/O library. Build-Depends: zlib, libpng, libjpeg-turbo, tiff diff --git a/ports/selene/portfile.cmake b/ports/selene/portfile.cmake index f45c84460c..11a2e89eb7 100644 --- a/ports/selene/portfile.cmake +++ b/ports/selene/portfile.cmake @@ -18,7 +18,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/selene") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/selene) vcpkg_copy_pdbs() # Include files should not be duplicated into the /debug/include directory. diff --git a/ports/sf2cute/CONTROL b/ports/sf2cute/CONTROL index 7d850c6940..bdba56cc70 100644 --- a/ports/sf2cute/CONTROL +++ b/ports/sf2cute/CONTROL @@ -1,6 +1,6 @@ Source: sf2cute -Version: 0.2.0 +Version: 0.2.0-1 Description: C++14 Library for SoundFont 2 Feature: example -Description: Installs an example application \ No newline at end of file +Description: Installs an example application diff --git a/ports/sf2cute/portfile.cmake b/ports/sf2cute/portfile.cmake index 5a99ca11b6..e462223964 100644 --- a/ports/sf2cute/portfile.cmake +++ b/ports/sf2cute/portfile.cmake @@ -26,12 +26,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# move the .cmake files from the given directory to the expected directory by vcpkg -vcpkg_fixup_cmake_targets(CONFIG_PATH share/sf2cute) - # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sf2cute RENAME copyright) diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL index 69b7968db8..e57f129feb 100644 --- a/ports/shogun/CONTROL +++ b/ports/shogun/CONTROL @@ -1,4 +1,4 @@ Source: shogun -Version: 6.1.3-4 +Version: 6.1.3-3 Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64&!osx), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent Description: Unified and efficient Machine Learning diff --git a/ports/shogun/portfile.cmake b/ports/shogun/portfile.cmake index 1f46e6ba75..37a7558940 100644 --- a/ports/shogun/portfile.cmake +++ b/ports/shogun/portfile.cmake @@ -2,6 +2,12 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 0) +else() + set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 1) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO shogun-toolbox/shogun @@ -16,12 +22,6 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/external) file(MAKE_DIRECTORY ${SOURCE_PATH}/cmake/external) file(COPY ${CMAKE_CURRENT_LIST_DIR}/MSDirent.cmake DESTINATION ${SOURCE_PATH}/cmake/external) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 0) -else() - set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 1) -endif() - vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) vcpkg_add_to_path(${PYTHON3_DIR}) @@ -36,9 +36,6 @@ vcpkg_configure_cmake( -DENABLE_TESTING=OFF -DLICENSE_GPL_SHOGUN=OFF -DLIBSHOGUN_BUILD_STATIC=ON - # Conflicting definitions in OpenBLAS and Eigen - -DENABLE_EIGEN_LAPACK=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_JSON=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_ViennaCL=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_TFLogger=TRUE @@ -53,13 +50,13 @@ vcpkg_configure_cmake( -DCMAKE_DISABLE_FIND_PACKAGE_CCache=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_LAPACK=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_CURL=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_BLAS=${CMAKE_DISABLE_FIND_PACKAGE_BLAS} -DINSTALL_TARGETS=shogun-static ) vcpkg_install_cmake() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/shogun) file(REMOVE_RECURSE diff --git a/ports/sndfile/CONTROL b/ports/sndfile/CONTROL index 8c020a5f90..fb01b64084 100644 --- a/ports/sndfile/CONTROL +++ b/ports/sndfile/CONTROL @@ -1,9 +1,9 @@ Source: sndfile -Version: deprecated -Description: Deprecated port, use libsndfile instead +Version: 0 +Description:x Library to read, write and manipulate many soundfile types. Build-Depends: libsndfile Default-Features: external-libs Feature: external-libs -Description: Deprecated port, use libsndfile[external-libs] instead +Description: Support Ogg Vorbis and FLAC audio files Build-Depends: libsndfile[external-libs] diff --git a/ports/sndfile/portfile.cmake b/ports/sndfile/portfile.cmake index 47fe8ca236..d3910bb2c4 100644 --- a/ports/sndfile/portfile.cmake +++ b/ports/sndfile/portfile.cmake @@ -1,3 +1,3 @@ set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -message(WARNING "The sndfile port is deprecated, use libsndfile instead") +message(WARNING "The sndfile port is deprecated, using libsndfile instead") diff --git a/ports/so5extra/CONTROL b/ports/so5extra/CONTROL index af3be50a05..882ac07126 100644 --- a/ports/so5extra/CONTROL +++ b/ports/so5extra/CONTROL @@ -1,4 +1,4 @@ Source: so5extra -Version: 1.2.3 +Version: 1.2.3-1 Description: A set of additional tools for SObjectizer framework. Build-Depends: sobjectizer diff --git a/ports/so5extra/portfile.cmake b/ports/so5extra/portfile.cmake index 4bd7e0787e..26472935e8 100644 --- a/ports/so5extra/portfile.cmake +++ b/ports/so5extra/portfile.cmake @@ -17,8 +17,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/so5extra") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/so5extra) # Remove unnecessary stuff. # These paths are empty and should be removed too. diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL index 12b0968d96..3e37f70e3e 100644 --- a/ports/sobjectizer/CONTROL +++ b/ports/sobjectizer/CONTROL @@ -1,4 +1,4 @@ Source: sobjectizer -Version: 5.5.24.4 +Version: 5.5.24.4-1 Homepage: https://sourceforge.net/projects/sobjectizer Description: SObjectizer is a C++ in-process message dispatching framework with implementation of Actor Model, Publish-Subscribe Model and CSP-like channels. diff --git a/ports/sobjectizer/portfile.cmake b/ports/sobjectizer/portfile.cmake index 659e1192a3..4588ea4f20 100644 --- a/ports/sobjectizer/portfile.cmake +++ b/ports/sobjectizer/portfile.cmake @@ -29,7 +29,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/sobjectizer") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sobjectizer) # Handle copyright file(COPY ${SOURCE_PATH}/../LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sobjectizer) diff --git a/ports/sophus/CONTROL b/ports/sophus/CONTROL index 91e97c90ba..d3c81de774 100644 --- a/ports/sophus/CONTROL +++ b/ports/sophus/CONTROL @@ -1,5 +1,5 @@ Source: sophus -Version: 1.0.0-3 +Version: 1.0.0-6 Build-Depends: eigen3, ceres, suitesparse Homepage: https://github.com/strasdat/Sophus Description: Lie group library for C++ diff --git a/ports/sophus/portfile.cmake b/ports/sophus/portfile.cmake index f33260c4d7..c7480b904a 100644 --- a/ports/sophus/portfile.cmake +++ b/ports/sophus/portfile.cmake @@ -16,7 +16,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Sophus") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Sophus) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/string-theory/CONTROL b/ports/string-theory/CONTROL index e1c0c8af0e..538b4a9895 100644 --- a/ports/string-theory/CONTROL +++ b/ports/string-theory/CONTROL @@ -1,4 +1,4 @@ Source: string-theory -Version: 2.1 +Version: 2.1-1 Homepage: https://github.com/zrax/string_theory Description: Flexible C++11 string library with type-safe formatting. diff --git a/ports/string-theory/portfile.cmake b/ports/string-theory/portfile.cmake index 3cfb24c922..002eae1b1e 100644 --- a/ports/string-theory/portfile.cmake +++ b/ports/string-theory/portfile.cmake @@ -22,8 +22,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/string_theory") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/string_theory) file(RENAME ${CURRENT_PACKAGES_DIR}/share/string-theory ${CURRENT_PACKAGES_DIR}/share/string_theory) diff --git a/ports/suitesparse/CONTROL b/ports/suitesparse/CONTROL index 352a28a6da..82ee5e5e0d 100644 --- a/ports/suitesparse/CONTROL +++ b/ports/suitesparse/CONTROL @@ -1,5 +1,5 @@ Source: suitesparse -Version: 5.4.0-1 +Version: 5.4.0-3 Build-Depends: clapack (!osx) Homepage: http://faculty.cse.tamu.edu/davis/SuiteSparse Description: algebra library diff --git a/ports/suitesparse/portfile.cmake b/ports/suitesparse/portfile.cmake index a527f88259..8fb2c26b2e 100644 --- a/ports/suitesparse/portfile.cmake +++ b/ports/suitesparse/portfile.cmake @@ -34,6 +34,10 @@ foreach(SOURCE_FILE ${SUITESPARSE_SOURCE_FILES}) file(COPY ${SOURCE_FILE} DESTINATION "${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse") endforeach() message(STATUS "Copying SuiteSparse source files... done") +message(STATUS "Removing integrated lapack and metis libs...") +file(REMOVE_RECURSE ${SUITESPARSEWIN_SOURCE_PATH}/lapack_windows) +file(REMOVE_RECURSE ${SUITESPARSEWIN_SOURCE_PATH}/metis) +message(STATUS "Removing integrated lapack and metis libs... done") set(USE_VCPKG_METIS OFF) if("metis" IN_LIST FEATURES) @@ -56,14 +60,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/suitesparse-${SUITESPARSE_VER}" TARGET_PATH "share/suitesparse") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/suitesparse-${SUITESPARSE_VER}) -#clean folders file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright of suitesparse and suitesparse-metis-for-windows -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/suitesparse/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/suitesparse/copyright) - -file(COPY ${SUITESPARSEWIN_SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/suitesparse/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/suitesparse/copyright_suitesparse-metis-for-windows) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse RENAME copyright) +file(INSTALL ${SUITESPARSEWIN_SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse RENAME copyright_suitesparse-metis-for-windows) diff --git a/ports/suitesparse/suitesparse.patch b/ports/suitesparse/suitesparse.patch index 3943556067..e26a5b8cbd 100644 --- a/ports/suitesparse/suitesparse.patch +++ b/ports/suitesparse/suitesparse.patch @@ -1,17 +1,82 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3486f05..98badb6 100644 +index 3486f05..b8c2e63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -252,7 +252,7 @@ if(SuiteSparse_LAPACK_BLAS_LIB_DIR) # "Export" the imported targets in config.cm - set_property(TARGET lapack PROPERTY IMPORTED_IMPLIB \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/liblapack.lib)") +@@ -191,68 +191,14 @@ if(WITH_CUDA) + ENDIF(${CUDA_FOUND}) endif() +-find_package(BLAS) +-find_package(LAPACK) +-if (LAPACK_FOUND AND BLAS_FOUND) ++find_package(BLAS REQUIRED) ++find_package(LAPACK REQUIRED) ++if(LAPACK_FOUND AND BLAS_FOUND) + message(STATUS "found lapack and blas config file. Linking targets lapack and blas") + set(SuiteSparse_LINKER_LAPACK_BLAS_LIBS ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) +-else () # LAPACK is not found +- +-## Need to use SuiteSparse_LINKER_LAPACK_BLAS_LIBS in our subproject in case of SHARED flag is set to ON +-SET(SUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS OFF CACHE BOOL "Check if you have custom LAPACK/BLAS libraries (AMD,...)") +-IF (SUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS) +- SET(SUITESPARSE_CUSTOM_BLAS_LIB "" CACHE FILE "Path to custom library file for BLAS") +- SET(SUITESPARSE_CUSTOM_LAPACK_LIB "" CACHE FILE "Path to custom library file for LAPACK") +- IF (NOT EXISTS "${SUITESPARSE_CUSTOM_BLAS_LIB}" OR NOT EXISTS "${SUITESPARSE_CUSTOM_LAPACK_LIB}") +- MESSAGE("*Error*: Correctly set SUITESPARSE_CUSTOM_BLAS_LIB and SUITESPARSE_CUSTOM_LAPACK_LIB or uncheck SUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS") +- ELSE() +- SET(SuiteSparse_LINKER_LAPACK_BLAS_LIBS ${SUITESPARSE_CUSTOM_BLAS_LIB} ${SUITESPARSE_CUSTOM_LAPACK_LIB}) +- ENDIF() +-ELSE() +- IF (UNIX) +- SET(SuiteSparse_LINKER_LAPACK_BLAS_LIBS lapack blas rt) +- ELSE() +- IF(CMAKE_SIZEOF_VOID_P EQUAL 8) # Size in bytes! +- set(PATH_WORD_SIZE "x64") +- ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8) # Size in bytes! +- set(PATH_WORD_SIZE "x32") +- ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8) +- +- add_library(blas SHARED IMPORTED) +- set_property(TARGET blas PROPERTY IMPORTED_LOCATION ${SuiteSparseProject_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/libblas.dll) +- set_property(TARGET blas PROPERTY IMPORTED_IMPLIB ${SuiteSparseProject_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/libblas.lib) +- +- add_library(lapack SHARED IMPORTED) +- set_property(TARGET lapack PROPERTY IMPORTED_LOCATION ${SuiteSparseProject_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/liblapack.dll) +- set_property(TARGET lapack PROPERTY IMPORTED_IMPLIB ${SuiteSparseProject_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/liblapack.lib) +- +- SET(SuiteSparse_LINKER_LAPACK_BLAS_LIBS blas lapack) +- +- ## install lapack and blas dependencies +- file(GLOB lapack_blas_windows_libs "${CMAKE_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/*.lib") +- file(GLOB lapack_blas_windows_dll "${CMAKE_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/*.dll") +- if(lapack_blas_windows_dll AND lapack_blas_windows_libs) +- set(SuiteSparse_LAPACK_BLAS_LIB_DIR "lib${LIB_POSTFIX}/lapack_blas_windows") +- install(FILES ${lapack_blas_windows_libs} +- ${lapack_blas_windows_dll} +- DESTINATION ${SuiteSparse_LAPACK_BLAS_LIB_DIR} +- ) +- endif() +- ENDIF() +-ENDIF() +-ENDIF() # LAPACK found +- +-if(SuiteSparse_LAPACK_BLAS_LIB_DIR) # "Export" the imported targets in config.cmake manually +- set(ExternConfig "add_library(blas SHARED IMPORTED) +- set_property(TARGET blas PROPERTY IMPORTED_LOCATION \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/libblas.dll) +- set_property(TARGET blas PROPERTY IMPORTED_IMPLIB \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/libblas.lib) +- +- add_library(lapack SHARED IMPORTED) +- set_property(TARGET lapack PROPERTY IMPORTED_LOCATION \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/liblapack.dll) +- set_property(TARGET lapack PROPERTY IMPORTED_IMPLIB \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/liblapack.lib)") +-endif() ++endif() # LAPACK is not found + -IF(BUILD_METIS) +IF(BUILD_METIS OR USE_VCPKG_METIS) set(SuiteSparse_LINKER_METIS_LIBS "metis") ## namespaced library target for config set(SuiteSparse_EXPORTED_METIS_LIBS "SuiteSparse::metis") -@@ -311,7 +311,7 @@ configure_file(cmake/SuiteSparse-config-install.cmake.in +@@ -311,7 +257,7 @@ configure_file(cmake/SuiteSparse-config-install.cmake.in ## do the EXPORT for allowing other project to easily use suitesparse with cmake install(EXPORT SuiteSparseTargets FILE @@ -20,6 +85,18 @@ index 3486f05..98badb6 100644 NAMESPACE SuiteSparse:: DESTINATION +diff --git a/SuiteSparse/CHOLMOD/Include/cholmod_blas.h b/SuiteSparse/CHOLMOD/Include/cholmod_blas.h +index aef3e63..907512b 100644 +--- a/SuiteSparse/CHOLMOD/Include/cholmod_blas.h ++++ b/SuiteSparse/CHOLMOD/Include/cholmod_blas.h +@@ -27,6 +27,7 @@ + #elif defined (__linux) || defined (MGLNX86) || defined (ARCH_GLNX86) + #define CHOLMOD_LINUX + #define CHOLMOD_ARCHITECTURE "Linux" ++#define BLAS_NO_UNDERSCORE + + #elif defined (__APPLE__) + #define CHOLMOD_MAC diff --git a/SuiteSparse/CMakeLists.txt b/SuiteSparse/CMakeLists.txt index c6e2834..5ef08a6 100644 --- a/SuiteSparse/CMakeLists.txt diff --git a/ports/systemc/CONTROL b/ports/systemc/CONTROL index 488a063387..4f1bd67d99 100644 --- a/ports/systemc/CONTROL +++ b/ports/systemc/CONTROL @@ -1,3 +1,3 @@ Source: systemc -Version: 2.3.3-2 +Version: 2.3.3-3 Description: A set of C++ classes and macros which provide an event-driven simulation kernel in C++ diff --git a/ports/systemc/install.patch b/ports/systemc/install.patch index d335a8b180..ef133a14fc 100644 --- a/ports/systemc/install.patch +++ b/ports/systemc/install.patch @@ -1,23 +1,31 @@ ---- CMakeLists.txt Sat Oct 13 00:19:07 2018 -+++ CMakeLists.txt.fixed Mon Jan 28 15:51:38 2019 -@@ -555,7 +555,7 @@ - endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - - # Set the installation paths for headers, libraries, and documentation. --set (CMAKE_INSTALL_DOCDIR "share/doc/systemc" CACHE PATH -+set (CMAKE_INSTALL_DOCDIR "share/systemc" CACHE PATH - "Documentation installation directory") # otherwise mixed-case - if (INSTALL_TO_LIB_BUILD_TYPE_DIR) - # Install libraries to lib-${CMAKE_BUILD_TYPE} so that different build variants -@@ -589,9 +589,9 @@ - set (SystemCTLM_INSTALL_CMAKEDIR share/cmake/SystemCTLM CACHE PATH - "CMake package configuration installation directory" FORCE) - else (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) -- set (SystemCLanguage_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCLanguage CACHE PATH -+ set (SystemCLanguage_INSTALL_CMAKEDIR share/SystemCLanguage CACHE PATH - "CMake package configuration installation directory for the SystemCLanguage package.") -- set (SystemCTLM_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCTLM CACHE PATH -+ set (SystemCTLM_INSTALL_CMAKEDIR share/SystemCTLM CACHE PATH - "CMake package configuration installation directory for the SystemCTLM package.") - endif (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) - mark_as_advanced(SystemCLanguage_INSTALL_CMAKEDIR SystemCTLM_INSTALL_CMAKEDIR) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b7815ae..86d79d1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -555,7 +555,7 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + + # Set the installation paths for headers, libraries, and documentation. +-set (CMAKE_INSTALL_DOCDIR "share/doc/systemc" CACHE PATH ++set (CMAKE_INSTALL_DOCDIR "share/systemc/doc" CACHE PATH + "Documentation installation directory") # otherwise mixed-case + if (INSTALL_TO_LIB_BUILD_TYPE_DIR) + # Install libraries to lib-${CMAKE_BUILD_TYPE} so that different build variants +@@ -584,14 +584,14 @@ if (INSTALL_LIB_TARGET_ARCH_SYMLINK AND CMAKE_HOST_UNIX) + endif (INSTALL_LIB_TARGET_ARCH_SYMLINK AND CMAKE_HOST_UNIX) + + if (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) +- set (SystemCLanguage_INSTALL_CMAKEDIR share/cmake/SystemCLanguage CACHE PATH ++ set (SystemCLanguage_INSTALL_CMAKEDIR lib/cmake/SystemCLanguage CACHE PATH + "CMake package configuration installation directory" FORCE) + set (SystemCTLM_INSTALL_CMAKEDIR share/cmake/SystemCTLM CACHE PATH + "CMake package configuration installation directory" FORCE) + else (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) +- set (SystemCLanguage_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCLanguage CACHE PATH ++ set (SystemCLanguage_INSTALL_CMAKEDIR lib/cmake/SystemCLanguage CACHE PATH + "CMake package configuration installation directory for the SystemCLanguage package.") +- set (SystemCTLM_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCTLM CACHE PATH ++ set (SystemCTLM_INSTALL_CMAKEDIR share/cmake/SystemCTLM CACHE PATH + "CMake package configuration installation directory for the SystemCTLM package.") + endif (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) + mark_as_advanced(SystemCLanguage_INSTALL_CMAKEDIR SystemCTLM_INSTALL_CMAKEDIR) diff --git a/ports/systemc/portfile.cmake b/ports/systemc/portfile.cmake index 0165b8270a..8ecb7e8fb8 100644 --- a/ports/systemc/portfile.cmake +++ b/ports/systemc/portfile.cmake @@ -26,16 +26,11 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SystemCLanguage TARGET_PATH share/systemclanguage) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/SystemCTLM TARGET_PATH share/systemctlm) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/SystemCLanguage TARGET_PATH share/SystemCLanguage) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/SystemCTLM TARGET_PATH share/SystemCTLM) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/NOTICE DESTINATION ${CURRENT_PACKAGES_DIR}/share/systemc RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/sysc/packages/qt/time) -# Post-build test for cmake libraries (disabled for now due to issues with vcpkg_test_cmake) -#vcpkg_test_cmake(PACKAGE_NAME SystemCLanguage) -#vcpkg_test_cmake(PACKAGE_NAME SystemCTLM) +file(INSTALL ${SOURCE_PATH}/NOTICE DESTINATION ${CURRENT_PACKAGES_DIR}/share/systemc RENAME copyright) diff --git a/ports/szip/CONTROL b/ports/szip/CONTROL index a2ea5f275b..ac60f1a9d0 100644 --- a/ports/szip/CONTROL +++ b/ports/szip/CONTROL @@ -1,4 +1,4 @@ Source: szip -Version: 2.1.1-3 +Version: 2.1.1-4 Homepage: https://support.hdfgroup.org/ftp/lib-external/szip Description: Szip compression software, providing lossless compression of scientific data diff --git a/ports/szip/portfile.cmake b/ports/szip/portfile.cmake index fa10d58a26..047abf3924 100644 --- a/ports/szip/portfile.cmake +++ b/ports/szip/portfile.cmake @@ -24,8 +24,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/szip) +vcpkg_fixup_cmake_targets() file(RENAME ${CURRENT_PACKAGES_DIR}/share/szip/data/COPYING ${CURRENT_PACKAGES_DIR}/share/szip/copyright) diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL index 85e76cc035..df6e60fec7 100644 --- a/ports/tesseract/CONTROL +++ b/ports/tesseract/CONTROL @@ -1,5 +1,5 @@ Source: tesseract -Version: 4.0.0-2 +Version: 4.0.0-3 Homepage: https://github.com/tesseract-ocr/tesseract Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. Build-Depends: leptonica, icu diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake index d21908b191..18b63cab68 100644 --- a/ports/tesseract/portfile.cmake +++ b/ports/tesseract/portfile.cmake @@ -27,7 +27,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) # Install tool file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/tesseract) diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index 47a85dfa5a..c3f2f83c98 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -2,4 +2,4 @@ Source: thrift Version: 2019-05-07-1 Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit Homepage: https://github.com/apache/thrift -Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010. +Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake index efd76472b4..c19b38c312 100644 --- a/ports/thrift/portfile.cmake +++ b/ports/thrift/portfile.cmake @@ -17,7 +17,6 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_SHARED_LIBS=OFF -DWITH_STDTHREADS=ON -DBUILD_TESTING=off -DBUILD_JAVA=off @@ -36,7 +35,7 @@ vcpkg_install_cmake() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/thrift RENAME copyright) # Move CMake config files to the right place -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/thrift") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/thrift) file(GLOB COMPILER "${CURRENT_PACKAGES_DIR}/bin/thrift*") if(COMPILER) diff --git a/ports/tinyexif/CONTROL b/ports/tinyexif/CONTROL index 861520321b..24350d8be9 100644 --- a/ports/tinyexif/CONTROL +++ b/ports/tinyexif/CONTROL @@ -1,5 +1,5 @@ Source: tinyexif -Version: 1.0.2-4 +Version: 1.0.2-5 Build-Depends: tinyxml2 Homepage: https://github.com/cdcseacave/TinyEXIF Description: tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG images diff --git a/ports/tinyexif/portfile.cmake b/ports/tinyexif/portfile.cmake index 5a10d422fd..b6e4893844 100644 --- a/ports/tinyexif/portfile.cmake +++ b/ports/tinyexif/portfile.cmake @@ -20,7 +20,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tinyexif") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/tinyexif) vcpkg_copy_pdbs() diff --git a/ports/tinyobjloader/CONTROL b/ports/tinyobjloader/CONTROL index f80f52f962..4dc5eebb27 100644 --- a/ports/tinyobjloader/CONTROL +++ b/ports/tinyobjloader/CONTROL @@ -1,3 +1,3 @@ Source: tinyobjloader -Version: 1.0.7 +Version: 1.0.7-1 Description: Tiny but powerful single file wavefront obj loader diff --git a/ports/tinyobjloader/portfile.cmake b/ports/tinyobjloader/portfile.cmake index b33a2dd749..7b8741d346 100644 --- a/ports/tinyobjloader/portfile.cmake +++ b/ports/tinyobjloader/portfile.cmake @@ -19,7 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/tinyobjloader/cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/tinyobjloader/cmake) file( REMOVE_RECURSE diff --git a/ports/tinyxml2/CONTROL b/ports/tinyxml2/CONTROL index f3b7655e98..5a33ae078a 100644 --- a/ports/tinyxml2/CONTROL +++ b/ports/tinyxml2/CONTROL @@ -1,4 +1,5 @@ Source: tinyxml2 -Version: 7.0.1 +Version: 7.0.1-1 Homepage: https://github.com/leethomason/tinyxml2 Description: A simple, small, efficient, C++ XML parser + diff --git a/ports/tinyxml2/portfile.cmake b/ports/tinyxml2/portfile.cmake index d1e7d4ce64..7d4ceaff1e 100644 --- a/ports/tinyxml2/portfile.cmake +++ b/ports/tinyxml2/portfile.cmake @@ -14,7 +14,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tinyxml2") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/tinyxml2) vcpkg_copy_pdbs() diff --git a/ports/tmx/CONTROL b/ports/tmx/CONTROL index 9079cb85ef..6f55421cca 100644 --- a/ports/tmx/CONTROL +++ b/ports/tmx/CONTROL @@ -1,4 +1,4 @@ Source: tmx -Version: 1.0.0 +Version: 1.0.0-1 Description: A portable C library to load tiled maps in your games. Build-Depends: zlib, libxml2 diff --git a/ports/tmx/portfile.cmake b/ports/tmx/portfile.cmake index b3f70f4d19..4faec9b9d1 100644 --- a/ports/tmx/portfile.cmake +++ b/ports/tmx/portfile.cmake @@ -17,7 +17,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxExports.cmake ${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxTargets.cmake) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tmx") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/tmx) file(RENAME ${CURRENT_PACKAGES_DIR}/share/tmx/tmxTargets.cmake ${CURRENT_PACKAGES_DIR}/share/tmx/tmxExports.cmake) file(REMOVE_RECURSE diff --git a/ports/treehopper/CONTROL b/ports/treehopper/CONTROL index 673e0cb7ca..f50e84f1b7 100644 --- a/ports/treehopper/CONTROL +++ b/ports/treehopper/CONTROL @@ -1,4 +1,5 @@ Source: treehopper -Version: 1.11.3-2 +Version: 1.11.3-3 Description: Treehopper connects the physical world to your computer, tablet, or smartphone. Homepage: https://treehopper.io +Build-Depends: libusb diff --git a/ports/treehopper/portfile.cmake b/ports/treehopper/portfile.cmake index 68cf07bb92..46ed0d85e3 100644 --- a/ports/treehopper/portfile.cmake +++ b/ports/treehopper/portfile.cmake @@ -16,8 +16,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/treehopper) +vcpkg_fixup_cmake_targets() file(INSTALL ${SOURCE_PATH}/C++/API/inc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/Treehopper/) diff --git a/ports/trompeloeil/CONTROL b/ports/trompeloeil/CONTROL index b00d5f8aa6..135a473f33 100644 --- a/ports/trompeloeil/CONTROL +++ b/ports/trompeloeil/CONTROL @@ -1,4 +1,4 @@ Source: trompeloeil -Version: 34 +Version: 34-1 Description: A thread-safe header-only mocking framework for C++11/14 using the Boost Software License 1.0 Homepage: https://github.com/rollbear/trompeloeil diff --git a/ports/trompeloeil/portfile.cmake b/ports/trompeloeil/portfile.cmake index db8367d225..03385928f3 100644 --- a/ports/trompeloeil/portfile.cmake +++ b/ports/trompeloeil/portfile.cmake @@ -18,7 +18,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/trompeloeil TARGET_PATH share/trompeloeil) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/trompeloeil) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) diff --git a/ports/urdfdom-headers/CONTROL b/ports/urdfdom-headers/CONTROL index 3d005dd601..d2399647f5 100644 --- a/ports/urdfdom-headers/CONTROL +++ b/ports/urdfdom-headers/CONTROL @@ -1,4 +1,4 @@ Source: urdfdom-headers -Version: 1.0.4 +Version: 1.0.4-1 Homepage: https://github.com/ros/urdfdom_headers Description: The URDF (U-Robot Description Format) headers provides core data structure headers for URDF. diff --git a/ports/urdfdom-headers/portfile.cmake b/ports/urdfdom-headers/portfile.cmake index 8670716f3d..5f7430f767 100644 --- a/ports/urdfdom-headers/portfile.cmake +++ b/ports/urdfdom-headers/portfile.cmake @@ -16,9 +16,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake" TARGET_PATH share/urdfdom_headers) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/urdfdom_headers) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/urdfdom_headers/cmake" TARGET_PATH share/urdfdom_headers) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/urdfdom_headers/cmake TARGET_PATH share/urdfdom_headers) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/urdfdom_headers) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/urdfdom_headers) endif() diff --git a/ports/urdfdom/CONTROL b/ports/urdfdom/CONTROL index 0d81ec662f..7420aaca63 100644 --- a/ports/urdfdom/CONTROL +++ b/ports/urdfdom/CONTROL @@ -1,5 +1,5 @@ Source: urdfdom -Version: 1.0.3 +Version: 1.0.3-1 Homepage: https://github.com/ros/urdfdom Description: Provides core data structures and a simple XML parsers for populating the class data structures from an URDF file. Build-Depends: console-bridge, tinyxml, urdfdom-headers diff --git a/ports/urdfdom/portfile.cmake b/ports/urdfdom/portfile.cmake index f10c6cc47e..cf5b3220b2 100644 --- a/ports/urdfdom/portfile.cmake +++ b/ports/urdfdom/portfile.cmake @@ -26,9 +26,9 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake" TARGET_PATH share/urdfdom) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/urdfdom/cmake" TARGET_PATH share/urdfdom) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/urdfdom/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/urdfdom) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/urdfdom) endif() diff --git a/ports/usd/CONTROL b/ports/usd/CONTROL index 58a564ad7f..e04784de4d 100644 --- a/ports/usd/CONTROL +++ b/ports/usd/CONTROL @@ -1,4 +1,4 @@ Source: usd -Version: 0.8.4 +Version: 0.8.4-1 Build-Depends: boost-assign, boost-crc, boost-date-time, boost-filesystem, boost-format, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-vmd, tbb, zlib Description: Universal Scene Description (USD) is an efficient, scalable system for authoring, reading, and streaming time-sampled scene description for interchange between graphics applications. diff --git a/ports/usd/portfile.cmake b/ports/usd/portfile.cmake index a648e334a8..cada7b4e1f 100644 --- a/ports/usd/portfile.cmake +++ b/ports/usd/portfile.cmake @@ -35,7 +35,7 @@ file( "${CURRENT_PACKAGES_DIR}/pxrConfig.cmake" "${CURRENT_PACKAGES_DIR}/cmake/pxrConfig.cmake") -vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) vcpkg_copy_pdbs() diff --git a/ports/uvw/CONTROL b/ports/uvw/CONTROL index 0db70d0868..a3507632b3 100644 --- a/ports/uvw/CONTROL +++ b/ports/uvw/CONTROL @@ -1,5 +1,5 @@ Source: uvw -Version: 1.17.0_libuv-v1.29 +Version: 1.17.0_libuv-v1.29-1 Description: Header-only, event based, tiny and easy to use libuv wrapper in modern C++. Homepage: https://github.com/skypjack/uvw Build-Depends: libuv diff --git a/ports/uvw/portfile.cmake b/ports/uvw/portfile.cmake index 27fcea15ae..ba640b597a 100644 --- a/ports/uvw/portfile.cmake +++ b/ports/uvw/portfile.cmake @@ -13,13 +13,11 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/uvw") -file(INSTALL - ${CMAKE_CURRENT_LIST_DIR}/uvw-config.cmake - DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvw/ -) +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/uvw-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvw/) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright/readme/package files diff --git a/ports/visit-struct/CONTROL b/ports/visit-struct/CONTROL index 98ad6e2e99..bf895349dc 100644 --- a/ports/visit-struct/CONTROL +++ b/ports/visit-struct/CONTROL @@ -1,3 +1,3 @@ Source: visit-struct -Version: 1.0 +Version: 1.0-1 Description: A header-only library providing structure visitors for C++11 and C++14 diff --git a/ports/visit-struct/portfile.cmake b/ports/visit-struct/portfile.cmake index e3daf0c474..8a87471c5d 100644 --- a/ports/visit-struct/portfile.cmake +++ b/ports/visit-struct/portfile.cmake @@ -16,11 +16,8 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/visit_struct TARGET_PATH share/visit_struct) -vcpkg_fixup_cmake_targets( - CONFIG_PATH share/visit_struct - TARGET_PATH TARGET_PATH share/visit_struct -) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) file(INSTALL ${SOURCE_PATH}/LICENSE diff --git a/ports/wangle/CONTROL b/ports/wangle/CONTROL index 6484356ba5..2597d8afde 100644 --- a/ports/wangle/CONTROL +++ b/ports/wangle/CONTROL @@ -1,4 +1,4 @@ Source: wangle -Version: 2019.05.20.00 +Version: 2019.05.20.00-1 Build-Depends: fizz, folly, openssl, glog, libevent, double-conversion, boost-system, boost-thread, boost-filesystem, boost-regex, boost-context Description: Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way. diff --git a/ports/wangle/portfile.cmake b/ports/wangle/portfile.cmake index 44dc8f9f35..2ae73025a2 100644 --- a/ports/wangle/portfile.cmake +++ b/ports/wangle/portfile.cmake @@ -5,7 +5,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/wangle - REF 19300a75c27759339c44cf06ecedf7ab00703e8b + REF 19300a75c27759339c44cf06ecedf7ab00703e8b SHA512 cc9a5a956862e9d4321df7c0394fbb877c5f0b0f8eae1da6aad88239a2cc0b4cd694bd25e0f70f3da8a24c34f4f035bcfb53919fd99634219e0816c78477cee2 HEAD_REF master PATCHES @@ -24,7 +24,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/wangle") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/wangle) file(READ ${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake _contents) STRING(REPLACE "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/\$<\$:debug/>lib/" _contents "${_contents}") @@ -33,7 +33,7 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake "${_content vcpkg_copy_pdbs() -file(REMOVE_RECURSE +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/wangle/util/test ${CURRENT_PACKAGES_DIR}/include/wangle/ssl/test/certs diff --git a/ports/wt/portfile.cmake b/ports/wt/portfile.cmake index 8fb8af205a..bc39a7a642 100644 --- a/ports/wt/portfile.cmake +++ b/ports/wt/portfile.cmake @@ -41,9 +41,9 @@ vcpkg_configure_cmake( -DCMAKE_INSTALL_DIR=share ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/wt) +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() # There is no way to suppress installation of the headers and resource files in debug build. file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/xalan-c/portfile.cmake b/ports/xalan-c/portfile.cmake index afd1b38bce..52e8b34fa7 100644 --- a/ports/xalan-c/portfile.cmake +++ b/ports/xalan-c/portfile.cmake @@ -2,7 +2,7 @@ include(vcpkg_common_functions) string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Xalan-c's buildsystem uses very long paths and may fail on your system.\n" + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." ) endif() diff --git a/ports/z3/CONTROL b/ports/z3/CONTROL index 861c3eab42..5a806da95b 100644 --- a/ports/z3/CONTROL +++ b/ports/z3/CONTROL @@ -1,3 +1,3 @@ Source: z3 -Version: 4.8.5 +Version: 4.8.5-1 Description: An SMT solver diff --git a/ports/z3/portfile.cmake b/ports/z3/portfile.cmake index 72da20dd96..e3adeabb00 100644 --- a/ports/z3/portfile.cmake +++ b/ports/z3/portfile.cmake @@ -34,7 +34,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/z3 TARGET_PATH share/z3) +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/zopfli/CONTROL b/ports/zopfli/CONTROL index 8b7a02399b..9db22d1057 100644 --- a/ports/zopfli/CONTROL +++ b/ports/zopfli/CONTROL @@ -1,3 +1,3 @@ Source: zopfli -Version: 2019-01-19 +Version: 2019-01-19-1 Description: Zopfli Compression Algorithm compression library programmed in C diff --git a/ports/zopfli/portfile.cmake b/ports/zopfli/portfile.cmake index d199020273..bb5b9c2110 100644 --- a/ports/zopfli/portfile.cmake +++ b/ports/zopfli/portfile.cmake @@ -19,7 +19,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(EXECUTABLE_SUFFIX ".exe") else() set(EXECUTABLE_SUFFIX "") diff --git a/ports/zserge-webview/CONTROL b/ports/zserge-webview/CONTROL index 558f47bd75..a595bee399 100644 --- a/ports/zserge-webview/CONTROL +++ b/ports/zserge-webview/CONTROL @@ -1,3 +1,3 @@ Source: zserge-webview -Version: 2019-04-27-1 +Version: 2019-04-27-2 Description: Tiny cross-platform webview library for C/C++/Golang. diff --git a/ports/zserge-webview/portfile.cmake b/ports/zserge-webview/portfile.cmake index d6707ee8b5..7f0603d880 100644 --- a/ports/zserge-webview/portfile.cmake +++ b/ports/zserge-webview/portfile.cmake @@ -16,14 +16,12 @@ set(WEBVIEW_GTK "0") set(WEBVIEW_WINAPI "0") set(WEBVIEW_COCOA "0") -if(WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(WEBVIEW_WINAPI "1") -elseif(UNIX) - if(APPLE) +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(WEBVIEW_COCOA "1") - else() +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") set(WEBVIEW_GTK "1") - endif() endif() file(READ ${CURRENT_PACKAGES_DIR}/include/webview.h _contents) diff --git a/ports/zxing-cpp/CONTROL b/ports/zxing-cpp/CONTROL index c51ccb60d2..c97ad17342 100644 --- a/ports/zxing-cpp/CONTROL +++ b/ports/zxing-cpp/CONTROL @@ -1,4 +1,4 @@ Source: zxing-cpp -Version: 3.3.3-4 -Build-Depends: opencv[core] +Version: 3.3.3-5 +Build-Depends: opencv Description: Barcode detection and decoding library. diff --git a/ports/zxing-cpp/portfile.cmake b/ports/zxing-cpp/portfile.cmake index 1d063de7cc..044342ed66 100644 --- a/ports/zxing-cpp/portfile.cmake +++ b/ports/zxing-cpp/portfile.cmake @@ -20,15 +20,15 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/zxing/cmake" TARGET_PATH share/zxing) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/zxing/cmake TARGET_PATH share/zxing) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) else() - file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) endif() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) From edf3d75eb7050a8acaf41889d51bb976fa627410 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Thu, 20 Jun 2019 22:08:51 -0700 Subject: [PATCH 074/123] [netcdf-c] Fix link error. (#6971) * [netcdf-c] Fix linkage error. * remove unused code --- ports/netcdf-c/CONTROL | 2 +- ports/netcdf-c/hdf5_3.patch | 12 ++++++++++++ ports/netcdf-c/portfile.cmake | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 ports/netcdf-c/hdf5_3.patch diff --git a/ports/netcdf-c/CONTROL b/ports/netcdf-c/CONTROL index c82acf055e..684c54ba62 100644 --- a/ports/netcdf-c/CONTROL +++ b/ports/netcdf-c/CONTROL @@ -1,5 +1,5 @@ Source: netcdf-c -Version: 4.7.0-2 +Version: 4.7.0-3 Build-Depends: hdf5, curl Homepage: https://github.com/Unidata/netcdf-c Description: a set of self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. diff --git a/ports/netcdf-c/hdf5_3.patch b/ports/netcdf-c/hdf5_3.patch new file mode 100644 index 0000000000..ba9a168c8a --- /dev/null +++ b/ports/netcdf-c/hdf5_3.patch @@ -0,0 +1,12 @@ +diff --git a/libhdf5/CMakeLists.txt b/libhdf5/CMakeLists.txt +index f3c7bbc..34fc2ab 100644 +--- a/libhdf5/CMakeLists.txt ++++ b/libhdf5/CMakeLists.txt +@@ -20,3 +20,7 @@ add_library(netcdfhdf5 OBJECT ${libnchdf5_SOURCES}) + + # Remember to package this file for CMake builds. + ADD_EXTRA_DIST(${libnchdf5_SOURCES} CMakeLists.txt) ++ ++if(BUILD_SHARED_LIBS) ++target_link_libraries(netcdfhdf5 PRIVATE hdf5::hdf5-shared hdf5::hdf5-static hdf5::hdf5_hl-shared hdf5::hdf5_hl-static) ++endif() diff --git a/ports/netcdf-c/portfile.cmake b/ports/netcdf-c/portfile.cmake index a2f81cdb0e..21b2145240 100644 --- a/ports/netcdf-c/portfile.cmake +++ b/ports/netcdf-c/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( hdf5.patch hdf5_2.patch fix-build-error-on-linux.patch + hdf5_3.patch ) #Remove outdated find modules From 31184ac70d6b96e52eff60ee8eace9af2f24e2a2 Mon Sep 17 00:00:00 2001 From: Farwaykorse Date: Sat, 22 Jun 2019 06:26:10 +0200 Subject: [PATCH 075/123] Bump version to 2019.06.21 (#6987) --- toolsrc/VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt index ce62ec9593..c2116e0e87 100644 --- a/toolsrc/VERSION.txt +++ b/toolsrc/VERSION.txt @@ -1 +1 @@ -"2018.11.23" \ No newline at end of file +"2019.06.21" \ No newline at end of file From 9cfcc711469778370af64830086cc62afd523dfc Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 21 Jun 2019 21:33:29 -0700 Subject: [PATCH 076/123] [docs] Add maintainer guidelines (#6871) * [maintainer-guide] Initial commit of maintainer guidelines * [maintainer-guide] Rearrange sections * [maintainer-guide] Add note about GitHub Draft PRs * [maintainer-guide] Improvements * [maintainer-guide] Address comments about versioning conventions * [maintainer-guide] Add section about how portfiles interact with CMakeLists.txt * [maintainer-guidelines] Add link from docs index --- docs/index.md | 1 + docs/maintainers/control-files.md | 17 ++- docs/maintainers/maintainer-guide.md | 178 +++++++++++++++++++++++++++ 3 files changed, 193 insertions(+), 3 deletions(-) create mode 100644 docs/maintainers/maintainer-guide.md diff --git a/docs/index.md b/docs/index.md index cde241e92d..5d83b5804d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -19,6 +19,7 @@ Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This too - [Control files](maintainers/control-files.md) - [Portfile functions](maintainers/portfile-functions.md) +- [Maintainer Guidelines](maintainers/maintainer-guide.md) ### Specifications diff --git a/docs/maintainers/control-files.md b/docs/maintainers/control-files.md index ac4afa265a..03bfa113a7 100644 --- a/docs/maintainers/control-files.md +++ b/docs/maintainers/control-files.md @@ -43,16 +43,27 @@ The port version. This field is an alphanumeric string that may also contain `.`, `_`, or `-`. No attempt at ordering versions is made; all versions are treated as bit strings and are only evaluated for equality. -By convention, if a portfile is modified without incrementing the "upstream" version, a `-#` is appended to create a unique version string. +For tagged-release ports, we follow the following convention: -Some projects do not have named releases. In these cases use the date of the version do not have labeled releases, in these cases use the date of the last commit in `YYYY-MM-DD` format. See the `abseil` port as an example. +1. If the port follows a scheme like `va.b.c`, we remove the leading `v`. In this case, it becomes `a.b.c`. +2. If the port includes its own name in the version like `curl-7_65_1`, we remove the leading name: `7_65_1` +3. If the port has been modified, we append a `-N` to distinguish the versions: `1.2.1-4` + +For rolling-release ports, we use the date that the _commit was accessed by you_, formatted as `YYYY-MM-DD`. Stated another way: if someone had a time machine and went to that date, they would see this commit as the latest master. + +For example, given: +1. The latest commit was made on 2019-04-19 +2. The current version string is `2019-02-14-1` +3. Today's date is 2019-06-01. + +Then if you update the source version today, you should give it version `2019-06-01`. If you need to make a change which doesn't adjust the source version, you should give it version `2019-02-14-2`. Example: ```no-highlight Version: 1.0.5-2 ``` ```no-highlight -Version: 2019-3-21 +Version: 2019-03-21 ``` #### Description diff --git a/docs/maintainers/maintainer-guide.md b/docs/maintainers/maintainer-guide.md new file mode 100644 index 0000000000..0baa45a025 --- /dev/null +++ b/docs/maintainers/maintainer-guide.md @@ -0,0 +1,178 @@ +# Maintainer Guidelines and Policies + +This document lists a set of policies that you should apply when adding or updating a port recipe. It is intended to serve the role of [Debian's Policy Manual](https://www.debian.org/doc/debian-policy/), [Homebrew's Maintainer Guidelines](https://docs.brew.sh/Maintainer-Guidelines), and [Homebrew's Formula Cookbook](https://docs.brew.sh/Formula-Cookbook). + +## PR Structure + +### Make separate Pull Requests per port + +Whenever possible, separate changes into multiple PR's. This makes them significantly easier to review and prevents issues with one set of changes from holding up every other change. + +### Avoid trivial changes in untouched files + +For example, avoid reformatting or renaming variables in portfiles that otherwise have no reason to be modified for the issue at hand. However, if you need to modify the file for the primary purpose of the PR (updating the library), then obviously beneficial changes like fixing typos are appreciated! + +### Check names against other repositories + +A good service to check many at once is [Repology](https://repology.org/). If the library you are adding could be confused with another one, consider renaming to make it clear. + +### Use GitHub Draft PRs + +GitHub Draft PRs are a great way to get CI or human feedback on work that isn't yet ready to merge. Most new PRs should be opened as drafts and converted to normal PRs once the CI passes. + +More information about GitHub Draft PRs: https://github.blog/2019-02-14-introducing-draft-pull-requests/ + +## Portfiles + +### Avoid deprecated helper functions + +At this time, the following helpers are deprecated: + +1. `vcpkg_extract_archive()` should be replaced by `vcpkg_extract_archive_ex()` +2. `vcpkg_apply_patches()` should be replaced by the `PATCHES` arguments to the "extract" helpers (e.g. `vcpkg_from_github()`) +3. `vcpkg_build_msbuild()` should be replaced by `vcpkg_install_msbuild()` + +### Avoid excessive comments in portfiles + +Ideally, portfiles should be short, simple, and as declarative as possible. Remove any helper comments introduced by the `create` command before submitting a PR. + +## Build Techniques + +### Do not use vendored dependencies + +Do not use embedded copies of libraries. All dependencies should be split out and packaged separately so they can be updated and maintained. + +### Prefer using CMake + +When multiple buildsystems are available, prefer using CMake. Additionally, when appropriate, it can be easier and more maintainable to rewrite alternative buildsystems into CMake using `file(GLOB)` directives. + +Examples: [abseil](../../ports/abseil/portfile.cmake) + +### Choose either static or shared binaries + +By default, `vcpkg_configure_cmake()` will pass in the appropriate setting for `BUILD_SHARED_LIBS`, however for libraries that don't respect that variable, you can switch on `VCPKG_LIBRARY_LINKAGE`: + +```cmake +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KEYSTONE_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" KEYSTONE_BUILD_SHARED) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DKEYSTONE_BUILD_STATIC=${KEYSTONE_BUILD_STATIC} + -DKEYSTONE_BUILD_SHARED=${KEYSTONE_BUILD_SHARED} +) +``` + +### When defining features, explicitly control dependencies + +When defining a feature that captures an optional dependency, ensure that the dependency will not be used accidentally when the feature is not explicitly enabled. For example: + +```cmake +set(CMAKE_DISABLE_FIND_PACKAGE_ZLIB ON) +if("zlib" IN_LIST FEATURES) + set(CMAKE_DISABLE_FIND_PACKAGE_ZLIB OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=${CMAKE_DISABLE_FIND_PACKAGE_ZLIB} +) +``` + +Note that `ZLIB` in the above is case-sensitive. See the [cmake documentation](https://cmake.org/cmake/help/v3.15/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html) for more details. + +## Versioning + +### Follow common conventions for the `Version:` field + +See our [CONTROL files document](control-files.md#version) for a full explanation of our conventions. + +### Update the `Version:` field in the `CONTROL` file of any modified ports + +Vcpkg uses this field to determine whether a given port is out-of-date and should be changed whenever the port's behavior changes. + +Our convention for this field is to append a `-N` to the upstream version when changes need to be made. + +For Example: + +- Zlib's package version is currently `1.2.1`. +- You've discovered that the wrong copyright file has been deployed, and fixed that in the portfile. +- You should update the `Version:` field in the control file to `1.2.1-1`. + +See our [CONTROL files document](control-files.md#version) for a full explanation of our conventions. + +## Patching + +### Prefer options over patching + +It is preferable to set options in a call to `vcpkg_configure_xyz()` over patching the settings directly. + +Common options that allow avoiding patching: +1. [MSBUILD] `` settings inside the project file can be overridden via `/p:` parameters +2. [CMAKE] Calls to `find_package(XYz)` in CMake scripts can be disabled via [`-DCMAKE_DISABLE_FIND_PACKAGE_XYz=ON`](https://cmake.org/cmake/help/v3.15/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html) +3. [CMAKE] Cache variables (declared as `set(VAR "value" CACHE STRING "Documentation")` or `option(VAR "Documentation" "Default Value")`) can be overriden by just passing them in on the command line as `-DVAR:STRING=Foo`. One notable exception is if the `FORCE` parameter is passed to `set()`. See also the [CMake `set` documentation](https://cmake.org/cmake/help/v3.15/command/set.html) + +### Minimize patches + +When making changes to a library, strive to minimize the final diff. This means you should _not_ reformat the upstream source code when making changes that affect a region. Also, when disabling a conditional, it is better to add a `AND FALSE` or `&& 0` to the condition than to delete every line of the conditional. + +This helps to keep the size of the vcpkg repository down as well as improves the likelihood that the patch will apply to future code versions. + +### Do not implement features in patches + +The purpose of patching in vcpkg is to enable compatibility with compilers, libraries, and platforms. It is not to implement new features in lieu of following proper Open Source procedure (submitting an Issue/PR/etc). + +## Do not build tests/docs/examples by default + +When submitting a new port, check for any options like `BUILD_TESTS` or `WITH_TESTS` or `POCO_ENABLE_SAMPLES` and ensure the additional binaries are disabled. This minimizes build times and dependencies for the average user. + +Optionally, you can add a `test` feature which enables building the tests, however this should not be in the `Default-Features` list. + +## Enable existing users of the library to switch to vcpkg + +### Do not add `CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS` + +Unless the author of the library is already using it, we should not use this CMake functionality because it interacts poorly with C++ templates and breaks certain compiler features. Libraries that don't provide a .def file and do not use __declspec() declarations simply do not support shared builds for Windows and should be marked as such with `vcpkg_check_linkage(ONLY_STATIC_LIBRARY)`. + +### Do not rename binaries outside the names given by upstream + +This means that if the upstream library has different names in release and debug (libx versus libxd), then the debug library should not be renamed to `libx`. Vice versa, if the upstream library has the same name in release and debug, we should not introduce a new name. + +Important caveat: +- Static and shared variants often should be renamed to a common scheme. This enables consumers to use a common name and be ignorant of the downstream linkage. This is safe because we only make one at a time available. + +Note that if a library generates CMake integration files (`foo-config.cmake`), renaming must be done through patching the CMake build itself instead of simply calling `file(RENAME)` on the output archives/LIBs. + +Finally, DLL files on Windows should never be renamed post-build because it breaks the generated LIBs. + +## Useful implementation notes + +### Portfiles are run in Script Mode + +While `portfile.cmake`'s and `CMakeLists.txt`'s share a common syntax and core CMake language constructs, portfiles run in "Script Mode", whereas `CMakeLists.txt` files run in "Build Mode" (unofficial term). The most important difference between these two modes is that "Script Mode" does not have a concept of "Target" -- any behaviors that depend on the "target" machine (`CMAKE_CXX_COMPILER`, `CMAKE_EXECUTABLE_SUFFIX`, `CMAKE_SYSTEM_NAME`, etc) will not be correct. + +Portfiles have direct access to variables set in the triplet file, but `CMakeLists.txt`s do not (though there is often a translation that happens -- `VCPKG_LIBRARY_LINKAGE` versus `BUILD_SHARED_LIBS`). + +Finally, portfiles and CMake builds invoked by portfiles are run in different processes. Conceptually: + +```no-highlight ++----------------------------+ +------------------------------------+ +| CMake.exe | | CMake.exe | ++----------------------------+ +------------------------------------+ +| Triplet file | ====> | Toolchain file | +| (x64-windows.cmake) | | (scripts/buildsystems/vcpkg.cmake) | ++----------------------------+ +------------------------------------+ +| Portfile | ====> | CMakeLists.txt | +| (ports/foo/portfile.cmake) | | (buildtrees/../CMakeLists.txt) | ++----------------------------+ +------------------------------------+ +``` + +To determine the host in a portfile, the standard CMake variables are fine (`CMAKE_HOST_WIN32`). + +To determine the target in a portfile, the vcpkg triplet variables should be used (`VCPKG_CMAKE_SYSTEM_NAME`). + +See also our [triplet documentation](../users/triplets.md) for a full enumeration of possible settings. From d1b4e88d3c1bd714069f10009c6f9cef172cc822 Mon Sep 17 00:00:00 2001 From: Sean Yen Date: Fri, 21 Jun 2019 22:45:40 -0700 Subject: [PATCH 077/123] [libftdi-compat] Add new port (#6843) * [libftdi-compat] v0.20 port * Fixed wrong version number in CONTROL file. * Download source archive file instead. * restrict to shared library build only. * Remove dlls from static build. * [libftdi-compat] Update to 1.4. Replace CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS with a def file. Minimize patching. * [libftdi] Rename from libftdi-compat * [libftdi][libftdi1] Restore v0.20 as libftdi, move 1.4 to libftdi1 --- ports/libftdi/CONTROL | 4 ++ ports/libftdi/export-cmake.patch | 24 +++++++++++ ports/libftdi/exports.def | 56 ++++++++++++++++++++++++++ ports/libftdi/libusb-win32.patch | 43 ++++++++++++++++++++ ports/libftdi/portfile.cmake | 45 +++++++++++++++++++++ ports/libftdi/shared-static.patch | 52 ++++++++++++++++++++++++ ports/libftdi1/CONTROL | 4 ++ ports/libftdi1/cmake-fix.patch | 13 ++++++ ports/libftdi1/exports.def | 67 +++++++++++++++++++++++++++++++ ports/libftdi1/portfile.cmake | 47 ++++++++++++++++++++++ ports/libftdi1/win32.patch | 28 +++++++++++++ 11 files changed, 383 insertions(+) create mode 100644 ports/libftdi/CONTROL create mode 100644 ports/libftdi/export-cmake.patch create mode 100644 ports/libftdi/exports.def create mode 100644 ports/libftdi/libusb-win32.patch create mode 100644 ports/libftdi/portfile.cmake create mode 100644 ports/libftdi/shared-static.patch create mode 100644 ports/libftdi1/CONTROL create mode 100644 ports/libftdi1/cmake-fix.patch create mode 100644 ports/libftdi1/exports.def create mode 100644 ports/libftdi1/portfile.cmake create mode 100644 ports/libftdi1/win32.patch diff --git a/ports/libftdi/CONTROL b/ports/libftdi/CONTROL new file mode 100644 index 0000000000..3c50a00e26 --- /dev/null +++ b/ports/libftdi/CONTROL @@ -0,0 +1,4 @@ +Source: libftdi +Version: 0.20 +Build-Depends: libusb-win32 +Description: FTDI USB driver with bitbang mode (v0.20) diff --git a/ports/libftdi/export-cmake.patch b/ports/libftdi/export-cmake.patch new file mode 100644 index 0000000000..29078c25d3 --- /dev/null +++ b/ports/libftdi/export-cmake.patch @@ -0,0 +1,24 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1c326fe..3c1d9ab 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -47,14 +47,19 @@ if(WIN32 OR 1) + + if(BUILD_SHARED_LIBS) + install( TARGETS ftdi ++ EXPORT ftdi + COMPONENT sharedlibs + ) + ++ target_link_libraries(ftdi PUBLIC $) + else() + install( TARGETS ftdi-static ++ EXPORT ftdi + COMPONENT staticlibs + ) ++ target_link_libraries(ftdi-static PUBLIC $) + endif() ++ install(EXPORT ftdi FILE libftdi-config.cmake NAMESPACE libftdi:: DESTINATION share/libftdi) + + install( FILES ${c_headers} + DESTINATION include diff --git a/ports/libftdi/exports.def b/ports/libftdi/exports.def new file mode 100644 index 0000000000..31ebd214ef --- /dev/null +++ b/ports/libftdi/exports.def @@ -0,0 +1,56 @@ +EXPORTS + ftdi_deinit + ftdi_disable_bitbang + ftdi_eeprom_build + ftdi_eeprom_decode + ftdi_eeprom_free + ftdi_eeprom_initdefaults + ftdi_eeprom_setsize + ftdi_enable_bitbang + ftdi_erase_eeprom + ftdi_free + ftdi_get_error_string + ftdi_get_latency_timer + ftdi_init + ftdi_list_free + ftdi_list_free2 + ftdi_new + ftdi_poll_modem_status + ftdi_read_chipid + ftdi_read_data + ftdi_read_data_get_chunksize + ftdi_read_data_set_chunksize + ftdi_read_eeprom + ftdi_read_eeprom_getsize + ftdi_read_eeprom_location + ftdi_read_pins + ftdi_set_baudrate + ftdi_set_bitmode + ftdi_set_error_char + ftdi_set_event_char + ftdi_set_interface + ftdi_set_latency_timer + ftdi_set_line_property + ftdi_set_line_property2 + ftdi_set_usbdev + ftdi_setdtr + ftdi_setdtr_rts + ftdi_setflowctrl + ftdi_setrts + ftdi_usb_close + ftdi_usb_find_all + ftdi_usb_get_strings + ftdi_usb_open + ftdi_usb_open_desc + ftdi_usb_open_desc_index + ftdi_usb_open_dev + ftdi_usb_open_string + ftdi_usb_purge_buffers + ftdi_usb_purge_rx_buffer + ftdi_usb_purge_tx_buffer + ftdi_usb_reset + ftdi_write_data + ftdi_write_data_get_chunksize + ftdi_write_data_set_chunksize + ftdi_write_eeprom + ftdi_write_eeprom_location diff --git a/ports/libftdi/libusb-win32.patch b/ports/libftdi/libusb-win32.patch new file mode 100644 index 0000000000..55bc1c3f17 --- /dev/null +++ b/ports/libftdi/libusb-win32.patch @@ -0,0 +1,43 @@ +diff --git a/FindUSB.cmake b/FindUSB.cmake +index 566cdd8..0710345 100644 +--- a/FindUSB.cmake ++++ b/FindUSB.cmake +@@ -24,10 +24,10 @@ else (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES) + pkg_check_modules(PC_LIBUSB libusb) + ENDIF(NOT WIN32) + +- FIND_PATH(LIBUSB_INCLUDE_DIR usb.h ++ FIND_PATH(LIBUSB_INCLUDE_DIR lusb0_usb.h + PATHS ${PC_LIBUSB_INCLUDEDIR} ${PC_LIBUSB_INCLUDE_DIRS}) + +- FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb ++ FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb0 libusb0 + PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS}) + + include(FindPackageHandleStandardArgs) +diff --git a/src/ftdi.c b/src/ftdi.c +index 980622d..8f6ab67 100644 +--- a/src/ftdi.c ++++ b/src/ftdi.c +@@ -28,7 +28,7 @@ + /** \addtogroup libftdi */ + /* @{ */ + +-#include ++#include + #include + #include + #include +diff --git a/src/ftdi.h b/src/ftdi.h +index 6bb7a3e..d4472c2 100644 +--- a/src/ftdi.h ++++ b/src/ftdi.h +@@ -17,7 +17,7 @@ + #ifndef __libftdi_h__ + #define __libftdi_h__ + +-#include ++#include + + #define FTDI_DEFAULT_EEPROM_SIZE 128 + diff --git a/ports/libftdi/portfile.cmake b/ports/libftdi/portfile.cmake new file mode 100644 index 0000000000..29e5bc42df --- /dev/null +++ b/ports/libftdi/portfile.cmake @@ -0,0 +1,45 @@ +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.intra2net.com/en/developer/libftdi/download/libftdi-0.20.tar.gz" + FILENAME "libftdi-0.20.tar.gz" + SHA512 540e5eb201a65936c3dbabff70c251deba1615874b11ff27c5ca16c39d71c150cf61758a68b541135a444fe32ab403b0fba0daf55c587647aaf9b3f400f1dee7 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF 0.20 + PATCHES + libusb-win32.patch + shared-static.patch + export-cmake.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/exports.def DESTINATION ${SOURCE_PATH}/src) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DDOCUMENTATION=OFF + -DEXAMPLES=OFF + -DPYTHON_BINDINGS=OFF + -DFTDIPP=OFF + + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + + -DLIBUSB_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libftdi) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libftdi/LICENSE ${CURRENT_PACKAGES_DIR}/share/libftdi/copyright) + +vcpkg_copy_pdbs() diff --git a/ports/libftdi/shared-static.patch b/ports/libftdi/shared-static.patch new file mode 100644 index 0000000000..dad7aa0c52 --- /dev/null +++ b/ports/libftdi/shared-static.patch @@ -0,0 +1,52 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 071ae90..b42bbcd 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -4,7 +4,7 @@ include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} + ) + + # Targets +-set(c_sources ftdi.c) ++set(c_sources ftdi.c exports.def) + set(c_headers ftdi.h) + + add_library(ftdi SHARED ${c_sources}) +@@ -24,7 +24,7 @@ set_target_properties(ftdi-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) + target_link_libraries(ftdi ${LIBUSB_LIBRARIES}) + + # Install +-if(${UNIX}) ++if(UNIX AND 0) + + install( TARGETS ftdi + LIBRARY DESTINATION lib${LIB_SUFFIX} +@@ -41,23 +41,24 @@ if(${UNIX}) + COMPONENT headers + ) + +-endif(${UNIX}) ++endif() + +-if(${WIN32}) ++if(WIN32 OR 1) + ++ if(BUILD_SHARED_LIBS) + install( TARGETS ftdi +- DESTINATION bin + COMPONENT sharedlibs + ) + ++ else() + install( TARGETS ftdi-static +- DESTINATION bin + COMPONENT staticlibs + ) ++ endif() + + install( FILES ${c_headers} + DESTINATION include + COMPONENT headers + ) + +-endif(${WIN32}) ++endif() diff --git a/ports/libftdi1/CONTROL b/ports/libftdi1/CONTROL new file mode 100644 index 0000000000..d282ad9eb8 --- /dev/null +++ b/ports/libftdi1/CONTROL @@ -0,0 +1,4 @@ +Source: libftdi1 +Version: 1.4 +Build-Depends: libusb +Description: FTDI USB driver with bitbang mode (v1.4) diff --git a/ports/libftdi1/cmake-fix.patch b/ports/libftdi1/cmake-fix.patch new file mode 100644 index 0000000000..ea541f719a --- /dev/null +++ b/ports/libftdi1/cmake-fix.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/FindUSB1.cmake b/cmake/FindUSB1.cmake +index b90e297..6cc97a0 100644 +--- a/cmake/FindUSB1.cmake ++++ b/cmake/FindUSB1.cmake +@@ -26,7 +26,7 @@ else (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES) + PATH_SUFFIXES libusb-1.0 + PATHS ${PC_LIBUSB_INCLUDEDIR} ${PC_LIBUSB_INCLUDE_DIRS}) + +- FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0 ++ FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0 libusb-1.0 + PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS}) + + include(FindPackageHandleStandardArgs) diff --git a/ports/libftdi1/exports.def b/ports/libftdi1/exports.def new file mode 100644 index 0000000000..f5179c59dc --- /dev/null +++ b/ports/libftdi1/exports.def @@ -0,0 +1,67 @@ +EXPORTS + convert_baudrate_UT_export + ftdi_deinit + ftdi_disable_bitbang + ftdi_eeprom_build + ftdi_eeprom_decode + ftdi_eeprom_get_strings + ftdi_eeprom_initdefaults + ftdi_eeprom_set_strings + ftdi_erase_eeprom + ftdi_free + ftdi_get_eeprom_buf + ftdi_get_eeprom_value + ftdi_get_error_string + ftdi_get_latency_timer + ftdi_get_library_version + ftdi_init + ftdi_list_free + ftdi_list_free2 + ftdi_new + ftdi_poll_modem_status + ftdi_read_chipid + ftdi_read_data + ftdi_read_data_get_chunksize + ftdi_read_data_set_chunksize + ftdi_read_data_submit + ftdi_read_eeprom + ftdi_read_eeprom_location + ftdi_read_pins + ftdi_set_baudrate + ftdi_set_bitmode + ftdi_set_eeprom_buf + ftdi_set_eeprom_user_data + ftdi_set_eeprom_value + ftdi_set_error_char + ftdi_set_event_char + ftdi_set_interface + ftdi_set_latency_timer + ftdi_set_line_property + ftdi_set_line_property2 + ftdi_set_usbdev + ftdi_setdtr + ftdi_setdtr_rts + ftdi_setflowctrl + ftdi_setrts + ftdi_transfer_data_cancel + ftdi_transfer_data_done + ftdi_usb_close + ftdi_usb_find_all + ftdi_usb_get_strings + ftdi_usb_get_strings2 + ftdi_usb_open + ftdi_usb_open_bus_addr + ftdi_usb_open_desc + ftdi_usb_open_desc_index + ftdi_usb_open_dev + ftdi_usb_open_string + ftdi_usb_purge_buffers + ftdi_usb_purge_rx_buffer + ftdi_usb_purge_tx_buffer + ftdi_usb_reset + ftdi_write_data + ftdi_write_data_get_chunksize + ftdi_write_data_set_chunksize + ftdi_write_data_submit + ftdi_write_eeprom + ftdi_write_eeprom_location diff --git a/ports/libftdi1/portfile.cmake b/ports/libftdi1/portfile.cmake new file mode 100644 index 0000000000..4007e91220 --- /dev/null +++ b/ports/libftdi1/portfile.cmake @@ -0,0 +1,47 @@ +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.intra2net.com/en/developer/libftdi/download/libftdi1-1.4.tar.bz2" + FILENAME "libftdi1-1.4.tar.bz2" + SHA512 dbab74f7bc35ca835b9c6dd5b70a64816948d65da1f73a9ece37a0f0f630bd0df1a676543acc517b02a718bc34ba4f7a30cbc48b6eed1c154c917f8ef0a358fc +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF 1.4 + PATCHES + cmake-fix.patch + win32.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/exports.def DESTINATION ${SOURCE_PATH}/src) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF + -DDOCUMENTATION=OFF + -DEXAMPLES=OFF + -DPYTHON_BINDINGS=OFF + -DLINK_PYTHON_LIBRARY=OFF + + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Confuse=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Libintl=ON + -DCMAKE_DISABLE_FIND_PACKAGE_PythonLibs=ON + -DCMAKE_DISABLE_FIND_PACKAGE_PythonInterp=ON +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libftdi1 TARGET_PATH share/libftdi1) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libftdi1) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libftdi1/LICENSE ${CURRENT_PACKAGES_DIR}/share/libftdi1/copyright) + +vcpkg_copy_pdbs() diff --git a/ports/libftdi1/win32.patch b/ports/libftdi1/win32.patch new file mode 100644 index 0000000000..8cf35c9203 --- /dev/null +++ b/ports/libftdi1/win32.patch @@ -0,0 +1,28 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 9fd86a6..e1e848c 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -18,9 +18,14 @@ message(STATUS "Detected git snapshot version: ${SNAPSHOT_VERSION}") + configure_file(ftdi_version_i.h.in "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h" @ONLY) + + # Targets ++if(WIN32) ++set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/exports.def CACHE INTERNAL "List of c sources" ) ++else() + set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/ftdi_stream.c CACHE INTERNAL "List of c sources" ) ++endif() + set(c_headers ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.h CACHE INTERNAL "List of c headers" ) + ++if(BUILD_SHARED_LIBS) + add_library(ftdi1 SHARED ${c_sources}) + + math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases +@@ -38,7 +43,7 @@ install ( TARGETS ftdi1 + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + +-if ( STATICLIBS ) ++else() + add_library(ftdi1-static STATIC ${c_sources}) + target_link_libraries(ftdi1-static ${LIBUSB_LIBRARIES}) + set_target_properties(ftdi1-static PROPERTIES OUTPUT_NAME "ftdi1") From f3db66b403840b24ea2612d09cca30a5285f5ea3 Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Fri, 21 Jun 2019 23:50:05 -0700 Subject: [PATCH 078/123] Ports Overlay partial implementation (#6981) * Ports Overlay feature spec * Ports Overlay implementation * [--overlay-ports] Refactor handling of additional paths * Code cleanup * [--overlay-ports] Add help * [depend-info] Support --overlay-ports * Add method to load all ports using PathsPortFileProvider * Make PortFileProvider::load_all_control_files() const * Remove unused code * [vcpkg] Avoid double-load of source control file between Build::perform_and_exit and Build::perform_and_exit_ex * [vcpkg] Clang format * [vcpkg] Fixup build failure introduced in b069ceb2f231 * Report errors from Paragraphs::try_load_port() --- docs/specifications/ports-overlay.md | 178 ++++++++++++++++++ toolsrc/include/vcpkg/build.h | 2 +- toolsrc/include/vcpkg/dependencies.h | 27 +-- toolsrc/include/vcpkg/postbuildlint.h | 3 +- toolsrc/include/vcpkg/sourceparagraph.h | 9 + toolsrc/include/vcpkg/vcpkgcmdarguments.h | 16 +- toolsrc/include/vcpkg/vcpkgpaths.h | 2 - toolsrc/src/tests.plan.cpp | 8 +- toolsrc/src/tests.update.cpp | 16 +- toolsrc/src/vcpkg/build.cpp | 45 +++-- toolsrc/src/vcpkg/commands.autocomplete.cpp | 3 +- toolsrc/src/vcpkg/commands.buildexternal.cpp | 9 +- toolsrc/src/vcpkg/commands.ci.cpp | 21 ++- toolsrc/src/vcpkg/commands.dependinfo.cpp | 19 +- toolsrc/src/vcpkg/commands.edit.cpp | 1 + toolsrc/src/vcpkg/commands.search.cpp | 8 +- toolsrc/src/vcpkg/commands.upgrade.cpp | 9 +- toolsrc/src/vcpkg/dependencies.cpp | 170 ++++++++++++++--- toolsrc/src/vcpkg/export.cpp | 5 +- toolsrc/src/vcpkg/help.cpp | 4 +- toolsrc/src/vcpkg/install.cpp | 14 +- toolsrc/src/vcpkg/postbuildlint.cpp | 5 +- toolsrc/src/vcpkg/remove.cpp | 3 +- toolsrc/src/vcpkg/update.cpp | 8 +- toolsrc/src/vcpkg/vcpkgcmdarguments.cpp | 115 ++++++++++- toolsrc/src/vcpkg/vcpkgpaths.cpp | 3 - toolsrc/vcpkg/vcpkg.vcxproj | 4 +- toolsrc/vcpkglib/vcpkglib.vcxproj | 4 +- .../vcpkgmetricsuploader.vcxproj | 4 +- toolsrc/vcpkgtest/vcpkgtest.vcxproj | 6 +- 30 files changed, 598 insertions(+), 123 deletions(-) create mode 100644 docs/specifications/ports-overlay.md diff --git a/docs/specifications/ports-overlay.md b/docs/specifications/ports-overlay.md new file mode 100644 index 0000000000..e877f50109 --- /dev/null +++ b/docs/specifications/ports-overlay.md @@ -0,0 +1,178 @@ +# Ports Overlay (Jun 19, 2019) + + +## 1. Motivation + +### A. Allow users to override ports with alternate versions + +It's a common scenario for `vcpkg` users to keep specific versions of libraries to use in their own projects. The current recommendation for users is to fork `vcpkg`'s repository and create tags for commits containing the specific versions of the ports they want to use. + +This proposal adds an alternative to solve this problem. By allowing `vcpkg` users to specify additional locations in their file system containing ports for: + + * older or newer versions of libraries, + * modified libraries, or + * libraries not available in `vcpkg`. + +These locations will be searched when resolving port names during package installation, and override ports in `/ports`. + +### B. Allow users to keep unmodified upstream ports + +Users will be able to keep unmodified versions of the ports shipped with `vcpkg` and update them via `vcpkg update` and `vcpkg upgrade` without having to solve merge conflicts. + + +## 2. Other design concerns + +* Allow a set of `vcpkg` commands to optionally accept additional paths to be used when searching for ports. +* Additional paths must take precedence when resolving names of ports to install. +* Allow users to specify multiple additional paths. +* Provide a simple disambiguation mechanism to resolve ambiguous port names. +* After resolving a port name, the installation process has to work the same as for ports shipped by `vcpkg`. +* This **DOES NOT ENABLE MULTIPLE VERSIONS** of a same library to be **INSTALLED SIDE-BY-SIDE**. + + +## 3. Proposed solution + +This document proposes allowing additional locations to search for ports during package installation that will override and complement the set of ports provided by `vcpkg` (ports under the `/ports` directory).` + +A new option `--overlay-ports` will be added to the `vcpkg install`, `vcpkg update`, `vcpkg upgrade`, `vcpkg export`, and `vcpkg depend-info` commands to specify additional paths containing ports. + +From a user experience perspective, a user expresses interest in adding additional lookup locations by passing the `--overlay-ports` option followed by a path to: + +* an individual port (directory containing a `CONTROL` file), + * `vcpkg install sqlite3 --overlay-ports="C:\custom-ports\sqlite3"` + +* a directory containing ports, + * `vcpkg install sqlite3 --overlay-ports=\\share\org\custom-ports` + +* a file listing paths to the former two. + * `vcpkg install sqlite3 --overlay-ports=..\port-repos.txt` + + _port-repos.txt_ + + ``` + .\experimental-ports\sqlite3 + C:\custom-ports + \\share\team\custom-ports + \\share\org\custom-ports + ``` + *Relative paths inside this file are resolved relatively to the file's location. In this case a `experimental-ports` directory should exist at the same level as the `port-repos.txt` file.* + +_NOTE: It is not the goal of this document to discuss library versioning or project dependency management solutions, which require the ability to install multiple versions of a same library side-by-side._ + +### Multiple additional paths + +Users can provide multiple additional paths by repeating the `--overlay-ports` option. + +``` +vcpkg install sqlite3 + --overlay-ports="..\experimental-ports\sqlite3" + --overlay-ports="C:\custom-ports" + --overlay-ports="\\share\team\custom-ports +``` + +### Overlaying ports + +Port name resolution follows the order in which additional paths are specified, with the first match being selected for installation, and falling back to `/ports` if the port is not found in any of the additional paths. + +No effort is made to compare version numbers inside the `CONTROL` files, or to determine which port contains newer or older files. + +### Examples + +Given the following directory structure: + + ``` + team-ports/ + |-- sqlite3/ + |---- CONTROL + |-- rapidjson/ + |---- CONTROL + |-- curl/ + |---- CONTROL + + my-ports/ + |-- sqlite3/ + |---- CONTROL + |-- rapidjson/ + |---- CONTROL + + vcpkg + |-- ports/ + |---- + |-- vcpkg.exe + |-- preferred-ports.txt + ``` +* #### Example #1: + + Running: + + ``` + vcpkg/vcpkg.exe install sqlite3 --overlay-ports=my-ports --overlay-ports=team-ports + ``` + + Results in `my-ports/sqlite3` getting installed as that location appears first in the command line arguments. + +* #### Example #2: + + A specific version of a port can be given priority by adding its path first in the list of arguments: + + ``` + vcpkg/vcpkg.exe install sqlite3 rapidjson curl + --overlay-ports=my-ports/rapidjson + --overlay-ports=vcpkg/ports/curl + --overlay-ports=team-ports + ``` + + Installs: + * `sqlite3` from `team-ports/sqlite3` + * `rapidjson` from `my-ports/rapidjson` + * `curl` from `vcpkg/ports/curl` + +* #### Example #3: + + Given the content of `preferred-ports.txt` as: + + ``` + ./ports/curl + /my-ports/rapidjson + /team-ports + ``` + + A location can be appended or prepended to those included in `preferred-ports.txt` via the command line, like this: + + ``` + vcpkg/vcpkg.exe install sqlite3 curl --overlay-ports=my-ports --overlay-ports=vcpkg/preferred-ports.txt + ``` + + Which results in `my-ports/sqlite3` and `vcpkg/ports/curl` getting installed. + + +## 4. Proposed User experience + +### i. User wants to preserve an older version of a port + +Developer Alice and her team use `vcpkg` to acquire **OpenCV** and some other packages. She has even contributed many patches to add features to the **OpenCV 3** port in `vcpkg`. But, one day, she notices that a PR to update **OpenCV** to the next major version has been merged. + +Alice wants to update some packages available in `vcpkg`. Unfortunately, updating her project to use the latest **OpenCV** is not immediately possible. + +Alice creates a private GitHub repository and checks in the set of ports that she wants to preserve. Then provides her teammates with the link to clone her private ports repository. + +``` +mkdir vcpkg-custom-ports +cd vcpkg-custom-ports +git init +cp -r %VCPKG_ROOT%/ports/opencv . +git add . +git commit -m "[opencv] Add OpenCV 3 port" +git remote add origin https://github.com//vcpkg-custom-ports.git +git push -u origin master +``` + +Now her team is able to use: + +``` +git clone https://github.com//vcpkg-custom-ports.git +vcpkg update --overlay-ports=./vcpkg-custom-ports +vcpkg upgrade --no-dry-run --overlay-ports=./vcpkg-custom-ports +``` + +to upgrade their packages and preserve the old version of **OpenCV** they require. diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h index 9044cb5566..04cd7cf873 100644 --- a/toolsrc/include/vcpkg/build.h +++ b/toolsrc/include/vcpkg/build.h @@ -20,7 +20,7 @@ namespace vcpkg::Build namespace Command { void perform_and_exit_ex(const FullPackageSpec& full_spec, - const fs::path& port_dir, + const SourceControlFileLocation& scfl, const ParsedArguments& options, const VcpkgPaths& paths); diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h index 16fdb3f73d..8c2050b3d1 100644 --- a/toolsrc/include/vcpkg/dependencies.h +++ b/toolsrc/include/vcpkg/dependencies.h @@ -48,7 +48,7 @@ namespace vcpkg::Dependencies const RequestType& request_type); InstallPlanAction(const PackageSpec& spec, - const SourceControlFile& scf, + const SourceControlFileLocation& scfl, const std::set& features, const RequestType& request_type, std::vector&& dependencies); @@ -57,7 +57,7 @@ namespace vcpkg::Dependencies PackageSpec spec; - Optional source_control_file; + Optional source_control_file_location; Optional installed_package; InstallPlanType plan_type; @@ -129,26 +129,31 @@ namespace vcpkg::Dependencies struct PortFileProvider { - virtual Optional get_control_file(const std::string& src_name) const = 0; + virtual Optional get_control_file(const std::string& src_name) const = 0; + virtual std::vector load_all_control_files() const = 0; }; struct MapPortFileProvider : Util::ResourceBase, PortFileProvider { - explicit MapPortFileProvider(const std::unordered_map& map); - Optional get_control_file(const std::string& src_name) const override; + explicit MapPortFileProvider(const std::unordered_map& map); + Optional get_control_file(const std::string& src_name) const override; + std::vector load_all_control_files() const override; private: - const std::unordered_map& ports; + const std::unordered_map& ports; }; struct PathsPortFileProvider : Util::ResourceBase, PortFileProvider { - explicit PathsPortFileProvider(const VcpkgPaths& paths); - Optional get_control_file(const std::string& src_name) const override; + explicit PathsPortFileProvider(const vcpkg::VcpkgPaths& paths, + const std::vector* ports_dirs_paths); + Optional get_control_file(const std::string& src_name) const override; + std::vector load_all_control_files() const override; private: - const VcpkgPaths& ports; - mutable std::unordered_map cache; + Files::Filesystem& filesystem; + std::vector ports_dirs; + mutable std::unordered_map cache; }; struct ClusterGraph; @@ -181,7 +186,7 @@ namespace vcpkg::Dependencies std::vector create_export_plan(const std::vector& specs, const StatusParagraphs& status_db); - std::vector create_feature_install_plan(const std::unordered_map& map, + std::vector create_feature_install_plan(const std::unordered_map& map, const std::vector& specs, const StatusParagraphs& status_db); diff --git a/toolsrc/include/vcpkg/postbuildlint.h b/toolsrc/include/vcpkg/postbuildlint.h index 5dcfeb8dfa..027619eb8b 100644 --- a/toolsrc/include/vcpkg/postbuildlint.h +++ b/toolsrc/include/vcpkg/postbuildlint.h @@ -9,5 +9,6 @@ namespace vcpkg::PostBuildLint size_t perform_all_checks(const PackageSpec& spec, const VcpkgPaths& paths, const Build::PreBuildInfo& pre_build_info, - const Build::BuildInfo& build_info); + const Build::BuildInfo& build_info, + const fs::path& port_dir); } diff --git a/toolsrc/include/vcpkg/sourceparagraph.h b/toolsrc/include/vcpkg/sourceparagraph.h index d70fd43373..6232a3fd29 100644 --- a/toolsrc/include/vcpkg/sourceparagraph.h +++ b/toolsrc/include/vcpkg/sourceparagraph.h @@ -68,6 +68,15 @@ namespace vcpkg Optional find_feature(const std::string& featurename) const; }; + /// + /// Full metadata of a package: core and other features. As well as the location the SourceControlFile was loaded from. + /// + struct SourceControlFileLocation + { + std::unique_ptr source_control_file; + fs::path source_location; + }; + void print_error_message(Span> error_info_list); inline void print_error_message(const std::unique_ptr& error_info_list) { diff --git a/toolsrc/include/vcpkg/vcpkgcmdarguments.h b/toolsrc/include/vcpkg/vcpkgcmdarguments.h index de65eec286..cad013eb88 100644 --- a/toolsrc/include/vcpkg/vcpkgcmdarguments.h +++ b/toolsrc/include/vcpkg/vcpkgcmdarguments.h @@ -15,6 +15,7 @@ namespace vcpkg { std::unordered_set switches; std::unordered_map settings; + std::unordered_map> multisettings; }; struct VcpkgPaths; @@ -41,10 +42,22 @@ namespace vcpkg StringLiteral short_help_text; }; + struct CommandMultiSetting + { + constexpr CommandMultiSetting(const StringLiteral& name, const StringLiteral& short_help_text) + : name(name), short_help_text(short_help_text) + { + } + + StringLiteral name; + StringLiteral short_help_text; + }; + struct CommandOptionsStructure { Span switches; Span settings; + Span multisettings; }; struct CommandStructure @@ -74,6 +87,7 @@ namespace vcpkg std::unique_ptr vcpkg_root_dir; std::unique_ptr triplet; + std::unique_ptr> overlay_ports; Optional debug = nullopt; Optional sendmetrics = nullopt; Optional printmetrics = nullopt; @@ -88,6 +102,6 @@ namespace vcpkg ParsedArguments parse_arguments(const CommandStructure& command_structure) const; private: - std::unordered_map> optional_command_arguments; + std::unordered_map>> optional_command_arguments; }; } diff --git a/toolsrc/include/vcpkg/vcpkgpaths.h b/toolsrc/include/vcpkg/vcpkgpaths.h index 42de40d9c0..b09169b027 100644 --- a/toolsrc/include/vcpkg/vcpkgpaths.h +++ b/toolsrc/include/vcpkg/vcpkgpaths.h @@ -50,8 +50,6 @@ namespace vcpkg static Expected create(const fs::path& vcpkg_root_dir, const std::string& default_vs_path); fs::path package_dir(const PackageSpec& spec) const; - fs::path port_dir(const PackageSpec& spec) const; - fs::path port_dir(const std::string& name) const; fs::path build_info_file_path(const PackageSpec& spec) const; fs::path listfile_path(const BinaryParagraph& pgh) const; diff --git a/toolsrc/src/tests.plan.cpp b/toolsrc/src/tests.plan.cpp index 238aa70324..ab24266b48 100644 --- a/toolsrc/src/tests.plan.cpp +++ b/toolsrc/src/tests.plan.cpp @@ -47,7 +47,8 @@ namespace UnitTest1 Assert::AreEqual(plan.spec.triplet().to_string().c_str(), triplet.to_string().c_str()); - Assert::AreEqual(pkg_name.c_str(), plan.source_control_file.get()->core_paragraph->name.c_str()); + auto* scfl = plan.source_control_file_location.get(); + Assert::AreEqual(pkg_name.c_str(), scfl->source_control_file->core_paragraph->name.c_str()); Assert::AreEqual(size_t(vec.size()), feature_list.size()); for (auto&& feature_name : vec) @@ -79,7 +80,7 @@ namespace UnitTest1 /// struct PackageSpecMap { - std::unordered_map map; + std::unordered_map map; Triplet triplet; PackageSpecMap(const Triplet& t = Triplet::X86_WINDOWS) noexcept { triplet = t; } @@ -94,7 +95,8 @@ namespace UnitTest1 { auto spec = PackageSpec::from_name_and_triplet(scf.core_paragraph->name, triplet); Assert::IsTrue(spec.has_value()); - map.emplace(scf.core_paragraph->name, std::move(scf)); + map.emplace(scf.core_paragraph->name, + SourceControlFileLocation{std::unique_ptr(std::move(&scf)), ""}); return PackageSpec{*spec.get()}; } }; diff --git a/toolsrc/src/tests.update.cpp b/toolsrc/src/tests.update.cpp index b6e487c17f..5e3f9f3e20 100644 --- a/toolsrc/src/tests.update.cpp +++ b/toolsrc/src/tests.update.cpp @@ -21,9 +21,9 @@ namespace UnitTest1 StatusParagraphs status_db(std::move(status_paragraphs)); - std::unordered_map map; + std::unordered_map map; auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "0"}}})); - map.emplace("a", std::move(*scf)); + map.emplace("a", SourceControlFileLocation { std::move(scf), "" }); Dependencies::MapPortFileProvider provider(map); auto pkgs = SortedVector(Update::find_outdated_packages(provider, status_db), @@ -45,9 +45,9 @@ namespace UnitTest1 StatusParagraphs status_db(std::move(status_paragraphs)); - std::unordered_map map; + std::unordered_map map; auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "0"}}})); - map.emplace("a", std::move(*scf)); + map.emplace("a", SourceControlFileLocation { std::move(scf), "" }); Dependencies::MapPortFileProvider provider(map); auto pkgs = SortedVector(Update::find_outdated_packages(provider, status_db), @@ -71,9 +71,9 @@ namespace UnitTest1 StatusParagraphs status_db(std::move(status_paragraphs)); - std::unordered_map map; + std::unordered_map map; auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "0"}}})); - map.emplace("a", std::move(*scf)); + map.emplace("a", SourceControlFileLocation{ std::move(scf), "" }); Dependencies::MapPortFileProvider provider(map); auto pkgs = SortedVector(Update::find_outdated_packages(provider, status_db), @@ -92,9 +92,9 @@ namespace UnitTest1 StatusParagraphs status_db(std::move(status_paragraphs)); - std::unordered_map map; + std::unordered_map map; auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "2"}}})); - map.emplace("a", std::move(*scf)); + map.emplace("a", SourceControlFileLocation{ std::move(scf), "" }); Dependencies::MapPortFileProvider provider(map); auto pkgs = SortedVector(Update::find_outdated_packages(provider, status_db), diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index daff7e6c8f..059a09432c 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -23,6 +23,7 @@ #include using vcpkg::Build::BuildResult; +using vcpkg::Dependencies::PathsPortFileProvider; using vcpkg::Parse::ParseControlErrorInfo; using vcpkg::Parse::ParseExpected; @@ -34,34 +35,26 @@ namespace vcpkg::Build::Command static constexpr StringLiteral OPTION_CHECKS_ONLY = "--checks-only"; void perform_and_exit_ex(const FullPackageSpec& full_spec, - const fs::path& port_dir, + const SourceControlFileLocation& scfl, const ParsedArguments& options, const VcpkgPaths& paths) { const PackageSpec& spec = full_spec.package_spec; + const auto& scf = *scfl.source_control_file; if (Util::Sets::contains(options.switches, OPTION_CHECKS_ONLY)) { const auto pre_build_info = Build::PreBuildInfo::from_triplet_file(paths, spec.triplet()); const auto build_info = Build::read_build_info(paths.get_filesystem(), paths.build_info_file_path(spec)); - const size_t error_count = PostBuildLint::perform_all_checks(spec, paths, pre_build_info, build_info); + const size_t error_count = + PostBuildLint::perform_all_checks(spec, paths, pre_build_info, build_info, scfl.source_location); Checks::check_exit(VCPKG_LINE_INFO, error_count == 0); Checks::exit_success(VCPKG_LINE_INFO); } - const ParseExpected source_control_file = - Paragraphs::try_load_port(paths.get_filesystem(), port_dir); - - if (!source_control_file.has_value()) - { - print_error_message(source_control_file.error()); - Checks::exit_fail(VCPKG_LINE_INFO); - } - - const auto& scf = source_control_file.value_or_exit(VCPKG_LINE_INFO); Checks::check_exit(VCPKG_LINE_INFO, - spec.name() == scf->core_paragraph->name, + spec.name() == scf.core_paragraph->name, "The Source field inside the CONTROL file does not match the port directory: '%s' != '%s'", - scf->core_paragraph->name, + scf.core_paragraph->name, spec.name()); const StatusParagraphs status_db = database_load_check(paths); @@ -80,7 +73,7 @@ namespace vcpkg::Build::Command features_as_set.emplace("core"); const Build::BuildPackageConfig build_config{ - *scf, spec.triplet(), fs::path{port_dir}, build_package_options, features_as_set}; + scf, spec.triplet(), fs::path(scfl.source_location), build_package_options, features_as_set}; const auto build_timer = Chrono::ElapsedTimer::create_started(); const auto result = Build::build_package(paths, build_config, status_db); @@ -128,10 +121,19 @@ namespace vcpkg::Build::Command // Build only takes a single package and all dependencies must already be installed const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE); std::string first_arg = args.command_arguments.at(0); + const FullPackageSpec spec = Input::check_and_get_full_package_spec( std::move(first_arg), default_triplet, COMMAND_STRUCTURE.example_text); + Input::check_triplet(spec.package_spec.triplet(), paths); - perform_and_exit_ex(spec, paths.port_dir(spec.package_spec), options, paths); + + PathsPortFileProvider provider(paths, args.overlay_ports.get()); + const auto port_name = spec.package_spec.name(); + const auto* scfl = provider.get_control_file(port_name).get(); + + Checks::check_exit(VCPKG_LINE_INFO, scfl != nullptr, "Error: Couldn't find port '%s'", port_name); + + perform_and_exit_ex(spec, *scfl, options, paths); } } @@ -360,6 +362,12 @@ namespace vcpkg::Build auto& fs = paths.get_filesystem(); const Triplet& triplet = spec.triplet(); + if (!Strings::starts_with(Strings::ascii_to_lowercase(config.port_dir.u8string()), + Strings::ascii_to_lowercase(paths.ports.u8string()))) + { + System::printf("-- Installing port from location: %s\n", config.port_dir.u8string()); + } + #if !defined(_WIN32) // TODO: remove when vcpkg.exe is in charge for acquiring tools. Change introduced in vcpkg v0.0.107. // bootstrap should have already downloaded ninja, but making sure it is present in case it was deleted. @@ -428,7 +436,8 @@ namespace vcpkg::Build } const BuildInfo build_info = read_build_info(fs, paths.build_info_file_path(spec)); - const size_t error_count = PostBuildLint::perform_all_checks(spec, paths, pre_build_info, build_info); + const size_t error_count = + PostBuildLint::perform_all_checks(spec, paths, pre_build_info, build_info, config.port_dir); auto bcf = create_binary_control_file(*config.scf.core_paragraph, triplet, build_info, abi_tag); @@ -705,7 +714,7 @@ namespace vcpkg::Build } } - System::print2("Could not locate cached archive: ", archive_path.u8string(), "\n"); + System::printf("Could not locate cached archive: %s\n", archive_path.u8string()); ExtendedBuildResult result = do_build_package_and_clean_buildtrees( paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile{}).tag, config); diff --git a/toolsrc/src/vcpkg/commands.autocomplete.cpp b/toolsrc/src/vcpkg/commands.autocomplete.cpp index afef518eb0..3cf4dd98fd 100644 --- a/toolsrc/src/vcpkg/commands.autocomplete.cpp +++ b/toolsrc/src/vcpkg/commands.autocomplete.cpp @@ -90,7 +90,8 @@ namespace vcpkg::Commands::Autocomplete const auto port_name = match[2].str(); const auto triplet_prefix = match[3].str(); - auto maybe_port = Paragraphs::try_load_port(paths.get_filesystem(), paths.port_dir(port_name)); + // TODO: Support autocomplete for ports in --overlay-ports + auto maybe_port = Paragraphs::try_load_port(paths.get_filesystem(), paths.ports / port_name); if (maybe_port.error()) { Checks::exit_success(VCPKG_LINE_INFO); diff --git a/toolsrc/src/vcpkg/commands.buildexternal.cpp b/toolsrc/src/vcpkg/commands.buildexternal.cpp index 19b89c2f52..1c3c511c27 100644 --- a/toolsrc/src/vcpkg/commands.buildexternal.cpp +++ b/toolsrc/src/vcpkg/commands.buildexternal.cpp @@ -23,7 +23,12 @@ namespace vcpkg::Commands::BuildExternal std::string(args.command_arguments.at(0)), default_triplet, COMMAND_STRUCTURE.example_text); Input::check_triplet(spec.package_spec.triplet(), paths); - const fs::path port_dir = args.command_arguments.at(1); - Build::Command::perform_and_exit_ex(spec, port_dir, options, paths); + auto overlays = args.overlay_ports ? *args.overlay_ports : std::vector(); + overlays.insert(overlays.begin(), args.command_arguments.at(1)); + Dependencies::PathsPortFileProvider provider(paths, &overlays); + auto maybe_scfl = provider.get_control_file(spec.package_spec.name()); + Checks::check_exit( + VCPKG_LINE_INFO, maybe_scfl.has_value(), "could not load control file for %s", spec.package_spec.name()); + Build::Command::perform_and_exit_ex(spec, maybe_scfl.value_or_exit(VCPKG_LINE_INFO), options, paths); } } diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index de66d917b3..8cab79504a 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -232,12 +232,17 @@ namespace vcpkg::Commands::CI { // determine abi tag std::string abi; - if (auto scf = p->source_control_file.get()) + if (auto scfl = p->source_control_file_location.get()) { auto triplet = p->spec.triplet(); const Build::BuildPackageConfig build_config{ - *scf, triplet, paths.port_dir(p->spec), build_options, p->feature_list}; + *scfl->source_control_file, + triplet, + static_cast(scfl->source_location), + build_options, + p->feature_list + }; auto dependency_abis = Util::fmap(p->computed_dependencies, [&](const PackageSpec& spec) -> Build::AbiEntry { @@ -351,7 +356,8 @@ namespace vcpkg::Commands::CI } StatusParagraphs status_db = database_load_check(paths); - const auto& paths_port_file = Dependencies::PathsPortFileProvider(paths); + + Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); const Build::BuildPackageOptions install_plan_options = { Build::UseHeadVersion::NO, @@ -369,7 +375,10 @@ namespace vcpkg::Commands::CI XunitTestResults xunitTestResults; - std::vector all_ports = Install::get_all_port_names(paths); + std::vector all_ports = + Util::fmap(provider.load_all_control_files(), [](auto&& scfl) -> std::string { + return scfl->source_control_file.get()->core_paragraph->name; + }); std::vector results; auto timer = Chrono::ElapsedTimer::create_started(); for (const Triplet& triplet : triplets) @@ -378,13 +387,13 @@ namespace vcpkg::Commands::CI xunitTestResults.push_collection(triplet.canonical_name()); - Dependencies::PackageGraph pgraph(paths_port_file, status_db); + Dependencies::PackageGraph pgraph(provider, status_db); std::vector specs = PackageSpec::to_package_specs(all_ports, triplet); // Install the default features for every package auto all_feature_specs = Util::fmap(specs, [](auto& spec) { return FeatureSpec(spec, ""); }); auto split_specs = - find_unknown_ports_for_ci(paths, exclusions_set, paths_port_file, all_feature_specs, purge_tombstones); + find_unknown_ports_for_ci(paths, exclusions_set, provider, all_feature_specs, purge_tombstones); auto feature_specs = FullPackageSpec::to_feature_specs(split_specs->unknown); for (auto&& fspec : feature_specs) diff --git a/toolsrc/src/vcpkg/commands.dependinfo.cpp b/toolsrc/src/vcpkg/commands.dependinfo.cpp index 48a289fa5d..c0800a4b54 100644 --- a/toolsrc/src/vcpkg/commands.dependinfo.cpp +++ b/toolsrc/src/vcpkg/commands.dependinfo.cpp @@ -6,6 +6,9 @@ #include #include #include +#include + +using vcpkg::Dependencies::PathsPortFileProvider; namespace vcpkg::Commands::DependInfo { @@ -35,7 +38,7 @@ namespace vcpkg::Commands::DependInfo return output; } - std::string create_dot_as_string(const std::vector>& source_control_files) + std::string create_dot_as_string(const std::vector& source_control_files) { int empty_node_count = 0; @@ -64,7 +67,7 @@ namespace vcpkg::Commands::DependInfo return s; } - std::string create_dgml_as_string(const std::vector>& source_control_files) + std::string create_dgml_as_string(const std::vector& source_control_files) { std::string s; s.append(""); @@ -109,7 +112,7 @@ namespace vcpkg::Commands::DependInfo } std::string create_graph_as_string(const std::unordered_set& switches, - const std::vector>& source_control_files) + const std::vector& source_control_files) { if (Util::Sets::contains(switches, OPTION_DOT)) { @@ -124,7 +127,7 @@ namespace vcpkg::Commands::DependInfo void build_dependencies_list(std::set& packages_to_keep, const std::string& requested_package, - const std::vector>& source_control_files, + const std::vector& source_control_files, const std::unordered_set& switches) { const auto source_control_file = @@ -154,7 +157,11 @@ namespace vcpkg::Commands::DependInfo { const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE); - auto source_control_files = Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports); + // TODO: Optimize implementation, current implementation needs to load all ports from disk which is too slow. + PathsPortFileProvider provider(paths, args.overlay_ports.get()); + auto source_control_files = Util::fmap(provider.load_all_control_files(), [](auto&& scfl) -> const SourceControlFile * { + return scfl->source_control_file.get(); + }); if (args.command_arguments.size() >= 1) { @@ -178,7 +185,7 @@ namespace vcpkg::Commands::DependInfo for (auto&& source_control_file : source_control_files) { - const SourceParagraph& source_paragraph = *source_control_file->core_paragraph; + const SourceParagraph& source_paragraph = *source_control_file->core_paragraph.get(); const auto s = Strings::join(", ", source_paragraph.depends, [](const Dependency& d) { return d.name(); }); System::print2(source_paragraph.name, ": ", s, "\n"); } diff --git a/toolsrc/src/vcpkg/commands.edit.cpp b/toolsrc/src/vcpkg/commands.edit.cpp index 98176b2b05..f2f0b15693 100644 --- a/toolsrc/src/vcpkg/commands.edit.cpp +++ b/toolsrc/src/vcpkg/commands.edit.cpp @@ -79,6 +79,7 @@ namespace vcpkg::Commands::Edit const auto& fs = paths.get_filesystem(); auto packages = fs.get_files_non_recursive(paths.packages); + // TODO: Support edit for --overlay-ports return Util::fmap(ports, [&](const std::string& port_name) -> std::string { const auto portpath = paths.ports / port_name; const auto portfile = portpath / "portfile.cmake"; diff --git a/toolsrc/src/vcpkg/commands.search.cpp b/toolsrc/src/vcpkg/commands.search.cpp index a0afd69e13..3d8387ee12 100644 --- a/toolsrc/src/vcpkg/commands.search.cpp +++ b/toolsrc/src/vcpkg/commands.search.cpp @@ -7,6 +7,9 @@ #include #include #include +#include + +using vcpkg::Dependencies::PathsPortFileProvider; namespace vcpkg::Commands::Search { @@ -63,7 +66,10 @@ namespace vcpkg::Commands::Search const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE); const bool full_description = Util::Sets::contains(options.switches, OPTION_FULLDESC); - auto source_paragraphs = Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports); + PathsPortFileProvider provider(paths, args.overlay_ports.get()); + auto source_paragraphs = Util::fmap(provider.load_all_control_files(), [](auto&& port) -> const SourceControlFile * { + return port->source_control_file.get(); + }); if (args.command_arguments.empty()) { diff --git a/toolsrc/src/vcpkg/commands.upgrade.cpp b/toolsrc/src/vcpkg/commands.upgrade.cpp index 29815ca949..77183ceaf7 100644 --- a/toolsrc/src/vcpkg/commands.upgrade.cpp +++ b/toolsrc/src/vcpkg/commands.upgrade.cpp @@ -43,7 +43,8 @@ namespace vcpkg::Commands::Upgrade StatusParagraphs status_db = database_load_check(paths); - Dependencies::PathsPortFileProvider provider(paths); + // Load ports from ports dirs + Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); Dependencies::PackageGraph graph(provider, status_db); // input sanitization @@ -85,12 +86,12 @@ namespace vcpkg::Commands::Upgrade not_installed.push_back(spec); } - auto maybe_scf = provider.get_control_file(spec.name()); - if (auto p_scf = maybe_scf.get()) + auto maybe_scfl = provider.get_control_file(spec.name()); + if (auto p_scfl = maybe_scfl.get()) { if (it != status_db.end()) { - if (p_scf->core_paragraph->version != (*it)->package.version) + if (p_scfl->source_control_file->core_paragraph->version != (*it)->package.version) { to_upgrade.push_back(spec); } diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index f4a05e7dc9..df472515fd 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -22,7 +22,7 @@ namespace vcpkg::Dependencies struct ClusterSource { - const SourceControlFile* scf = nullptr; + const SourceControlFileLocation* scfl = nullptr; std::unordered_map> build_edges; }; @@ -92,12 +92,12 @@ namespace vcpkg::Dependencies if (it == m_graph.end()) { // Load on-demand from m_provider - auto maybe_scf = m_provider.get_control_file(spec.name()); + auto maybe_scfl = m_provider.get_control_file(spec.name()); auto& clust = m_graph[spec]; clust.spec = spec; - if (auto p_scf = maybe_scf.get()) + if (auto p_scfl = maybe_scfl.get()) { - clust.source = cluster_from_scf(*p_scf, clust.spec.triplet()); + clust.source = cluster_from_scf(*p_scfl, clust.spec.triplet()); } return clust; } @@ -105,15 +105,17 @@ namespace vcpkg::Dependencies } private: - static ClusterSource cluster_from_scf(const SourceControlFile& scf, Triplet t) + static ClusterSource cluster_from_scf(const SourceControlFileLocation& scfl, Triplet t) { ClusterSource ret; - ret.build_edges.emplace("core", filter_dependencies_to_specs(scf.core_paragraph->depends, t)); + ret.build_edges.emplace("core", + filter_dependencies_to_specs(scfl.source_control_file->core_paragraph->depends, + t)); - for (const auto& feature : scf.feature_paragraphs) + for (const auto& feature : scfl.source_control_file->feature_paragraphs) ret.build_edges.emplace(feature->name, filter_dependencies_to_specs(feature->depends, t)); - ret.scf = &scf; + ret.scfl = &scfl; return ret; } @@ -151,12 +153,12 @@ namespace vcpkg::Dependencies } InstallPlanAction::InstallPlanAction(const PackageSpec& spec, - const SourceControlFile& scf, + const SourceControlFileLocation& scfl, const std::set& features, const RequestType& request_type, std::vector&& dependencies) : spec(spec) - , source_control_file(scf) + , source_control_file_location(scfl) , plan_type(InstallPlanType::BUILD_AND_INSTALL) , request_type(request_type) , build_options{} @@ -268,37 +270,145 @@ namespace vcpkg::Dependencies return left->spec.name() < right->spec.name(); } - MapPortFileProvider::MapPortFileProvider(const std::unordered_map& map) : ports(map) - { - } + MapPortFileProvider::MapPortFileProvider(const std::unordered_map& map) + : ports(map) + {} - Optional MapPortFileProvider::get_control_file(const std::string& spec) const + Optional MapPortFileProvider::get_control_file(const std::string& spec) const { auto scf = ports.find(spec); if (scf == ports.end()) return nullopt; return scf->second; } - PathsPortFileProvider::PathsPortFileProvider(const VcpkgPaths& paths) : ports(paths) {} + std::vector MapPortFileProvider::load_all_control_files() const + { + return Util::fmap(ports, [](auto&& kvpair) -> const SourceControlFileLocation * { return &kvpair.second; }); + } - Optional PathsPortFileProvider::get_control_file(const std::string& spec) const + PathsPortFileProvider::PathsPortFileProvider(const vcpkg::VcpkgPaths& paths, + const std::vector* ports_dirs_paths) + : filesystem(paths.get_filesystem()) + { + if (ports_dirs_paths) + { + for (auto&& overlay_path : *ports_dirs_paths) + { + if (!overlay_path.empty()) + { + auto overlay = fs::stdfs::canonical(fs::u8path(overlay_path)); + + Checks::check_exit(VCPKG_LINE_INFO, + filesystem.exists(overlay), + "Error: Path \"%s\" does not exist", + overlay.string()); + + Checks::check_exit(VCPKG_LINE_INFO, + fs::stdfs::is_directory(overlay), + "Error: Path \"%s\" must be a directory", + overlay.string()); + + ports_dirs.emplace_back(overlay); + } + } + } + ports_dirs.emplace_back(paths.ports); + } + + Optional PathsPortFileProvider::get_control_file(const std::string& spec) const { auto cache_it = cache.find(spec); if (cache_it != cache.end()) { return cache_it->second; } - Parse::ParseExpected source_control_file = - Paragraphs::try_load_port(ports.get_filesystem(), ports.port_dir(spec)); - if (auto scf = source_control_file.get()) + for (auto&& ports_dir : ports_dirs) { - auto it = cache.emplace(spec, std::move(*scf->get())); - return it.first->second; + // Try loading individual port + if (filesystem.exists(ports_dir / "CONTROL")) + { + auto maybe_scf = Paragraphs::try_load_port(filesystem, ports_dir); + if (auto scf = maybe_scf.get()) + { + if (scf->get()->core_paragraph->name == spec) + { + SourceControlFileLocation scfl{ std::move(*scf), ports_dir }; + auto it = cache.emplace(spec, std::move(scfl)); + return it.first->second; + } + } + else + { + vcpkg::print_error_message(maybe_scf.error()); + Checks::exit_with_message(VCPKG_LINE_INFO, + "Error: Failed to load port from %s", + spec, ports_dir.u8string()); + } + } + + auto found_scf = Paragraphs::try_load_port(filesystem, ports_dir / spec); + if (auto scf = found_scf.get()) + { + if (scf->get()->core_paragraph->name == spec) + { + SourceControlFileLocation scfl{ std::move(*scf), ports_dir / spec }; + auto it = cache.emplace(spec, std::move(scfl)); + return it.first->second; + } + } } + return nullopt; } + std::vector PathsPortFileProvider::load_all_control_files() const + { + // Reload cache with ports contained in all ports_dirs + cache.clear(); + std::vector ret; + for (auto&& ports_dir : ports_dirs) + { + // Try loading individual port + if (filesystem.exists(ports_dir / "CONTROL")) + { + auto maybe_scf = Paragraphs::try_load_port(filesystem, ports_dir); + if (auto scf = maybe_scf.get()) + { + auto port_name = scf->get()->core_paragraph->name; + if (cache.find(port_name) == cache.end()) + { + SourceControlFileLocation scfl{ std::move(*scf), ports_dir }; + auto it = cache.emplace(port_name, std::move(scfl)); + ret.emplace_back(&it.first->second); + } + } + else + { + vcpkg::print_error_message(maybe_scf.error()); + Checks::exit_with_message(VCPKG_LINE_INFO, + "Error: Failed to load port from %s", + ports_dir.u8string()); + } + continue; + } + + // Try loading all ports inside ports_dir + auto found_scf = Paragraphs::load_all_ports(filesystem, ports_dir); + for (auto&& scf : found_scf) + { + auto port_name = scf->core_paragraph->name; + if (cache.find(port_name) == cache.end()) + { + SourceControlFileLocation scfl{ std::move(scf), ports_dir / port_name }; + auto it = cache.emplace(port_name, std::move(scfl)); + ret.emplace_back(&it.first->second); + } + } + } + return ret; + } + std::vector create_remove_plan(const std::vector& specs, const StatusParagraphs& status_db) { @@ -495,10 +605,11 @@ namespace vcpkg::Dependencies VCPKG_LINE_INFO, "Error: Cannot find definition for package `%s`.", cluster.spec.name()); } + auto&& control_file = *p_source->scfl->source_control_file.get(); if (feature.empty()) { // Add default features for this package. This is an exact reference, so ignore prevent_default_features. - for (auto&& default_feature : p_source->scf->core_paragraph.get()->default_features) + for (auto&& default_feature : control_file.core_paragraph.get()->default_features) { auto res = mark_plus(default_feature, cluster, graph, graph_plan, prevent_default_features); if (res != MarkPlusResult::SUCCESS) @@ -513,7 +624,7 @@ namespace vcpkg::Dependencies if (feature == "*") { - for (auto&& fpgh : p_source->scf->feature_paragraphs) + for (auto&& fpgh : control_file.feature_paragraphs) { auto res = mark_plus(fpgh->name, cluster, graph, graph_plan, prevent_default_features); @@ -590,7 +701,8 @@ namespace vcpkg::Dependencies // Check if any default features have been added auto& previous_df = p_installed->ipv.core->package.default_features; - for (auto&& default_feature : p_source->scf->core_paragraph->default_features) + auto&& control_file = *p_source->scfl->source_control_file.get(); + for (auto&& default_feature : control_file.core_paragraph->default_features) { if (std::find(previous_df.begin(), previous_df.end(), default_feature) == previous_df.end()) { @@ -635,7 +747,7 @@ namespace vcpkg::Dependencies /// Map of all source control files in the current environment. /// Feature specifications to resolve dependencies for. /// Status of installed packages in the current environment. - std::vector create_feature_install_plan(const std::unordered_map& map, + std::vector create_feature_install_plan(const std::unordered_map& map, const std::vector& specs, const StatusParagraphs& status_db) { @@ -698,7 +810,11 @@ namespace vcpkg::Dependencies if (p_cluster->transient_uninstalled) { // If it will be transiently uninstalled, we need to issue a full installation command - auto pscf = p_cluster->source.value_or_exit(VCPKG_LINE_INFO).scf; + auto* pscfl = p_cluster->source.value_or_exit(VCPKG_LINE_INFO).scfl; + Checks::check_exit(VCPKG_LINE_INFO, + pscfl != nullptr, + "Error: Expected a SourceControlFileLocation to exist"); + auto&& scfl = *pscfl; auto dep_specs = Util::fmap(m_graph_plan->install_graph.adjacency_list(p_cluster), [](ClusterPtr const& p) { return p->spec; }); @@ -706,7 +822,7 @@ namespace vcpkg::Dependencies plan.emplace_back(InstallPlanAction{ p_cluster->spec, - *pscf, + scfl, p_cluster->to_install_features, p_cluster->request_type, std::move(dep_specs), diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp index 23fc7441a6..88c1526c5c 100644 --- a/toolsrc/src/vcpkg/export.cpp +++ b/toolsrc/src/vcpkg/export.cpp @@ -488,7 +488,10 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console // create the plan const StatusParagraphs status_db = database_load_check(paths); - Dependencies::PathsPortFileProvider provider(paths); + + // Load ports from ports dirs + Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); + std::vector export_plan = Dependencies::create_export_plan(opts.specs, status_db); Checks::check_exit(VCPKG_LINE_INFO, !export_plan.empty(), "Export plan cannot be empty"); diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp index b92e9ca59c..6ee573dfcc 100644 --- a/toolsrc/src/vcpkg/help.cpp +++ b/toolsrc/src/vcpkg/help.cpp @@ -111,10 +111,12 @@ namespace vcpkg::Help " vcpkg contact Display contact information to send feedback\n" "\n" "Options:\n" - " --triplet Specify the target architecture triplet.\n" + " --triplet Specify the target architecture triplet\n" " (default: " ENVVAR(VCPKG_DEFAULT_TRIPLET) // ", see 'vcpkg help triplet')\n" "\n" + " --overlay-ports= Specify directories to be used when searching for ports\n" + "\n" " --vcpkg-root Specify the vcpkg root " "directory\n" " (default: " ENVVAR(VCPKG_ROOT) // diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index 88b15fe7a2..781629236a 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -330,9 +330,10 @@ namespace vcpkg::Install System::printf("Building package %s...\n", display_name_with_features); auto result = [&]() -> Build::ExtendedBuildResult { - const Build::BuildPackageConfig build_config{action.source_control_file.value_or_exit(VCPKG_LINE_INFO), + const auto& scfl = action.source_control_file_location.value_or_exit(VCPKG_LINE_INFO); + const Build::BuildPackageConfig build_config{*scfl.source_control_file, action.spec.triplet(), - paths.port_dir(action.spec), + static_cast(scfl.source_location), action.build_options, action.feature_list}; return Build::build_package(paths, build_config, status_db); @@ -652,13 +653,10 @@ namespace vcpkg::Install Build::FailOnTombstone::NO, }; - auto all_ports = Paragraphs::load_all_ports(fs, paths.ports); - std::unordered_map scf_map; - for (auto&& port : all_ports) - scf_map[port->core_paragraph->name] = std::move(*port); - MapPortFileProvider provider(scf_map); + //// Load ports from ports dirs + PathsPortFileProvider provider(paths, args.overlay_ports.get()); - // Note: action_plan will hold raw pointers to SourceControlFiles from this map + // Note: action_plan will hold raw pointers to SourceControlFileLocations from this map std::vector action_plan = create_feature_install_plan(provider, FullPackageSpec::to_feature_specs(specs), status_db); diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp index d6581c2b4d..c760a034f3 100644 --- a/toolsrc/src/vcpkg/postbuildlint.cpp +++ b/toolsrc/src/vcpkg/postbuildlint.cpp @@ -857,14 +857,15 @@ namespace vcpkg::PostBuildLint size_t perform_all_checks(const PackageSpec& spec, const VcpkgPaths& paths, const PreBuildInfo& pre_build_info, - const BuildInfo& build_info) + const BuildInfo& build_info, + const fs::path& port_dir) { System::print2("-- Performing post-build validation\n"); const size_t error_count = perform_all_checks_and_return_error_count(spec, paths, pre_build_info, build_info); if (error_count != 0) { - const fs::path portfile = paths.ports / spec.name() / "portfile.cmake"; + const fs::path portfile = port_dir / "portfile.cmake"; System::print2(System::Color::error, "Found ", error_count, diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp index f997667ace..a40b27bd74 100644 --- a/toolsrc/src/vcpkg/remove.cpp +++ b/toolsrc/src/vcpkg/remove.cpp @@ -229,7 +229,8 @@ namespace vcpkg::Remove Checks::exit_fail(VCPKG_LINE_INFO); } - Dependencies::PathsPortFileProvider provider(paths); + // Load ports from ports dirs + Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); specs = Util::fmap(Update::find_outdated_packages(provider, status_db), [](auto&& outdated) { return outdated.spec; }); diff --git a/toolsrc/src/vcpkg/update.cpp b/toolsrc/src/vcpkg/update.cpp index 2c52d59524..6320bae5b7 100644 --- a/toolsrc/src/vcpkg/update.cpp +++ b/toolsrc/src/vcpkg/update.cpp @@ -23,10 +23,10 @@ namespace vcpkg::Update for (auto&& ipv : installed_packages) { const auto& pgh = ipv.core; - auto maybe_scf = provider.get_control_file(pgh->package.spec.name()); - if (auto p_scf = maybe_scf.get()) + auto maybe_scfl = provider.get_control_file(pgh->package.spec.name()); + if (auto p_scfl = maybe_scfl.get()) { - auto&& port_version = p_scf->core_paragraph->version; + auto&& port_version = p_scfl->source_control_file->core_paragraph->version; auto&& installed_version = pgh->package.version; if (installed_version != port_version) { @@ -57,7 +57,7 @@ namespace vcpkg::Update const StatusParagraphs status_db = database_load_check(paths); - Dependencies::PathsPortFileProvider provider(paths); + Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); const auto outdated_packages = SortedVector(find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); diff --git a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp index 8565c28f97..21bf4d0285 100644 --- a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp +++ b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp @@ -45,6 +45,45 @@ namespace vcpkg option_field = new_setting; } + static void parse_multivalue(const std::string* arg_begin, + const std::string* arg_end, + const std::string& option_name, + std::unique_ptr>& option_field) + { + if (arg_begin == arg_end) + { + System::print2(System::Color::error, "Error: expected value after ", option_name, '\n'); + Metrics::g_metrics.lock()->track_property("error", "error option name"); + Help::print_usage(); + Checks::exit_fail(VCPKG_LINE_INFO); + } + + if (!option_field) + { + option_field = std::make_unique>(); + } + option_field->emplace_back(*arg_begin); + } + + static void parse_cojoined_multivalue(std::string new_value, + const std::string& option_name, + std::unique_ptr>& option_field) + { + if (new_value.empty()) + { + System::print2(System::Color::error, "Error: expected value after ", option_name, '\n'); + Metrics::g_metrics.lock()->track_property("error", "error option name"); + Help::print_usage(); + Checks::exit_fail(VCPKG_LINE_INFO); + } + + if (!option_field) + { + option_field = std::make_unique>(); + } + option_field->emplace_back(std::move(new_value)); + } + VcpkgCmdArguments VcpkgCmdArguments::create_from_command_line(const int argc, const CommandLineCharType* const* const argv) { @@ -117,6 +156,13 @@ namespace vcpkg parse_value(arg_begin, arg_end, "--triplet", args.triplet); continue; } + if (Strings::starts_with(arg, "--overlay-ports=")) + { + parse_cojoined_multivalue(arg.substr(sizeof("--overlay-ports=") - 1), + "--overlay-ports", + args.overlay_ports); + continue; + } if (arg == "--debug") { parse_switch(true, "debug", args.debug); @@ -166,7 +212,21 @@ namespace vcpkg const auto eq_pos = arg.find('='); if (eq_pos != std::string::npos) { - args.optional_command_arguments.emplace(arg.substr(0, eq_pos), arg.substr(eq_pos + 1)); + const auto& key = arg.substr(0, eq_pos); + const auto& value = arg.substr(eq_pos + 1); + + auto it = args.optional_command_arguments.find(key); + if (args.optional_command_arguments.end() == it) + { + args.optional_command_arguments.emplace(key, std::vector { value }); + } + else + { + if (auto* maybe_values = it->second.get()) + { + maybe_values->emplace_back(value); + } + } } else { @@ -264,7 +324,51 @@ namespace vcpkg } else { - output.settings.emplace(option.name, it->second.value_or_exit(VCPKG_LINE_INFO)); + const auto& value = it->second.value_or_exit(VCPKG_LINE_INFO); + if (value.front().empty()) + { + // Fail when not given a value, e.g.: "vcpkg install sqlite3 --additional-ports=" + System::printf( + System::Color::error, "Error: The option '%s' must be passed an argument.\n", option.name); + failed = true; + } + else + { + output.settings.emplace(option.name, value.front()); + options_copy.erase(it); + } + } + } + } + + for (auto&& option : command_structure.options.multisettings) + { + const auto it = options_copy.find(option.name); + if (it != options_copy.end()) + { + if (!it->second.has_value()) + { + // Not having a string value indicates it was passed like '--a' + System::printf( + System::Color::error, "Error: The option '%s' must be passed an argument.\n", option.name); + failed = true; + } + else + { + const auto& value = it->second.value_or_exit(VCPKG_LINE_INFO); + for (auto&& v : value) + { + if (v.empty()) + { + System::printf( + System::Color::error, "Error: The option '%s' must be passed an argument.\n", option.name); + failed = true; + } + else + { + output.multisettings[option.name].emplace_back(v); + } + } options_copy.erase(it); } } @@ -306,7 +410,14 @@ namespace vcpkg { System::printf(" %-40s %s\n", (option.name + "=..."), option.short_help_text); } + for (auto&& option : command_structure.options.multisettings) + { + System::printf(" %-40s %s\n", (option.name + "=..."), option.short_help_text); + } System::printf(" %-40s %s\n", "--triplet ", "Set the default triplet for unqualified packages"); + System::printf(" %-40s %s\n", + "--overlay-ports=", + "Specify directories to be used when searching for ports"); System::printf(" %-40s %s\n", "--vcpkg-root ", "Specify the vcpkg directory to use instead of current directory or tool directory"); diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp index 512bcfc35c..562a18c9ba 100644 --- a/toolsrc/src/vcpkg/vcpkgpaths.cpp +++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp @@ -81,9 +81,6 @@ namespace vcpkg fs::path VcpkgPaths::package_dir(const PackageSpec& spec) const { return this->packages / spec.dir(); } - fs::path VcpkgPaths::port_dir(const PackageSpec& spec) const { return this->ports / spec.name(); } - fs::path VcpkgPaths::port_dir(const std::string& name) const { return this->ports / name; } - fs::path VcpkgPaths::build_info_file_path(const PackageSpec& spec) const { return this->package_dir(spec) / "BUILD_INFO"; diff --git a/toolsrc/vcpkg/vcpkg.vcxproj b/toolsrc/vcpkg/vcpkg.vcxproj index 8edea2244f..06d849a740 100644 --- a/toolsrc/vcpkg/vcpkg.vcxproj +++ b/toolsrc/vcpkg/vcpkg.vcxproj @@ -21,8 +21,8 @@ {34671B80-54F9-46F5-8310-AC429C11D4FB} vcpkg - 8.1 - v140 + 10.0 + v142 diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj b/toolsrc/vcpkglib/vcpkglib.vcxproj index a64eb42fd2..2a6853b8a9 100644 --- a/toolsrc/vcpkglib/vcpkglib.vcxproj +++ b/toolsrc/vcpkglib/vcpkglib.vcxproj @@ -21,8 +21,8 @@ {B98C92B7-2874-4537-9D46-D14E5C237F04} vcpkglib - 8.1 - v140 + 10.0 + v142 diff --git a/toolsrc/vcpkgmetricsuploader/vcpkgmetricsuploader.vcxproj b/toolsrc/vcpkgmetricsuploader/vcpkgmetricsuploader.vcxproj index e533d0e15d..2e689c7fca 100644 --- a/toolsrc/vcpkgmetricsuploader/vcpkgmetricsuploader.vcxproj +++ b/toolsrc/vcpkgmetricsuploader/vcpkgmetricsuploader.vcxproj @@ -21,8 +21,8 @@ {7D6FDEEB-B299-4A23-85EE-F67C4DED47BE} vcpkgmetricsuploader - 8.1 - v140 + 10.0 + v142 diff --git a/toolsrc/vcpkgtest/vcpkgtest.vcxproj b/toolsrc/vcpkgtest/vcpkgtest.vcxproj index 4cda294618..a7517ec541 100644 --- a/toolsrc/vcpkgtest/vcpkgtest.vcxproj +++ b/toolsrc/vcpkgtest/vcpkgtest.vcxproj @@ -48,8 +48,8 @@ {F27B8DB0-1279-4AF8-A2E3-1D49C4F0220D} Win32Proj vcpkgtest - 8.1 - v140 + 10.0 + v142 @@ -84,7 +84,7 @@ - + $(SolutionDir)msbuild.x86.debug\$(ProjectName)\ $(SolutionDir)msbuild.x86.debug\ From 17b8cd9d0520ba5941d25de7e1373b62f7e53b5c Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Sat, 22 Jun 2019 23:30:45 -0700 Subject: [PATCH 079/123] [ppconsul] remove conflict with json11 (#6967) * [ppconsol] remove conflict with json11 --- ports/json11/CONTROL | 2 +- ports/json11/destination.patch | 14 ++++ ports/json11/json11-config.cmake | 25 ++++++++ ports/json11/portfile.cmake | 3 + ports/ppconsul/CONTROL | 4 +- ports/ppconsul/cmake_build.patch | 107 ++++++++++++++++++++----------- ports/ppconsul/portfile.cmake | 4 ++ 7 files changed, 119 insertions(+), 40 deletions(-) create mode 100644 ports/json11/destination.patch create mode 100644 ports/json11/json11-config.cmake diff --git a/ports/json11/CONTROL b/ports/json11/CONTROL index d624f9e7be..34cee37de0 100644 --- a/ports/json11/CONTROL +++ b/ports/json11/CONTROL @@ -1,3 +1,3 @@ Source: json11 -Version: 2017-06-20-1 +Version: 2017-06-20-2 Description: json11 is a tiny JSON library for C++11, providing JSON parsing and serialization. diff --git a/ports/json11/destination.patch b/ports/json11/destination.patch new file mode 100644 index 0000000000..6d16303292 --- /dev/null +++ b/ports/json11/destination.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 819c36f..847489e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,6 +52,6 @@ if (JSON11_BUILD_TESTS) + target_link_libraries(json11_test json11) + endif() + +-install(TARGETS json11 DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) +-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/json11.hpp" DESTINATION include/${CMAKE_LIBRARY_ARCHITECTURE}) +-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/json11.pc" DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig) ++install(TARGETS json11 DESTINATION lib) ++install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/json11.hpp" DESTINATION include) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/json11.pc" DESTINATION lib/pkgconfig) diff --git a/ports/json11/json11-config.cmake b/ports/json11/json11-config.cmake new file mode 100644 index 0000000000..0bc3bb27ca --- /dev/null +++ b/ports/json11/json11-config.cmake @@ -0,0 +1,25 @@ +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + +if(NOT JSON11_FIND_COMPONENTS) + set(JSON11_FIND_COMPONENTS json11 json11) + if(JSON11_FIND_REQUIRED) + set(JSON11_FIND_REQUIRED_json11 TRUE) + endif() + + set(JSON11_FOUND TRUE) +endif() + +set(JSON11_INCLUDE_DIRS ${_DIR}/../../include) +set(JSON11_LIBRARIES) +if (EXISTS ${_DIR}/../../lib/libjson11.a) + list(APPEND JSON11_LIBRARIES optimized ${_DIR}/../../lib/libjson11.a) +endif() +if (EXISTS ${_DIR}/../../debug/lib/libjson11.a) + list(APPEND JSON11_LIBRARIES debug ${_DIR}/../../debug/lib/libjson11.a) +endif() +if (EXISTS ${_DIR}/../../lib/json11.lib) + list(APPEND JSON11_LIBRARIES optimized ${_DIR}/../../lib/json11.lib) +endif() +if (EXISTS ${_DIR}/../../debug/lib/json11.lib) + list(APPEND JSON11_LIBRARIES debug ${_DIR}/../../debug/lib/json11.lib) +endif() diff --git a/ports/json11/portfile.cmake b/ports/json11/portfile.cmake index f6592693a2..a3c2b9cabd 100644 --- a/ports/json11/portfile.cmake +++ b/ports/json11/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( REF ec4e45219af1d7cde3d58b49ed762376fccf1ace SHA512 2129e048d8dee027dc1ba789d9901e017b7d698465e15236802ef68639161e1cc7c8665d5f50079333801717fd41ffbe2cb90fa2165b9a85629e8ced8f2b3cd8 HEAD_REF master + PATCHES destination.patch ) vcpkg_configure_cmake( @@ -20,6 +21,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +file(INSTALL ${CURRENT_PORT_DIR}/json11-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/json11) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright diff --git a/ports/ppconsul/CONTROL b/ports/ppconsul/CONTROL index 4591b6a015..cc122ecf6d 100644 --- a/ports/ppconsul/CONTROL +++ b/ports/ppconsul/CONTROL @@ -1,5 +1,5 @@ Source: ppconsul -Version: 0.3 +Version: 0.3-1 Homepage: https://github.com/oliora/ppconsul Description: A C++ client library for Consul. Consul is a distributed tool for discovering and configuring services in your infrastructure. -Build-Depends: boost-core, boost-variant, curl[openssl] +Build-Depends: boost-core, boost-variant, curl[openssl], json11 diff --git a/ports/ppconsul/cmake_build.patch b/ports/ppconsul/cmake_build.patch index f607e37e42..95c795743b 100644 --- a/ports/ppconsul/cmake_build.patch +++ b/ports/ppconsul/cmake_build.patch @@ -1,37 +1,70 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 92e4698..002981e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -75,6 +75,8 @@ else () - set (CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${CURL_ROOT}/lib") - endif () - find_package(CURL REQUIRED) -+ find_package(OpenSSL REQUIRED) -+ find_package(ZLIB REQUIRED) - endif () - - set(LIBB64_DIR "${PROJECT_SOURCE_DIR}/ext/b64") -@@ -89,7 +91,6 @@ endif() - - add_subdirectory(ext/json11) - add_subdirectory(src) --add_subdirectory(tests) - - install( - DIRECTORY "${HEADERS_DIR}" -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 8e24aab..beaac68 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -85,7 +85,10 @@ if (${USE_CPPNETLIB}) - target_link_libraries(${PROJECT_NAME} PRIVATE ${CPPNETLIB_LIBRARIES}) - else () - target_include_directories(${PROJECT_NAME} PRIVATE ${CURL_INCLUDE_DIR}) -- target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES}) -+ target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} ZLIB::ZLIB) -+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -+ target_link_libraries(${PROJECT_NAME} PRIVATE "-framework CoreFoundation" "-framework Security") -+ endif () - endif () - - source_group(${PROJECT_NAME} FILES ${SOURCES}) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 92e4698..aa643aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,6 +52,8 @@ endif() + + enable_testing() + ++find_package(json11 REQUIRED) ++ + if (${USE_CPPNETLIB}) + find_package(Boost ${BOOST_MIN_VERSION} REQUIRED COMPONENTS thread filesystem system date_time chrono regex) + +@@ -75,6 +77,8 @@ else () + set (CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${CURL_ROOT}/lib") + endif () + find_package(CURL REQUIRED) ++ find_package(OpenSSL REQUIRED) ++ find_package(ZLIB REQUIRED) + endif () + + set(LIBB64_DIR "${PROJECT_SOURCE_DIR}/ext/b64") +@@ -87,9 +91,7 @@ if (WIN32 AND NOT BUILD_STATIC_LIB) + message(FATAL_ERROR "Building Ppconsul as dynamic library on Windows is not supported, see https://github.com/oliora/ppconsul/issues/25") + endif() + +-add_subdirectory(ext/json11) + add_subdirectory(src) +-add_subdirectory(tests) + + install( + DIRECTORY "${HEADERS_DIR}" +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index d747100..966c7e2 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -78,7 +78,7 @@ target_include_directories(${PROJECT_NAME} + + target_link_libraries(${PROJECT_NAME} + PRIVATE +- json11 ++ ${JSON11_LIBRARIES} + ${Boost_LIBRARIES} + ) + +@@ -87,7 +87,10 @@ if (${USE_CPPNETLIB}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${CPPNETLIB_LIBRARIES}) + else () + target_include_directories(${PROJECT_NAME} PRIVATE ${CURL_INCLUDE_DIR}) +- target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES}) ++ target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} ZLIB::ZLIB) ++ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") ++ target_link_libraries(${PROJECT_NAME} PRIVATE "-framework CoreFoundation" "-framework Security") ++ endif () + endif () + + source_group(${PROJECT_NAME} FILES ${SOURCES}) +diff --git a/src/s11n.h b/src/s11n.h +index 962a1ac..6ab7f3b 100644 +--- a/src/s11n.h ++++ b/src/s11n.h +@@ -6,7 +6,7 @@ + + #include "ppconsul/config.h" + #include "ppconsul/error.h" +-#include ++#include + #include + #include + #include diff --git a/ports/ppconsul/portfile.cmake b/ports/ppconsul/portfile.cmake index 43e7eaecad..a1290019fe 100644 --- a/ports/ppconsul/portfile.cmake +++ b/ports/ppconsul/portfile.cmake @@ -9,6 +9,10 @@ vcpkg_from_github( PATCHES "cmake_build.patch" ) +# Force the use of the vcpkg installed versions +file(REMOVE_RECURSE ${SOURCE_PATH}/ext/json11) +file(REMOVE_RECURSE ${SOURCE_PATH}/ext/catch) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA From 25f628e05f8f6a838b68ad25cc52a4ee221bd8ec Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 25 Jun 2019 01:46:37 +0800 Subject: [PATCH 080/123] [flann]Upgrade version to 1.9.1 and fix build error. (#6931) * [flann]Upgrade version to 1.9.1 and fix build error. * [flann]apply new patches. * [flann]Regenerate patches. * [flann]Combine all patches. --- ports/flann/CONTROL | 2 +- ...ix_targets.patch => fix-build-error.patch} | 109 ++++++------------ ports/flann/portfile.cmake | 7 +- 3 files changed, 41 insertions(+), 77 deletions(-) rename ports/flann/{fix_targets.patch => fix-build-error.patch} (71%) diff --git a/ports/flann/CONTROL b/ports/flann/CONTROL index fd8ecebc1f..c2aba2e18a 100644 --- a/ports/flann/CONTROL +++ b/ports/flann/CONTROL @@ -1,5 +1,5 @@ Source: flann -Version: jan2019 +Version: 1.9.1 Homepage: https://github.com/mariusmuja/flann Build-Depends: lz4 Description: Fast Library for Approximate Nearest Neighbors diff --git a/ports/flann/fix_targets.patch b/ports/flann/fix-build-error.patch similarity index 71% rename from ports/flann/fix_targets.patch rename to ports/flann/fix-build-error.patch index b9ebe7cb7d..f4867cba95 100644 --- a/ports/flann/fix_targets.patch +++ b/ports/flann/fix-build-error.patch @@ -1,19 +1,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index f4b94d2..e55195b 100644 +index f4b94d2..7ff331a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -146,9 +146,6 @@ if (BUILD_CUDA_LIB) +@@ -146,8 +146,7 @@ if (BUILD_CUDA_LIB) endif(CUDA_FOUND) endif(BUILD_CUDA_LIB) -find_package(PkgConfig REQUIRED) -pkg_check_modules(LZ4 REQUIRED liblz4) -- ++find_package(lz4 REQUIRED) + #set the C/C++ include path to the "include" directory include_directories(BEFORE ${PROJECT_SOURCE_DIR}/src/cpp) - diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in -index 6b95a71..2c95b6e 100644 +index 6b95a71..778aec4 100644 --- a/cmake/Config.cmake.in +++ b/cmake/Config.cmake.in @@ -3,3 +3,5 @@ @@ -22,8 +22,9 @@ index 6b95a71..2c95b6e 100644 +include(CMakeFindDependencyMacro) +find_dependency(lz4) +\ No newline at end of file diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake -index afe4742..0cf8289 100644 +index afe4742..8aef8e0 100644 --- a/cmake/flann_utils.cmake +++ b/cmake/flann_utils.cmake @@ -1,8 +1,7 @@ @@ -37,26 +38,8 @@ index afe4742..0cf8289 100644 endmacro(GET_OS_INFO) -@@ -27,7 +26,7 @@ macro(find_hdf5) - set( HDF5_IS_PARALLEL FALSE ) - foreach( _dir ${HDF5_INCLUDE_DIRS} ) - if( EXISTS "${_dir}/H5pubconf.h" ) -- file( STRINGS "${_dir}/H5pubconf.h" -+ file( STRINGS "${_dir}/H5pubconf.h" - HDF5_HAVE_PARALLEL_DEFINE - REGEX "HAVE_PARALLEL 1" ) - if( HDF5_HAVE_PARALLEL_DEFINE ) -@@ -106,7 +105,7 @@ endmacro(flann_add_pyunit) - - macro(flann_download_test_data _name _md5) - string(REPLACE "/" "_" _dataset_name dataset_${_name}) -- -+ - add_custom_target(${_dataset_name} - COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/bin/download_checkmd5.py http://people.cs.ubc.ca/~mariusm/uploads/FLANN/datasets/${_name} ${TEST_OUTPUT_PATH}/${_name} ${_md5} - VERBATIM) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 3f4655a..918b94a 100644 +index 3f4655a..bc1d758 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,9 +1,10 @@ @@ -89,19 +72,19 @@ index 3f4655a..918b94a 100644 target_link_libraries(flann_example_mpi flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES}) add_dependencies(examples flann_example_mpi) -@@ -36,7 +37,3 @@ if (HDF5_FOUND) - else() - message("hdf5 library not found, not compiling flann_example.cpp") - endif() -- -- -- -- diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index b30f3da..1535d37 100644 +index b421abb..78f9a64 100644 --- a/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt -@@ -8,12 +8,13 @@ file(GLOB_RECURSE C_SOURCES flann.cpp) +@@ -1,6 +1,6 @@ + #include_directories(${CMAKE_SOURCE_DIR}/include algorithms ext util nn .) + +-add_definitions(-D_FLANN_VERSION=${FLANN_VERSION}) ++add_definitions(-D_FLANN_VERSION=${FLANN_VERSION} -std=c++11) + + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/flann/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/flann/config.h) + +@@ -8,12 +8,11 @@ file(GLOB_RECURSE C_SOURCES flann.cpp) file(GLOB_RECURSE CPP_SOURCES flann_cpp.cpp) file(GLOB_RECURSE CU_SOURCES *.cu) @@ -112,16 +95,14 @@ index b30f3da..1535d37 100644 -endif() -set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC FLANN_USE_CUDA) +find_package(lz4 REQUIRED) -+ +set(CMAKE_POSITION_INDEPENDENT_CODE ON) -+ +add_library(flann_cpp STATIC ${CPP_SOURCES}) +target_link_libraries(flann_cpp PRIVATE lz4::lz4) +set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) if (BUILD_CUDA_LIB) SET(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-DFLANN_USE_CUDA") -@@ -25,48 +26,11 @@ if (BUILD_CUDA_LIB) +@@ -25,45 +24,9 @@ if (BUILD_CUDA_LIB) else() set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};" ) endif() @@ -169,46 +150,27 @@ index b30f3da..1535d37 100644 + set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA) endif() -- - if (USE_MPI AND HDF5_IS_PARALLEL) - add_executable(flann_mpi_server flann/mpi/flann_mpi_server.cpp) - target_link_libraries(flann_mpi_server flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES}) -@@ -80,31 +44,9 @@ endif() + +@@ -80,6 +43,7 @@ endif() if (BUILD_C_BINDINGS) -- add_library(flann_s STATIC ${C_SOURCES}) -- target_link_libraries(flann_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) -- if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) -- set_target_properties(flann_s PROPERTIES COMPILE_FLAGS -fPIC) -- endif() -- set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -- -- if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) -- add_library(flann SHARED "") -- set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX) -- target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive) -- else() -- add_library(flann SHARED ${C_SOURCES}) -- target_link_libraries(flann_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) -- -- if(MINGW AND OPENMP_FOUND) -- target_link_libraries(flann gomp) -- endif() -- endif() -- -- set_target_properties(flann PROPERTIES -- VERSION ${FLANN_VERSION} -- SOVERSION ${FLANN_SOVERSION} -- DEFINE_SYMBOL FLANN_EXPORTS -- ) ++ if (0) + add_library(flann_s STATIC ${C_SOURCES}) + target_link_libraries(flann_s -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) +@@ -105,6 +69,10 @@ if (BUILD_C_BINDINGS) + SOVERSION ${FLANN_SOVERSION} + DEFINE_SYMBOL FLANN_EXPORTS + ) ++ endif() + add_library(flann STATIC ${C_SOURCES}) + target_link_libraries(flann PRIVATE lz4::lz4) + set_property(TARGET flann PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) endif() if(WIN32) -@@ -118,9 +60,9 @@ endif(WIN32) +@@ -118,9 +86,9 @@ endif(WIN32) install ( @@ -220,7 +182,7 @@ index b30f3da..1535d37 100644 RUNTIME DESTINATION bin LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} -@@ -128,9 +70,9 @@ install ( +@@ -128,9 +96,9 @@ install ( if (BUILD_CUDA_LIB) install ( @@ -232,12 +194,15 @@ index b30f3da..1535d37 100644 RUNTIME DESTINATION bin LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} -@@ -139,7 +81,7 @@ endif() +@@ -139,9 +107,9 @@ endif() if (BUILD_C_BINDINGS) install ( - TARGETS flann flann_s + TARGETS flann EXPORT ${targets_export_name} - INCLUDES DESTINATION include +- INCLUDES DESTINATION include ++ INCLUDES DESTINATION ${FLANN_INCLUDE_INSTALL_DIR} RUNTIME DESTINATION bin + LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} diff --git a/ports/flann/portfile.cmake b/ports/flann/portfile.cmake index 17770bd29b..baf79035a3 100644 --- a/ports/flann/portfile.cmake +++ b/ports/flann/portfile.cmake @@ -7,11 +7,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mariusmuja/flann - REF aa40936816f4feaa714d3a09f92a495da017d95c - SHA512 f6f2e75f4ce4bc4bc4cc1feab27fe683b8a5f9f5dcea35de4df5136a683b5dff5e68776008821a16ccf1a52a9807cb053c0062deba4fe121948248acd52864ef + REF 1d04523268c388dabf1c0865d69e1b638c8c7d9d + SHA512 61e322222c2daa0b9677095e5ca231cba7c305ce754ad8e659eee350111c1e04351181c3af04e45ab6e5c9edea49c7b9ec6499bb0dbc080b87af36eb11c6ef7c HEAD_REF master - PATCHES - fix_targets.patch + PATCHES fix-build-error.patch ) vcpkg_configure_cmake( From 4f675eafb64afc103f7cb1dc14cbfe07a65559ec Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 25 Jun 2019 02:38:10 +0800 Subject: [PATCH 081/123] [libtins]Upgrade version to 4.2 and adds dependent ports to new version. (#7008) --- ports/libtins/CONTROL | 4 ++-- ports/libtins/portfile.cmake | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ports/libtins/CONTROL b/ports/libtins/CONTROL index 4bd5d3755c..11cb86ea88 100644 --- a/ports/libtins/CONTROL +++ b/ports/libtins/CONTROL @@ -1,4 +1,4 @@ Source: libtins -Version: 4.0-3 +Version: 4.2 Description: High-level, multiplatform C++ network packet sniffing and crafting library -Build-Depends: winpcap (windows) +Build-Depends: winpcap (windows), boost-icl, boost-any diff --git a/ports/libtins/portfile.cmake b/ports/libtins/portfile.cmake index 1839d118c9..dabd283d0b 100644 --- a/ports/libtins/portfile.cmake +++ b/ports/libtins/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mfontanini/libtins - REF v4.0 - SHA512 8a497617ca68f4bad331452778b92c51ce87e42d1ceae493ecd6799cabbe71609214ca962c4a8c83d205f76277f2a82f92d3d17341984caa1592cf237eb3cf3b + REF v4.2 + SHA512 46d07712604c780e418135c996f195046fd85a9e1411962c9bcee3c8d0fc64f494aa50164236ffd1e77ff8a398e9617bbf040b3e01a5771c5621c0faa1ce312f HEAD_REF master ) @@ -25,12 +25,16 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") #Windows + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) +else() #Linux/Unix/Darwin + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libtins) +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/libtins/copyright COPYONLY) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libtins RENAME copyright) # Post-build test for cmake libraries vcpkg_test_cmake(PACKAGE_NAME libtins) From 9e565e986789cf273de12fe1b07ce31800d10417 Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Mon, 24 Jun 2019 12:09:48 -0700 Subject: [PATCH 082/123] [--overlay-ports] Show location of overriden ports during install plan (#7002) * [--overlay-ports] Show source location of overlayed ports during install plan * Code cleanup * Code cleanup --- toolsrc/include/vcpkg/dependencies.h | 4 ++- toolsrc/src/vcpkg/commands.ci.cpp | 2 +- toolsrc/src/vcpkg/commands.upgrade.cpp | 2 +- toolsrc/src/vcpkg/dependencies.cpp | 40 ++++++++++++++++++++++---- toolsrc/src/vcpkg/install.cpp | 2 +- 5 files changed, 41 insertions(+), 9 deletions(-) diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h index 8c2050b3d1..9641580268 100644 --- a/toolsrc/include/vcpkg/dependencies.h +++ b/toolsrc/include/vcpkg/dependencies.h @@ -199,5 +199,7 @@ namespace vcpkg::Dependencies const StatusParagraphs& status_db, const CreateInstallPlanOptions& options = {}); - void print_plan(const std::vector& action_plan, const bool is_recursive = true); + void print_plan(const std::vector& action_plan, + const bool is_recursive = true, + const fs::path& default_ports_dir = ""); } diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index 8cab79504a..c12c26ff7b 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -451,7 +451,7 @@ namespace vcpkg::Commands::CI if (is_dry_run) { - Dependencies::print_plan(action_plan); + Dependencies::print_plan(action_plan, true, paths.ports); } else { diff --git a/toolsrc/src/vcpkg/commands.upgrade.cpp b/toolsrc/src/vcpkg/commands.upgrade.cpp index 77183ceaf7..1e64b2eb69 100644 --- a/toolsrc/src/vcpkg/commands.upgrade.cpp +++ b/toolsrc/src/vcpkg/commands.upgrade.cpp @@ -171,7 +171,7 @@ namespace vcpkg::Commands::Upgrade } } - Dependencies::print_plan(plan, true); + Dependencies::print_plan(plan, true, paths.ports); if (!no_dry_run) { diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index df472515fd..b604c9acfe 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -123,6 +123,27 @@ namespace vcpkg::Dependencies const PortFileProvider& m_provider; }; + std::string to_output_string(RequestType request_type, + const CStringView s, + const Build::BuildPackageOptions& options, + const fs::path& install_port_path, + const fs::path& default_port_path) + { + if (!default_port_path.empty() + && !Strings::case_insensitive_ascii_starts_with(install_port_path.u8string(), + default_port_path.u8string())) + { + const char* const from_head = options.use_head_version == Build::UseHeadVersion::YES ? " (from HEAD)" : ""; + switch (request_type) + { + case RequestType::AUTO_SELECTED: return Strings::format(" * %s%s -- %s", s, from_head, install_port_path.u8string()); + case RequestType::USER_REQUESTED: return Strings::format(" %s%s -- %s", s, from_head, install_port_path.u8string()); + default: Checks::unreachable(VCPKG_LINE_INFO); + } + } + return to_output_string(request_type, s, options); + } + std::string to_output_string(RequestType request_type, const CStringView s, const Build::BuildPackageOptions& options) @@ -131,7 +152,7 @@ namespace vcpkg::Dependencies switch (request_type) { - case RequestType::AUTO_SELECTED: return Strings::format(" * %s%s", s, from_head); + case RequestType::AUTO_SELECTED: return Strings::format(" * %s%s", s, from_head); case RequestType::USER_REQUESTED: return Strings::format(" %s%s", s, from_head); default: Checks::unreachable(VCPKG_LINE_INFO); } @@ -141,7 +162,7 @@ namespace vcpkg::Dependencies { switch (request_type) { - case RequestType::AUTO_SELECTED: return Strings::format(" * %s", s); + case RequestType::AUTO_SELECTED: return Strings::format(" * %s", s); case RequestType::USER_REQUESTED: return Strings::format(" %s", s); default: Checks::unreachable(VCPKG_LINE_INFO); } @@ -893,7 +914,7 @@ namespace vcpkg::Dependencies PackageGraph::~PackageGraph() = default; - void print_plan(const std::vector& action_plan, const bool is_recursive) + void print_plan(const std::vector& action_plan, const bool is_recursive, const fs::path& default_ports_dir) { std::vector remove_plans; std::vector rebuilt_plans; @@ -948,8 +969,17 @@ namespace vcpkg::Dependencies std::sort(already_installed_plans.begin(), already_installed_plans.end(), &InstallPlanAction::compare_by_name); std::sort(excluded.begin(), excluded.end(), &InstallPlanAction::compare_by_name); - static auto actions_to_output_string = [](const std::vector& v) { - return Strings::join("\n", v, [](const InstallPlanAction* p) { + static auto actions_to_output_string = [&](const std::vector& v) { + return Strings::join("\n", v, [&](const InstallPlanAction* p) { + if (auto * pscfl = p->source_control_file_location.get()) + { + return to_output_string(p->request_type, + p->displayname(), + p->build_options, + pscfl->source_location, + default_ports_dir); + } + return to_output_string(p->request_type, p->displayname(), p->build_options); }); }; diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index 781629236a..de19c360a9 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -684,7 +684,7 @@ namespace vcpkg::Install Metrics::g_metrics.lock()->track_property("installplan", specs_string); - Dependencies::print_plan(action_plan, is_recursive); + Dependencies::print_plan(action_plan, is_recursive, paths.ports); if (dry_run) { From 92a86a1e54359edaf17eadf5784078d671304fb6 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 25 Jun 2019 04:23:55 +0800 Subject: [PATCH 083/123] [sprout] Add new port (#6997) --- ports/sprout/CONTROL | 5 +++++ ports/sprout/portfile.cmake | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 ports/sprout/CONTROL create mode 100644 ports/sprout/portfile.cmake diff --git a/ports/sprout/CONTROL b/ports/sprout/CONTROL new file mode 100644 index 0000000000..67240a5e1c --- /dev/null +++ b/ports/sprout/CONTROL @@ -0,0 +1,5 @@ +Source: sprout +Version: 2019-06-20 +Homepage: https://github.com/bolero-MURAKAMI/Sprout +Description: C++11/14 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, Synthesizer, and others +Build-Depends: boost-array, boost-mpl diff --git a/ports/sprout/portfile.cmake b/ports/sprout/portfile.cmake new file mode 100644 index 0000000000..7be1c19859 --- /dev/null +++ b/ports/sprout/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bolero-MURAKAMI/Sprout + REF 6b5addba9face0a6403e66e7db2aa94d87387f61 + SHA512 b81c299842c48626a7fbedb5b70932623ddb128bd5c71115269253b2c82a331d4f5d5adeab24529be2c886d293de96c15c9641280b4eb31bd60379b284556900 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/sprout DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) From bc08706eecf6a4c2174b737ffe7d1b8bae596752 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 25 Jun 2019 04:36:41 +0800 Subject: [PATCH 084/123] [doctest] Update to 2.3.3 (#6998) --- ports/doctest/CONTROL | 2 +- ports/doctest/portfile.cmake | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ports/doctest/CONTROL b/ports/doctest/CONTROL index e623f8b858..135b8a4d8b 100644 --- a/ports/doctest/CONTROL +++ b/ports/doctest/CONTROL @@ -1,4 +1,4 @@ Source: doctest -Version: 2.3.2 +Version: 2.3.3 Homepage: https://github.com/onqtam/doctest Description: The fastest feature-rich C++ single-header testing framework for unit tests and TDD diff --git a/ports/doctest/portfile.cmake b/ports/doctest/portfile.cmake index dbb94990ea..7c9c4bfed8 100644 --- a/ports/doctest/portfile.cmake +++ b/ports/doctest/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO onqtam/doctest - REF 2.3.2 - SHA512 316c804d04c51e38ee54edb321c3f6c11e8b45d542add865e930a36430bb2b768c4302ec85a7470d2df7952981432ec4c1da662be46021eff0fa377f5cea85ba + REF 2.3.3 + SHA512 9ef94de93906f3c43918f232b3baa64756fdaee883afc5b2e785e76b108f1aa0d526a49dac58ffb0475ebfd8d8394ef266aec499c29282eea9a2752fb60b663f HEAD_REF master ) @@ -21,3 +21,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/doctest) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/doctest/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) From aefbaa1ba9c7b44af0c91c89018ae3f65f3e73ab Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Tue, 25 Jun 2019 00:22:57 +0200 Subject: [PATCH 085/123] [darknet] update to latest release (#6787) * [darknet] update to latest release * [darknet] Reduce patch size * update to latest release, does not require any patch :) --- ports/darknet/CONTROL | 4 ++-- ports/darknet/fix_cmakelists.patch | 22 ---------------------- ports/darknet/portfile.cmake | 10 ++++++---- 3 files changed, 8 insertions(+), 28 deletions(-) delete mode 100644 ports/darknet/fix_cmakelists.patch diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL index 88b4cdb7b2..3935034859 100644 --- a/ports/darknet/CONTROL +++ b/ports/darknet/CONTROL @@ -1,5 +1,5 @@ Source: darknet -Version: 0.2.5-1 +Version: 0.2.5-3 Description: Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities. Build-Depends: pthreads (windows), stb Default-Features: weights @@ -16,5 +16,5 @@ Feature: weights Description: Download common weights from official websites, using vcpkg proxy-enabled functions Feature: opencv-cuda -Build-Depends: opencv[ffmpeg],opencv[cuda] +Build-Depends: opencv[ffmpeg], opencv[cuda] Description: Build darknet with support for a CUDA-enabled OpenCV diff --git a/ports/darknet/fix_cmakelists.patch b/ports/darknet/fix_cmakelists.patch deleted file mode 100644 index 68451de453..0000000000 --- a/ports/darknet/fix_cmakelists.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 585eb0e..7515d98 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -28,8 +28,7 @@ enable_language(CXX) - set(CMAKE_CXX_STANDARD 11) - set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH}) - --set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Install prefix" FORCE) --set(INSTALL_BIN_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Path where exe and dll will be installed") -+set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") - set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") - set(INSTALL_INCLUDE_DIR "include" CACHE PATH "Path where headers will be installed") - set(INSTALL_CMAKE_DIR "share/darknet" CACHE PATH "Path where cmake configs will be installed") -@@ -88,7 +87,6 @@ if(USE_INTEGRATED_LIBS) - set(PThreads_windows_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/pthreads CACHE PATH "Path where pthreads for windows can be located") - add_definitions(-D_TIMESPEC_DEFINED) - endif() --set(Stb_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/stb CACHE PATH "Path where Stb image library can be located") - - set(CMAKE_DEBUG_POSTFIX d) - add_definitions(-DUSE_CMAKE_LIBS) diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake index 986bdb03df..3733420adf 100644 --- a/ports/darknet/portfile.cmake +++ b/ports/darknet/portfile.cmake @@ -11,11 +11,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AlexeyAB/darknet - REF 8c970498a296ed129ffef7d872ccc25d42d1afda - SHA512 70dda24656469b8a61a645533ac227b644d365c7d5f4dbc93077a3f46563dd45ae88c563fb1c8f8d02a2021760aba24bea35d81f0f307975d051d0f9bfe92265 + REF a1abd07e23fc5b143a6197de9908fe4f33791c6a + SHA512 df91bf595666a4db5beb5cc55f6c60be19667ab987a784faef04cf2215317c9a340cfc0a200640741fcc88c29cff077d5153b86ff497c31ad5ad132f05987516 HEAD_REF master - PATCHES - fix_cmakelists.patch ) set(ENABLE_CUDA OFF) @@ -61,7 +59,11 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE #since darknet configures a file inside source tree, it is better to disable parallel configure + #PREFER_NINJA #it does not work with cuda on windows https://gitlab.kitware.com/cmake/cmake/issues/19173 OPTIONS + -DINSTALL_BIN_DIR:STRING=bin + -DINSTALL_LIB_DIR:STRING=lib -DENABLE_CUDA=${ENABLE_CUDA} -DENABLE_OPENCV=${ENABLE_OPENCV} ) From ecc4b1631f7e3252a8b84ab7564c83ecda8a6763 Mon Sep 17 00:00:00 2001 From: Benjamin Sergeant Date: Mon, 24 Jun 2019 15:38:04 -0700 Subject: [PATCH 086/123] [ixwebsocket] add new port (#6835) * Add ixwebsocket * remove commented cmake directives * add dependencies * directive to remove share folder * try again with 4.0.3 which is using find_library for external code instead of vendoring it by default * use vcpkg feature flag to detect ssl backend + compile ws * do not build ws command line tool * add a feature for osx / control file closer to curl one * stop using features, as this makes CI unhappy * Revert "stop using features, as this makes CI unhappy" This reverts commit 4666b185671a9e37de5252334965fd63c060aea0. * play again with Build-Depends to fix error which appears to be only on uwp * call vcpkg_from_github instead * share folder not created --- ports/ixwebsocket/CONTROL | 21 +++++++++++++++++++++ ports/ixwebsocket/portfile.cmake | 24 ++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 ports/ixwebsocket/CONTROL create mode 100644 ports/ixwebsocket/portfile.cmake diff --git a/ports/ixwebsocket/CONTROL b/ports/ixwebsocket/CONTROL new file mode 100644 index 0000000000..98b64cd28d --- /dev/null +++ b/ports/ixwebsocket/CONTROL @@ -0,0 +1,21 @@ +Source: ixwebsocket +Version: 4.0.3 +Build-Depends: zlib +Description: Lightweight WebSocket Client and Server + HTTP Client +Default-Features: ssl + +Feature: ssl +Build-Depends: ixwebsocket[openssl] (!uwp&!windows&!osx), ixwebsocket[mbedtls] (windows), ixwebsocket[mbedtls] (uwp), ixwebsocket[sectransp] (osx) +Description: Default SSL backend + +# SSL backends +Feature: openssl +Build-Depends: openssl +Description: SSL support (OpenSSL) + +Feature: mbedtls +Build-Depends: mbedtls +Description: SSL support (mbedTLS) + +Feature: sectransp +Description: SSL support (sectransp) diff --git a/ports/ixwebsocket/portfile.cmake b/ports/ixwebsocket/portfile.cmake new file mode 100644 index 0000000000..b4beeed9b6 --- /dev/null +++ b/ports/ixwebsocket/portfile.cmake @@ -0,0 +1,24 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO machinezone/IXWebSocket + REF v4.0.3 + SHA512 41cda81ef28ae2a51d77bf09158f4c07350f22b17ed4b6645a87c7defd2a901b7656de260bc785c42990ddbea0ab23ad6e099694d2712537de0ca328aee8e229 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA # Disable this option if project cannot be built with Ninja + OPTIONS -DUSE_TLS=1 +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ixwebsocket RENAME copyright) + +# Post-build test for cmake libraries +# vcpkg_test_cmake(PACKAGE_NAME ixwebsocket) From 54b3be6b60466370d37edbe64fb6c6ede8487f04 Mon Sep 17 00:00:00 2001 From: tarcila Date: Tue, 25 Jun 2019 02:21:30 -0400 Subject: [PATCH 087/123] [scripts] Fix vcpkg_fixup_cmake on non Windows platforms (#5630) * [scripts] Fix vcpkg_fixup_cmake on non Windows platforms Script was only handling tools executables ending with .exe. Changed it so anything under /bin/ in transformed. This fixes for instance FlatcTargets-release.cmake from flatbuffers port on osx. --- ports/grpc/portfile.cmake | 17 +++-------------- scripts/cmake/vcpkg_fixup_cmake_targets.cmake | 14 +++++++++++--- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index b71a554208..2dca1c34ce 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -63,7 +63,7 @@ vcpkg_configure_cmake( -DgRPC_GFLAGS_PROVIDER=none -DgRPC_BENCHMARK_PROVIDER=none -DgRPC_INSTALL_CSHARP_EXT=OFF - -DgRPC_INSTALL_BINDIR:STRING=bin + -DgRPC_INSTALL_BINDIR:STRING=tools/grpc -DgRPC_INSTALL_LIBDIR:STRING=lib -DgRPC_INSTALL_INCLUDEDIR:STRING=include -DgRPC_INSTALL_CMAKEDIR:STRING=share/grpc @@ -76,22 +76,11 @@ vcpkg_fixup_cmake_targets() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/grpc RENAME copyright) -# Install tools -file(GLOB TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.exe") -if(TOOLS) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/grpc) - file(COPY ${TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/grpc) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/grpc) -endif() - -file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe" "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") -if(EXES) - file(REMOVE ${EXES}) -endif() +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/grpc) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools") # Ignore the C# extension DLL in bin/ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -## diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index 982f414b63..1e0f2493df 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -4,7 +4,8 @@ # Transform all /debug/share//*targets-debug.cmake files and move them to /share/. # Removes all /debug/share//*targets.cmake and /debug/share//*config.cmake # -# Transform all references matching /bin/*.exe to /tools//*.exe +# Transform all references matching /bin/*.exe to /tools//*.exe on Windows +# Transform all references matching /bin/* to /tools//* on other platforms # # Fix ${_IMPORT_PREFIX} in auto generated targets to be one folder deeper. # Replace ${CURRENT_INSTALLED_DIR} with ${_IMPORT_PREFIX} in configs/targets. @@ -27,6 +28,13 @@ function(vcpkg_fixup_cmake_targets) set(_vfct_TARGET_PATH share/${PORT}) endif() + + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(EXECUTABLE_SUFFIX "\\.exe") + else() + set(EXECUTABLE_SUFFIX) + endif() + set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/${_vfct_TARGET_PATH}) set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/${_vfct_TARGET_PATH}) @@ -107,7 +115,7 @@ function(vcpkg_fixup_cmake_targets) foreach(RELEASE_TARGET IN LISTS RELEASE_TARGETS) file(READ ${RELEASE_TARGET} _contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") file(WRITE ${RELEASE_TARGET} "${_contents}") endforeach() @@ -120,7 +128,7 @@ function(vcpkg_fixup_cmake_targets) file(READ ${DEBUG_TARGET} _contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" _contents "${_contents}") file(WRITE ${RELEASE_SHARE}/${DEBUG_TARGET_REL} "${_contents}") From 40a78054f50ed5eb5bf24cd9a522b48b62725f34 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Tue, 25 Jun 2019 10:55:24 -0700 Subject: [PATCH 088/123] [cnl] Update cnl to latest(#7031) --- ports/cnl/CONTROL | 2 +- ports/cnl/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/cnl/CONTROL b/ports/cnl/CONTROL index 7aa93f60eb..8daea5ae60 100644 --- a/ports/cnl/CONTROL +++ b/ports/cnl/CONTROL @@ -1,3 +1,3 @@ Source: cnl -Version: 2019-01-09 +Version: 2019-06-23 Description: A Compositional Numeric Library for C++ diff --git a/ports/cnl/portfile.cmake b/ports/cnl/portfile.cmake index 0eb23e1c9d..885cad137b 100644 --- a/ports/cnl/portfile.cmake +++ b/ports/cnl/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO johnmcfarlane/cnl - REF 9f632898a4738b9e41de90e66d4f6ddb84bda08b - SHA512 ffde0b5aa58e79b5a03eee588c0e43d17ab2ddb2ffb12508f9d1b0e05aa54bb6c653986f183ce339e73c562efd749af6bd3907d816c9f79bf48f1e84ded3ac13 + REF 48428242e72b8239cb14c963e40f724929d54df7 + SHA512 c7e012d99409977137a44915dd7a4df5014b6e8540ceee3e82492052541ce77a254d79e624d766b510e7d3a6b17a9d9b02391c6993ae55d3904334116e747983 HEAD_REF develop ) From 6a6d350d49e6a3bee55d7f644b43e57ccfc9f98a Mon Sep 17 00:00:00 2001 From: wangli28 <47812810+wangli28@users.noreply.github.com> Date: Wed, 26 Jun 2019 01:56:21 +0800 Subject: [PATCH 089/123] [armadillo] Fix build error in Linux (#7022) [armadillo] Fix installation path --- ports/armadillo/CONTROL | 2 +- ports/armadillo/portfile.cmake | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ports/armadillo/CONTROL b/ports/armadillo/CONTROL index 5baafdfdf9..78f0a66c30 100644 --- a/ports/armadillo/CONTROL +++ b/ports/armadillo/CONTROL @@ -1,4 +1,4 @@ Source: armadillo -Version: 2019-04-16-2 +Version: 2019-04-16-3 Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use Build-Depends: openblas (!osx), clapack (!osx) diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake index 437f174ddc..143591de64 100644 --- a/ports/armadillo/portfile.cmake +++ b/ports/armadillo/portfile.cmake @@ -25,11 +25,12 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/armadillo/CMake) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/Armadillo/CMake) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/Armadillo) file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/armadillo RENAME copyright) From 14d1575e0b1e77d2308891966f7aac5515266487 Mon Sep 17 00:00:00 2001 From: tarcila Date: Tue, 25 Jun 2019 13:59:52 -0400 Subject: [PATCH 090/123] [capnproto] Enable Linux and OSX support (#7024) Now that #5630 is fix, this package is fully supported on both Linux and Mac OS X. --- ports/capnproto/portfile.cmake | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ports/capnproto/portfile.cmake b/ports/capnproto/portfile.cmake index 4043a53c55..5c189acc7f 100644 --- a/ports/capnproto/portfile.cmake +++ b/ports/capnproto/portfile.cmake @@ -2,10 +2,6 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP build is not supported.") endif() -if(DEFINED VCPKG_CMAKE_SYSTEM_NAME) - message(FATAL_ERROR "Error: CapnProto only build on Windows for now. See #5630 and #5635") -endif() - include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) From 90ad82908e85ff4b6cd385b82da3e8b66692a8b1 Mon Sep 17 00:00:00 2001 From: wangli28 <47812810+wangli28@users.noreply.github.com> Date: Wed, 26 Jun 2019 02:00:48 +0800 Subject: [PATCH 091/123] [nana, fmi4cpp] Fix Visual Studio 2019 deprecates . (#7021) --- ports/fmi4cpp/CONTROL | 2 +- ports/fmi4cpp/fix-build_error.patch | 25 +++++++++++++++++++++++++ ports/fmi4cpp/portfile.cmake | 2 ++ ports/nana/CONTROL | 2 +- ports/nana/fix-build-error.patch | 12 ++++++++++++ ports/nana/portfile.cmake | 2 ++ 6 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 ports/fmi4cpp/fix-build_error.patch create mode 100644 ports/nana/fix-build-error.patch diff --git a/ports/fmi4cpp/CONTROL b/ports/fmi4cpp/CONTROL index 2a05be3b54..4659e9d1a1 100644 --- a/ports/fmi4cpp/CONTROL +++ b/ports/fmi4cpp/CONTROL @@ -1,5 +1,5 @@ Source: fmi4cpp -Version: 0.7.0 +Version: 0.7.0-1 Description: FMI 2.0 implementation written in modern C++ Build-Depends: boost-property-tree, libzip[openssl] diff --git a/ports/fmi4cpp/fix-build_error.patch b/ports/fmi4cpp/fix-build_error.patch new file mode 100644 index 0000000000..ef0950e871 --- /dev/null +++ b/ports/fmi4cpp/fix-build_error.patch @@ -0,0 +1,25 @@ +diff --git a/include/fmi4cpp/fmu_resource.hpp b/include/fmi4cpp/fmu_resource.hpp +index 98f2067..8e88dcf 100644 +--- a/include/fmi4cpp/fmu_resource.hpp ++++ b/include/fmi4cpp/fmu_resource.hpp +@@ -24,6 +24,7 @@ + + #ifndef FMI4CPP_FMURESOURCE_HPP + #define FMI4CPP_FMURESOURCE_HPP ++#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING + + #include + #include +diff --git a/src/fmi2/fmu.cpp b/src/fmi2/fmu.cpp +index a0d5f75..bd01487 100644 +--- a/src/fmi2/fmu.cpp ++++ b/src/fmi2/fmu.cpp +@@ -26,6 +26,8 @@ + #include + #endif + ++#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING ++ + #include + #include + diff --git a/ports/fmi4cpp/portfile.cmake b/ports/fmi4cpp/portfile.cmake index 0952f5c5a9..ad45b5abe4 100644 --- a/ports/fmi4cpp/portfile.cmake +++ b/ports/fmi4cpp/portfile.cmake @@ -18,6 +18,8 @@ vcpkg_from_github( REF v0.7.0 SHA512 5846f5b28badb5b4836ffd9d284f602dd243df20d3c82cab5e2b62b8be37e0ab05b7422bca066f37ca67ee0d5b35abd2febe87f623fc3b9854d245e86e1e21fe HEAD_REF master + PATCHES + fix-build_error.patch ) set(WITH_CURL OFF) diff --git a/ports/nana/CONTROL b/ports/nana/CONTROL index 0e832f7e87..4038c6f9ed 100644 --- a/ports/nana/CONTROL +++ b/ports/nana/CONTROL @@ -1,5 +1,5 @@ Source: nana -Version: 1.7.1 +Version: 1.7.1-1 Homepage: https://github.com/cnjinhao/nana Description: Cross-platform library for GUI programming in modern C++ style. Build-Depends: libpng, libjpeg-turbo, freetype (!uwp&&!windows), fontconfig (!uwp&&!windows) diff --git a/ports/nana/fix-build-error.patch b/ports/nana/fix-build-error.patch new file mode 100644 index 0000000000..3894f9600e --- /dev/null +++ b/ports/nana/fix-build-error.patch @@ -0,0 +1,12 @@ +diff --git a/include/nana/filesystem/filesystem.hpp b/include/nana/filesystem/filesystem.hpp +index 86b907a..ea8db75 100644 +--- a/include/nana/filesystem/filesystem.hpp ++++ b/include/nana/filesystem/filesystem.hpp +@@ -30,6 +30,7 @@ + #ifndef NANA_FILESYSTEM_HPP + #define NANA_FILESYSTEM_HPP + #include ++#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING + + //Filesystem Selection + #include diff --git a/ports/nana/portfile.cmake b/ports/nana/portfile.cmake index 981bc42442..fa08158138 100644 --- a/ports/nana/portfile.cmake +++ b/ports/nana/portfile.cmake @@ -12,6 +12,8 @@ vcpkg_from_github( REF v1.7.1 SHA512 43bd6f6321557184431935b4fdd636427458e79333879f6310685a70ee25f4344851910e67c52145382c38a3cea9d1761b40c8edbc072a7cc9c62406ed402549 HEAD_REF develop + PATCHES + fix-build-error.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) From 728c767817d594d6043a305e254048d43da33e75 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Tue, 25 Jun 2019 11:01:19 -0700 Subject: [PATCH 092/123] [libpmemobj-cpp] Add new port (#7020) --- ports/libpmemobj-cpp/CONTROL | 4 ++++ ports/libpmemobj-cpp/portfile.cmake | 30 +++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 ports/libpmemobj-cpp/CONTROL create mode 100644 ports/libpmemobj-cpp/portfile.cmake diff --git a/ports/libpmemobj-cpp/CONTROL b/ports/libpmemobj-cpp/CONTROL new file mode 100644 index 0000000000..ebc46931bd --- /dev/null +++ b/ports/libpmemobj-cpp/CONTROL @@ -0,0 +1,4 @@ +Source: libpmemobj-cpp +Version: 1.6 +#Build-Depends: pmdk +Description: C++ bindings for libpmemobj (https://github.com/pmem/pmdk). \ No newline at end of file diff --git a/ports/libpmemobj-cpp/portfile.cmake b/ports/libpmemobj-cpp/portfile.cmake new file mode 100644 index 0000000000..563dd67d7e --- /dev/null +++ b/ports/libpmemobj-cpp/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pmem/libpmemobj-cpp + REF 1.6 + SHA512 c9a90ebc6e3231b9fcc86c9c55cc8dc219b663b39828680fb58ad7229dba1d60428c34824445f627350013bf32b83e5f0f9c2d4c17054f2321d5200832e6fea0 + HEAD_REF master +) + +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) +set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}") + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_DOC=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + From b9764f8d89b4713fad3ff4573f2b7504ae79a771 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 26 Jun 2019 02:02:43 +0800 Subject: [PATCH 093/123] [qt5-base]Add execute permission when installing executables in Linux. (#7019) --- ports/qt5-base/CONTROL | 2 +- ports/qt5-base/portfile.cmake | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index 0082dc46cf..562a9cc9dd 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,5 +1,5 @@ Source: qt5-base -Version: 5.12.3-1 +Version: 5.12.3-2 Homepage: https://www.qt.io/ Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components. Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index 6020376ba0..a574115624 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -153,7 +153,9 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*") list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$") - file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) + file(INSTALL ${BINARY_TOOLS} + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE + DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) file(REMOVE ${BINARY_TOOLS}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/qt_release.conf DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) From 1004b2ea11f67c59f2b3388ac4fb7947d0fa5e87 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Tue, 25 Jun 2019 14:19:57 -0700 Subject: [PATCH 094/123] [libmikmod] patch cmake warning (#7035) * [libmikmod] Address cmake warnings --- ports/libmikmod/CONTROL | 2 +- ports/libmikmod/cmake_policy.patch | 13 +++++++++++++ ports/libmikmod/portfile.cmake | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 ports/libmikmod/cmake_policy.patch diff --git a/ports/libmikmod/CONTROL b/ports/libmikmod/CONTROL index 57d399a268..6a02a4ae4f 100644 --- a/ports/libmikmod/CONTROL +++ b/ports/libmikmod/CONTROL @@ -1,5 +1,5 @@ Source: libmikmod -Version: 3.3.11.1-2 +Version: 3.3.11.1-3 Homepage: https://sourceforge.net/projects/mikmod/ Description: Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm. Build-Depends: openal-soft diff --git a/ports/libmikmod/cmake_policy.patch b/ports/libmikmod/cmake_policy.patch new file mode 100644 index 0000000000..17d48278a3 --- /dev/null +++ b/ports/libmikmod/cmake_policy.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b4d31d3..67951e6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,6 +23,8 @@ + # + # (This copyright notice applies only to this file) + ++cmake_policy(SET CMP0003 NEW) ++ + PROJECT(libmikmod C) + CMAKE_MINIMUM_REQUIRED(VERSION 2.8) + LIST(APPEND CMAKE_MODULE_PATH "${libmikmod_SOURCE_DIR}/cmake") diff --git a/ports/libmikmod/portfile.cmake b/ports/libmikmod/portfile.cmake index 3ff7ecb528..1ec5d67739 100644 --- a/ports/libmikmod/portfile.cmake +++ b/ports/libmikmod/portfile.cmake @@ -23,6 +23,7 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH PATCHES fix-missing-dll.patch + cmake_policy.patch ) vcpkg_configure_cmake( From ab81312c6300519ecf67f7e459f0921065e42872 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Tue, 25 Jun 2019 14:52:31 -0700 Subject: [PATCH 095/123] [libfabric] reorder patch (#7036) --- ports/libfabric/CONTROL | 2 +- ports/libfabric/add_additional_includes.patch | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ports/libfabric/CONTROL b/ports/libfabric/CONTROL index 931d10f5e4..9666bc2288 100644 --- a/ports/libfabric/CONTROL +++ b/ports/libfabric/CONTROL @@ -1,5 +1,5 @@ Source: libfabric -Version: 1.7.1 +Version: 1.7.1-1 Description: The OpenFabrics Interfaces Working Group (OFIWG) and the Libfabric open-source community are pleased to announce the release of version v1.6.2 of libfabric. See NEWS.md for the list of features and enhancements that have been added since the last release. Homepage: https://github.com/ofiwg/libfabric Build-Depends: networkdirect-sdk (windows) diff --git a/ports/libfabric/add_additional_includes.patch b/ports/libfabric/add_additional_includes.patch index 377a810d28..da3d3254c5 100644 --- a/ports/libfabric/add_additional_includes.patch +++ b/ports/libfabric/add_additional_includes.patch @@ -7,7 +7,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); CompileAsC 4127;4200;4204;4221;4115;4201;4100 true @@ -16,7 +16,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); CompileAsC 4127;4200;4204;4221;4115;4201;4100 true @@ -25,7 +25,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); CompileAsC 4127;4200;94;4204;4221;869 true @@ -34,7 +34,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); 4127;4200;4204;4221;4115;4201;4100 true false @@ -43,7 +43,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); 4127;4200;4204;4221;4115;4201;4100 true false @@ -52,7 +52,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); 4127;4200;94;4204;4221;869 true false From 1ce24dd0db6d9cf6cdb348ff29aa8454b3f1b028 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Tue, 25 Jun 2019 16:08:18 -0700 Subject: [PATCH 096/123] [docs]Update cmake docs (#7039) --- docs/maintainers/portfile-functions.md | 1 + docs/maintainers/vcpkg_configure_cmake.md | 1 + .../vcpkg_execute_build_process.md | 36 +++++++++++++++++++ .../vcpkg_extract_source_archive_ex.md | 2 +- .../maintainers/vcpkg_find_acquire_program.md | 1 + scripts/cmake/vcpkg_configure_cmake.cmake | 1 + .../vcpkg_extract_source_archive_ex.cmake | 2 +- 7 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 docs/maintainers/vcpkg_execute_build_process.md diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md index f159f7f64f..c4b810dc04 100644 --- a/docs/maintainers/portfile-functions.md +++ b/docs/maintainers/portfile-functions.md @@ -12,6 +12,7 @@ - [vcpkg\_copy\_pdbs](vcpkg_copy_pdbs.md) - [vcpkg\_copy\_tool\_dependencies](vcpkg_copy_tool_dependencies.md) - [vcpkg\_download\_distfile](vcpkg_download_distfile.md) +- [vcpkg\_execute\_build\_process](vcpkg_execute_build_process.md) - [vcpkg\_execute\_required\_process](vcpkg_execute_required_process.md) - [vcpkg\_extract\_source\_archive](vcpkg_extract_source_archive.md) - [vcpkg\_extract\_source\_archive\_ex](vcpkg_extract_source_archive_ex.md) diff --git a/docs/maintainers/vcpkg_configure_cmake.md b/docs/maintainers/vcpkg_configure_cmake.md index 200d358ae2..f61a6fa204 100644 --- a/docs/maintainers/vcpkg_configure_cmake.md +++ b/docs/maintainers/vcpkg_configure_cmake.md @@ -7,6 +7,7 @@ Configure CMake for Debug and Release builds of a project. vcpkg_configure_cmake( SOURCE_PATH <${SOURCE_PATH}> [PREFER_NINJA] + [DISABLE_PARALLEL_CONFIGURE] [GENERATOR <"NMake Makefiles">] [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] [OPTIONS_RELEASE <-DOPTIMIZE=1>...] diff --git a/docs/maintainers/vcpkg_execute_build_process.md b/docs/maintainers/vcpkg_execute_build_process.md new file mode 100644 index 0000000000..d5b3593d9f --- /dev/null +++ b/docs/maintainers/vcpkg_execute_build_process.md @@ -0,0 +1,36 @@ +# vcpkg_execute_build_process + +Execute a required build process + +## Usage +```cmake +vcpkg_execute_build_process( + COMMAND [...] + [NO_PARALLEL_COMMAND [...]] + WORKING_DIRECTORY + LOGNAME ) +) +``` +## Parameters +### COMMAND +The command to be executed, along with its arguments. + +### NO_PARALLEL_COMMAND +Optional parameter which specifies a non-parallel command to attempt if a +failure potentially due to parallelism is detected. + +### WORKING_DIRECTORY +The directory to execute the command in. + +### LOGNAME +The prefix to use for the log files. + +This should be a unique name for different triplets so that the logs don't +conflict when building multiple at once. + +## Examples + +* [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_execute_build_process.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_execute_build_process.cmake) diff --git a/docs/maintainers/vcpkg_extract_source_archive_ex.md b/docs/maintainers/vcpkg_extract_source_archive_ex.md index 92c90b2960..8f525c3ce5 100644 --- a/docs/maintainers/vcpkg_extract_source_archive_ex.md +++ b/docs/maintainers/vcpkg_extract_source_archive_ex.md @@ -25,7 +25,7 @@ The full path to the archive to be extracted. This is usually obtained from calling [`vcpkg_download_distfile`](vcpkg_download_distfile.md). ### REF -A friendly name that will be used instead of the filename of the archive. +A friendly name that will be used instead of the filename of the archive. If more than 10 characters it will be truncated. By convention, this is set to the version number or tag fetched diff --git a/docs/maintainers/vcpkg_find_acquire_program.md b/docs/maintainers/vcpkg_find_acquire_program.md index 57a2bf75a3..b868ea418e 100644 --- a/docs/maintainers/vcpkg_find_acquire_program.md +++ b/docs/maintainers/vcpkg_find_acquire_program.md @@ -24,6 +24,7 @@ The current list of programs includes: - MESON - NASM - NINJA +- NUGET - YASM - ARIA2 (Downloader) diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index 8f3aa64257..c17bd68c8e 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -7,6 +7,7 @@ ## vcpkg_configure_cmake( ## SOURCE_PATH <${SOURCE_PATH}> ## [PREFER_NINJA] +## [DISABLE_PARALLEL_CONFIGURE] ## [GENERATOR <"NMake Makefiles">] ## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] ## [OPTIONS_RELEASE <-DOPTIMIZE=1>...] diff --git a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake index a70a5e4a34..a775c2094c 100644 --- a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake @@ -25,7 +25,7 @@ ## This is usually obtained from calling [`vcpkg_download_distfile`](vcpkg_download_distfile.md). ## ## ### REF -## A friendly name that will be used instead of the filename of the archive. +## A friendly name that will be used instead of the filename of the archive. If more than 10 characters it will be truncated. ## ## By convention, this is set to the version number or tag fetched ## From 7401e2ff644779be3a1d0ec90be90282990e704b Mon Sep 17 00:00:00 2001 From: wangli28 <47812810+wangli28@users.noreply.github.com> Date: Wed, 26 Jun 2019 07:11:45 +0800 Subject: [PATCH 097/123] [libevent] Upgrade to version 2.1.10 (#6969) --- ports/fizz/fix-build_error.patch | 13 ++++++++++ ports/fizz/portfile.cmake | 4 ++- ports/libevent/CONTROL | 2 +- ports/libevent/fix-arm_build.patch | 36 +++++++++++++++++++++++++++ ports/libevent/fix-file_path.patch | 26 +++++++++++++++++++ ports/libevent/fix-target-files.patch | 36 --------------------------- ports/libevent/portfile.cmake | 23 ++++++++++++++--- 7 files changed, 98 insertions(+), 42 deletions(-) create mode 100644 ports/fizz/fix-build_error.patch create mode 100644 ports/libevent/fix-arm_build.patch create mode 100644 ports/libevent/fix-file_path.patch delete mode 100644 ports/libevent/fix-target-files.patch diff --git a/ports/fizz/fix-build_error.patch b/ports/fizz/fix-build_error.patch new file mode 100644 index 0000000000..e85f16c6e4 --- /dev/null +++ b/ports/fizz/fix-build_error.patch @@ -0,0 +1,13 @@ +diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt +index 7f8769a..debac4e 100644 +--- a/fizz/CMakeLists.txt ++++ b/fizz/CMakeLists.txt +@@ -81,7 +81,7 @@ if(TARGET event) + message(STATUS "Found libevent from package config") + list(APPEND FIZZ_SHINY_DEPENDENCIES event) + else() +- find_package(Libevent MODULE REQUIRED) ++ find_package(Libevent CONFIG REQUIRED) + list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB}) + list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) + endif() diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake index 373f1d4076..16459cbf48 100644 --- a/ports/fizz/portfile.cmake +++ b/ports/fizz/portfile.cmake @@ -8,7 +8,9 @@ vcpkg_from_github( REF 6d26a1be8d7a20d8d89c374ee3dc5c452d18c18d SHA512 bc6aa17a97fdfc53d0a247b876cbd1fea8214608b7e463dcf21e34df65015fe77e617c5a6c6bfa84b87e60e56b6aeb89aa2d8d774f97fc1f76f415869948a48a HEAD_REF master - PATCHES find-zlib.patch + PATCHES + find-zlib.patch + fix-build_error.patch ) # Prefer installed config files diff --git a/ports/libevent/CONTROL b/ports/libevent/CONTROL index 2534bf1f6a..95a4c37daf 100644 --- a/ports/libevent/CONTROL +++ b/ports/libevent/CONTROL @@ -1,5 +1,5 @@ Source: libevent -Version: 2.1.8-5 +Version: 2.1.10 Build-Depends: openssl Homepage: https://github.com/libevent/libevent Description: An event notification library diff --git a/ports/libevent/fix-arm_build.patch b/ports/libevent/fix-arm_build.patch new file mode 100644 index 0000000000..7bfad04496 --- /dev/null +++ b/ports/libevent/fix-arm_build.patch @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 44b6e18..19c024f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -322,7 +322,7 @@ endif() + # Winsock. + if(WIN32) + set(CMAKE_EXTRA_INCLUDE_FILES winsock2.h ws2tcpip.h) +- set(CMAKE_REQUIRED_LIBRARIES ws2_32.lib) ++ set(CMAKE_REQUIRED_LIBRARIES ws2_32.lib advapi32.lib shell32.lib) + set(CMAKE_REQUIRED_DEFINITIONS -FIwinsock2.h -FIws2tcpip.h) + endif() + if (SOLARIS) +diff --git a/cmake/AddEventLibrary.cmake b/cmake/AddEventLibrary.cmake +index 411ca9d..869735e 100644 +--- a/cmake/AddEventLibrary.cmake ++++ b/cmake/AddEventLibrary.cmake +@@ -73,6 +73,8 @@ macro(add_event_library LIB_NAME) + list(APPEND ADD_EVENT_LIBRARY_TARGETS "${LIB_NAME}_static") + + set(ADD_EVENT_LIBRARY_INTERFACE "${LIB_NAME}_static") ++ ++ target_link_libraries("${LIB_NAME}_static" PRIVATE ${CMAKE_REQUIRED_LIBRARIES}) + endif() + + if (${EVENT_LIBRARY_SHARED}) +@@ -81,7 +83,8 @@ macro(add_event_library LIB_NAME) + target_link_libraries("${LIB_NAME}_shared" + ${CMAKE_THREAD_LIBS_INIT} + ${LIB_PLATFORM} +- ${LIB_LIBRARIES}) ++ ${LIB_LIBRARIES} ++ ${CMAKE_REQUIRED_LIBRARIES}) + + if (EVENT_SHARED_FLAGS) + set_event_shared_lib_flags("${LIB_NAME}" "${EVENT_SHARED_FLAGS}") diff --git a/ports/libevent/fix-file_path.patch b/ports/libevent/fix-file_path.patch new file mode 100644 index 0000000000..179700b7ed --- /dev/null +++ b/ports/libevent/fix-file_path.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6e91c08..44b6e18 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1430,7 +1430,7 @@ configure_file(${PROJECT_SOURCE_DIR}/cmake/LibeventConfigBuildTree.cmake.in + # Calculate the relative directory from the Cmake dir. + file(RELATIVE_PATH + REL_INCLUDE_DIR +- "${EVENT_INSTALL_CMAKE_DIR}" ++ "${CURRENT_PACKAGES_DIR}/${EVENT_INSTALL_CMAKE_DIR}" + "${CMAKE_INSTALL_PREFIX}/include") + + # Note the LIBEVENT_CMAKE_DIR is defined in LibeventConfig.cmake.in, +diff --git a/cmake/AddEventLibrary.cmake b/cmake/AddEventLibrary.cmake +index 9de4484..411ca9d 100644 +--- a/cmake/AddEventLibrary.cmake ++++ b/cmake/AddEventLibrary.cmake +@@ -113,7 +113,7 @@ macro(add_event_library LIB_NAME) + EXPORT LibeventTargets + LIBRARY DESTINATION "lib" COMPONENT lib + ARCHIVE DESTINATION "lib" COMPONENT lib +- RUNTIME DESTINATION "lib" COMPONENT lib ++ RUNTIME DESTINATION "bin" COMPONENT bin + PUBLIC_HEADER DESTINATION "include/event2" + COMPONENT dev + ) diff --git a/ports/libevent/fix-target-files.patch b/ports/libevent/fix-target-files.patch deleted file mode 100644 index d1b2d59700..0000000000 --- a/ports/libevent/fix-target-files.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b4a34f3d..4bd80d84 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1343,10 +1343,10 @@ endif() - set(EVENT_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") - - # Make sure the paths are absolute. --foreach(p LIB BIN INCLUDE CMAKE) -+foreach(p INCLUDE CMAKE) - set(var EVENT_INSTALL_${p}_DIR) - if(NOT IS_ABSOLUTE "${${var}}") -- set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") -+ set(${var}_FULL "${CMAKE_INSTALL_PREFIX}/${${var}}") - endif() - endforeach() - -@@ -1371,15 +1371,15 @@ configure_file(${PROJECT_SOURCE_DIR}/cmake/LibeventConfigBuildTree.cmake.in - # Generate the config file for the installation tree. - file(RELATIVE_PATH - REL_INCLUDE_DIR -- "${EVENT_INSTALL_CMAKE_DIR}" -- "${EVENT_INSTALL_INCLUDE_DIR}") # Calculate the relative directory from the Cmake dir. -+ "${EVENT_INSTALL_CMAKE_DIR_FULL}" -+ "${EVENT_INSTALL_INCLUDE_DIR_FULL}") # Calculate the relative directory from the Cmake dir. - - # Note the EVENT_CMAKE_DIR is defined in LibeventConfig.cmake.in, - # we escape it here so it's evaluated when it is included instead - # so that the include dirs are givenrelative to where the - # config file is located. - set(EVENT__INCLUDE_DIRS -- "\${EVENT_CMAKE_DIR}/${REL_INCLUDE_DIR}") -+ "\${EVENT_CMAKE_DIR_FULL}/${REL_INCLUDE_DIR}") - - configure_file(${PROJECT_SOURCE_DIR}/cmake/LibeventConfig.cmake.in - ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/LibeventConfig.cmake diff --git a/ports/libevent/portfile.cmake b/ports/libevent/portfile.cmake index 28028ce3ca..ee3fdd3b68 100644 --- a/ports/libevent/portfile.cmake +++ b/ports/libevent/portfile.cmake @@ -7,17 +7,25 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libevent/libevent - REF release-2.1.8-stable - SHA512 0d5c872dc797b69ab8ea4b83aebcbac20735b8c6f5adfcc2950aa4d6013d240f5fac3376e817da75ae0ccead50cec0d931619e135a050add438777457b086549 + REF release-2.1.10-stable + SHA512 8c336df258f7a12164da739b0ea68bebcc8b2ea4f4a839300aa1c5edfb673ac5d6517f882ba04ab35d406489ddd682a319e39fa6784ac0cab73227d42e503a55 PATCHES - "fix-target-files.patch" + fix-file_path.patch + fix-arm_build.patch ) +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(LIBEVENT_LIB_TYPE SHARED) +else() + set(LIBEVENT_LIB_TYPE STATIC) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DEVENT_INSTALL_CMAKE_DIR:PATH=share/libevent + -DEVENT__LIBRARY_TYPE=${LIBEVENT_LIB_TYPE} -DEVENT__DISABLE_BENCHMARK=ON -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_REGRESS=ON @@ -28,7 +36,14 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets() +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/libevent) +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) +endif() + vcpkg_copy_pdbs() file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libevent) From abb7f546defc5c66f0a89523d81f474a05fd8446 Mon Sep 17 00:00:00 2001 From: Maxime Gervais Date: Wed, 26 Jun 2019 06:44:17 +0200 Subject: [PATCH 098/123] [libzen] Add new port (#7004) --- ports/libzen/CONTROL | 3 ++ ports/libzen/portfile.cmake | 31 +++++++++++++++++++ .../libzen/vcpkg_support_in_cmakelists.patch | 31 +++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 ports/libzen/CONTROL create mode 100644 ports/libzen/portfile.cmake create mode 100644 ports/libzen/vcpkg_support_in_cmakelists.patch diff --git a/ports/libzen/CONTROL b/ports/libzen/CONTROL new file mode 100644 index 0000000000..aca3ff287d --- /dev/null +++ b/ports/libzen/CONTROL @@ -0,0 +1,3 @@ +Source: libzen +Version: 0.4.37 +Description: ZenLib is a C++ utility library for easiest cross-platform development diff --git a/ports/libzen/portfile.cmake b/ports/libzen/portfile.cmake new file mode 100644 index 0000000000..52ad55ef60 --- /dev/null +++ b/ports/libzen/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO MediaArea/ZenLib + REF v0.4.37 + SHA512 857091422d6425aeae59bf5a9dfedd72f5c9b4a18f29acf88842d812f2b470fc8b1b03a245af6b7d08d616dd5596a8905cc138daecee23dadea39ae4215f77d4 + HEAD_REF master + + PATCHES vcpkg_support_in_cmakelists.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/Project/CMake + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/zenlib TARGET_PATH share/zenlib) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) + +file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libzen RENAME copyright) + +vcpkg_test_cmake(PACKAGE_NAME ZenLib MODULE) diff --git a/ports/libzen/vcpkg_support_in_cmakelists.patch b/ports/libzen/vcpkg_support_in_cmakelists.patch new file mode 100644 index 0000000000..fb2ce81f70 --- /dev/null +++ b/ports/libzen/vcpkg_support_in_cmakelists.patch @@ -0,0 +1,31 @@ +diff --git a/Project/CMake/CMakeLists.txt b/Project/CMake/CMakeLists.txt +index cb96dc8..8b05a25 100644 +--- a/Project/CMake/CMakeLists.txt ++++ b/Project/CMake/CMakeLists.txt +@@ -33,10 +33,12 @@ set(BIN_INSTALL_DIR "${CMAKE_INSTALL_FULL_BINDIR}" CACHE STRING "Directory where + set(LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}" CACHE STRING "Directory where library will install") + set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}" CACHE PATH "The directory the headers are installed in") + +-if(NOT MSVC) +- set(ZenLib_CONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake/zenlib") ++if(VCPKG_TARGET_TRIPLET) ++ set(ZenLib_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/zenlib") ++elseif(MSVC) ++ set(ZenLib_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/cmake") + else() +- set(ZenLib_CONFIG_INSTALL_DIR "cmake") ++ set(ZenLib_CONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake/zenlib") + endif() + + set(ZenLib_HDRS +@@ -136,10 +138,6 @@ set_target_properties(zen PROPERTIES + PUBLIC_HEADER "${ZenLib_HDRS}" + ) + +-if(MSVC) +- install(FILES $ DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS "Debug;RelWithDebInfo" OPTIONAL) +-endif() +- + install(TARGETS zen EXPORT zen-export + PUBLIC_HEADER DESTINATION ${INCLUDE_INSTALL_DIR}/ZenLib + RUNTIME DESTINATION ${BIN_INSTALL_DIR} From 32ee6c96ce48beffd64fea04c676ffb0d297681b Mon Sep 17 00:00:00 2001 From: John Zhu Date: Tue, 25 Jun 2019 21:45:02 -0700 Subject: [PATCH 099/123] #5248 make vcpkg buildable as 'system' user (#7038) If we keep TMP, when run as 'system' user it is using Windows\Temp folder. --- scripts/cleanEnvironmentHelper.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cleanEnvironmentHelper.ps1 b/scripts/cleanEnvironmentHelper.ps1 index a3792ecd34..fa5fe869dd 100644 --- a/scripts/cleanEnvironmentHelper.ps1 +++ b/scripts/cleanEnvironmentHelper.ps1 @@ -1,6 +1,6 @@ # Capture environment variables for the System and User. Also add some special/built-in variables. # These will be used to synthesize a clean environment -$specialEnvironmentMap = @{ "SystemDrive"=$env:SystemDrive; "SystemRoot"=$env:SystemRoot; "UserProfile"=$env:UserProfile } # These are built-in and not set in the registry +$specialEnvironmentMap = @{ "SystemDrive"=$env:SystemDrive; "SystemRoot"=$env:SystemRoot; "UserProfile"=$env:UserProfile; "TMP"=$env:TMP } # These are built-in and not set in the registry $machineEnvironmentMap = [Environment]::GetEnvironmentVariables('Machine') # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment $userEnvironmentMap = [Environment]::GetEnvironmentVariables('User') # HKEY_CURRENT_USER\Environment From 7b540fe2084bbe1fff46cfdfcde10fadbd021189 Mon Sep 17 00:00:00 2001 From: Simon Brand Date: Wed, 26 Jun 2019 06:09:16 +0100 Subject: [PATCH 100/123] [tl] Update tl::expected and tl::optional, add tl::function_ref (#7028) * [tl] Update tl::expected and tl::optional, add tl::function_ref * [tl-expected][tl-function-ref][tl-optional] Always prepopulate FetchContent --- ports/tl-expected/CONTROL | 2 +- ports/tl-expected/portfile.cmake | 26 ++++++++++++++++++---- ports/tl-function-ref/CONTROL | 3 +++ ports/tl-function-ref/portfile.cmake | 33 ++++++++++++++++++++++++++++ ports/tl-optional/CONTROL | 2 +- ports/tl-optional/portfile.cmake | 26 ++++++++++++++++++---- 6 files changed, 82 insertions(+), 10 deletions(-) create mode 100644 ports/tl-function-ref/CONTROL create mode 100644 ports/tl-function-ref/portfile.cmake diff --git a/ports/tl-expected/CONTROL b/ports/tl-expected/CONTROL index 440efe9faa..b07479595c 100644 --- a/ports/tl-expected/CONTROL +++ b/ports/tl-expected/CONTROL @@ -1,3 +1,3 @@ Source: tl-expected -Version: 0.3-1 +Version: 1.0.0-1 Description: C++11/14/17 std::expected implementation with functional-style extensions diff --git a/ports/tl-expected/portfile.cmake b/ports/tl-expected/portfile.cmake index 95a4861c23..80ec7e89bf 100644 --- a/ports/tl-expected/portfile.cmake +++ b/ports/tl-expected/portfile.cmake @@ -3,13 +3,31 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO TartanLlama/expected - REF v0.3 - SHA512 a228399f7103020ed814f1c755b82cf831b3d8c6aaa23dbc3aedc226b3cbd39c22075952dda3af84c8cf6f74ab1131c6997a2431ee62314bd82ccafdc9ab23a3 + REF v1.0.0 + SHA512 747ea34b5540dfcf595896332851f10c52a823ab8ba3fc8152478b0a9e8ca01f0f26827348407249827f4106ff577bd6e697ea6f749c1f21bd1f0913a621075d HEAD_REF master ) -# Install header file -file(INSTALL ${SOURCE_PATH}/tl DESTINATION ${CURRENT_PACKAGES_DIR}/include) +vcpkg_from_github( + OUT_SOURCE_PATH TL_CMAKE_SOURCE_DIR + REPO TartanLlama/tl-cmake + REF 284c6a3f0f61823cc3871b0f193e8df699e2c4ce + SHA512 f611326d75d6e87e58cb05e91f9506b1d83e6fd3b214fe311c4c15604feabfb7a18bbf9c4b4c389a39d615eb468b1f4b15802ab9f44f334a12310cb183fa77a7 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR} + -DEXPECTED_ENABLE_TESTS=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-expected RENAME copyright) diff --git a/ports/tl-function-ref/CONTROL b/ports/tl-function-ref/CONTROL new file mode 100644 index 0000000000..be89f77417 --- /dev/null +++ b/ports/tl-function-ref/CONTROL @@ -0,0 +1,3 @@ +Source: tl-function-ref +Version: 1.0.0-1 +Description: A lightweight, non-owning reference to a callable. \ No newline at end of file diff --git a/ports/tl-function-ref/portfile.cmake b/ports/tl-function-ref/portfile.cmake new file mode 100644 index 0000000000..07df6a048a --- /dev/null +++ b/ports/tl-function-ref/portfile.cmake @@ -0,0 +1,33 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO TartanLlama/function_ref + REF v1.0.0 + SHA512 64324049021548361caa667a5ad61a8c0acc787d3966e5b132520da99af709970e37b5a5cb71f69523b6254c9d0d8bab441356e7a25880fe53a6998067c587bd + HEAD_REF master +) + +vcpkg_from_github( + OUT_SOURCE_PATH TL_CMAKE_SOURCE_DIR + REPO TartanLlama/tl-cmake + REF 284c6a3f0f61823cc3871b0f193e8df699e2c4ce + SHA512 f611326d75d6e87e58cb05e91f9506b1d83e6fd3b214fe311c4c15604feabfb7a18bbf9c4b4c389a39d615eb468b1f4b15802ab9f44f334a12310cb183fa77a7 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR} + -DFUNCTION_REF_ENABLE_TESTS=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-function-ref RENAME copyright) diff --git a/ports/tl-optional/CONTROL b/ports/tl-optional/CONTROL index 3be044dbe4..5464d80542 100644 --- a/ports/tl-optional/CONTROL +++ b/ports/tl-optional/CONTROL @@ -1,3 +1,3 @@ Source: tl-optional -Version: 0.5-1 +Version: 1.0.0-1 Description: C++11/14/17 std::optional implementation with functional-style extensions diff --git a/ports/tl-optional/portfile.cmake b/ports/tl-optional/portfile.cmake index b6d98b9e07..3c3085cc93 100644 --- a/ports/tl-optional/portfile.cmake +++ b/ports/tl-optional/portfile.cmake @@ -3,13 +3,31 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO TartanLlama/optional - REF v0.5 - SHA512 f4f72c1ba431737fb7b1b6468b7dbbb025f299775e0a3401993490a60d5999d31ccf1e48c0cd57836293a5534ea4749b9f1c8f65f896144204af3389a5e512f9 + REF v1.0.0 + SHA512 6e5020808650ec312f5cdf4bc92be9067dc214c2e02d635511e99b325d34c360ce360cf93e67287dba4b9c0d674f3cbae96a75b83b13374fbb1291d2bb0f078a HEAD_REF master ) -# Install header file -file(INSTALL ${SOURCE_PATH}/tl DESTINATION ${CURRENT_PACKAGES_DIR}/include) +vcpkg_from_github( + OUT_SOURCE_PATH TL_CMAKE_SOURCE_DIR + REPO TartanLlama/tl-cmake + REF 284c6a3f0f61823cc3871b0f193e8df699e2c4ce + SHA512 f611326d75d6e87e58cb05e91f9506b1d83e6fd3b214fe311c4c15604feabfb7a18bbf9c4b4c389a39d615eb468b1f4b15802ab9f44f334a12310cb183fa77a7 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR} + -DOPTIONAL_ENABLE_TESTS=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-optional RENAME copyright) From 9c3e312d81f402ccd122255a464ea4e27e950483 Mon Sep 17 00:00:00 2001 From: John McNamara Date: Wed, 26 Jun 2019 06:11:41 +0100 Subject: [PATCH 101/123] [libxlsxwriter] upgrade to 0.8.7 (#7034) Upgrade to the latest version of libxlsxwriter. Closes #6982 --- ports/libxlsxwriter/0003-fix-include-file.patch | 14 ++++++++++++++ ports/libxlsxwriter/CONTROL | 2 +- ports/libxlsxwriter/portfile.cmake | 7 ++++--- 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 ports/libxlsxwriter/0003-fix-include-file.patch diff --git a/ports/libxlsxwriter/0003-fix-include-file.patch b/ports/libxlsxwriter/0003-fix-include-file.patch new file mode 100644 index 0000000000..faa0517b86 --- /dev/null +++ b/ports/libxlsxwriter/0003-fix-include-file.patch @@ -0,0 +1,14 @@ +diff --git a/include/xlsxwriter/utility.h b/include/xlsxwriter/utility.h +index 5b4b365..5f86335 100644 +--- a/include/xlsxwriter/utility.h ++++ b/include/xlsxwriter/utility.h +@@ -17,7 +17,9 @@ + #define __LXW_UTILITY_H__ + + #include ++#ifndef _MSC_VER + #include ++#endif + #include "common.h" + #include "xmlwriter.h" + diff --git a/ports/libxlsxwriter/CONTROL b/ports/libxlsxwriter/CONTROL index 0cf7ed9655..8848ce5f9e 100644 --- a/ports/libxlsxwriter/CONTROL +++ b/ports/libxlsxwriter/CONTROL @@ -1,4 +1,4 @@ Source: libxlsxwriter -Version: 0.8.6-1 +Version: 0.8.7-1 Description: Libxlsxwriter is a C library that can be used to write text, numbers, formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file. Build-Depends: zlib diff --git a/ports/libxlsxwriter/portfile.cmake b/ports/libxlsxwriter/portfile.cmake index f60d2f88d8..cf77a09e41 100644 --- a/ports/libxlsxwriter/portfile.cmake +++ b/ports/libxlsxwriter/portfile.cmake @@ -3,12 +3,13 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jmcnamara/libxlsxwriter - REF RELEASE_0.8.6 - SHA512 60822dc5f87531edc97cf774e234f25229a605d4430061c24b95c387318e6e05dde1b0f2f433cea14c6f84ee901c1dffe0d174bfd7e2a8459f59bcee900097db + REF RELEASE_0.8.7 + SHA512 20bf09f084808a8db00315848213c550fb809b587ea49ce3b25b310de981c176a44c518452507b6e00ca3f0a8e0056d88a6f575c031d54aa68791575cb9ab285 HEAD_REF master PATCHES 0001-fix-build-error.patch 0002-fix-uwp-build.patch + 0003-fix-include-file.patch ) if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") @@ -30,4 +31,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() file(COPY ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/License.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/License.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) From eff0769b757481f0f3a42f195355abbd319b6f78 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 27 Jun 2019 01:33:36 +0800 Subject: [PATCH 102/123] [openvdb]Upgrade version to 6.1.0, regenerate patches and fix build errors. (#6864) --- ports/openvdb/0001-fix-cmake-modules.patch | 207 --- ports/openvdb/0001-remove-pkgconfig.patch | 129 ++ ports/openvdb/0002-add-custom-options.patch | 14 - ports/openvdb/0002-fix-cmake-modules.patch | 1125 +++++++++++++++++ .../0003-build-only-necessary-targets.patch | 282 ----- ports/openvdb/0003-fix-cmake.patch | 90 ++ ports/openvdb/0004-add-necessary-head.patch | 59 - ports/openvdb/CONTROL | 4 +- ports/openvdb/blosc.patch | 24 - ports/openvdb/portfile.cmake | 35 +- 10 files changed, 1366 insertions(+), 603 deletions(-) delete mode 100644 ports/openvdb/0001-fix-cmake-modules.patch create mode 100644 ports/openvdb/0001-remove-pkgconfig.patch delete mode 100644 ports/openvdb/0002-add-custom-options.patch create mode 100644 ports/openvdb/0002-fix-cmake-modules.patch delete mode 100644 ports/openvdb/0003-build-only-necessary-targets.patch create mode 100644 ports/openvdb/0003-fix-cmake.patch delete mode 100644 ports/openvdb/0004-add-necessary-head.patch delete mode 100644 ports/openvdb/blosc.patch diff --git a/ports/openvdb/0001-fix-cmake-modules.patch b/ports/openvdb/0001-fix-cmake-modules.patch deleted file mode 100644 index 03cc2461ed..0000000000 --- a/ports/openvdb/0001-fix-cmake-modules.patch +++ /dev/null @@ -1,207 +0,0 @@ -diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake -index 2d9d9d3..e9b4abc 100644 ---- a/cmake/FindBlosc.cmake -+++ b/cmake/FindBlosc.cmake -@@ -37,11 +37,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH( BLOSC_LOCATION include/blosc.h -- "$ENV{BLOSC_ROOT}" -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- ) -+FIND_PATH( BLOSC_LOCATION include/blosc.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc - REQUIRED_VARS BLOSC_LOCATION -@@ -53,7 +49,7 @@ IF ( BLOSC_FOUND ) - CACHE STRING "Blosc library directories") - - SET ( _blosc_library_name "blosc" ) -- -+ - # Static library setup - IF (Blosc_USE_STATIC_LIBS) - SET(CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP ${CMAKE_FIND_LIBRARY_SUFFIXES}) -@@ -69,7 +65,7 @@ IF ( BLOSC_FOUND ) - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - ) -- -+ - # Static library tear down - IF (Blosc_USE_STATIC_LIBS) - SET( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP} ) -diff --git a/cmake/FindGLEW.cmake b/cmake/FindGLEW.cmake -index 0b72457..75951a6 100644 ---- a/cmake/FindGLEW.cmake -+++ b/cmake/FindGLEW.cmake -@@ -39,11 +39,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH( GLEW_LOCATION include/GL/glew.h -- "$ENV{GLEW_ROOT}" -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- ) -+FIND_PATH( GLEW_LOCATION include/GL/glew.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( GLEW - REQUIRED_VARS GLEW_LOCATION -diff --git a/cmake/FindGLFW3.cmake b/cmake/FindGLFW3.cmake -index cea0b86..07ea09e 100644 ---- a/cmake/FindGLFW3.cmake -+++ b/cmake/FindGLFW3.cmake -@@ -39,11 +39,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH( GLFW3_LOCATION include/GLFW/glfw3.h -- "$ENV{GLFW3_ROOT}" -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH --) -+FIND_PATH( GLFW3_LOCATION include/GLFW/glfw3.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( GLFW3 - REQUIRED_VARS GLFW3_LOCATION -@@ -59,7 +59,7 @@ IF (GLFW3_FOUND) - NO_CMAKE_SYSTEM_PATH - ) - ELSE (GLFW3_USE_STATIC_LIBS) -- FIND_LIBRARY ( GLFW3_glfw_LIBRARY glfw -+ FIND_LIBRARY ( GLFW3_glfw_LIBRARY glfw3dll - PATHS ${GLFW3_LOCATION}/lib - PATH_SUFFIXES ${GLFW3_PATH_SUFFIXES} - NO_DEFAULT_PATH -diff --git a/cmake/FindILMBase.cmake b/cmake/FindILMBase.cmake -index 664affd..5197110 100644 ---- a/cmake/FindILMBase.cmake -+++ b/cmake/FindILMBase.cmake -@@ -43,11 +43,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h -- "$ENV{ILMBASE_ROOT}" -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- ) -+FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( ILMBase - REQUIRED_VARS ILMBASE_LOCATION -@@ -70,11 +66,13 @@ IF ( ILMBASE_FOUND ) - SET ( IEXMATH_LIBRARY_NAME IexMath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) - SET ( ILMTHREAD_LIBRARY_NAME IlmThread-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) - SET ( IMATH_LIBRARY_NAME Imath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) -+ SET ( HALF_LIBRARY_NAME Half-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) - ELSE ( ILMBASE_NAMESPACE_VERSIONING ) - SET ( IEX_LIBRARY_NAME Iex ) - SET ( IEXMATH_LIBRARY_NAME IexMath ) - SET ( ILMTHREAD_LIBRARY_NAME IlmThread ) - SET ( IMATH_LIBRARY_NAME Imath ) -+ SET ( HALF_LIBRARY_NAME Half ) - ENDIF ( ILMBASE_NAMESPACE_VERSIONING ) - - SET ( ILMBASE_INCLUDE_DIRS -@@ -84,7 +82,7 @@ IF ( ILMBASE_FOUND ) - SET ( ILMBASE_LIBRARYDIR ${ILMBASE_LOCATION}/lib - CACHE STRING "ILMBase library directories") - SET ( ILMBASE_FOUND TRUE ) -- -+ - SET ( ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) - IF (Ilmbase_USE_STATIC_LIBS) - IF (APPLE) -@@ -129,14 +127,14 @@ IF ( ILMBASE_FOUND ) - ELSEIF (WIN32) - # Link library - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") -- FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} ) -+ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - # Load library - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") -- FIND_LIBRARY ( Ilmbase_HALF_DLL Half PATHS ${ILMBASE_LOCATION}/bin -+ FIND_LIBRARY ( Ilmbase_HALF_DLL ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LOCATION}/bin - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - ) -@@ -157,7 +155,7 @@ IF ( ILMBASE_FOUND ) - NO_SYSTEM_ENVIRONMENT_PATH - ) - ELSE (APPLE) -- FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} -+ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - ) -diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake -index 6d69c03..5ecf8fa 100644 ---- a/cmake/FindOpenEXR.cmake -+++ b/cmake/FindOpenEXR.cmake -@@ -38,11 +38,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH ( OPENEXR_LOCATION include/OpenEXR/OpenEXRConfig.h -- ENV OPENEXR_ROOT -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- ) -+FIND_PATH ( OPENEXR_LOCATION include/OpenEXR/OpenEXRConfig.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( OpenEXR - REQUIRED_VARS OPENEXR_LOCATION -@@ -59,7 +55,7 @@ IF ( OPENEXR_FOUND ) - FILE ( STRINGS "${OPENEXR_LOCATION}/include/OpenEXR/OpenEXRConfig.h" _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR ") - STRING ( REGEX REPLACE "#define OPENEXR_VERSION_MINOR" "" _openexr_version_minor_unstrip "${_openexr_version_minor_string}") - STRING ( STRIP "${_openexr_version_minor_unstrip}" OPENEXR_VERSION_MINOR ) -- -+ - MESSAGE ( STATUS "Found OpenEXR v${OPENEXR_VERSION_MAJOR}.${OPENEXR_VERSION_MINOR} at ${OPENEXR_LOCATION}" ) - - IF ( OPENEXR_NAMESPACE_VERSIONING ) -@@ -67,7 +63,7 @@ IF ( OPENEXR_FOUND ) - ELSE ( OPENEXR_NAMESPACE_VERSIONING ) - SET ( ILMIMF_LIBRARY_NAME IlmImf ) - ENDIF ( OPENEXR_NAMESPACE_VERSIONING ) -- -+ - SET ( OPENEXR_INCLUDE_DIRS - ${OPENEXR_LOCATION}/include - ${OPENEXR_LOCATION}/include/OpenEXR -@@ -120,6 +116,5 @@ IF ( OPENEXR_FOUND ) - ENDIF () - - # SET( Openexr_ILMIMF_LIBRARY ${OPENEXR_ILMIMF_LIBRARY_PATH} CACHE STRING "Openexr's IlmImf library") -- --ENDIF ( OPENEXR_FOUND ) - -+ENDIF ( OPENEXR_FOUND ) -diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake -index 8a56ec0..9f5a7b4 100644 ---- a/cmake/FindTBB.cmake -+++ b/cmake/FindTBB.cmake -@@ -42,14 +42,7 @@ FIND_PACKAGE ( PackageHandleStandardArgs ) - - # SET ( TBB_FOUND FALSE ) - --FIND_PATH( TBB_LOCATION include/tbb/tbb.h -- "$ENV{TBB_ROOT}" -- NO_DEFAULT_PATH -- NO_CMAKE_ENVIRONMENT_PATH -- NO_CMAKE_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- NO_CMAKE_SYSTEM_PATH -- ) -+FIND_PATH( TBB_LOCATION include/tbb/tbb.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( TBB - REQUIRED_VARS TBB_LOCATION diff --git a/ports/openvdb/0001-remove-pkgconfig.patch b/ports/openvdb/0001-remove-pkgconfig.patch new file mode 100644 index 0000000000..01803d531a --- /dev/null +++ b/ports/openvdb/0001-remove-pkgconfig.patch @@ -0,0 +1,129 @@ +diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake +index 03e361e..b44f46d 100644 +--- a/cmake/FindBlosc.cmake ++++ b/cmake/FindBlosc.cmake +@@ -104,11 +104,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find blosc +- +-find_package(PkgConfig) +-pkg_check_modules(PC_Blosc QUIET blosc) +- + # ------------------------------------------------------------------------ + # Search for blosc include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindCppUnit.cmake b/cmake/FindCppUnit.cmake +index fb8a28b..fea685e 100644 +--- a/cmake/FindCppUnit.cmake ++++ b/cmake/FindCppUnit.cmake +@@ -106,11 +106,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find cppunit +- +-find_package(PkgConfig) +-pkg_check_modules(PC_CppUnit QUIET cppunit) +- + # ------------------------------------------------------------------------ + # Search for CppUnit include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake +index f0a0d7f..9f31355 100644 +--- a/cmake/FindIlmBase.cmake ++++ b/cmake/FindIlmBase.cmake +@@ -152,11 +152,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find IlmBase +- +-find_package(PkgConfig) +-pkg_check_modules(PC_IlmBase QUIET IlmBase) +- + # ------------------------------------------------------------------------ + # Search for IlmBase include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindLog4cplus.cmake b/cmake/FindLog4cplus.cmake +index 6890724..10dc931 100644 +--- a/cmake/FindLog4cplus.cmake ++++ b/cmake/FindLog4cplus.cmake +@@ -106,11 +106,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find log4cplus +- +-find_package(PkgConfig) +-pkg_check_modules(PC_Log4cplus QUIET log4cplus) +- + # ------------------------------------------------------------------------ + # Search for Log4cplus include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake +index 302c1df..3d00c3d 100644 +--- a/cmake/FindOpenEXR.cmake ++++ b/cmake/FindOpenEXR.cmake +@@ -145,11 +145,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find OpenEXR +- +-find_package(PkgConfig) +-pkg_check_modules(PC_OpenEXR QUIET OpenEXR) +- + # ------------------------------------------------------------------------ + # Search for OpenEXR include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindOpenVDB.cmake b/cmake/FindOpenVDB.cmake +index 783dfed..1fd43be 100644 +--- a/cmake/FindOpenVDB.cmake ++++ b/cmake/FindOpenVDB.cmake +@@ -153,11 +153,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find OpenVDB +- +-find_package(PkgConfig) +-pkg_check_modules(PC_OpenVDB QUIET OpenVDB) +- + # This CMake module supports being called from external packages AND from + # within the OpenVDB repository for building openvdb components with the + # core library build disabled. Determine where we are being called from: +diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake +index 01696ce..8fe73e5 100644 +--- a/cmake/FindTBB.cmake ++++ b/cmake/FindTBB.cmake +@@ -141,11 +141,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find Tbb +- +-find_package(PkgConfig) +-pkg_check_modules(PC_Tbb QUIET tbb) +- + # ------------------------------------------------------------------------ + # Search for tbb include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/OpenVDBGLFW3Setup.cmake b/cmake/OpenVDBGLFW3Setup.cmake +index 3a29dc7..4dc6269 100644 +--- a/cmake/OpenVDBGLFW3Setup.cmake ++++ b/cmake/OpenVDBGLFW3Setup.cmake +@@ -77,12 +77,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find glfw, though we only use +-# pkg-config to re-direct to the cmake. In other words, glfw's cmake is +-# expected to be installed +-find_package(PkgConfig) +-pkg_check_modules(PC_glfw3 QUIET glfw3) +- + if(PC_glfw3_FOUND) + foreach(DIR ${PC_glfw3_LIBRARY_DIRS}) + list(APPEND _GLFW3_ROOT_SEARCH_DIR ${DIR}) diff --git a/ports/openvdb/0002-add-custom-options.patch b/ports/openvdb/0002-add-custom-options.patch deleted file mode 100644 index 5e8d490912..0000000000 --- a/ports/openvdb/0002-add-custom-options.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b35ec70..801e7df 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -38,6 +38,9 @@ if(CCACHE_FOUND) - set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) - endif(CCACHE_FOUND) - -+OPTION ( OPENVDB_BUILD_TOOLS "Build OpenVDB utilities" OFF ) -+OPTION ( OPENVDB_STATIC "Build statically linked library" OFF ) -+OPTION ( OPENVDB_SHARED "Build dynamically linked library" ON ) - OPTION ( OPENVDB_BUILD_UNITTESTS "Build the OpenVDB unit tests" ON ) - OPTION ( OPENVDB_BUILD_DOCS "Build the OpenVDB documentation" OFF ) - OPTION ( OPENVDB_BUILD_PYTHON_MODULE "Build the pyopenvdb Python module" ON ) diff --git a/ports/openvdb/0002-fix-cmake-modules.patch b/ports/openvdb/0002-fix-cmake-modules.patch new file mode 100644 index 0000000000..7b36161c5c --- /dev/null +++ b/ports/openvdb/0002-fix-cmake-modules.patch @@ -0,0 +1,1125 @@ +diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake +index e8b57a2..61ba83b 100644 +--- a/cmake/FindBlosc.cmake ++++ b/cmake/FindBlosc.cmake +@@ -1,4 +1,4 @@ +-# Copyright (c) 2012-2019 DreamWorks Animation LLC ++# Copyright (c) 2012-2016 DreamWorks Animation LLC + # + # All rights reserved. This software is distributed under the + # Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ ) +@@ -24,190 +24,51 @@ + # IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE + # LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00. + # +-#[=======================================================================[.rst: + +-FindBlosc +---------- +- +-Find Blosc include dirs and libraries +- +-Use this module by invoking find_package with the form:: +- +- find_package(Blosc +- [version] [EXACT] # Minimum or EXACT version e.g. 1.5.0 +- [REQUIRED] # Fail with error if Blosc is not found +- ) +- +-IMPORTED Targets +-^^^^^^^^^^^^^^^^ +- +-``Blosc::blosc`` +- This module defines IMPORTED target Blosc::Blosc, if Blosc has been found. +- +-Result Variables +-^^^^^^^^^^^^^^^^ +- +-This will define the following variables: +- +-``Blosc_FOUND`` +- True if the system has the Blosc library. +-``Blosc_VERSION`` +- The version of the Blosc library which was found. +-``Blosc_INCLUDE_DIRS`` +- Include directories needed to use Blosc. +-``Blosc_LIBRARIES`` +- Libraries needed to link to Blosc. +-``Blosc_LIBRARY_DIRS`` +- Blosc library directories. +- +-Cache Variables +-^^^^^^^^^^^^^^^ +- +-The following cache variables may also be set: +- +-``Blosc_INCLUDE_DIR`` +- The directory containing ``blosc.h``. +-``Blosc_LIBRARY`` +- The path to the Blosc library. +- +-Hints +-^^^^^ +- +-Instead of explicitly setting the cache variables, the following variables +-may be provided to tell this module where to look. +- +-``BLOSC_ROOT`` +- Preferred installation prefix. +-``BLOSC_INCLUDEDIR`` +- Preferred include directory e.g. /include +-``BLOSC_LIBRARYDIR`` +- Preferred library directory e.g. /lib +-``SYSTEM_LIBRARY_PATHS`` +- Paths appended to all include and lib searches. +- +-#]=======================================================================] +- +-mark_as_advanced( +- Blosc_INCLUDE_DIR +- Blosc_LIBRARY +-) +- +-# Append BLOSC_ROOT or $ENV{BLOSC_ROOT} if set (prioritize the direct cmake var) +-set(_BLOSC_ROOT_SEARCH_DIR "") +- +-if(BLOSC_ROOT) +- list(APPEND _BLOSC_ROOT_SEARCH_DIR ${BLOSC_ROOT}) +-else() +- set(_ENV_BLOSC_ROOT $ENV{BLOSC_ROOT}) +- if(_ENV_BLOSC_ROOT) +- list(APPEND _BLOSC_ROOT_SEARCH_DIR ${_ENV_BLOSC_ROOT}) +- endif() +-endif() +- +-# ------------------------------------------------------------------------ +-# Search for blosc include DIR +-# ------------------------------------------------------------------------ +- +-set(_BLOSC_INCLUDE_SEARCH_DIRS "") +-list(APPEND _BLOSC_INCLUDE_SEARCH_DIRS +- ${BLOSC_INCLUDEDIR} +- ${_BLOSC_ROOT_SEARCH_DIR} +- ${PC_Blosc_INCLUDE_DIRS} +- ${SYSTEM_LIBRARY_PATHS} +-) ++# -*- cmake -*- ++# - Find Blosc ++# ++# Author : Nicholas Yue yue.nicholas@gmail.com ++# ++# BLOSC_FOUND set if Blosc is found. ++# BLOSC_INCLUDE_DIR Blosc's include directory ++# BLOSC_LIBRARYDIR Blosc's library directory ++# BLOSC_LIBRARIES all Blosc libraries + +-# Look for a standard blosc header file. +-find_path(Blosc_INCLUDE_DIR blosc.h +- NO_DEFAULT_PATH +- PATHS ${_BLOSC_INCLUDE_SEARCH_DIRS} +- PATH_SUFFIXES include +-) ++FIND_PACKAGE ( PackageHandleStandardArgs ) + +-if(EXISTS "${Blosc_INCLUDE_DIR}/blosc.h") +- file(STRINGS "${Blosc_INCLUDE_DIR}/blosc.h" +- _blosc_version_major_string REGEX "#define BLOSC_VERSION_MAJOR +[0-9]+ " +- ) +- string(REGEX REPLACE "#define BLOSC_VERSION_MAJOR +([0-9]+).*$" "\\1" +- _blosc_version_major_string "${_blosc_version_major_string}" +- ) +- string(STRIP "${_blosc_version_major_string}" Blosc_VERSION_MAJOR) ++FIND_PATH( BLOSC_LOCATION include/blosc.h) + +- file(STRINGS "${Blosc_INCLUDE_DIR}/blosc.h" +- _blosc_version_minor_string REGEX "#define BLOSC_VERSION_MINOR +[0-9]+ " ++FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc ++ REQUIRED_VARS BLOSC_LOCATION + ) +- string(REGEX REPLACE "#define BLOSC_VERSION_MINOR +([0-9]+).*$" "\\1" +- _blosc_version_minor_string "${_blosc_version_minor_string}" +- ) +- string(STRIP "${_blosc_version_minor_string}" Blosc_VERSION_MINOR) +- +- unset(_blosc_version_major_string) +- unset(_blosc_version_minor_string) +- +- set(Blosc_VERSION ${Blosc_VERSION_MAJOR}.${Blosc_VERSION_MINOR}) +-endif() +- +-# ------------------------------------------------------------------------ +-# Search for blosc lib DIR +-# ------------------------------------------------------------------------ + +-set(_BLOSC_LIBRARYDIR_SEARCH_DIRS "") +-list(APPEND _BLOSC_LIBRARYDIR_SEARCH_DIRS +- ${BLOSC_LIBRARYDIR} +- ${_BLOSC_ROOT_SEARCH_DIR} +- ${PC_Blosc_LIBRARY_DIRS} +- ${SYSTEM_LIBRARY_PATHS} +-) ++IF ( BLOSC_FOUND ) + +-# Static library setup +-if(UNIX AND BLOSC_USE_STATIC_LIBS) +- set(_BLOSC_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) +- set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") +-endif() ++# SET ( BLOSC_LIBRARYDIR ${BLOSC_LOCATION}/lib ++# CACHE STRING "Blosc library directories") + +-set(BLOSC_PATH_SUFFIXES +- lib64 +- lib +-) ++ SET ( _blosc_library_name "blosc" ) + +-find_library(Blosc_LIBRARY blosc +- NO_DEFAULT_PATH +- PATHS ${_BLOSC_LIBRARYDIR_SEARCH_DIRS} +- PATH_SUFFIXES ${BLOSC_PATH_SUFFIXES} +-) ++ # Static library setup ++ IF (Blosc_USE_STATIC_LIBS) ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP ${CMAKE_FIND_LIBRARY_SUFFIXES}) ++ IF (WIN32) ++ SET ( _blosc_library_name "libblosc" ) ++ ELSE () ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") ++ ENDIF () ++ ENDIF() + +-if(UNIX AND BLOSC_USE_STATIC_LIBS) +- set(CMAKE_FIND_LIBRARY_SUFFIXES ${_BLOSC_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +- unset(_BLOSC_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) +-endif() +- +-# ------------------------------------------------------------------------ +-# Cache and set Blosc_FOUND +-# ------------------------------------------------------------------------ +- +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(Blosc +- FOUND_VAR Blosc_FOUND +- REQUIRED_VARS +- Blosc_LIBRARY +- Blosc_INCLUDE_DIR +- VERSION_VAR Blosc_VERSION +-) ++ FIND_LIBRARY ( BLOSC_blosc_LIBRARY ${_blosc_library_name} ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) + +-if(Blosc_FOUND) +- set(Blosc_LIBRARIES ${Blosc_LIBRARY}) +- set(Blosc_INCLUDE_DIRS ${Blosc_INCLUDE_DIR}) +- set(Blosc_DEFINITIONS ${PC_Blosc_CFLAGS_OTHER}) ++ # Static library tear down ++ IF (Blosc_USE_STATIC_LIBS) ++ SET( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP} ) ++ ENDIF() + +- get_filename_component(Blosc_LIBRARY_DIRS ${Blosc_LIBRARY} DIRECTORY) ++ SET( BLOSC_INCLUDE_DIR "${BLOSC_LOCATION}/include" CACHE STRING "Blosc include directory" ) + +- if(NOT TARGET Blosc::blosc) +- add_library(Blosc::blosc UNKNOWN IMPORTED) +- set_target_properties(Blosc::blosc PROPERTIES +- IMPORTED_LOCATION "${Blosc_LIBRARIES}" +- INTERFACE_COMPILE_DEFINITIONS "${Blosc_DEFINITIONS}" +- INTERFACE_INCLUDE_DIRECTORIES "${Blosc_INCLUDE_DIRS}" +- ) +- endif() +-elseif(Blosc_FIND_REQUIRED) +- message(FATAL_ERROR "Unable to find Blosc") +-endif() ++ENDIF ( BLOSC_FOUND ) +diff --git a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake +index 7f71a72..bb14fb4 100644 +--- a/cmake/FindIlmBase.cmake ++++ b/cmake/FindIlmBase.cmake +@@ -1,4 +1,4 @@ +-# Copyright (c) 2012-2019 DreamWorks Animation LLC ++# Copyright (c) 2012-2016 DreamWorks Animation LLC + # + # All rights reserved. This software is distributed under the + # Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ ) +@@ -24,309 +24,162 @@ + # IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE + # LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00. + # +-#[=======================================================================[.rst: + +-FindIlmBase +------------ +- +-Find IlmBase include dirs and libraries +- +-Use this module by invoking find_package with the form:: +- +- find_package(IlmBase +- [version] [EXACT] # Minimum or EXACT version +- [REQUIRED] # Fail with error if IlmBase is not found +- [COMPONENTS ...] # IlmBase libraries by their canonical name +- # e.g. "Half" for "libHalf" +- ) +- +-IMPORTED Targets +-^^^^^^^^^^^^^^^^ +- +-``IlmBase::Half`` +- The Half library target. +-``IlmBase::Iex`` +- The Iex library target. +-``IlmBase::IexMath`` +- The IexMath library target. +-``IlmBase::IlmThread`` +- The IlmThread library target. +-``IlmBase::Imath`` +- The Imath library target. +- +-Result Variables +-^^^^^^^^^^^^^^^^ +- +-This will define the following variables: +- +-``IlmBase_FOUND`` +- True if the system has the IlmBase library. +-``IlmBase_VERSION`` +- The version of the IlmBase library which was found. +-``IlmBase_INCLUDE_DIRS`` +- Include directories needed to use IlmBase. +-``IlmBase_LIBRARIES`` +- Libraries needed to link to IlmBase. +-``IlmBase_LIBRARY_DIRS`` +- IlmBase library directories. +-``IlmBase_{COMPONENT}_FOUND`` +- True if the system has the named IlmBase component. +- +-Cache Variables +-^^^^^^^^^^^^^^^ +- +-The following cache variables may also be set: +- +-``IlmBase_INCLUDE_DIR`` +- The directory containing ``IlmBase/config-auto.h``. +-``IlmBase_{COMPONENT}_LIBRARY`` +- Individual component libraries for IlmBase +-``IlmBase_{COMPONENT}_DLL`` +- Individual component dlls for IlmBase on Windows. +- +-Hints +-^^^^^ +- +-Instead of explicitly setting the cache variables, the following variables +-may be provided to tell this module where to look. +- +-``ILMBASE_ROOT`` +- Preferred installation prefix. +-``ILMBASE_INCLUDEDIR`` +- Preferred include directory e.g. /include +-``ILMBASE_LIBRARYDIR`` +- Preferred library directory e.g. /lib +-``SYSTEM_LIBRARY_PATHS`` +- Paths appended to all include and lib searches. +- +-#]=======================================================================] +- +-# Support new if() IN_LIST operator +-if(POLICY CMP0057) +- cmake_policy(SET CMP0057 NEW) +-endif() +- +-mark_as_advanced( +- IlmBase_INCLUDE_DIR +- IlmBase_LIBRARY +-) +- +-set(_ILMBASE_COMPONENT_LIST +- Half +- Iex +- IexMath +- IlmThread +- Imath +-) +- +-if(IlmBase_FIND_COMPONENTS) +- set(ILMBASE_COMPONENTS_PROVIDED TRUE) +- set(_IGNORED_COMPONENTS "") +- foreach(COMPONENT ${IlmBase_FIND_COMPONENTS}) +- if(NOT ${COMPONENT} IN_LIST _ILMBASE_COMPONENT_LIST) +- list(APPEND _IGNORED_COMPONENTS ${COMPONENT}) +- endif() +- endforeach() +- +- if(_IGNORED_COMPONENTS) +- message(STATUS "Ignoring unknown components of IlmBase:") +- foreach(COMPONENT ${_IGNORED_COMPONENTS}) +- message(STATUS " ${COMPONENT}") +- endforeach() +- list(REMOVE_ITEM IlmBase_FIND_COMPONENTS ${_IGNORED_COMPONENTS}) +- endif() +-else() +- set(ILMBASE_COMPONENTS_PROVIDED FALSE) +- set(IlmBase_FIND_COMPONENTS ${_ILMBASE_COMPONENT_LIST}) +-endif() +- +-# Append ILMBASE_ROOT or $ENV{ILMBASE_ROOT} if set (prioritize the direct cmake var) +-set(_ILMBASE_ROOT_SEARCH_DIR "") +- +-if(ILMBASE_ROOT) +- list(APPEND _ILMBASE_ROOT_SEARCH_DIR ${ILMBASE_ROOT}) +-else() +- set(_ENV_ILMBASE_ROOT $ENV{ILMBASE_ROOT}) +- if(_ENV_ILMBASE_ROOT) +- list(APPEND _ILMBASE_ROOT_SEARCH_DIR ${_ENV_ILMBASE_ROOT}) +- endif() +-endif() +- +-# ------------------------------------------------------------------------ +-# Search for IlmBase include DIR +-# ------------------------------------------------------------------------ +- +-set(_ILMBASE_INCLUDE_SEARCH_DIRS "") +-list(APPEND _ILMBASE_INCLUDE_SEARCH_DIRS +- ${ILMBASE_INCLUDEDIR} +- ${_ILMBASE_ROOT_SEARCH_DIR} +- ${PC_IlmBase_INCLUDEDIR} +- ${SYSTEM_LIBRARY_PATHS} +-) +- +-# Look for a standard IlmBase header file. +-find_path(IlmBase_INCLUDE_DIR IlmBaseConfig.h +- NO_DEFAULT_PATH +- PATHS ${_ILMBASE_INCLUDE_SEARCH_DIRS} +- PATH_SUFFIXES include/OpenEXR OpenEXR +-) +- +-if(EXISTS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h") +- # Get the ILMBASE version information from the config header +- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h" +- _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR " +- ) +- string(REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" "" +- _ilmbase_version_major_string "${_ilmbase_version_major_string}" +- ) +- string(STRIP "${_ilmbase_version_major_string}" IlmBase_VERSION_MAJOR) +- +- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h" +- _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR " +- ) +- string(REGEX REPLACE "#define ILMBASE_VERSION_MINOR" "" +- _ilmbase_version_minor_string "${_ilmbase_version_minor_string}" +- ) +- string(STRIP "${_ilmbase_version_minor_string}" IlmBase_VERSION_MINOR) +- +- unset(_ilmbase_version_major_string) +- unset(_ilmbase_version_minor_string) +- +- set(IlmBase_VERSION ${IlmBase_VERSION_MAJOR}.${IlmBase_VERSION_MINOR}) +-endif() +- +-# ------------------------------------------------------------------------ +-# Search for ILMBASE lib DIR +-# ------------------------------------------------------------------------ +- +-set(_ILMBASE_LIBRARYDIR_SEARCH_DIRS "") +- +-# Append to _ILMBASE_LIBRARYDIR_SEARCH_DIRS in priority order +- +-list(APPEND _ILMBASE_LIBRARYDIR_SEARCH_DIRS +- ${ILMBASE_LIBRARYDIR} +- ${_ILMBASE_ROOT_SEARCH_DIR} +- ${PC_IlmBase_LIBDIR} +- ${SYSTEM_LIBRARY_PATHS} +-) +- +-# Build suffix directories +- +-set(ILMBASE_PATH_SUFFIXES +- lib64 +- lib +-) +- +-if(UNIX) +- list(INSERT ILMBASE_PATH_SUFFIXES 0 lib/x86_64-linux-gnu) +-endif() +- +-set(_ILMBASE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) +- +-# library suffix handling +-if(WIN32) +- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES +- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.lib" +- ) +-else() +- if(ILMBASE_USE_STATIC_LIBS) +- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES +- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.a" +- ) +- else() +- if(APPLE) +- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES +- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.dylib" +- ) +- else() +- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES +- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.so" +- ) +- endif() +- endif() +-endif() +- +-set(IlmBase_LIB_COMPONENTS "") +- +-foreach(COMPONENT ${IlmBase_FIND_COMPONENTS}) +- find_library(IlmBase_${COMPONENT}_LIBRARY ${COMPONENT} +- NO_DEFAULT_PATH +- PATHS ${_ILMBASE_LIBRARYDIR_SEARCH_DIRS} +- PATH_SUFFIXES ${ILMBASE_PATH_SUFFIXES} +- ) +- list(APPEND IlmBase_LIB_COMPONENTS ${IlmBase_${COMPONENT}_LIBRARY}) +- +- if(WIN32 AND NOT ILMBASE_USE_STATIC_LIBS) +- set(_ILMBASE_TMP ${CMAKE_FIND_LIBRARY_SUFFIXES}) +- set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") +- find_library(IlmBase_${COMPONENT}_DLL ${COMPONENT} +- NO_DEFAULT_PATH +- PATHS ${_ILMBASE_LIBRARYDIR_SEARCH_DIRS} +- PATH_SUFFIXES bin +- ) +- set(CMAKE_FIND_LIBRARY_SUFFIXES ${_ILMBASE_TMP}) +- unset(_ILMBASE_TMP) +- endif() +- +- if(IlmBase_${COMPONENT}_LIBRARY) +- set(IlmBase_${COMPONENT}_FOUND TRUE) +- else() +- set(IlmBase_${COMPONENT}_FOUND FALSE) +- endif() +-endforeach() +- +-# reset lib suffix +- +-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_ILMBASE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +-unset(_ILMBASE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) +- +-# ------------------------------------------------------------------------ +-# Cache and set ILMBASE_FOUND +-# ------------------------------------------------------------------------ +- +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(IlmBase +- FOUND_VAR IlmBase_FOUND +- REQUIRED_VARS +- IlmBase_INCLUDE_DIR +- IlmBase_LIB_COMPONENTS +- VERSION_VAR IlmBase_VERSION +- HANDLE_COMPONENTS +-) ++#-*-cmake-*- ++# - Find ILMBase ++# ++# Author : Nicholas Yue yue.nicholas@gmail.com ++# ++# This auxiliary CMake file helps in find the ILMBASE headers and libraries ++# ++# ILMBASE_FOUND set if ILMBASE is found. ++# ILMBASE_INCLUDE_DIR ILMBASE's include directory ++# ILMBASE_LIBRARYDIR ILMBASE's include directory ++# Ilmbase_HALF_LIBRARY ILMBASE's Half libraries ++# Ilmbase_IEX_LIBRARY ILMBASE's Iex libraries ++# Ilmbase_IEXMATH_LIBRARY ILMBASE's IexMath libraries ++# Ilmbase_ILMTHREAD_LIBRARY ILMBASE's IlmThread libraries ++# Ilmbase_IMATH_LIBRARY ILMBASE's Imath libraries + +-if(IlmBase_FOUND) +- set(IlmBase_LIBRARIES ${IlmBase_LIB_COMPONENTS}) ++FIND_PACKAGE ( PackageHandleStandardArgs ) + +- # We have to add both include and include/OpenEXR to the include +- # path in case OpenEXR and IlmBase are installed separately ++FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h) + +- set(IlmBase_INCLUDE_DIRS) +- list(APPEND IlmBase_INCLUDE_DIRS +- ${IlmBase_INCLUDE_DIR}/../ +- ${IlmBase_INCLUDE_DIR} ++FIND_PACKAGE_HANDLE_STANDARD_ARGS ( ILMBase ++ REQUIRED_VARS ILMBASE_LOCATION + ) +- set(IlmBase_DEFINITIONS ${PC_IlmBase_CFLAGS_OTHER}) +- +- set(IlmBase_LIBRARY_DIRS "") +- foreach(LIB ${IlmBase_LIB_COMPONENTS}) +- get_filename_component(_ILMBASE_LIBDIR ${LIB} DIRECTORY) +- list(APPEND IlmBase_LIBRARY_DIRS ${_ILMBASE_LIBDIR}) +- endforeach() +- list(REMOVE_DUPLICATES IlmBase_LIBRARY_DIRS) +- +- # Configure imported targets +- +- foreach(COMPONENT ${IlmBase_FIND_COMPONENTS}) +- if(NOT TARGET IlmBase::${COMPONENT}) +- add_library(IlmBase::${COMPONENT} UNKNOWN IMPORTED) +- set_target_properties(IlmBase::${COMPONENT} PROPERTIES +- IMPORTED_LOCATION "${IlmBase_${COMPONENT}_LIBRARY}" +- INTERFACE_COMPILE_OPTIONS "${IlmBase_DEFINITIONS}" +- INTERFACE_INCLUDE_DIRECTORIES "${IlmBase_INCLUDE_DIRS}" +- ) +- endif() +- endforeach() + +-elseif(IlmBase_FIND_REQUIRED) +- message(FATAL_ERROR "Unable to find IlmBase") +-endif() ++OPTION ( ILMBASE_NAMESPACE_VERSIONING "Namespace versioning of libraries" ON ) ++ ++IF ( ILMBASE_FOUND ) ++ ++ FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR ") ++ STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" "" _ilmbase_version_major_unstrip "${_ilmbase_version_major_string}") ++ STRING ( STRIP "${_ilmbase_version_major_unstrip}" ILMBASE_VERSION_MAJOR ) ++ ++ FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR ") ++ STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MINOR" "" _ilmbase_version_minor_unstrip "${_ilmbase_version_minor_string}") ++ STRING ( STRIP "${_ilmbase_version_minor_unstrip}" ILMBASE_VERSION_MINOR ) ++ ++ IF ( ILMBASE_NAMESPACE_VERSIONING ) ++ SET ( IEX_LIBRARY_NAME Iex-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ SET ( IEXMATH_LIBRARY_NAME IexMath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ SET ( ILMTHREAD_LIBRARY_NAME IlmThread-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ SET ( IMATH_LIBRARY_NAME Imath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ SET ( HALF_LIBRARY_NAME Half-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ ELSE ( ILMBASE_NAMESPACE_VERSIONING ) ++ SET ( IEX_LIBRARY_NAME Iex ) ++ SET ( IEXMATH_LIBRARY_NAME IexMath ) ++ SET ( ILMTHREAD_LIBRARY_NAME IlmThread ) ++ SET ( IMATH_LIBRARY_NAME Imath ) ++ SET ( HALF_LIBRARY_NAME Half ) ++ ENDIF ( ILMBASE_NAMESPACE_VERSIONING ) ++ ++ SET ( ILMBASE_INCLUDE_DIRS ++ ${ILMBASE_LOCATION}/include ++ ${ILMBASE_LOCATION}/include/OpenEXR ++ CACHE STRING "ILMBase include directories") ++ SET ( ILMBASE_LIBRARYDIR ${ILMBASE_LOCATION}/lib ++ CACHE STRING "ILMBase library directories") ++ SET ( ILMBASE_FOUND TRUE ) ++ ++ SET ( ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) ++ IF (Ilmbase_USE_STATIC_LIBS) ++ IF (APPLE) ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath PATHS ${ILMBASE_LIBRARYDIR} ) ++ ELSEIF (WIN32) ++ # Link library ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half_static PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex_static PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread_static PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath_static PATHS ${ILMBASE_LIBRARYDIR} ) ++ ELSE (APPLE) ++ SET ( CMAKE_FIND_LIBRARY_SUFFIXES ".a") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ ENDIF (APPLE) ++ ELSE (Ilmbase_USE_STATIC_LIBS) ++ IF (APPLE) ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath PATHS ${ILMBASE_LIBRARYDIR} ) ++ ELSEIF (WIN32) ++ # Link library ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ # Load library ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") ++ FIND_LIBRARY ( Ilmbase_HALF_DLL ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LOCATION}/bin ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEX_DLL ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEXMATH_DLL ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_DLL ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IMATH_DLL ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ ELSE (APPLE) ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ ENDIF (APPLE) ++ ENDIF () ++ # MUST reset ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ${ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++ELSE ( ILMBASE_FOUND ) ++ MESSAGE ( FATAL_ERROR "Unable to find ILMBase, ILMBASE_ROOT = $ENV{ILMBASE_ROOT}") ++ENDIF ( ILMBASE_FOUND ) +diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake +index 2f771ad..a381c6d 100644 +--- a/cmake/FindOpenEXR.cmake ++++ b/cmake/FindOpenEXR.cmake +@@ -1,324 +1,87 @@ +-# Copyright (c) 2012-2019 DreamWorks Animation LLC +-# +-# All rights reserved. This software is distributed under the +-# Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ ) +-# +-# Redistributions of source code must retain the above copyright +-# and license notice and the following restrictions and disclaimer. +-# +-# * Neither the name of DreamWorks Animation nor the names of +-# its contributors may be used to endorse or promote products derived +-# from this software without specific prior written permission. +-# +-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, +-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-# IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE +-# LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00. +-# +-#[=======================================================================[.rst: +- +-FindOpenEXR +------------ +- +-Find OpenEXR include dirs and libraries +- +-Use this module by invoking find_package with the form:: +- +- find_package(OpenEXR +- [version] [EXACT] # Minimum or EXACT version +- [REQUIRED] # Fail with error if OpenEXR is not found +- [COMPONENTS ...] # OpenEXR libraries by their canonical name +- # e.g. "IlmImf" for "libIlmImf" +- ) +- +-IMPORTED Targets +-^^^^^^^^^^^^^^^^ +- +-``OpenEXR::IlmImf`` +- The IlmImf library target. +-``OpenEXR::IlmImfUtil`` +- The IlmImfUtil library target. +- +-Result Variables +-^^^^^^^^^^^^^^^^ +- +-This will define the following variables: +- +-``OpenEXR_FOUND`` +- True if the system has the OpenEXR library. +-``OpenEXR_VERSION`` +- The version of the OpenEXR library which was found. +-``OpenEXR_INCLUDE_DIRS`` +- Include directories needed to use OpenEXR. +-``OpenEXR_LIBRARIES`` +- Libraries needed to link to OpenEXR. +-``OpenEXR_LIBRARY_DIRS`` +- OpenEXR library directories. +-``OpenEXR_DEFINITIONS`` +- Definitions to use when compiling code that uses OpenEXR. +-``OpenEXR_{COMPONENT}_FOUND`` +- True if the system has the named OpenEXR component. +- +-Cache Variables +-^^^^^^^^^^^^^^^ +- +-The following cache variables may also be set: +- +-``OpenEXR_INCLUDE_DIR`` +- The directory containing ``OpenEXR/config-auto.h``. +-``OpenEXR_{COMPONENT}_LIBRARY`` +- Individual component libraries for OpenEXR +-``OpenEXR_{COMPONENT}_DLL`` +- Individual component dlls for OpenEXR on Windows. +- +-Hints +-^^^^^ +- +-Instead of explicitly setting the cache variables, the following variables +-may be provided to tell this module where to look. +- +-``OPENEXR_ROOT`` +- Preferred installation prefix. +-``OPENEXR_INCLUDEDIR`` +- Preferred include directory e.g. /include +-``OPENEXR_LIBRARYDIR`` +- Preferred library directory e.g. /lib +-``SYSTEM_LIBRARY_PATHS`` +- Paths appended to all include and lib searches. +- +-#]=======================================================================] +- +-# Support new if() IN_LIST operator +-if(POLICY CMP0057) +- cmake_policy(SET CMP0057 NEW) +-endif() +- +-mark_as_advanced( +- OpenEXR_INCLUDE_DIR +- OpenEXR_LIBRARY +-) +- +-set(_OPENEXR_COMPONENT_LIST +- IlmImf +- IlmImfUtil +-) +- +-if(OpenEXR_FIND_COMPONENTS) +- set(OPENEXR_COMPONENTS_PROVIDED TRUE) +- set(_IGNORED_COMPONENTS "") +- foreach(COMPONENT ${OpenEXR_FIND_COMPONENTS}) +- if(NOT ${COMPONENT} IN_LIST _OPENEXR_COMPONENT_LIST) +- list(APPEND _IGNORED_COMPONENTS ${COMPONENT}) +- endif() +- endforeach() +- +- if(_IGNORED_COMPONENTS) +- message(STATUS "Ignoring unknown components of OpenEXR:") +- foreach(COMPONENT ${_IGNORED_COMPONENTS}) +- message(STATUS " ${COMPONENT}") +- endforeach() +- list(REMOVE_ITEM OpenEXR_FIND_COMPONENTS ${_IGNORED_COMPONENTS}) +- endif() +-else() +- set(OPENEXR_COMPONENTS_PROVIDED FALSE) +- set(OpenEXR_FIND_COMPONENTS ${_OPENEXR_COMPONENT_LIST}) +-endif() +- +-# Append OPENEXR_ROOT or $ENV{OPENEXR_ROOT} if set (prioritize the direct cmake var) +-set(_OPENEXR_ROOT_SEARCH_DIR "") +- +-if(OPENEXR_ROOT) +- list(APPEND _OPENEXR_ROOT_SEARCH_DIR ${OPENEXR_ROOT}) +-else() +- set(_ENV_OPENEXR_ROOT $ENV{OPENEXR_ROOT}) +- if(_ENV_OPENEXR_ROOT) +- list(APPEND _OPENEXR_ROOT_SEARCH_DIR ${_ENV_OPENEXR_ROOT}) +- endif() +-endif() +- +-# ------------------------------------------------------------------------ +-# Search for OpenEXR include DIR +-# ------------------------------------------------------------------------ +- +-set(_OPENEXR_INCLUDE_SEARCH_DIRS "") +-list(APPEND _OPENEXR_INCLUDE_SEARCH_DIRS +- ${OPENEXR_INCLUDEDIR} +- ${_OPENEXR_ROOT_SEARCH_DIR} +- ${PC_OpenEXR_INCLUDEDIR} +- ${SYSTEM_LIBRARY_PATHS} +-) +- +-# Look for a standard OpenEXR header file. +-find_path(OpenEXR_INCLUDE_DIR OpenEXRConfig.h +- NO_DEFAULT_PATH +- PATHS ${_OPENEXR_INCLUDE_SEARCH_DIRS} +- PATH_SUFFIXES include/OpenEXR OpenEXR +-) +- +-if(EXISTS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h") +- # Get the EXR version information from the config header +- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h" +- _openexr_version_major_string REGEX "#define OPENEXR_VERSION_MAJOR " +- ) +- string(REGEX REPLACE "#define OPENEXR_VERSION_MAJOR" "" +- _openexr_version_major_string "${_openexr_version_major_string}" +- ) +- string(STRIP "${_openexr_version_major_string}" OpenEXR_VERSION_MAJOR) +- +- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h" +- _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR " +- ) +- string(REGEX REPLACE "#define OPENEXR_VERSION_MINOR" "" +- _openexr_version_minor_string "${_openexr_version_minor_string}" +- ) +- string(STRIP "${_openexr_version_minor_string}" OpenEXR_VERSION_MINOR) +- +- unset(_openexr_version_major_string) +- unset(_openexr_version_minor_string) +- +- set(OpenEXR_VERSION ${OpenEXR_VERSION_MAJOR}.${OpenEXR_VERSION_MINOR}) +-endif() +- +-# ------------------------------------------------------------------------ +-# Search for OPENEXR lib DIR +-# ------------------------------------------------------------------------ +- +-set(_OPENEXR_LIBRARYDIR_SEARCH_DIRS "") +- +-# Append to _OPENEXR_LIBRARYDIR_SEARCH_DIRS in priority order +- +-list(APPEND _OPENEXR_LIBRARYDIR_SEARCH_DIRS +- ${OPENEXR_LIBRARYDIR} +- ${_OPENEXR_ROOT_SEARCH_DIR} +- ${PC_OpenEXR_LIBDIR} +- ${SYSTEM_LIBRARY_PATHS} +-) +- +-# Build suffix directories +- +-set(OPENEXR_PATH_SUFFIXES +- lib64 +- lib +-) +- +-if(UNIX ) +- list(INSERT OPENEXR_PATH_SUFFIXES 0 lib/x86_64-linux-gnu) +-endif() +- +-set(_OPENEXR_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) +- +-# library suffix handling +-if(WIN32) +- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES +- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.lib" +- ) +-else() +- if(OPENEXR_USE_STATIC_LIBS) +- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES +- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.a" +- ) +- else() +- if(APPLE) +- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES +- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.dylib" +- ) +- else() +- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES +- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.so" +- ) +- endif() +- endif() +-endif() +- +-set(OpenEXR_LIB_COMPONENTS "") +- +-foreach(COMPONENT ${OpenEXR_FIND_COMPONENTS}) +- find_library(OpenEXR_${COMPONENT}_LIBRARY ${COMPONENT} +- NO_DEFAULT_PATH +- PATHS ${_OPENEXR_LIBRARYDIR_SEARCH_DIRS} +- PATH_SUFFIXES ${OPENEXR_PATH_SUFFIXES} +- ) +- list(APPEND OpenEXR_LIB_COMPONENTS ${OpenEXR_${COMPONENT}_LIBRARY}) +- +- if(WIN32 AND NOT OPENEXR_USE_STATIC_LIBS) +- set(_OPENEXR_TMP ${CMAKE_FIND_LIBRARY_SUFFIXES}) +- set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") +- find_library(OpenEXR_${COMPONENT}_DLL ${COMPONENT} +- NO_DEFAULT_PATH +- PATHS ${_OPENEXR_LIBRARYDIR_SEARCH_DIRS} +- PATH_SUFFIXES bin +- ) +- set(CMAKE_FIND_LIBRARY_SUFFIXES ${_OPENEXR_TMP}) +- unset(_OPENEXR_TMP) +- endif() +- +- if(OpenEXR_${COMPONENT}_LIBRARY) +- set(OpenEXR_${COMPONENT}_FOUND TRUE) +- else() +- set(OpenEXR_${COMPONENT}_FOUND FALSE) +- endif() +-endforeach() +- +-# reset lib suffix +- +-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_OPENEXR_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +-unset(_OPENEXR_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) +- +-# ------------------------------------------------------------------------ +-# Cache and set OPENEXR_FOUND +-# ------------------------------------------------------------------------ +- +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(OpenEXR +- FOUND_VAR OpenEXR_FOUND +- REQUIRED_VARS +- OpenEXR_INCLUDE_DIR +- OpenEXR_LIB_COMPONENTS +- VERSION_VAR OpenEXR_VERSION +- HANDLE_COMPONENTS +-) +- +-if(OpenEXR_FOUND) +- set(OpenEXR_LIBRARIES ${OpenEXR_LIB_COMPONENTS}) +- +- # We have to add both include and include/OpenEXR to the include +- # path in case OpenEXR and IlmBase are installed separately +- +- set(OpenEXR_INCLUDE_DIRS) +- list(APPEND OpenEXR_INCLUDE_DIRS +- ${OpenEXR_INCLUDE_DIR}/../ +- ${OpenEXR_INCLUDE_DIR} +- ) +- set(OpenEXR_DEFINITIONS ${PC_OpenEXR_CFLAGS_OTHER}) +- +- set(OpenEXR_LIBRARY_DIRS "") +- foreach(LIB ${OpenEXR_LIB_COMPONENTS}) +- get_filename_component(_OPENEXR_LIBDIR ${LIB} DIRECTORY) +- list(APPEND OpenEXR_LIBRARY_DIRS ${_OPENEXR_LIBDIR}) +- endforeach() +- list(REMOVE_DUPLICATES OpenEXR_LIBRARY_DIRS) +- +- # Configure imported target +- +- foreach(COMPONENT ${OpenEXR_FIND_COMPONENTS}) +- if(NOT TARGET OpenEXR::${COMPONENT}) +- add_library(OpenEXR::${COMPONENT} UNKNOWN IMPORTED) +- set_target_properties(OpenEXR::${COMPONENT} PROPERTIES +- IMPORTED_LOCATION "${OpenEXR_${COMPONENT}_LIBRARY}" +- INTERFACE_COMPILE_OPTIONS "${OpenEXR_DEFINITIONS}" +- INTERFACE_INCLUDE_DIRECTORIES "${OpenEXR_INCLUDE_DIRS}" +- ) +- endif() +- endforeach() +-elseif(OpenEXR_FIND_REQUIRED) +- message(FATAL_ERROR "Unable to find OpenEXR") +-endif() ++include(FindPackageHandleStandardArgs) ++ ++find_path(OpenEXR_INCLUDE_DIRS OpenEXR/OpenEXRConfig.h) ++find_path(OPENEXR_INCLUDE_PATHS NAMES ImfRgbaFile.h PATH_SUFFIXES OpenEXR) ++ ++file(STRINGS "${OpenEXR_INCLUDE_DIRS}/OpenEXR/OpenEXRConfig.h" OPENEXR_CONFIG_H) ++ ++string(REGEX REPLACE "^.*define OPENEXR_VERSION_MAJOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MAJOR "${OPENEXR_CONFIG_H}") ++string(REGEX REPLACE "^.*define OPENEXR_VERSION_MINOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MINOR "${OPENEXR_CONFIG_H}") ++set(OpenEXR_LIB_SUFFIX "${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}") ++ ++include(SelectLibraryConfigurations) ++ ++if(NOT OpenEXR_BASE_LIBRARY) ++ find_library(OpenEXR_BASE_LIBRARY_RELEASE NAMES IlmImf-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_BASE_LIBRARY_DEBUG NAMES IlmImf-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_BASE) ++endif() ++ ++if(NOT OpenEXR_UTIL_LIBRARY) ++ find_library(OpenEXR_UTIL_LIBRARY_RELEASE NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_UTIL_LIBRARY_DEBUG NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_UTIL) ++endif() ++ ++if(NOT OpenEXR_HALF_LIBRARY) ++ find_library(OpenEXR_HALF_LIBRARY_RELEASE NAMES Half-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_HALF_LIBRARY_DEBUG NAMES Half-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_HALF) ++endif() ++ ++if(NOT OpenEXR_IEX_LIBRARY) ++ find_library(OpenEXR_IEX_LIBRARY_RELEASE NAMES Iex-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_IEX_LIBRARY_DEBUG NAMES Iex-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_IEX) ++endif() ++ ++if(NOT OpenEXR_MATH_LIBRARY) ++ find_library(OpenEXR_MATH_LIBRARY_RELEASE NAMES Imath-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_MATH_LIBRARY_DEBUG NAMES Imath-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_MATH) ++endif() ++ ++if(NOT OpenEXR_THREAD_LIBRARY) ++ find_library(OpenEXR_THREAD_LIBRARY_RELEASE NAMES IlmThread-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_THREAD_LIBRARY_DEBUG NAMES IlmThread-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_THREAD) ++endif() ++ ++if(NOT OpenEXR_IEXMATH_LIBRARY) ++ find_library(OpenEXR_IEXMATH_LIBRARY_RELEASE NAMES IexMath-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES IexMath-${OpenEXR_LIB_SUFFIX}d) ++ select_library_configurations(OpenEXR_IEXMATH) ++endif() ++ ++set(OPENEXR_HALF_LIBRARY "${OpenEXR_HALF_LIBRARY}") ++set(OPENEXR_IEX_LIBRARY "${OpenEXR_IEX_LIBRARY}") ++set(OPENEXR_IMATH_LIBRARY "${OpenEXR_MATH_LIBRARY}") ++set(OPENEXR_ILMIMF_LIBRARY "${OpenEXR_BASE_LIBRARY}") ++set(OPENEXR_ILMIMFUTIL_LIBRARY "${OpenEXR_UTIL_LIBRARY}") ++set(OPENEXR_ILMTHREAD_LIBRARY "${OpenEXR_THREAD_LIBRARY}") ++ ++set(OpenEXR_LIBRARY "${OpenEXR_BASE_LIBRARY}") ++ ++set(OpenEXR_LIBRARIES ++ ${OpenEXR_LIBRARY} ++ ${OpenEXR_MATH_LIBRARY} ++ ${OpenEXR_IEXMATH_LIBRARY} ++ ${OpenEXR_UTIL_LIBRARY} ++ ${OpenEXR_HALF_LIBRARY} ++ ${OpenEXR_IEX_LIBRARY} ++ ${OpenEXR_THREAD_LIBRARY} ++) ++ ++set(OPENEXR_LIBRARIES ++ ${OPENEXR_HALF_LIBRARY} ++ ${OPENEXR_IEX_LIBRARY} ++ ${OPENEXR_IMATH_LIBRARY} ++ ${OPENEXR_ILMIMF_LIBRARY} ++ ${OPENEXR_ILMTHREAD_LIBRARY} ++) ++ ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR REQUIRED_VARS OpenEXR_LIBRARIES OpenEXR_INCLUDE_DIRS) ++ ++if(OpenEXR_FOUND) ++ set(OPENEXR_FOUND 1) ++endif() diff --git a/ports/openvdb/0003-build-only-necessary-targets.patch b/ports/openvdb/0003-build-only-necessary-targets.patch deleted file mode 100644 index 8be8263a56..0000000000 --- a/ports/openvdb/0003-build-only-necessary-targets.patch +++ /dev/null @@ -1,282 +0,0 @@ -diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt -index 9404dbc..94daf8c 100644 ---- a/openvdb/CMakeLists.txt -+++ b/openvdb/CMakeLists.txt -@@ -29,28 +29,31 @@ PROJECT ( OpenVDBCore ) - - set(CMAKE_CXX_STANDARD 11) - -+IF ( OPENVDB_BUILD_TOOLS ) - IF ( USE_GLFW3 ) - FIND_PACKAGE ( GLFW3 REQUIRED ) - SET ( OPENVDB_USE_GLFW_FLAG "-DOPENVDB_USE_GLFW_3" ) - IF ( UNIX AND NOT APPLE ) -- SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" ) -- ENDIF ( UNIX AND NOT APPLE ) -+ SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" ) -+ ENDIF () - SET ( GLFW_LINK_LIBRARY ${GLFW3_glfw_LIBRARY} ) - SET ( GLFW_INCLUDE_DIRECTORY ${GLFW3_INCLUDE_DIR} CACHE STRING "GLFW3 include directory") - ELSE () - FIND_PACKAGE ( GLFW REQUIRED ) - IF ( UNIX AND NOT APPLE ) -- SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" ) -+ SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" ) - ENDIF () - SET ( GLFW_LINK_LIBRARY ${GLFW_glfw_LIBRARY} ) - SET ( GLFW_INCLUDE_DIRECTORY ${GLFW_INCLUDE_DIR} CACHE STRING "GLFW include directory") - ENDIF () -+ENDIF () - -+IF ( OPENVDB_BUILD_TOOLS ) - IF (WIN32) - FIND_PACKAGE ( GLEW REQUIRED ) --ELSE () -- FIND_PACKAGE ( Threads REQUIRED ) --ENDIF() -+ENDIF () -+ENDIF () -+FIND_PACKAGE ( Threads REQUIRED ) - - # Determine OpenVDB version - #define OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER 4 -@@ -130,7 +133,12 @@ INCLUDE_DIRECTORIES ( SYSTEM ${BLOSC_INCLUDE_DIR} ) - INCLUDE_DIRECTORIES ( SYSTEM ${CPPUNIT_INCLUDE_DIR} ) - - IF (WIN32) -- ADD_DEFINITIONS ( -D_WIN32 -DNOMINMAX -DHALF_EXPORTS -DOPENVDB_DLL ) -+ ADD_DEFINITIONS ( -D__TBB_NO_IMPLICIT_LINKAGE ) -+ ADD_DEFINITIONS ( -D__TBBMALLOC_NO_IMPLICIT_LINKAGE ) -+ ADD_DEFINITIONS ( -D_WIN32 -DNOMINMAX ) -+ IF ( OPENVDB_SHARED ) -+ ADD_DEFINITIONS ( -DOPENEXR_DLL -DOPENVDB_DLL ) -+ ENDIF () - ELSE () - ADD_DEFINITIONS ( -pthread -fPIC ) - ENDIF () -@@ -170,16 +178,21 @@ SET ( OPENVDB_LIBRARY_SOURCE_FILES - - SET_SOURCE_FILES_PROPERTIES ( ${OPENVDB_LIBRARY_SOURCE_FILES} - PROPERTIES -- COMPILE_FLAGS "-DOPENVDB_PRIVATE -DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}" -+ COMPILE_FLAGS "-DOPENVDB_PRIVATE -DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$:/bigobj>" - ) -- -+ -+IF ( OPENVDB_STATIC ) - ADD_LIBRARY ( openvdb_static STATIC - ${OPENVDB_LIBRARY_SOURCE_FILES} - ) -+ENDIF () -+IF ( OPENVDB_SHARED ) - ADD_LIBRARY ( openvdb_shared SHARED - ${OPENVDB_LIBRARY_SOURCE_FILES} - ) -+ENDIF () - -+IF ( OPENVDB_STATIC ) - TARGET_LINK_LIBRARIES ( openvdb_static - ${Boost_IOSTREAMS_LIBRARY} - ${Boost_SYSTEM_LIBRARY} -@@ -188,6 +201,8 @@ TARGET_LINK_LIBRARIES ( openvdb_static - ${ZLIB_LIBRARY} - ${BLOSC_blosc_LIBRARY} - ) -+ENDIF () -+IF ( OPENVDB_SHARED ) - TARGET_LINK_LIBRARIES ( openvdb_shared - ${Boost_IOSTREAMS_LIBRARY} - ${Boost_SYSTEM_LIBRARY} -@@ -196,7 +211,9 @@ TARGET_LINK_LIBRARIES ( openvdb_shared - ${ZLIB_LIBRARY} - ${BLOSC_blosc_LIBRARY} - ) -+ENDIF () - -+IF ( OPENVDB_STATIC ) - IF (WIN32) - SET_TARGET_PROPERTIES ( openvdb_static - PROPERTIES OUTPUT_NAME libopenvdb -@@ -205,8 +222,10 @@ ELSE() - SET_TARGET_PROPERTIES ( openvdb_static - PROPERTIES OUTPUT_NAME openvdb - ) --ENDIF() -+ENDIF () -+ENDIF () - -+IF ( OPENVDB_SHARED ) - SET_TARGET_PROPERTIES( - openvdb_shared - PROPERTIES -@@ -214,13 +233,15 @@ SET_TARGET_PROPERTIES( - SOVERSION ${OPENVDB_MAJOR_VERSION_NUMBER}.${OPENVDB_MINOR_VERSION_NUMBER} - VERSION ${OPENVDB_MAJOR_VERSION_NUMBER}.${OPENVDB_MINOR_VERSION_NUMBER}.${OPENVDB_PATCH_VERSION_NUMBER} - ) -+ENDIF () - - SET ( VDB_PRINT_SOURCE_FILES cmd/openvdb_print/main.cc ) - SET_SOURCE_FILES_PROPERTIES ( ${VDB_PRINT_SOURCE_FILES} - PROPERTIES -- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}" -+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$:/bigobj>" - ) - -+IF ( OPENVDB_BUILD_TOOLS ) - ADD_EXECUTABLE ( vdb_print - ${VDB_PRINT_SOURCE_FILES} - ) -@@ -229,14 +250,19 @@ TARGET_LINK_LIBRARIES ( vdb_print - openvdb_shared - ${CMAKE_THREAD_LIBS_INIT} - ${BLOSC_blosc_LIBRARY} -+ ) -+ -+IF (NOT WIN32) -+TARGET_LINK_LIBRARIES ( vdb_print - m - stdc++ - ) -+ENDIF () - - SET ( VDB_RENDER_SOURCE_FILES cmd/openvdb_render/main.cc ) - SET_SOURCE_FILES_PROPERTIES ( ${VDB_RENDER_SOURCE_FILES} - PROPERTIES -- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}" -+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$:/bigobj>" - ) - ADD_EXECUTABLE ( vdb_render - ${VDB_RENDER_SOURCE_FILES} -@@ -249,9 +275,14 @@ TARGET_LINK_LIBRARIES ( vdb_render - ${Openexr_ILMIMF_LIBRARY} - ${Ilmbase_ILMTHREAD_LIBRARY} - ${Ilmbase_IEX_LIBRARY} -+ ) -+ -+IF (NOT WIN32) -+TARGET_LINK_LIBRARIES ( vdb_render - m - stdc++ - ) -+ENDIF () - - SET ( VDB_VIEW_SOURCE_FILES - cmd/openvdb_view/main.cc -@@ -263,29 +294,38 @@ SET ( VDB_VIEW_SOURCE_FILES - ) - SET_SOURCE_FILES_PROPERTIES ( ${VDB_VIEW_SOURCE_FILES} - PROPERTIES -- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} -DGL_GLEXT_PROTOTYPES=1" -+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} -DGL_GLEXT_PROTOTYPES=1 $<$:/bigobj>" -+ ) -+ -+ADD_EXECUTABLE ( vdb_view -+ ${VDB_VIEW_SOURCE_FILES} - ) --IF (NOT WIN32) -- ADD_EXECUTABLE ( vdb_view -- ${VDB_VIEW_SOURCE_FILES} -- ) - -- target_include_directories ( vdb_view SYSTEM PRIVATE ${Boost_INCLUDE_DIR} ) -+target_include_directories ( vdb_view SYSTEM PRIVATE ${Boost_INCLUDE_DIR} ) - -- TARGET_LINK_LIBRARIES ( vdb_view -- openvdb_shared -- ${Boost_THREAD_LIBRARY} -- ${OPENGL_gl_LIBRARY} -- ${OPENGL_glu_LIBRARY} -- ${COCOA_LIBRARY} -- ${IOKIT_LIBRARY} -- ${COREVIDEO_LIBRARY} -- ${GLFW_LINK_LIBRARY} -- ${GLFW_DEPENDENT_LIBRARIES} -- ${GLEW_GLEW_LIBRARY} -- m -- stdc++ -- ) -+TARGET_LINK_LIBRARIES ( vdb_view -+ openvdb_shared -+ ${Boost_LIBRARIES} -+ ${OPENGL_gl_LIBRARY} -+ ${OPENGL_glu_LIBRARY} -+ ${GLFW_LINK_LIBRARY} -+ ${GLFW_DEPENDENT_LIBRARIES} -+ ${GLEW_GLEW_LIBRARY} -+ ) -+IF (APPLE) -+TARGET_LINK_LIBRARIES ( vdb_view -+ ${COCOA_LIBRARY} -+ ${IOKIT_LIBRARY} -+ ${COREVIDEO_LIBRARY} -+) -+ENDIF () -+IF (NOT WIN32) -+TARGET_LINK_LIBRARIES ( vdb_view -+ m -+ stdc++ -+ ) -+ -+ENDIF () - ENDIF () - - SET ( UNITTEST_SOURCE_FILES -@@ -398,7 +438,7 @@ IF ( OPENVDB_BUILD_UNITTESTS ) - - ADD_TEST ( vdb_unit_test vdb_test ) - --ENDIF (OPENVDB_BUILD_UNITTESTS) -+ENDIF () - - # Doxygen docmentation - IF (OPENVDB_BUILD_DOCS) -@@ -419,26 +459,29 @@ IF (OPENVDB_BUILD_DOCS) - ENDIF () - - # Installation --IF ( NOT WIN32 ) -+IF ( OPENVDB_BUILD_TOOLS ) - INSTALL ( TARGETS - vdb_view - DESTINATION - bin - ) -+ INSTALL ( TARGETS -+ vdb_print -+ vdb_render -+ DESTINATION -+ bin -+ ) - ENDIF () --INSTALL ( TARGETS -- vdb_print -- vdb_render -- DESTINATION -- bin -- ) - --INSTALL ( TARGETS -- openvdb_static -- DESTINATION -- lib -- ) -+IF ( OPENVDB_STATIC) -+ INSTALL ( TARGETS -+ openvdb_static -+ DESTINATION -+ lib -+ ) -+ENDIF () - -+IF ( OPENVDB_SHARED ) - IF (WIN32) - INSTALL ( TARGETS - openvdb_shared -@@ -452,6 +495,7 @@ ELSE() - lib - ) - ENDIF () -+ENDIF () - - INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION include - FILES_MATCHING PATTERN "*.h" diff --git a/ports/openvdb/0003-fix-cmake.patch b/ports/openvdb/0003-fix-cmake.patch new file mode 100644 index 0000000000..b70a4756f1 --- /dev/null +++ b/ports/openvdb/0003-fix-cmake.patch @@ -0,0 +1,90 @@ +diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt +index b84d3e6..524a59e 100644 +--- a/openvdb/CMakeLists.txt ++++ b/openvdb/CMakeLists.txt +@@ -71,13 +71,13 @@ message(STATUS "----------------------------------------------------") + # Collect and configure lib dependencies + + if(USE_EXR) +- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED) +- find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED) ++ find_package(IlmBase REQUIRED) ++ find_package(OpenEXR REQUIRED) + else() +- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half) ++ find_package(IlmBase REQUIRED COMPONENTS Half) + endif() + +-find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbb) ++find_package(TBB CONFIG REQUIRED) + find_package(ZLIB ${MINIMUM_ZLIB_VERSION} REQUIRED) + + if(USE_LOG4CPLUS) +@@ -115,15 +115,15 @@ endif() + set(OPENVDB_CORE_DEPENDENT_LIBS + Boost::iostreams + Boost::system +- IlmBase::Half ++ ${Ilmbase_HALF_LIBRARY} + ) + + if(USE_EXR) + list(APPEND OPENVDB_CORE_DEPENDENT_LIBS +- IlmBase::IlmThread +- IlmBase::Iex +- IlmBase::Imath +- OpenEXR::IlmImf ++ ${Ilmbase_ILMTHREAD_LIBRARY} ++ ${Ilmbase_IEX_LIBRARY} ++ ${Ilmbase_IMATH_LIBRARY} ++ ${OPENEXR_ILMIMF_LIBRARY} + ) + endif() + +@@ -135,7 +135,7 @@ endif() + # See FindOpenVDB.cmake + + if(USE_BLOSC) +- list(APPEND OPENVDB_CORE_DEPENDENT_LIBS Blosc::blosc) ++ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS ${BLOSC_blosc_LIBRARY}) + endif() + + list(APPEND OPENVDB_CORE_DEPENDENT_LIBS +@@ -160,7 +160,11 @@ endif() + + # @todo Should be target definitions + if(WIN32) +- add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_DLL) ++ add_definitions(-D_WIN32 -DNOMINMAX) ++ add_definitions(-D__TBB_NO_IMPLICIT_LINKAGE -D__TBBMALLOC_NO_IMPLICIT_LINKAGE) ++ if (OPENVDB_SHARED) ++ add_definitions(-DOPENEXR_DLL -DOPENVDB_DLL) ++ endif() + endif() + + ##### Core library configuration +@@ -374,6 +378,7 @@ list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "-DOPENVDB_PRIVATE") + if(USE_BLOSC) + list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "-DOPENVDB_USE_BLOSC") + endif() ++list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "$<$:/bigobj>") + + # Public defines + +diff --git a/openvdb/cmd/CMakeLists.txt b/openvdb/cmd/CMakeLists.txt +index 124bc3c..d58b3fe 100644 +--- a/openvdb/cmd/CMakeLists.txt ++++ b/openvdb/cmd/CMakeLists.txt +@@ -155,9 +155,9 @@ if(OPENVDB_BUILD_VDB_RENDER) + # headers + + target_link_libraries(vdb_render +- OpenEXR::IlmImf +- IlmBase::IlmThread +- IlmBase::Iex ++ ${OPENEXR_ILMIMF_LIBRARY} ++ ${Ilmbase_ILMTHREAD_LIBRARY} ++ ${Ilmbase_IEX_LIBRARY} + ${OPENVDB_BINARIES_DEPENDENT_LIBS} + ) + diff --git a/ports/openvdb/0004-add-necessary-head.patch b/ports/openvdb/0004-add-necessary-head.patch deleted file mode 100644 index bbe7246b18..0000000000 --- a/ports/openvdb/0004-add-necessary-head.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/openvdb/viewer/ClipBox.h b/openvdb/viewer/ClipBox.h -index ad62d39..c68c5be 100644 ---- a/openvdb/viewer/ClipBox.h -+++ b/openvdb/viewer/ClipBox.h -@@ -37,6 +37,7 @@ - #include - #include - #else -+#include - #include - #include - #endif -diff --git a/openvdb/viewer/Font.h b/openvdb/viewer/Font.h -index da62993..b341165 100644 ---- a/openvdb/viewer/Font.h -+++ b/openvdb/viewer/Font.h -@@ -37,6 +37,7 @@ - #include - #include - #else -+#include - #include - #include - #endif -diff --git a/openvdb/viewer/RenderModules.h b/openvdb/viewer/RenderModules.h -index b9fa5b1..fd38a50 100644 ---- a/openvdb/viewer/RenderModules.h -+++ b/openvdb/viewer/RenderModules.h -@@ -31,6 +31,7 @@ - #ifndef OPENVDB_VIEWER_RENDERMODULES_HAS_BEEN_INCLUDED - #define OPENVDB_VIEWER_RENDERMODULES_HAS_BEEN_INCLUDED - -+#include - #include - #include - #include -@@ -41,6 +42,7 @@ - #include - - #if defined(__APPLE__) || defined(MACOSX) -+#include - #include - #include - #else -diff --git a/openvdb/viewer/Viewer.cc b/openvdb/viewer/Viewer.cc -index 31bb7a4..88bd308 100644 ---- a/openvdb/viewer/Viewer.cc -+++ b/openvdb/viewer/Viewer.cc -@@ -31,9 +31,9 @@ - #include "Viewer.h" - - #include "Camera.h" -+#include "RenderModules.h" - #include "ClipBox.h" - #include "Font.h" --#include "RenderModules.h" - #include // for formattedInt() - #include - #include diff --git a/ports/openvdb/CONTROL b/ports/openvdb/CONTROL index 77a06c78cf..5a49417d1a 100644 --- a/ports/openvdb/CONTROL +++ b/ports/openvdb/CONTROL @@ -1,6 +1,6 @@ Source: openvdb -Version: 6.0.0-2 -Build-Depends: boost-ptr-container, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess +Version: 6.1.0 +Build-Depends: boost-ptr-container, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess, ilmbase Homepage: https://github.com/dreamworksanimation/openvdb Description: Sparse volume data structure and tools diff --git a/ports/openvdb/blosc.patch b/ports/openvdb/blosc.patch deleted file mode 100644 index 2b9782a1b2..0000000000 --- a/ports/openvdb/blosc.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake -index 5ac3780c..61ba83bc 100644 ---- a/cmake/FindBlosc.cmake -+++ b/cmake/FindBlosc.cmake -@@ -45,8 +45,8 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc - - IF ( BLOSC_FOUND ) - -- SET ( BLOSC_LIBRARYDIR ${BLOSC_LOCATION}/lib -- CACHE STRING "Blosc library directories") -+# SET ( BLOSC_LIBRARYDIR ${BLOSC_LOCATION}/lib -+# CACHE STRING "Blosc library directories") - - SET ( _blosc_library_name "blosc" ) - -@@ -61,8 +61,6 @@ IF ( BLOSC_FOUND ) - ENDIF() - - FIND_LIBRARY ( BLOSC_blosc_LIBRARY ${_blosc_library_name} -- PATHS ${BLOSC_LIBRARYDIR} -- NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - ) - diff --git a/ports/openvdb/portfile.cmake b/ports/openvdb/portfile.cmake index d1c4cb8cec..1d837fcf93 100644 --- a/ports/openvdb/portfile.cmake +++ b/ports/openvdb/portfile.cmake @@ -3,15 +3,13 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/openvdb - REF v6.0.0 - SHA512 6b9e267fff46647b39e1e6faa12059442196c1858df1fda1515cfc375e25bc3033e2828c80e63a652509cfba386376e022cebf81ec85aaccece421b0c721529b + REF v6.1.0 + SHA512 99ebbb50104ef87792ab73989e8714c4f283fb02d04c3033126b5f0d927ff7bbdebe35c8214ded841692941d8ed8ae551fd6d1bf90ad7dc07bedc3b38b9c4b38 HEAD_REF master PATCHES - 0001-fix-cmake-modules.patch - 0002-add-custom-options.patch - 0003-build-only-necessary-targets.patch - 0004-add-necessary-head.patch - blosc.patch + 0001-remove-pkgconfig.patch + 0002-fix-cmake-modules.patch + 0003-fix-cmake.patch ) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -38,29 +36,36 @@ vcpkg_configure_cmake( -DOPENVDB_BUILD_PYTHON_MODULE=OFF -DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF -DUSE_GLFW3=ON - -DOPENVDB_STATIC=${OPENVDB_STATIC} - -DOPENVDB_SHARED=${OPENVDB_SHARED} - -DOPENVDB_BUILD_TOOLS=${OPENVDB_BUILD_TOOLS} + -DOPENVDB_CORE_STATIC=${OPENVDB_STATIC} + -DOPENVDB_CORE_SHARED=${OPENVDB_SHARED} + -DOPENVDB_BUILD_VDB_PRINT=${OPENVDB_BUILD_TOOLS} + -DOPENVDB_BUILD_VDB_VIEW=${OPENVDB_BUILD_TOOLS} + #-DOPENVDB_BUILD_VDB_RENDER=${OPENVDB_BUILD_TOOLS} # Enable vdb_render when https://github.com/openexr/openexr/issues/302 is fixed + -DOPENVDB_BUILD_VDB_LOD=${OPENVDB_BUILD_TOOLS} ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/OpenVDB TARGET_PATH share/openvdb) + vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) if (OPENVDB_BUILD_TOOLS) # copy tools to tools/openvdb directory file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}/) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_print.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_print.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_render.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_render.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_view.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_view.exe) + #file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_render.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_render.exe) + #file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_view.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_view.exe) # vdb_view does not support win32 currently. + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_lod.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_lod.exe) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) # remove debug versions of tools - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_render.exe) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_print.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_view.exe) + #file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_render.exe) + #file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_view.exe) # vdb_view does not support win32 currently. + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_lod.exe) endif() # Handle copyright From faf17a0f4a497eb5ac28389f3be4aa3612aa5d86 Mon Sep 17 00:00:00 2001 From: Daniel Marshall Date: Wed, 26 Jun 2019 18:34:19 +0100 Subject: [PATCH 103/123] Fix homepage for range-v3(-vs2015) (#7049) --- ports/range-v3-vs2015/CONTROL | 1 + ports/range-v3/CONTROL | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/range-v3-vs2015/CONTROL b/ports/range-v3-vs2015/CONTROL index 62c9f63ced..34ce349e19 100644 --- a/ports/range-v3-vs2015/CONTROL +++ b/ports/range-v3-vs2015/CONTROL @@ -1,3 +1,4 @@ Source: range-v3-vs2015 Version: 20151130-vcpkg5 +Homepage: https://github.com/Microsoft/Range-V3-VS2015 Description: Range library for C++11/14/17. diff --git a/ports/range-v3/CONTROL b/ports/range-v3/CONTROL index fb534ac297..1e1274d4bf 100644 --- a/ports/range-v3/CONTROL +++ b/ports/range-v3/CONTROL @@ -1,4 +1,4 @@ Source: range-v3 Version: 0.5.0 -Homepage: https://github.com/Microsoft/Range-V3-VS2015 +Homepage: https://github.com/ericniebler/range-v3 Description: Range library for C++11/14/17. From 64d8f9503120b8d51643129efd8e32341638e106 Mon Sep 17 00:00:00 2001 From: Phoebe <925731795@qq.com> Date: Thu, 27 Jun 2019 01:36:16 +0800 Subject: [PATCH 104/123] [Boost-variant] Upgrade to 1.70.0 (#7047) * [Boost-variant] Upgrade to 1.70.0 * Update patch --- ports/boost-variant/CONTROL | 2 +- ports/boost-variant/fix-regression-1.70.patch | 47 +++++++++++++++++++ ports/boost-variant/portfile.cmake | 6 ++- 3 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 ports/boost-variant/fix-regression-1.70.patch diff --git a/ports/boost-variant/CONTROL b/ports/boost-variant/CONTROL index 395d00758d..5aec459fdf 100644 --- a/ports/boost-variant/CONTROL +++ b/ports/boost-variant/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-variant -Version: 1.69.0 +Version: 1.70.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-move, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/variant Description: Boost variant module diff --git a/ports/boost-variant/fix-regression-1.70.patch b/ports/boost-variant/fix-regression-1.70.patch new file mode 100644 index 0000000000..79c0e2c234 --- /dev/null +++ b/ports/boost-variant/fix-regression-1.70.patch @@ -0,0 +1,47 @@ +diff --git a/include/boost/variant/detail/apply_visitor_unary.hpp b/include/boost/variant/detail/apply_visitor_unary.hpp +index 71610cb..c3a741e 100644 +--- a/include/boost/variant/detail/apply_visitor_unary.hpp ++++ b/include/boost/variant/detail/apply_visitor_unary.hpp +@@ -23,6 +23,7 @@ + # include + # include + # include ++# include + # include + # include + #endif +@@ -85,7 +86,7 @@ namespace detail { namespace variant { + // This class serves only metaprogramming purposes. none of its methods must be called at runtime! + template + struct result_multideduce1 { +- typedef typename Variant::types types; ++ typedef typename remove_reference::type::types types; + typedef typename boost::mpl::begin::type begin_it; + typedef typename boost::mpl::advance< + begin_it, boost::mpl::int_::type::value - 1> +@@ -95,14 +96,14 @@ struct result_multideduce1 { + struct deduce_impl { + typedef typename boost::mpl::next::type next_t; + typedef typename boost::mpl::deref::type value_t; +- typedef decltype(true ? boost::declval< Visitor& >()( boost::declval< value_t >() ) ++ typedef decltype(true ? boost::declval< Visitor& >()( boost::declval< copy_cv_ref_t< value_t, Variant > >() ) + : boost::declval< typename deduce_impl::type >()) type; + }; + + template + struct deduce_impl { + typedef typename boost::mpl::deref::type value_t; +- typedef decltype(boost::declval< Visitor& >()( boost::declval< value_t >() )) type; ++ typedef decltype(boost::declval< Visitor& >()( boost::declval< copy_cv_ref_t< value_t, Variant > >() )) type; + }; + + typedef typename deduce_impl::type type; +@@ -132,7 +133,7 @@ inline decltype(auto) apply_visitor(Visitor&& visitor, Visitable&& visitable, + boost::detail::variant::has_result_type + >::type* = 0) + { +- boost::detail::variant::result_wrapper1::type> cpp14_vis(::boost::forward(visitor)); ++ boost::detail::variant::result_wrapper1 cpp14_vis(::boost::forward(visitor)); + return ::boost::forward(visitable).apply_visitor(cpp14_vis); + } + diff --git a/ports/boost-variant/portfile.cmake b/ports/boost-variant/portfile.cmake index 95352b3f02..a1d8be5283 100644 --- a/ports/boost-variant/portfile.cmake +++ b/ports/boost-variant/portfile.cmake @@ -5,9 +5,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/variant - REF boost-1.69.0 - SHA512 281f2a89317603e4875d35388d941c3a174024618f2f9c255344e69d43d43509de2947e35374d8498e337326c7637805160a84f3b2b4da8811660c8429e11be0 + REF boost-1.70.0 + SHA512 e5a555c666bd692a5ed6e556a66d93db82707357ae5f7e62af8565e5bf56b134adefb3049c38af72f420a969308f120b8270a9e9187eac984b74573b8e9e1d75 HEAD_REF master + PATCHES + fix-regression-1.70.patch ) include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) From af1c9e10fc573ade3824464e58799289b1d4b069 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Wed, 26 Jun 2019 10:37:04 -0700 Subject: [PATCH 105/123] [libmupdf] Update the port to version 1.15.0 (#7046) --- ports/libmupdf/CMakeLists.txt | 2 +- ports/libmupdf/CONTROL | 2 +- ports/libmupdf/portfile.cmake | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/libmupdf/CMakeLists.txt b/ports/libmupdf/CMakeLists.txt index 6018c50aae..daafef74c5 100644 --- a/ports/libmupdf/CMakeLists.txt +++ b/ports/libmupdf/CMakeLists.txt @@ -22,7 +22,7 @@ file(GLOB_RECURSE SOURCES "source/*.c" "generated/*.c") list(FILTER SOURCES EXCLUDE REGEX "source/tools/[a-z]*\\.c$") add_library(libmupdf ${SOURCES}) -target_compile_definitions(libmupdf PRIVATE -DSHARE_JPEG -DFZ_ENABLE_JS=0 -DNO_ICC) +target_compile_definitions(libmupdf PRIVATE -DSHARE_JPEG -DFZ_ENABLE_JS=0 -DFZ_ENABLE_ICC=0) target_include_directories(libmupdf PUBLIC include diff --git a/ports/libmupdf/CONTROL b/ports/libmupdf/CONTROL index 4de343cb30..1285b8c856 100644 --- a/ports/libmupdf/CONTROL +++ b/ports/libmupdf/CONTROL @@ -1,5 +1,5 @@ Source: libmupdf -Version: 1.12.0-2 +Version: 1.15.0 Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3, openjpeg, jbig2dec Homepage: https://github.com/ArtifexSoftware/mupdf Description: a lightweight PDF, XPS, and E-book library diff --git a/ports/libmupdf/portfile.cmake b/ports/libmupdf/portfile.cmake index 0569b5505d..937daa4c48 100644 --- a/ports/libmupdf/portfile.cmake +++ b/ports/libmupdf/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArtifexSoftware/mupdf - REF 1.12.0 - SHA512 893a1958e34355acf73624e9c47f4a97adf13d5fe33604ac384df9ac22a56ef7c18e02143eaffc3c2a08f460e4c71fee00c094b6d6696f8446977bb18f65e3da + REF 1.15.0 + SHA512 9f47a79a2040ff3da885f54d143a7c44712f8a08650fca1d2be21199a7103364a35e28a1832708c2b7752b11c95bf0755ae6c922afc35ee8ae639da7a6ac03b0 HEAD_REF master PATCHES Fix-error-C2169.patch From 94494ddf6ccdc2d44b78b4df4c66af285cb1f2bf Mon Sep 17 00:00:00 2001 From: Leonid Pospelov Date: Wed, 26 Jun 2019 19:41:48 +0200 Subject: [PATCH 106/123] [cpp-httplib] Add new port (#7037) --- ports/cpp-httplib/CONTROL | 4 ++++ ports/cpp-httplib/portfile.cmake | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 ports/cpp-httplib/CONTROL create mode 100644 ports/cpp-httplib/portfile.cmake diff --git a/ports/cpp-httplib/CONTROL b/ports/cpp-httplib/CONTROL new file mode 100644 index 0000000000..66d4938f02 --- /dev/null +++ b/ports/cpp-httplib/CONTROL @@ -0,0 +1,4 @@ +Source: cpp-httplib +Version: 0.2.0 +Homepage: https://github.com/yhirose/cpp-httplib +Description: A single file C++11 header-only HTTP/HTTPS server and client library diff --git a/ports/cpp-httplib/portfile.cmake b/ports/cpp-httplib/portfile.cmake new file mode 100644 index 0000000000..9e85b57e30 --- /dev/null +++ b/ports/cpp-httplib/portfile.cmake @@ -0,0 +1,23 @@ +include(vcpkg_common_functions) + +set(VERSION 0.2.0) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO yhirose/cpp-httplib + REF 2f8479016fa9af9a63056571992b31c32741d89b + SHA512 2f17a6a95c849a5c873a65e8da8bf85311f0152e439a973354c24d02ee9e6c3b0f3a456b60f90637ea4588d9ac09f7e41f42199de61315754e5fe9eecbb657ed + HEAD_REF master +) + +file( + COPY ${SOURCE_PATH}/httplib.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include +) + +# Handle copyright +configure_file( + ${SOURCE_PATH}/LICENSE + ${CURRENT_PACKAGES_DIR}/share/cpp-httplib/copyright + COPYONLY +) From 7a3818f575fadf1ded97244f803930fe2464f190 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 26 Jun 2019 11:47:39 -0700 Subject: [PATCH 107/123] [angle] Update to latest master (#6892) * [angle] Update to latest master * [angle] Add gpu_info_util --- ports/angle/CMakeLists.txt | 57 ++++++++++++++++++++++++++++---------- ports/angle/CONTROL | 2 +- ports/angle/portfile.cmake | 4 +-- 3 files changed, 45 insertions(+), 18 deletions(-) diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt index f83f6294e7..7d791db845 100644 --- a/ports/angle/CMakeLists.txt +++ b/ports/angle/CMakeLists.txt @@ -42,25 +42,25 @@ include_directories(include src ${CMAKE_CURRENT_BINARY_DIR}/include) ########## # angle::common if(WIN32) - set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix") + set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix|android_") elseif(LINUX) - set(ANGLE_COMMON_PLATFORM_FILTER "_win|_mac") + set(ANGLE_COMMON_PLATFORM_FILTER "_win|_mac|android_") elseif(APPLE) - set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_win") + set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_win|android_") endif() file(GLOB ANGLE_COMMON_SOURCES - "src/common/*.h" - "src/common/*.inl" - "src/common/*.cpp" - "src/common/third_party/base/anglebase/*.h" - "src/common/third_party/base/anglebase/*.cc" - "src/common/third_party/base/anglebase/containers/*.h" - "src/common/third_party/base/anglebase/numerics/*.h" - "src/common/third_party/base/anglebase/numerics/*.cc" - "src/common/third_party/xxhash/*.h" - "src/common/third_party/xxhash/*.c" - "src/common/third_party/smhasher/src/*.h" - "src/common/third_party/smhasher/src/*.cpp") + "src/common/*.h" + "src/common/*.inl" + "src/common/*.cpp" + "src/common/third_party/base/anglebase/*.h" + "src/common/third_party/base/anglebase/*.cc" + "src/common/third_party/base/anglebase/containers/*.h" + "src/common/third_party/base/anglebase/numerics/*.h" + "src/common/third_party/base/anglebase/numerics/*.cc" + "src/common/third_party/xxhash/*.h" + "src/common/third_party/xxhash/*.c" + "src/common/third_party/smhasher/src/*.h" + "src/common/third_party/smhasher/src/*.cpp") list(FILTER ANGLE_COMMON_SOURCES EXCLUDE REGEX "_unittest|event_tracer|${ANGLE_COMMON_PLATFORM_FILTER}") add_library(angle_common STATIC ${ANGLE_COMMON_SOURCES}) target_include_directories(angle_common PUBLIC src/common/third_party/base) @@ -191,6 +191,32 @@ if(WIN32) add_library(angle::renderer::d3d ALIAS angle_renderer_d3d) endif() +## angle::gpu_info_util +file(GLOB ANGLE_GPU_INFO_UTIL_SOURCES + "src/gpu_info_util/SystemInfo.h" + "src/gpu_info_util/SystemInfo_internal.h" + "src/gpu_info_util/SystemInfo.cpp" +) +add_library(angle_gpu_info_util STATIC ${ANGLE_GPU_INFO_UTIL_SOURCES}) +if(WIN32) + target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_win.cpp") + target_link_libraries(angle_gpu_info_util PRIVATE setupapi.lib dxgi.lib) +elseif(APPLE) + target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_mac.mm") + find_library(IOKit IOKit) + find_library(CoreFoundation CoreFoundation) + find_library(CoreGraphics CoreGraphics) + target_link_libraries(angle_gpu_info_util PRIVATE ${IOKit} ${CoreFoundation} ${CoreGraphics}) +elseif(LINUX) + target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_linux.cpp" "src/gpu_info_util/SystemInfo_x11.cpp") + target_compile_definitions(angle_gpu_info_util PRIVATE GPU_INFO_USE_X11) + target_link_libraries(angle_gpu_info_util PRIVATE X11 Xi Xext) +elseif(ANDROID) + target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_android.cpp") +endif() +target_link_libraries(angle_gpu_info_util PRIVATE angle::common) +add_library(angle::gpu_info_util ALIAS angle_gpu_info_util) + ## Core libANGLE library if(WIN32) set(LIBANGLE_SOURCES_PLATFORM @@ -252,6 +278,7 @@ add_library(libANGLE STATIC ${LIBANGLE_SOURCES}) target_link_libraries(libANGLE PRIVATE angle::common angle::image_util + angle::gpu_info_util angle::translator angle::preprocessor ${LIBANGLE_RENDERER_PLATFORM} diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL index cac71fae2a..faa26f276a 100644 --- a/ports/angle/CONTROL +++ b/ports/angle/CONTROL @@ -1,5 +1,5 @@ Source: angle -Version: 2019-03-13-c2ee2cc-3 +Version: 2019-06-13 Homepage: https://github.com/google/angle Description: A conformant OpenGL ES implementation for Windows, Mac and Linux. The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support. diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake index f0bda4a3d8..48a6f7a3ce 100644 --- a/ports/angle/portfile.cmake +++ b/ports/angle/portfile.cmake @@ -15,8 +15,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/angle - REF chromium/3672 - SHA512 dd6a05f0f1f4544b8646c41ffcb4d5e3b41f5261771ada47889345a24d4e55e6370df55a26c354a7073efcde307644cec6c6064ea6fe498ed6b52c3017249f81 + REF 0d3cf7085c8e953e78d4fa0656b26ee93d005452 + SHA512 91550749933e278a72ae1094178ea28b36ee2b2fa553549477596ee772d1a39653386b3f3a9f168b0840a1511b7d31384b4e2d53cd5b5629028ca9c5a18a9288 PATCHES 001-fix-uwp.patch ) From db0c6043dcee80bbdbea6a320525f5fcf0b7dbda Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 26 Jun 2019 11:49:39 -0700 Subject: [PATCH 108/123] [curl] Revert revert of `-imp` suffix removal. (#6698) * [curl] Revert revert of `-imp` suffix removal. * [idevicerestore][libideviceactivation] Simplify dependency on curl * [curl] Trivial change to provoke rebuild --- ports/curl/0005_remove_imp_suffix.patch | 13 +++++++ ports/curl/portfile.cmake | 11 +++++- ports/idevicerestore/CONTROL | 2 +- ports/idevicerestore/libcurl_imp.patch | 40 -------------------- ports/idevicerestore/portfile.cmake | 13 +------ ports/libideviceactivation/CONTROL | 2 +- ports/libideviceactivation/libcurl_imp.patch | 40 -------------------- ports/libideviceactivation/portfile.cmake | 15 +------- 8 files changed, 27 insertions(+), 109 deletions(-) create mode 100644 ports/curl/0005_remove_imp_suffix.patch delete mode 100644 ports/idevicerestore/libcurl_imp.patch delete mode 100644 ports/libideviceactivation/libcurl_imp.patch diff --git a/ports/curl/0005_remove_imp_suffix.patch b/ports/curl/0005_remove_imp_suffix.patch new file mode 100644 index 0000000000..356af2d529 --- /dev/null +++ b/ports/curl/0005_remove_imp_suffix.patch @@ -0,0 +1,13 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index eca9a8a..6f72955 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -97,7 +97,7 @@ endif() + set_target_properties(${LIB_NAME} PROPERTIES PREFIX "") + set_target_properties(${LIB_NAME} PROPERTIES IMPORT_PREFIX "") + +-if(WIN32) ++if(WIN32 AND 0) + if(BUILD_SHARED_LIBS) + # Add "_imp" as a suffix before the extension to avoid conflicting with the statically linked "libcurl.lib" + set_target_properties(${LIB_NAME} PROPERTIES IMPORT_SUFFIX "_imp.lib") diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 5366fe88c4..091fe9205d 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -11,6 +11,7 @@ vcpkg_from_github( 0002_fix_uwp.patch 0003_fix_libraries.patch 0004_nghttp2_staticlib.patch + 0005_remove_imp_suffix.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CURL_STATICLIB) @@ -140,17 +141,23 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}") endif() endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libcurl_imp.lib OR EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d_imp.lib) + # Because vcpkg only ever installs one or the other, there is no need to have the libraries be different names. + # Using the same name improves compatibility, because downstream projects can always rely on "libcurl.lib" + message(FATAL_ERROR "Curl's import library name should be consistent with the static library name.") +endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) else() file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/curl-config ${CURRENT_PACKAGES_DIR}/debug/bin/curl-config) endif() file(READ ${CURRENT_PACKAGES_DIR}/include/curl/curl.h CURL_H) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") string(REPLACE "#ifdef CURL_STATICLIB" "#if 1" CURL_H "${CURL_H}") else() string(REPLACE "#ifdef CURL_STATICLIB" "#if 0" CURL_H "${CURL_H}") diff --git a/ports/idevicerestore/CONTROL b/ports/idevicerestore/CONTROL index 36c31d97c9..ca6cabbd02 100644 --- a/ports/idevicerestore/CONTROL +++ b/ports/idevicerestore/CONTROL @@ -1,4 +1,4 @@ Source: idevicerestore -Version: 1.0.12-2 +Version: 1.0.12-3 Description: Restore/upgrade firmware of iOS devices Build-Depends: libimobiledevice, curl, libirecovery, libzip \ No newline at end of file diff --git a/ports/idevicerestore/libcurl_imp.patch b/ports/idevicerestore/libcurl_imp.patch deleted file mode 100644 index f93dfb2b51..0000000000 --- a/ports/idevicerestore/libcurl_imp.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/idevicerestore.vcxproj b/idevicerestore.vcxproj -index fa209fae..cf89306b 100644 ---- a/idevicerestore.vcxproj -+++ b/idevicerestore.vcxproj -@@ -94,7 +94,7 @@ - _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS - - -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d_imp.lib;%(AdditionalDependencies) - - - -@@ -105,7 +105,7 @@ - _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS - - -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d_imp.lib;%(AdditionalDependencies) - - - -@@ -120,7 +120,7 @@ - - true - true -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl_imp.lib;%(AdditionalDependencies) - - - -@@ -135,7 +135,7 @@ - - true - true -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl_imp.lib;%(AdditionalDependencies) - - - diff --git a/ports/idevicerestore/portfile.cmake b/ports/idevicerestore/portfile.cmake index 271c249c62..67aeb4c373 100644 --- a/ports/idevicerestore/portfile.cmake +++ b/ports/idevicerestore/portfile.cmake @@ -6,20 +6,9 @@ vcpkg_from_github( REF 1.0.12 SHA512 ba623be56c2f37853516d7d4c32e16f1ec72f33d512f18aa812ce6830af4b9e389f7af5321888dd0ddd168e282b652e379b60f90970680e213eabf489f406915 HEAD_REF msvc-master + PATCHES libcurl_d.patch ) -if(${VCPKG_LIBRARY_LINKAGE} MATCHES dynamic) - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - libcurl_imp.patch) -else() - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - libcurl_d.patch) -endif() - vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH idevicerestore.vcxproj diff --git a/ports/libideviceactivation/CONTROL b/ports/libideviceactivation/CONTROL index cbc1aef46a..8ff0a857e6 100644 --- a/ports/libideviceactivation/CONTROL +++ b/ports/libideviceactivation/CONTROL @@ -1,4 +1,4 @@ Source: libideviceactivation -Version: 1.2.68 +Version: 1.2.68-1 Description: A library to handle the activation process of iOS devices Build-Depends: libimobiledevice, libxml2, curl \ No newline at end of file diff --git a/ports/libideviceactivation/libcurl_imp.patch b/ports/libideviceactivation/libcurl_imp.patch deleted file mode 100644 index bf1bfefac9..0000000000 --- a/ports/libideviceactivation/libcurl_imp.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/libideviceactivation.vcxproj b/libideviceactivation.vcxproj -index ba473f7a..47a20d15 100644 ---- a/libideviceactivation.vcxproj -+++ b/libideviceactivation.vcxproj -@@ -76,7 +76,7 @@ - $(OutDir)$(ProjectName).pdb - - -- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) -+ libcurl-d_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - -@@ -89,7 +89,7 @@ - $(OutDir)$(ProjectName).pdb - - -- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) -+ libcurl-d_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - -@@ -106,7 +106,7 @@ - - true - true -- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) -+ libcurl_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - -@@ -123,7 +123,7 @@ - - true - true -- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) -+ libcurl_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - diff --git a/ports/libideviceactivation/portfile.cmake b/ports/libideviceactivation/portfile.cmake index a904b52ef0..7e4776c698 100644 --- a/ports/libideviceactivation/portfile.cmake +++ b/ports/libideviceactivation/portfile.cmake @@ -5,23 +5,12 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libimobiledevice-win32/libideviceactivation - REF v1.2.68 + REF v1.2.68 SHA512 c2742bba2d90c21e853255c9ef1b9a63560c3e65541a0a3daaace9b0c48d236b7947008dbcd6e42622251015b686758ebc6b564e379d831cb4f52af812430140 HEAD_REF msvc-master + PATCHES libcurl_d.patch ) -if(${VCPKG_LIBRARY_LINKAGE} MATCHES dynamic) - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - libcurl_imp.patch) -else() - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - libcurl_d.patch) -endif() - vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH libideviceactivation.sln From 8c22bd9aadc510623cd082f1d9ad59b862be9f22 Mon Sep 17 00:00:00 2001 From: Jackie Ng Date: Thu, 27 Jun 2019 07:51:58 +1000 Subject: [PATCH 109/123] [freexl]: Linux build support (#6813) * [freexl]: Add linux build support * [freexl]: Remove various commented-out references to gdal (from which this initial Linux support was based from) * [freexl]: Port changes based on PR feedback * [freexl]: The CI error logs suggest the port has issues building for both debug/release in the same source directory on Linux. Split this off into separate debug/release source directories. --- ports/freexl/CONTROL | 2 +- ports/freexl/portfile.cmake | 242 +++++++++++++++++++++++++----------- 2 files changed, 167 insertions(+), 77 deletions(-) diff --git a/ports/freexl/CONTROL b/ports/freexl/CONTROL index 00f97f562d..dc4ec446ad 100644 --- a/ports/freexl/CONTROL +++ b/ports/freexl/CONTROL @@ -1,5 +1,5 @@ Source: freexl -Version: 1.0.4-1 +Version: 1.0.4-2 Homepage: https://www.gaia-gis.it/gaia-sins/freexl-sources Description: FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet Build-Depends: libiconv diff --git a/ports/freexl/portfile.cmake b/ports/freexl/portfile.cmake index ff8879fba5..e770d61f1d 100644 --- a/ports/freexl/portfile.cmake +++ b/ports/freexl/portfile.cmake @@ -1,90 +1,180 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/freexl-1.0.4) +set(FREEXL_VERSION_STR "1.0.4") +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/freexl-${FREEXL_VERSION_STR}) vcpkg_download_distfile(ARCHIVE - URLS "http://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-1.0.4.tar.gz" - FILENAME "freexl-1.0.4.tar.gz" + URLS "http://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-${FREEXL_VERSION_STR}.tar.gz" + FILENAME "freexl-${FREEXL_VERSION_STR}.tar.gz" SHA512 d72561f7b82e0281cb211fbf249e5e45411a7cdd009cfb58da3696f0a0341ea7df210883bfde794be28738486aeb4ffc67ec2c98fd2acde5280e246e204ce788 ) -vcpkg_extract_source_archive(${ARCHIVE}) +if (CMAKE_HOST_WIN32) + vcpkg_extract_source_archive(${ARCHIVE}) + vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch + ${CMAKE_CURRENT_LIST_DIR}/fix-sources.patch + ) + find_program(NMAKE nmake) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-sources.patch -) -find_program(NMAKE nmake) - -set(LIBS_ALL_DBG - "\"${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib\" \ - \"${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib\"" - ) -set(LIBS_ALL_REL - "\"${CURRENT_INSTALLED_DIR}/lib/libiconv.lib\" \ - \"${CURRENT_INSTALLED_DIR}/lib/libcharset.lib\"" - ) - - -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(CL_FLAGS_DBG "/MDd /Zi") - set(CL_FLAGS_REL "/MD /Ox") -else() - set(CL_FLAGS_DBG "/MTd /Zi") - set(CL_FLAGS_REL "/MT /Ox") -endif() - - -################ -# Debug build -################ -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG) - vcpkg_execute_required_process( - COMMAND ${NMAKE} -f makefile.vc clean install - INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-debug + set(LIBS_ALL_DBG + "\"${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib\" \ + \"${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib\"" ) - message(STATUS "Building ${TARGET_TRIPLET}-dbg done") - vcpkg_copy_pdbs() -endif() - -################ -# Release build -################ -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Building ${TARGET_TRIPLET}-rel") - - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL) - vcpkg_execute_required_process( - COMMAND ${NMAKE} -f makefile.vc clean install - INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-release + set(LIBS_ALL_REL + "\"${CURRENT_INSTALLED_DIR}/lib/libiconv.lib\" \ + \"${CURRENT_INSTALLED_DIR}/lib/libcharset.lib\"" ) - message(STATUS "Building ${TARGET_TRIPLET}-rel done") -endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl RENAME copyright) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib) -else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/lib/freexl.lib) + if(VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(CL_FLAGS_DBG "/MDd /Zi") + set(CL_FLAGS_REL "/MD /Ox") + else() + set(CL_FLAGS_DBG "/MTd /Zi") + set(CL_FLAGS_REL "/MT /Ox") endif() + + + ################ + # Debug build + ################ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib) - endif() -endif() + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG) + vcpkg_execute_required_process( + COMMAND ${NMAKE} -f makefile.vc clean install + INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}" + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME nmake-build-${TARGET_TRIPLET}-debug + ) + message(STATUS "Building ${TARGET_TRIPLET}-dbg done") + vcpkg_copy_pdbs() + endif() + + ################ + # Release build + ################ + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + message(STATUS "Building ${TARGET_TRIPLET}-rel") + + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL) + vcpkg_execute_required_process( + COMMAND ${NMAKE} -f makefile.vc clean install + INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}" + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME nmake-build-${TARGET_TRIPLET}-release + ) + message(STATUS "Building ${TARGET_TRIPLET}-rel done") + endif() + + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl RENAME copyright) + + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib) + else() + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/lib/freexl.lib) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib) + endif() + endif() + +elseif (CMAKE_HOST_UNIX OR CMAKE_HOST_APPLE) # Build in UNIX + + # Check build system first + find_program(MAKE make) + if (NOT MAKE) + message(FATAL_ERROR "MAKE not found") + endif() + + # CI error logs appear to indicate that it doesn't like ./configure in the same source dir + # so extract the source into separate debug/release source directories + set(SOURCE_ROOT_DEBUG ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug) + set(SOURCE_ROOT_RELEASE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release) + set(SOURCE_PATH_DEBUG ${SOURCE_ROOT_DEBUG}/freexl-${FREEXL_VERSION_STR}) + set(SOURCE_PATH_RELEASE ${SOURCE_ROOT_RELEASE}/freexl-${FREEXL_VERSION_STR}) + + file(REMOVE_RECURSE ${SOURCE_ROOT_DEBUG}) + file(REMOVE_RECURSE ${SOURCE_ROOT_RELEASE}) + + vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_ROOT_DEBUG}) + vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_ROOT_RELEASE}) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + ################ + # Release build + ################ + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + set(OUT_PATH_RELEASE ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-release) + file(MAKE_DIRECTORY ${OUT_PATH_RELEASE}) + vcpkg_execute_required_process( + COMMAND "${SOURCE_PATH_RELEASE}/configure" --prefix=${OUT_PATH_RELEASE} "${FREEXL_CONFIGURE_ARGS_REL}" + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME config-${TARGET_TRIPLET}-rel + ) + + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME make-build-${TARGET_TRIPLET}-release + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND make install + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME make-install-${TARGET_TRIPLET}-release + ) + + file(COPY ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY ${SOURCE_PATH_RELEASE}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl) + file(RENAME ${CURRENT_PACKAGES_DIR}/share/freexl/COPYING ${CURRENT_PACKAGES_DIR}/share/freexl/copyright) + message(STATUS "Installing ${TARGET_TRIPLET}-rel done") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + ################ + # Debug build + ################ + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + set(OUT_PATH_DEBUG ${SOURCE_PATH_DEBUG}/../../make-build-${TARGET_TRIPLET}-debug) + file(MAKE_DIRECTORY ${OUT_PATH_DEBUG}) + vcpkg_execute_required_process( + COMMAND "${SOURCE_PATH_DEBUG}/configure" --prefix=${OUT_PATH_DEBUG} "${FREEXL_CONFIGURE_ARGS_DBG}" + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME config-${TARGET_TRIPLET}-debug + ) + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME make-build-${TARGET_TRIPLET}-debug + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND make install + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME make-install-${TARGET_TRIPLET}-debug + ) + + file(COPY ${OUT_PATH_DEBUG}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) + message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") + endif() + +else()# Other build system + message(FATAL_ERROR "Unsupported build system.") +endif() message(STATUS "Packaging ${TARGET_TRIPLET} done") From fd87a081bb6acc33ec4e581f1ce60edcad80eda1 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Thu, 27 Jun 2019 00:00:48 +0200 Subject: [PATCH 110/123] Introduce an easier way to identify target systems... (#6846) * Introduce an easier way to identify target systems... * fix missing () * move the include around. also added vcpkg_common_functions to be automatically included * remove warning message * added remaining VCPKG_CMAKE_SYSTEM_NAMEs found only in vcpkg_configure_cmake to load a toolchain. * remove warning again from messed up merge --- scripts/cmake/vcpkg_common_definitions.cmake | 14 ++++++++++++++ scripts/ports.cmake | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 scripts/cmake/vcpkg_common_definitions.cmake diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake new file mode 100644 index 0000000000..8dc05de3cc --- /dev/null +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -0,0 +1,14 @@ +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(VCPKG_TARGET_IS_WINDOWS 1) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(VCPKG_TARGET_IS_UWP 1) + endif() +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(VCPKG_TARGET_IS_OSX 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(VCPKG_TARGET_IS_LINUX 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") + set(VCPKG_TARGET_IS_ANDROID 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + set(VCPKG_TARGET_IS_FREEBSD 1) +endif() diff --git a/scripts/ports.cmake b/scripts/ports.cmake index 7a5f2749f3..118cc94813 100644 --- a/scripts/ports.cmake +++ b/scripts/ports.cmake @@ -68,6 +68,8 @@ if(CMD MATCHES "^BUILD$") include(${CMAKE_TRIPLET_FILE}) set(TRIPLET_SYSTEM_ARCH ${VCPKG_TARGET_ARCHITECTURE}) + include(${CMAKE_CURRENT_LIST_DIR}/cmake/vcpkg_common_definitions.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/cmake/vcpkg_common_functions.cmake) include(${CURRENT_PORT_DIR}/portfile.cmake) set(BUILD_INFO_FILE_PATH ${CURRENT_PACKAGES_DIR}/BUILD_INFO) From 22ebb8ca681ed2dffbf931cf2ad72d53b846f2e2 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Wed, 26 Jun 2019 16:03:13 -0700 Subject: [PATCH 111/123] [libmikmod] resolve ninja error (-w dupbuild=err) (#7052) --- ports/libmikmod/CONTROL | 2 +- ports/libmikmod/cmake_policy.patch | 13 ------------- ports/libmikmod/name_conflict.patch | 13 +++++++++++++ ports/libmikmod/portfile.cmake | 9 ++++++++- 4 files changed, 22 insertions(+), 15 deletions(-) delete mode 100644 ports/libmikmod/cmake_policy.patch create mode 100644 ports/libmikmod/name_conflict.patch diff --git a/ports/libmikmod/CONTROL b/ports/libmikmod/CONTROL index 6a02a4ae4f..bc289f59c9 100644 --- a/ports/libmikmod/CONTROL +++ b/ports/libmikmod/CONTROL @@ -1,5 +1,5 @@ Source: libmikmod -Version: 3.3.11.1-3 +Version: 3.3.11.1-4 Homepage: https://sourceforge.net/projects/mikmod/ Description: Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm. Build-Depends: openal-soft diff --git a/ports/libmikmod/cmake_policy.patch b/ports/libmikmod/cmake_policy.patch deleted file mode 100644 index 17d48278a3..0000000000 --- a/ports/libmikmod/cmake_policy.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b4d31d3..67951e6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -23,6 +23,8 @@ - # - # (This copyright notice applies only to this file) - -+cmake_policy(SET CMP0003 NEW) -+ - PROJECT(libmikmod C) - CMAKE_MINIMUM_REQUIRED(VERSION 2.8) - LIST(APPEND CMAKE_MODULE_PATH "${libmikmod_SOURCE_DIR}/cmake") diff --git a/ports/libmikmod/name_conflict.patch b/ports/libmikmod/name_conflict.patch new file mode 100644 index 0000000000..be0ba1d289 --- /dev/null +++ b/ports/libmikmod/name_conflict.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 53a174e..5983882 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -404,7 +404,7 @@ IF (ENABLE_STATIC) + + SET_TARGET_PROPERTIES( + mikmod-static +- PROPERTIES OUTPUT_NAME "mikmod" ++ PROPERTIES OUTPUT_NAME "mikmod-static" + ) + SET_TARGET_PROPERTIES( + ${LIBMIKMOD_LIBS} diff --git a/ports/libmikmod/portfile.cmake b/ports/libmikmod/portfile.cmake index 1ec5d67739..ef0b6d5e06 100644 --- a/ports/libmikmod/portfile.cmake +++ b/ports/libmikmod/portfile.cmake @@ -23,9 +23,15 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH PATCHES fix-missing-dll.patch - cmake_policy.patch + name_conflict.patch ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(ENABLE_STATIC ON) +else() + set(ENABLE_STATIC OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA # Disable this option if project cannot be built with Ninja @@ -42,6 +48,7 @@ vcpkg_configure_cmake( -DENABLE_STDOUT=ON -DENABLE_WAV=ON -DOPENAL_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include + -DENABLE_STATIC=${ENABLE_STATIC} OPTIONS_RELEASE -DENABLE_SIMD=ON OPTIONS_DEBUG -DENABLE_SIMD=OFF ) From 539695e5445a435db848ff76cd39bf4fd7ab414e Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Wed, 26 Jun 2019 16:03:27 -0700 Subject: [PATCH 112/123] [restclient-cpp] disable tests (#7054) --- ports/restclient-cpp/CONTROL | 2 +- ports/restclient-cpp/portfile.cmake | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ports/restclient-cpp/CONTROL b/ports/restclient-cpp/CONTROL index 975f5df7a7..2aac1bbaf4 100644 --- a/ports/restclient-cpp/CONTROL +++ b/ports/restclient-cpp/CONTROL @@ -1,4 +1,4 @@ Source: restclient-cpp -Version: 0.5.1-1 +Version: 0.5.1-2 Build-Depends: curl Description: Binn is a binary data serialization format designed to be compact, fast and easy to use. diff --git a/ports/restclient-cpp/portfile.cmake b/ports/restclient-cpp/portfile.cmake index 116e609202..6ad2fa7cfa 100644 --- a/ports/restclient-cpp/portfile.cmake +++ b/ports/restclient-cpp/portfile.cmake @@ -13,6 +13,9 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_GTest=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_jsoncpp=TRUE ) vcpkg_install_cmake() From 40537b848b0ee9eaee2fb1bf08f838b1e75c9925 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Wed, 26 Jun 2019 16:35:03 -0700 Subject: [PATCH 113/123] [libftdi] resolve ninja error (-w dupbuild=err) (#7055) --- ports/libftdi/CONTROL | 2 +- ports/libftdi/export-cmake.patch | 24 ------------------------ ports/libftdi/portfile.cmake | 1 - ports/libftdi/shared-static.patch | 18 ++++++++++++++++-- 4 files changed, 17 insertions(+), 28 deletions(-) delete mode 100644 ports/libftdi/export-cmake.patch diff --git a/ports/libftdi/CONTROL b/ports/libftdi/CONTROL index 3c50a00e26..16ebe6fabc 100644 --- a/ports/libftdi/CONTROL +++ b/ports/libftdi/CONTROL @@ -1,4 +1,4 @@ Source: libftdi -Version: 0.20 +Version: 0.20-1 Build-Depends: libusb-win32 Description: FTDI USB driver with bitbang mode (v0.20) diff --git a/ports/libftdi/export-cmake.patch b/ports/libftdi/export-cmake.patch deleted file mode 100644 index 29078c25d3..0000000000 --- a/ports/libftdi/export-cmake.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 1c326fe..3c1d9ab 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -47,14 +47,19 @@ if(WIN32 OR 1) - - if(BUILD_SHARED_LIBS) - install( TARGETS ftdi -+ EXPORT ftdi - COMPONENT sharedlibs - ) - -+ target_link_libraries(ftdi PUBLIC $) - else() - install( TARGETS ftdi-static -+ EXPORT ftdi - COMPONENT staticlibs - ) -+ target_link_libraries(ftdi-static PUBLIC $) - endif() -+ install(EXPORT ftdi FILE libftdi-config.cmake NAMESPACE libftdi:: DESTINATION share/libftdi) - - install( FILES ${c_headers} - DESTINATION include diff --git a/ports/libftdi/portfile.cmake b/ports/libftdi/portfile.cmake index 29e5bc42df..318e21a9e0 100644 --- a/ports/libftdi/portfile.cmake +++ b/ports/libftdi/portfile.cmake @@ -13,7 +13,6 @@ vcpkg_extract_source_archive_ex( PATCHES libusb-win32.patch shared-static.patch - export-cmake.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/exports.def DESTINATION ${SOURCE_PATH}/src) diff --git a/ports/libftdi/shared-static.patch b/ports/libftdi/shared-static.patch index dad7aa0c52..df76b910b6 100644 --- a/ports/libftdi/shared-static.patch +++ b/ports/libftdi/shared-static.patch @@ -1,5 +1,5 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 071ae90..b42bbcd 100644 +index 071ae90..f91f6f7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,7 +4,7 @@ include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} @@ -11,6 +11,15 @@ index 071ae90..b42bbcd 100644 set(c_headers ftdi.h) add_library(ftdi SHARED ${c_sources}) +@@ -14,7 +14,7 @@ set_target_properties(ftdi PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}. + + # Static library + add_library(ftdi-static STATIC ${c_sources}) +-set_target_properties(ftdi-static PROPERTIES OUTPUT_NAME "ftdi") ++set_target_properties(ftdi-static PROPERTIES OUTPUT_NAME "ftdi-static") + + # Prevent clobbering each other during the build + set_target_properties(ftdi PROPERTIES CLEAN_DIRECT_OUTPUT 1) @@ -24,7 +24,7 @@ set_target_properties(ftdi-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) target_link_libraries(ftdi ${LIBUSB_LIBRARIES}) @@ -20,7 +29,7 @@ index 071ae90..b42bbcd 100644 install( TARGETS ftdi LIBRARY DESTINATION lib${LIB_SUFFIX} -@@ -41,23 +41,24 @@ if(${UNIX}) +@@ -41,23 +41,29 @@ if(${UNIX}) COMPONENT headers ) @@ -33,15 +42,20 @@ index 071ae90..b42bbcd 100644 + if(BUILD_SHARED_LIBS) install( TARGETS ftdi - DESTINATION bin ++ EXPORT ftdi COMPONENT sharedlibs ) ++ target_link_libraries(ftdi PUBLIC $) + else() install( TARGETS ftdi-static - DESTINATION bin ++ EXPORT ftdi COMPONENT staticlibs ) ++ target_link_libraries(ftdi-static PUBLIC $) + endif() ++ install(EXPORT ftdi FILE libftdi-config.cmake NAMESPACE libftdi:: DESTINATION share/libftdi) install( FILES ${c_headers} DESTINATION include From a6fe726ebb7fa39023342a91803d9c5de51d7c54 Mon Sep 17 00:00:00 2001 From: Sean Yen Date: Wed, 26 Jun 2019 22:20:04 -0700 Subject: [PATCH 114/123] Fix header path propagation. (#7015) --- ports/libftdi/shared-static.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/libftdi/shared-static.patch b/ports/libftdi/shared-static.patch index df76b910b6..3197fb823d 100644 --- a/ports/libftdi/shared-static.patch +++ b/ports/libftdi/shared-static.patch @@ -46,14 +46,14 @@ index 071ae90..f91f6f7 100644 COMPONENT sharedlibs ) -+ target_link_libraries(ftdi PUBLIC $) ++ target_include_directories(ftdi PUBLIC $) + else() install( TARGETS ftdi-static - DESTINATION bin + EXPORT ftdi COMPONENT staticlibs ) -+ target_link_libraries(ftdi-static PUBLIC $) ++ target_include_directories(ftdi-static PUBLIC $) + endif() + install(EXPORT ftdi FILE libftdi-config.cmake NAMESPACE libftdi:: DESTINATION share/libftdi) From 82cd021b42ddce34b487a9665cf2614b563919de Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Thu, 27 Jun 2019 11:08:20 -0700 Subject: [PATCH 115/123] [libxslt] Update the version to 1.1.33 and change the URL. (#7058) --- ports/libxslt/CONTROL | 2 +- ports/libxslt/portfile.cmake | 24 +++++++++++------------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/ports/libxslt/CONTROL b/ports/libxslt/CONTROL index 965079523a..e1de01067c 100644 --- a/ports/libxslt/CONTROL +++ b/ports/libxslt/CONTROL @@ -1,5 +1,5 @@ Source: libxslt -Version: 1.1.29 +Version: 1.1.33 Homepage: http://xmlsoft.org/XSLT/ Description: Libxslt is a XSLT library implemented in C for XSLT 1.0 and most of EXSLT Build-Depends: libxml2 diff --git a/ports/libxslt/portfile.cmake b/ports/libxslt/portfile.cmake index 2343ba99f1..a688c374b6 100644 --- a/ports/libxslt/portfile.cmake +++ b/ports/libxslt/portfile.cmake @@ -7,21 +7,19 @@ # include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxslt-1.1.29) -vcpkg_download_distfile(ARCHIVE - URLS "ftp://xmlsoft.org/libxslt/libxslt-1.1.29.tar.gz" - FILENAME "libxslt-1.1.29.tar.gz" - SHA512 a1ce555a74a9dabe65e8f64bb66e27e77760fd76940d88f2d59f58dd63ca73c8ae59f3fcbd8e76c8f92ff992fb0c09328528c20ea38ccac83e63252106bf5f31 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO GNOME/libxslt + REF v1.1.33 + SHA512 2c20b2af3c19952b25b10dca0d95fe227602f7f815db352b04dd061c52c458d745f92c597ce08ac9207ba0fbe0169ea2fb78263d8590743717553f84463fe1d9 + HEAD_REF master + PATCHES + 0001-Fix-makefile.patch ) -vcpkg_extract_source_archive(${ARCHIVE}) find_program(NMAKE nmake) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH}/ - PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-makefile.patch -) - set(SCRIPTS_DIR ${SOURCE_PATH}/win32) set(CONFIGURE_COMMAND_TEMPLATE cscript configure.js @@ -170,7 +168,7 @@ else() endif() # Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxslt) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libxslt/COPYING ${CURRENT_PACKAGES_DIR}/share/libxslt/copyright) +file(COPY ${SOURCE_PATH}/Copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxslt) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libxslt/Copyright ${CURRENT_PACKAGES_DIR}/share/libxslt/copyright) vcpkg_copy_pdbs() \ No newline at end of file From 35e985d3ccf60235bc4881df4d934610cd507090 Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Thu, 27 Jun 2019 12:20:12 -0700 Subject: [PATCH 116/123] Triplets Overlay Implementation (#7053) * Triplets Overlay Implementation * Use cache for get_triplet_file_path() * Code cleanup --- scripts/ports.cmake | 2 +- toolsrc/include/vcpkg/vcpkgcmdarguments.h | 1 + toolsrc/include/vcpkg/vcpkgpaths.h | 11 +++- toolsrc/src/vcpkg.cpp | 4 +- toolsrc/src/vcpkg/build.cpp | 13 ++++- toolsrc/src/vcpkg/help.cpp | 2 + toolsrc/src/vcpkg/vcpkgcmdarguments.cpp | 30 ++++------ toolsrc/src/vcpkg/vcpkgpaths.cpp | 67 ++++++++++++++++++----- 8 files changed, 87 insertions(+), 43 deletions(-) diff --git a/scripts/ports.cmake b/scripts/ports.cmake index 118cc94813..860d08893f 100644 --- a/scripts/ports.cmake +++ b/scripts/ports.cmake @@ -32,7 +32,7 @@ endif() if(CMD MATCHES "^BUILD$") - set(CMAKE_TRIPLET_FILE ${VCPKG_ROOT_DIR}/triplets/${TARGET_TRIPLET}.cmake) + set(CMAKE_TRIPLET_FILE ${TARGET_TRIPLET_FILE}) if(NOT EXISTS ${CMAKE_TRIPLET_FILE}) message(FATAL_ERROR "Unsupported target triplet. Triplet file does not exist: ${CMAKE_TRIPLET_FILE}") endif() diff --git a/toolsrc/include/vcpkg/vcpkgcmdarguments.h b/toolsrc/include/vcpkg/vcpkgcmdarguments.h index cad013eb88..ff13ae6bf6 100644 --- a/toolsrc/include/vcpkg/vcpkgcmdarguments.h +++ b/toolsrc/include/vcpkg/vcpkgcmdarguments.h @@ -88,6 +88,7 @@ namespace vcpkg std::unique_ptr vcpkg_root_dir; std::unique_ptr triplet; std::unique_ptr> overlay_ports; + std::unique_ptr> overlay_triplets; Optional debug = nullopt; Optional sendmetrics = nullopt; Optional printmetrics = nullopt; diff --git a/toolsrc/include/vcpkg/vcpkgpaths.h b/toolsrc/include/vcpkg/vcpkgpaths.h index b09169b027..a30e0c6534 100644 --- a/toolsrc/include/vcpkg/vcpkgpaths.h +++ b/toolsrc/include/vcpkg/vcpkgpaths.h @@ -47,14 +47,17 @@ namespace vcpkg struct VcpkgPaths { - static Expected create(const fs::path& vcpkg_root_dir, const std::string& default_vs_path); + static Expected create(const fs::path& vcpkg_root_dir, + const std::string& default_vs_path, + const std::vector* triplets_dirs); fs::path package_dir(const PackageSpec& spec) const; fs::path build_info_file_path(const PackageSpec& spec) const; fs::path listfile_path(const BinaryParagraph& pgh) const; - - const std::vector& get_available_triplets() const; + bool is_valid_triplet(const Triplet& t) const; + const std::vector& get_available_triplets() const; + const fs::path get_triplet_file_path(const Triplet& triplet) const; fs::path root; fs::path packages; @@ -93,7 +96,9 @@ namespace vcpkg Lazy> toolsets_vs2013; fs::path default_vs_path; + std::vector triplets_dirs; mutable std::unique_ptr m_tool_cache; + mutable vcpkg::Cache m_triplets_cache; }; } diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index e02bdc71f1..5da97b136d 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -118,7 +118,9 @@ static void inner(const VcpkgCmdArguments& args) auto default_vs_path = System::get_environment_variable("VCPKG_VISUAL_STUDIO_PATH").value_or(""); - const Expected expected_paths = VcpkgPaths::create(vcpkg_root_dir, default_vs_path); + const Expected expected_paths = VcpkgPaths::create(vcpkg_root_dir, + default_vs_path, + args.overlay_triplets.get()); Checks::check_exit(VCPKG_LINE_INFO, !expected_paths.error(), "Error: Invalid vcpkg root directory %s: %s", diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 059a09432c..f826a48652 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -361,9 +361,15 @@ namespace vcpkg::Build { auto& fs = paths.get_filesystem(); const Triplet& triplet = spec.triplet(); + const auto& triplet_file_path = paths.get_triplet_file_path(spec.triplet()).u8string(); - if (!Strings::starts_with(Strings::ascii_to_lowercase(config.port_dir.u8string()), - Strings::ascii_to_lowercase(paths.ports.u8string()))) + if (!Strings::case_insensitive_ascii_starts_with(triplet_file_path, + paths.triplets.u8string())) + { + System::printf("-- Loading triplet configuration from: %s\n", triplet_file_path); + } + if (!Strings::case_insensitive_ascii_starts_with(config.port_dir.u8string(), + paths.ports.u8string())) { System::printf("-- Installing port from location: %s\n", config.port_dir.u8string()); } @@ -390,6 +396,7 @@ namespace vcpkg::Build {"PORT", config.scf.core_paragraph->name}, {"CURRENT_PORT_DIR", config.port_dir}, {"TARGET_TRIPLET", spec.triplet().canonical_name()}, + {"TARGET_TRIPLET_FILE", triplet_file_path}, {"VCPKG_PLATFORM_TOOLSET", toolset.version.c_str()}, {"VCPKG_USE_HEAD_VERSION", Util::Enum::to_bool(config.build_package_options.use_head_version) ? "1" : "0"}, {"DOWNLOADS", paths.downloads}, @@ -890,7 +897,7 @@ namespace vcpkg::Build const fs::path& cmake_exe_path = paths.get_tool_exe(Tools::CMAKE); const fs::path ports_cmake_script_path = paths.scripts / "get_triplet_environment.cmake"; - const fs::path triplet_file_path = paths.triplets / (triplet.canonical_name() + ".cmake"); + const fs::path triplet_file_path = paths.get_triplet_file_path(triplet); const auto cmd_launch_cmake = System::make_cmake_cmd(cmake_exe_path, ports_cmake_script_path, diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp index 6ee573dfcc..896f62661f 100644 --- a/toolsrc/src/vcpkg/help.cpp +++ b/toolsrc/src/vcpkg/help.cpp @@ -117,6 +117,8 @@ namespace vcpkg::Help "\n" " --overlay-ports= Specify directories to be used when searching for ports\n" "\n" + " --overlay-triplets= Specify directories containing triplets files\n" + "\n" " --vcpkg-root Specify the vcpkg root " "directory\n" " (default: " ENVVAR(VCPKG_ROOT) // diff --git a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp index 21bf4d0285..3c1452d475 100644 --- a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp +++ b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp @@ -45,26 +45,6 @@ namespace vcpkg option_field = new_setting; } - static void parse_multivalue(const std::string* arg_begin, - const std::string* arg_end, - const std::string& option_name, - std::unique_ptr>& option_field) - { - if (arg_begin == arg_end) - { - System::print2(System::Color::error, "Error: expected value after ", option_name, '\n'); - Metrics::g_metrics.lock()->track_property("error", "error option name"); - Help::print_usage(); - Checks::exit_fail(VCPKG_LINE_INFO); - } - - if (!option_field) - { - option_field = std::make_unique>(); - } - option_field->emplace_back(*arg_begin); - } - static void parse_cojoined_multivalue(std::string new_value, const std::string& option_name, std::unique_ptr>& option_field) @@ -163,6 +143,13 @@ namespace vcpkg args.overlay_ports); continue; } + if (Strings::starts_with(arg, "--overlay-triplets=")) + { + parse_cojoined_multivalue(arg.substr(sizeof("--overlay-triplets=") - 1), + "--overlay-triplets", + args.overlay_triplets); + continue; + } if (arg == "--debug") { parse_switch(true, "debug", args.debug); @@ -418,6 +405,9 @@ namespace vcpkg System::printf(" %-40s %s\n", "--overlay-ports=", "Specify directories to be used when searching for ports"); + System::printf(" %-40s %s\n", + "--overlay-triplets=", + "Specify directories containing triplets files"); System::printf(" %-40s %s\n", "--vcpkg-root ", "Specify the vcpkg directory to use instead of current directory or tool directory"); diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp index 562a18c9ba..909fbeb448 100644 --- a/toolsrc/src/vcpkg/vcpkgpaths.cpp +++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp @@ -13,7 +13,9 @@ namespace vcpkg { - Expected VcpkgPaths::create(const fs::path& vcpkg_root_dir, const std::string& default_vs_path) + Expected VcpkgPaths::create(const fs::path& vcpkg_root_dir, + const std::string& default_vs_path, + const std::vector* triplets_dirs) { std::error_code ec; const fs::path canonical_vcpkg_root_dir = fs::stdfs::canonical(vcpkg_root_dir, ec); @@ -76,6 +78,20 @@ namespace vcpkg paths.ports_cmake = paths.scripts / "ports.cmake"; + if (triplets_dirs) + { + for (auto&& triplets_dir : *triplets_dirs) + { + auto path = fs::u8path(triplets_dir); + Checks::check_exit(VCPKG_LINE_INFO, + paths.get_filesystem().exists(path), + "Error: Path does not exist '%s'", + triplets_dir); + paths.triplets_dirs.emplace_back(fs::stdfs::canonical(path)); + } + } + paths.triplets_dirs.emplace_back(fs::stdfs::canonical(paths.root / "triplets")); + return paths; } @@ -91,20 +107,6 @@ namespace vcpkg return this->vcpkg_dir_info / (pgh.fullstem() + ".list"); } - const std::vector& VcpkgPaths::get_available_triplets() const - { - return this->available_triplets.get_lazy([this]() -> std::vector { - std::vector output; - for (auto&& path : this->get_filesystem().get_files_non_recursive(this->triplets)) - { - output.push_back(path.stem().filename().string()); - } - Util::sort(output); - - return output; - }); - } - bool VcpkgPaths::is_valid_triplet(const Triplet& t) const { const auto it = Util::find_if(this->get_available_triplets(), [&](auto&& available_triplet) { @@ -113,6 +115,41 @@ namespace vcpkg return it != this->get_available_triplets().cend(); } + const std::vector& VcpkgPaths::get_available_triplets() const + { + return this->available_triplets.get_lazy([this]() -> std::vector { + std::vector output; + for (auto&& triplets_dir : triplets_dirs) + { + for (auto&& path : this->get_filesystem().get_files_non_recursive(triplets_dir)) + { + output.push_back(path.stem().filename().string()); + } + } + Util::sort_unique_erase(output); + return output; + }); + } + + const fs::path VcpkgPaths::get_triplet_file_path(const Triplet& triplet) const + { + return m_triplets_cache.get_lazy(triplet, [&]()-> auto { + for (auto&& triplet_dir : triplets_dirs) + { + auto&& path = triplet_dir / (triplet.canonical_name() + ".cmake"); + if (this->get_filesystem().exists(path)) + { + return path; + } + } + + Checks::exit_with_message(VCPKG_LINE_INFO, + "Error: Triplet file %s.cmake not found", + triplet.canonical_name()); + }); + + } + const fs::path& VcpkgPaths::get_tool_exe(const std::string& tool) const { if (!m_tool_cache) m_tool_cache = get_tool_cache(); From 66f1d9a747ed5f048ed23248b9163d7490da02c2 Mon Sep 17 00:00:00 2001 From: Christophe Delacourt Date: Fri, 28 Jun 2019 00:38:53 +0200 Subject: [PATCH 117/123] [shaderc] update (#6689) * update shaderc * update shaderc * fix glslang cmake targets, re enable vcpkg_fixup_cmake_targets() * [spirv-tools] comment python distutils * remove comments, change path * glslang fix cmake targets * change version --- ports/glslang/CMakeLists-targets.patch | 241 ++++++++---------- ports/glslang/CMakeLists-windows.patch | 12 + ports/glslang/CONTROL | 4 +- ports/glslang/portfile.cmake | 7 +- .../0001-Add-a-virtual-destructor.patch | 23 -- ...01-Do-not-generate-build-version.inc.patch | 30 --- ports/shaderc/CONTROL | 4 +- ports/shaderc/build-version.inc | 8 +- ports/shaderc/disable-update-version.patch | 41 +++ ports/shaderc/fix-install.patch | 26 ++ ports/shaderc/portfile.cmake | 14 +- ports/spirv-headers/CONTROL | 2 +- ports/spirv-headers/portfile.cmake | 4 +- ports/spirv-tools/CMake-targets.patch | 119 --------- ports/spirv-tools/CONTROL | 4 +- ports/spirv-tools/comment-distutils.patch | 22 ++ ports/spirv-tools/portfile.cmake | 7 +- 17 files changed, 237 insertions(+), 331 deletions(-) create mode 100644 ports/glslang/CMakeLists-windows.patch delete mode 100644 ports/shaderc/0001-Add-a-virtual-destructor.patch delete mode 100644 ports/shaderc/0001-Do-not-generate-build-version.inc.patch create mode 100644 ports/shaderc/disable-update-version.patch create mode 100644 ports/shaderc/fix-install.patch delete mode 100644 ports/spirv-tools/CMake-targets.patch create mode 100644 ports/spirv-tools/comment-distutils.patch diff --git a/ports/glslang/CMakeLists-targets.patch b/ports/glslang/CMakeLists-targets.patch index 73661fa351..36e923d926 100644 --- a/ports/glslang/CMakeLists-targets.patch +++ b/ports/glslang/CMakeLists-targets.patch @@ -1,133 +1,108 @@ -diff --git a/ChooseMSVCCRT.cmake b/ChooseMSVCCRT.cmake -index 2097881..f0cddd7 100644 ---- a/ChooseMSVCCRT.cmake -+++ b/ChooseMSVCCRT.cmake -@@ -102,4 +102,4 @@ set(MSVC_CRT - MT - MTd) - --choose_msvc_crt(MSVC_CRT) -+# choose_msvc_crt(MSVC_CRT) -diff --git a/OGLCompilersDLL/CMakeLists.txt b/OGLCompilersDLL/CMakeLists.txt -index 5bb3f0e..e7be6e6 100644 ---- a/OGLCompilersDLL/CMakeLists.txt -+++ b/OGLCompilersDLL/CMakeLists.txt -@@ -9,6 +9,12 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS OGLCompiler -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS OGLCompiler EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS OGLCompiler -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/OGLCompiler-config.cmake" -+ ) - endif(ENABLE_GLSLANG_INSTALL) -diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt -index b682419..3a10f1a 100755 ---- a/SPIRV/CMakeLists.txt -+++ b/SPIRV/CMakeLists.txt -@@ -64,8 +64,14 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS SPIRV SPVRemapper -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS SPIRV EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS SPIRV -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/glslang-config.cmake" -+ ) - - install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SPIRV/) - endif(ENABLE_GLSLANG_INSTALL) -diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt -index 7a50ab6..b70345e 100644 ---- a/glslang/CMakeLists.txt -+++ b/glslang/CMakeLists.txt -@@ -97,8 +97,19 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS glslang -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS glslang EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS glslang -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/glslang-config.cmake" -+ ) -+ install( -+ EXPORT glslangConfig -+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/glslang" -+ NAMESPACE glslang:: -+ ) - endif(ENABLE_GLSLANG_INSTALL) - - if(ENABLE_GLSLANG_INSTALL) -diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt -index 1bf49e1..edd733c 100644 ---- a/glslang/OSDependent/Unix/CMakeLists.txt -+++ b/glslang/OSDependent/Unix/CMakeLists.txt -@@ -3,6 +3,12 @@ set_property(TARGET OSDependent PROPERTY FOLDER glslang) - set_property(TARGET OSDependent PROPERTY POSITION_INDEPENDENT_CODE ON) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS OSDependent -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS OSDependent EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS OSDependent -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/OSDependent-config.cmake" -+ ) - endif(ENABLE_GLSLANG_INSTALL) -diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt -index f257418..cadd70d 100644 ---- a/glslang/OSDependent/Windows/CMakeLists.txt -+++ b/glslang/OSDependent/Windows/CMakeLists.txt -@@ -15,6 +15,12 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS OSDependent -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS OSDependent EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS OSDependent -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/OSDependent-config.cmake" -+ ) - endif(ENABLE_GLSLANG_INSTALL) -diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt -index 98dfad7..94d96a0 100755 ---- a/hlsl/CMakeLists.txt -+++ b/hlsl/CMakeLists.txt -@@ -26,6 +26,12 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS HLSL -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS HLSL EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS HLSL -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/HLSL-config.cmake" -+ ) - endif(ENABLE_GLSLANG_INSTALL) +diff --git a/ChooseMSVCCRT.cmake b/ChooseMSVCCRT.cmake +index 2097881..f6320a9 100644 +--- a/ChooseMSVCCRT.cmake ++++ b/ChooseMSVCCRT.cmake +@@ -102,4 +102,3 @@ set(MSVC_CRT + MT + MTd) + +-choose_msvc_crt(MSVC_CRT) +diff --git a/OGLCompilersDLL/CMakeLists.txt b/OGLCompilersDLL/CMakeLists.txt +index 5bb3f0e..90ba3be 100644 +--- a/OGLCompilersDLL/CMakeLists.txt ++++ b/OGLCompilersDLL/CMakeLists.txt +@@ -9,6 +9,7 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- install(TARGETS OGLCompiler +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(TARGETS OGLCompiler EXPORT glslangConfig ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_GLSLANG_INSTALL) +diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt +index 1997e74..e2a0229 100644 +--- a/SPIRV/CMakeLists.txt ++++ b/SPIRV/CMakeLists.txt +@@ -46,7 +46,6 @@ endif(ENABLE_NV_EXTENSIONS) + add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS}) + set_property(TARGET SPIRV PROPERTY FOLDER glslang) + set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON) +-target_include_directories(SPIRV PUBLIC ..) + + if (ENABLE_SPVREMAPPER) + add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) +@@ -78,13 +77,13 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- if(BUILD_SHARED_LIBS) ++ if(BUILD_SHARED_LIBS OR TRUE) + if (ENABLE_SPVREMAPPER) + install(TARGETS SPVRemapper + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() +- install(TARGETS SPIRV ++ install(TARGETS SPIRV EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + else() +diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt +index 5f51476..7f11498 100644 +--- a/glslang/CMakeLists.txt ++++ b/glslang/CMakeLists.txt +@@ -86,7 +86,6 @@ add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${H + set_property(TARGET glslang PROPERTY FOLDER glslang) + set_property(TARGET glslang PROPERTY POSITION_INDEPENDENT_CODE ON) + target_link_libraries(glslang OGLCompiler OSDependent) +-target_include_directories(glslang PUBLIC ..) + + if(WIN32 AND BUILD_SHARED_LIBS) + set_target_properties(glslang PROPERTIES PREFIX "") +@@ -105,10 +104,15 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- if(BUILD_SHARED_LIBS) +- install(TARGETS glslang ++ if(BUILD_SHARED_LIBS OR TRUE) ++ install(TARGETS glslang EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install( ++ EXPORT glslangConfig ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/glslang" ++ NAMESPACE glslang:: ++ ) + else() + install(TARGETS glslang + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt +index e652f45..a9673fe 100644 +--- a/glslang/OSDependent/Unix/CMakeLists.txt ++++ b/glslang/OSDependent/Unix/CMakeLists.txt +@@ -20,6 +20,6 @@ else() + endif() + + if(ENABLE_GLSLANG_INSTALL) +- install(TARGETS OSDependent ++ install(TARGETS OSDependent EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_GLSLANG_INSTALL) +diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt +index f918d7a..329800f 100644 +--- a/hlsl/CMakeLists.txt ++++ b/hlsl/CMakeLists.txt +@@ -32,8 +32,8 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- if(BUILD_SHARED_LIBS) +- install(TARGETS HLSL ++ if(BUILD_SHARED_LIBS OR TRUE) ++ install(TARGETS HLSL EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + else() diff --git a/ports/glslang/CMakeLists-windows.patch b/ports/glslang/CMakeLists-windows.patch new file mode 100644 index 0000000000..76ccf6077c --- /dev/null +++ b/ports/glslang/CMakeLists-windows.patch @@ -0,0 +1,12 @@ +diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt +index f257418..82a3f3c 100644 +--- a/glslang/OSDependent/Windows/CMakeLists.txt ++++ b/glslang/OSDependent/Windows/CMakeLists.txt +@@ -15,6 +15,6 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- install(TARGETS OSDependent ++ install(TARGETS OSDependent EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_GLSLANG_INSTALL) diff --git a/ports/glslang/CONTROL b/ports/glslang/CONTROL index f3a25620c0..2d16ad41b7 100644 --- a/ports/glslang/CONTROL +++ b/ports/glslang/CONTROL @@ -1,4 +1,4 @@ Source: glslang -Version: 2018-03-02-2 +Version: 2019-03-05 Homepage: https://github.com/KhronosGroup/glslang -Description: Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator +Description: Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator \ No newline at end of file diff --git a/ports/glslang/portfile.cmake b/ports/glslang/portfile.cmake index 77e15052d1..003aa26aac 100644 --- a/ports/glslang/portfile.cmake +++ b/ports/glslang/portfile.cmake @@ -5,11 +5,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/glslang - REF b5b5f918c6b72d7cf2ee73641cc6c6ddb211ca70 - SHA512 ec0f7a23fa60457a481c7b3acf4c127c3bf898d23655d346aeafb304f74e798d632c83d676873f2c764d241de6dc4392cff8d6ce0ee509a4b74ee2233b01c008 + REF f88e5824d2cfca5edc58c7c2101ec9a4ec36afac + SHA512 92dc287e8930db6e00bde23b770f763dc3cf8a405a37b682bbd65e1dbde1f1f5161543fcc70b09eef07a5ce8bbe8f368ef84ac75003c122f42d1f6b9eaa8bd50 HEAD_REF master PATCHES CMakeLists-targets.patch + CMakeLists-windows.patch ) vcpkg_configure_cmake( @@ -20,8 +21,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() - file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") diff --git a/ports/shaderc/0001-Add-a-virtual-destructor.patch b/ports/shaderc/0001-Add-a-virtual-destructor.patch deleted file mode 100644 index 0fa6950368..0000000000 --- a/ports/shaderc/0001-Add-a-virtual-destructor.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 563bc6e87a43c38b5495469307922c768edbd191 Mon Sep 17 00:00:00 2001 -From: neil -Date: Thu, 1 Feb 2018 06:49:44 +0000 -Subject: [PATCH] Add a virtual destructor, otherwise Clang 6.0complains about - delete being called on an abstract class. - ---- - libshaderc/include/shaderc/shaderc.hpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libshaderc/include/shaderc/shaderc.hpp b/libshaderc/include/shaderc/shaderc.hpp -index 1c557431..335f0df9 100644 ---- a/libshaderc/include/shaderc/shaderc.hpp -+++ b/libshaderc/include/shaderc/shaderc.hpp -@@ -180,6 +180,8 @@ class CompileOptions { - - // Handles shaderc_include_result_release_fn callbacks. - virtual void ReleaseInclude(shaderc_include_result* data) = 0; -+ -+ virtual ~IncluderInterface() = default; - }; - - // Sets the includer instance for libshaderc to call during compilation, as diff --git a/ports/shaderc/0001-Do-not-generate-build-version.inc.patch b/ports/shaderc/0001-Do-not-generate-build-version.inc.patch deleted file mode 100644 index 41cc812201..0000000000 --- a/ports/shaderc/0001-Do-not-generate-build-version.inc.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e8e12e856cbc41f9bdcc83bc87eb5013df199ee1 Mon Sep 17 00:00:00 2001 -From: vlj -Date: Fri, 2 Dec 2016 16:36:25 +0100 -Subject: [PATCH] Do not generate build-version.inc - ---- - CMakeLists.txt | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a4c2fac..5544a2d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -53,8 +53,8 @@ add_subdirectory(libshaderc) - add_subdirectory(glslc) - add_subdirectory(examples) - --add_custom_target(build-version -- ${PYTHON_EXE} -- ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py -- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} -- COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") -+#add_custom_target(build-version -+# ${PYTHON_EXE} -+# ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py -+# ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} -+# COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") --- -2.10.2.windows.1 - diff --git a/ports/shaderc/CONTROL b/ports/shaderc/CONTROL index 36f82852a1..044fdd4105 100644 --- a/ports/shaderc/CONTROL +++ b/ports/shaderc/CONTROL @@ -1,5 +1,5 @@ Source: shaderc -Version: 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-2 +Version: 2019-06-26 Homepage: https://github.com/google/shaderc Description: A collection of tools, libraries and tests for shader compilation. -Build-Depends: glslang, spirv-tools +Build-Depends: glslang, spirv-tools \ No newline at end of file diff --git a/ports/shaderc/build-version.inc b/ports/shaderc/build-version.inc index 853e89916e..00c140577a 100644 --- a/ports/shaderc/build-version.inc +++ b/ports/shaderc/build-version.inc @@ -1,3 +1,5 @@ -"shaderc v2016.2-dev unknown hash, 2016-12-02\n" -"spirv-tools v2016.6-dev unknown hash, 2016-12-02\n" -"glslang unknown hash, 2016-12-02\n" +"shaderc v2019.0-dev unknown hash, 2019-05-08\n" +"spirv-tools v2019.3-dev unknown hash, 2019-04-03\n" +"glslang unknown hash, 2019-03-05\n" + + diff --git a/ports/shaderc/disable-update-version.patch b/ports/shaderc/disable-update-version.patch new file mode 100644 index 0000000000..5ee016bcb1 --- /dev/null +++ b/ports/shaderc/disable-update-version.patch @@ -0,0 +1,41 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a4e779b..dc5f1a9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,12 +81,6 @@ add_subdirectory(libshaderc) + add_subdirectory(glslc) + add_subdirectory(examples) + +-add_custom_target(build-version +- ${PYTHON_EXECUTABLE} +- ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py +- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} +- COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") +- + function(define_pkg_config_file NAME LIBS) + add_custom_target(${NAME}-pkg-config ALL + COMMAND ${CMAKE_COMMAND} +diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt +index acf6fb0..d0df7db 100644 +--- a/glslc/CMakeLists.txt ++++ b/glslc/CMakeLists.txt +@@ -26,7 +26,6 @@ shaderc_default_compile_options(glslc_exe) + target_include_directories(glslc_exe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/.. ${spirv-tools_SOURCE_DIR}/include) + set_target_properties(glslc_exe PROPERTIES OUTPUT_NAME glslc) + target_link_libraries(glslc_exe PRIVATE glslc shaderc_util shaderc) +-add_dependencies(glslc_exe build-version) + + shaderc_add_tests( + TEST_PREFIX glslc +diff --git a/spvc/CMakeLists.txt b/spvc/CMakeLists.txt +index f465972..76f8c2e 100644 +--- a/spvc/CMakeLists.txt ++++ b/spvc/CMakeLists.txt +@@ -3,7 +3,6 @@ shaderc_default_compile_options(spvc_exe) + target_include_directories(spvc_exe PRIVATE ${shaderc_SOURCE_DIR}/libshaderc/include ${spirv-tools_SOURCE_DIR}/include) + set_target_properties(spvc_exe PROPERTIES OUTPUT_NAME spvc) + target_link_libraries(spvc_exe PRIVATE shaderc_spvc shaderc_util) +-add_dependencies(spvc_exe build-version) + + shaderc_add_asciidoc(spvc_doc_README README) + diff --git a/ports/shaderc/fix-install.patch b/ports/shaderc/fix-install.patch new file mode 100644 index 0000000000..1857ed8fed --- /dev/null +++ b/ports/shaderc/fix-install.patch @@ -0,0 +1,26 @@ +diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt +index 9d07136..0ffa06f 100644 +--- a/libshaderc/CMakeLists.txt ++++ b/libshaderc/CMakeLists.txt +@@ -84,7 +84,7 @@ if(SHADERC_ENABLE_INSTALL) + # around this problem by manually substitution. + string(REPLACE "$(Configuration)" "\${CMAKE_INSTALL_CONFIG_NAME}" + install_location "${generated_location}") +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${install_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(FILES ${install_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + else() + install(FILES ${generated_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() +diff --git a/libshaderc_spvc/CMakeLists.txt b/libshaderc_spvc/CMakeLists.txt +index fae235e..b503e70 100644 +--- a/libshaderc_spvc/CMakeLists.txt ++++ b/libshaderc_spvc/CMakeLists.txt +@@ -84,7 +84,7 @@ if(SHADERC_ENABLE_INSTALL) + # around this problem by manually substitution. + string(REPLACE "$(Configuration)" "\${CMAKE_INSTALL_CONFIG_NAME}" + install_location "${generated_location}") +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${install_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(FILES ${install_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + else() + install(FILES ${generated_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() diff --git a/ports/shaderc/portfile.cmake b/ports/shaderc/portfile.cmake index 5f1f705722..fbdc1e4dd1 100644 --- a/ports/shaderc/portfile.cmake +++ b/ports/shaderc/portfile.cmake @@ -3,17 +3,19 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/shaderc - REF 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da - SHA512 6fb45a0b01e6709c44a11658648b9271fe06bd94023dcc5042c47b5f2a04889c2efb0ab4c166f18728594ac9b9aa9f8b354af46d88eb7f7c39c7246f52f5a933 + REF 05c766a1f4615ee37d37d09271aaabca30ffd293 + SHA512 329697e8e23d619313440d57ef740a94c49d13533e1b8734fc8ff72fd5092c2addabb306f64cb69160fa5fee373a05ba39a5ee6d92d95e5e2e9c7ec96a51aadc HEAD_REF master - PATCHES - 0001-Do-not-generate-build-version.inc.patch - 0001-Add-a-virtual-destructor.patch + PATCHES + "disable-update-version.patch" + "fix-install.patch" ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/third_party/glslang) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists_spirv.txt DESTINATION ${SOURCE_PATH}/third_party/spirv-tools) file(RENAME ${SOURCE_PATH}/third_party/spirv-tools/CMakeLists_spirv.txt ${SOURCE_PATH}/third_party/spirv-tools/CMakeLists.txt) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/build-version.inc DESTINATION ${SOURCE_PATH}/glslc/src) #Note: glslang and spir tools doesn't export symbol and need to be build as static lib for cmake to work @@ -30,7 +32,7 @@ vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS -DSHADERC_SKIP_TESTS=true ${OPTIONS} -Dglslang_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include + OPTIONS -DSHADERC_SKIP_TESTS=true ${OPTIONS} -Dglslang_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include -Dspirv-tools_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include OPTIONS_DEBUG -DSUFFIX_D=true OPTIONS_RELEASE -DSUFFIX_D=false ) diff --git a/ports/spirv-headers/CONTROL b/ports/spirv-headers/CONTROL index f1b0f7908a..be9ef43928 100644 --- a/ports/spirv-headers/CONTROL +++ b/ports/spirv-headers/CONTROL @@ -1,3 +1,3 @@ Source: spirv-headers -Version: 2019-03-05 +Version: 2019-05-05 Description: Machine-readable files for the SPIR-V Registry diff --git a/ports/spirv-headers/portfile.cmake b/ports/spirv-headers/portfile.cmake index f2c55280d0..e5191639de 100644 --- a/ports/spirv-headers/portfile.cmake +++ b/ports/spirv-headers/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Headers - REF 03a081524afabdde274d885880c2fef213e46a59 - SHA512 27f0a4b5efbe2931c0ff5d50e5fb5bd78fe0a735ad48a08db72c8914f2de05f5d5c507134e0a090bb5a7d88e2f8c1a0bdbf51a0bc4b9fe3bf372da7000ca0b98 + REF c4f8f65792d4bf2657ca751904c511bbcf2ac77b + SHA512 750af53a70f6f890657735ab0e2db5ae3dd8d612480efc2247753993752f687e22a0bdd65296c5751daf284604fe3dc9ee0a94feae88761a0e64adc64e6d17a4 HEAD_REF master ) diff --git a/ports/spirv-tools/CMake-targets.patch b/ports/spirv-tools/CMake-targets.patch deleted file mode 100644 index 6b754e16b6..0000000000 --- a/ports/spirv-tools/CMake-targets.patch +++ /dev/null @@ -1,119 +0,0 @@ -diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt -index 2d7d7ca..bf77be7 100644 ---- a/source/CMakeLists.txt -+++ b/source/CMakeLists.txt -@@ -327,31 +327,41 @@ set_source_files_properties( - add_library(${SPIRV_TOOLS} ${SPIRV_SOURCES}) - spvtools_default_compile_options(${SPIRV_TOOLS}) - target_include_directories(${SPIRV_TOOLS} -- PUBLIC ${spirv-tools_SOURCE_DIR}/include -+ PUBLIC "$" - PRIVATE ${spirv-tools_BINARY_DIR} - PRIVATE ${SPIRV_HEADER_INCLUDE_DIR} - ) - set_property(TARGET ${SPIRV_TOOLS} PROPERTY FOLDER "SPIRV-Tools libraries") - spvtools_check_symbol_exports(${SPIRV_TOOLS}) - --add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES}) --spvtools_default_compile_options(${SPIRV_TOOLS}-shared) --target_include_directories(${SPIRV_TOOLS}-shared -- PUBLIC ${spirv-tools_SOURCE_DIR}/include -- PRIVATE ${spirv-tools_BINARY_DIR} -- PRIVATE ${SPIRV_HEADER_INCLUDE_DIR} -- ) --set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden) --set_property(TARGET ${SPIRV_TOOLS}-shared PROPERTY FOLDER "SPIRV-Tools libraries") --spvtools_check_symbol_exports(${SPIRV_TOOLS}-shared) --target_compile_definitions(${SPIRV_TOOLS}-shared -- PRIVATE SPIRV_TOOLS_IMPLEMENTATION -- PUBLIC SPIRV_TOOLS_SHAREDLIB --) -+# add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES}) -+# spvtools_default_compile_options(${SPIRV_TOOLS}-shared) -+# target_include_directories(${SPIRV_TOOLS}-shared -+# PUBLIC ${spirv-tools_SOURCE_DIR}/include -+# PRIVATE ${spirv-tools_BINARY_DIR} -+# PRIVATE ${SPIRV_HEADER_INCLUDE_DIR} -+# ) -+# set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden) -+# set_property(TARGET ${SPIRV_TOOLS}-shared PROPERTY FOLDER "SPIRV-Tools libraries") -+# spvtools_check_symbol_exports(${SPIRV_TOOLS}-shared) -+# target_compile_definitions(${SPIRV_TOOLS}-shared -+# PRIVATE SPIRV_TOOLS_IMPLEMENTATION -+# PUBLIC SPIRV_TOOLS_SHAREDLIB -+# ) - - if(ENABLE_SPIRV_TOOLS_INSTALL) -- install(TARGETS ${SPIRV_TOOLS} ${SPIRV_TOOLS}-shared -+ install(TARGETS ${SPIRV_TOOLS} EXPORT spirv-tools-config - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ export( -+ TARGETS ${SPIRV_TOOLS} -+ NAMESPACE spirv-tools:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/spirv-tools-config.cmake" -+ ) -+ install( -+ EXPORT spirv-tools-config -+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/spirv-tools" -+ NAMESPACE spirv-tools:: -+ ) - endif(ENABLE_SPIRV_TOOLS_INSTALL) -diff --git a/source/link/CMakeLists.txt b/source/link/CMakeLists.txt -index 8ca4df3..ac0aa62 100644 ---- a/source/link/CMakeLists.txt -+++ b/source/link/CMakeLists.txt -@@ -17,7 +17,7 @@ add_library(SPIRV-Tools-link - - spvtools_default_compile_options(SPIRV-Tools-link) - target_include_directories(SPIRV-Tools-link -- PUBLIC ${spirv-tools_SOURCE_DIR}/include -+ PUBLIC "$" - PUBLIC ${SPIRV_HEADER_INCLUDE_DIR} - PRIVATE ${spirv-tools_BINARY_DIR} - ) -@@ -29,8 +29,13 @@ set_property(TARGET SPIRV-Tools-link PROPERTY FOLDER "SPIRV-Tools libraries") - spvtools_check_symbol_exports(SPIRV-Tools-link) - - if(ENABLE_SPIRV_TOOLS_INSTALL) -- install(TARGETS SPIRV-Tools-link -+ install(TARGETS SPIRV-Tools-link EXPORT spirv-tools-config - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ export( -+ TARGETS ${SPIRV_TOOLS}-link -+ NAMESPACE spirv-tools:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/spirv-tools-link-config.cmake" -+ ) - endif(ENABLE_SPIRV_TOOLS_INSTALL) -diff --git a/source/opt/CMakeLists.txt b/source/opt/CMakeLists.txt -index 854c950..fc91539 100644 ---- a/source/opt/CMakeLists.txt -+++ b/source/opt/CMakeLists.txt -@@ -159,7 +159,7 @@ add_library(SPIRV-Tools-opt - - spvtools_default_compile_options(SPIRV-Tools-opt) - target_include_directories(SPIRV-Tools-opt -- PUBLIC ${spirv-tools_SOURCE_DIR}/include -+ PUBLIC "$" - PUBLIC ${SPIRV_HEADER_INCLUDE_DIR} - PRIVATE ${spirv-tools_BINARY_DIR} - ) -@@ -171,9 +171,14 @@ set_property(TARGET SPIRV-Tools-opt PROPERTY FOLDER "SPIRV-Tools libraries") - spvtools_check_symbol_exports(SPIRV-Tools-opt) - - if(ENABLE_SPIRV_TOOLS_INSTALL) -- install(TARGETS SPIRV-Tools-opt -+ install(TARGETS SPIRV-Tools-opt EXPORT spirv-tools-config - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ export( -+ TARGETS ${SPIRV_TOOLS}-opt -+ NAMESPACE spirv-tools:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/spirv-tools-opt-config.cmake" -+ ) - endif(ENABLE_SPIRV_TOOLS_INSTALL) - diff --git a/ports/spirv-tools/CONTROL b/ports/spirv-tools/CONTROL index b5f0c536a3..b873c54934 100644 --- a/ports/spirv-tools/CONTROL +++ b/ports/spirv-tools/CONTROL @@ -1,5 +1,5 @@ Source: spirv-tools -Version: 2018.1-2 +Version: 2019.3-dev Homepage: https://github.com/KhronosGroup/SPIRV-Tools Description: API and commands for processing SPIR-V modules -Build-Depends: spirv-headers +Build-Depends: spirv-headers \ No newline at end of file diff --git a/ports/spirv-tools/comment-distutils.patch b/ports/spirv-tools/comment-distutils.patch new file mode 100644 index 0000000000..2426f82bae --- /dev/null +++ b/ports/spirv-tools/comment-distutils.patch @@ -0,0 +1,22 @@ +diff --git a/utils/generate_registry_tables.py b/utils/generate_registry_tables.py +index 8b1c3572..6ab28fe6 100644 +--- a/utils/generate_registry_tables.py ++++ b/utils/generate_registry_tables.py +@@ -16,7 +16,7 @@ + + from __future__ import print_function + +-import distutils.dir_util ++#import distutils.dir_util + import os.path + import xml.etree.ElementTree + +@@ -64,7 +64,7 @@ def main(): + with open(args.xml) as xml_in: + registry = xml.etree.ElementTree.fromstring(xml_in.read()) + +- distutils.dir_util.mkpath(os.path.dirname(args.generator_output)) ++ #distutils.dir_util.mkpath(os.path.dirname(args.generator_output)) + print(generate_vendor_table(registry), file=open(args.generator_output, 'w')) + + diff --git a/ports/spirv-tools/portfile.cmake b/ports/spirv-tools/portfile.cmake index 3011aa3960..0cc6f79ddd 100644 --- a/ports/spirv-tools/portfile.cmake +++ b/ports/spirv-tools/portfile.cmake @@ -5,11 +5,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Tools - REF v2018.1 - SHA512 0637c413dafd931e8222f9bf70a024f8b64116f0300c7732b86bcaff321188a0e746f79c1385ae23a7692e83194586b57692960d5be607fb2d7960731b6cd63f - HEAD_REF master + REF d0a1f5a05a2b0f8315e5b3f17b8e34c730861b31 + SHA512 7179751b0216368b4a4bf8c9b0c1c1e3b17d6aa4788b4aeaa7fbb2b6d9d50b34cf209082f3531a2e0994b5fc02416373666d4d12cee282cec2c3d02c13a640a8 PATCHES - CMake-targets.patch + comment-distutils.patch ) vcpkg_find_acquire_program(PYTHON3) From 4bb67553f00315a58b99e85f1550c2be34d2ca07 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Thu, 27 Jun 2019 15:55:07 -0700 Subject: [PATCH 118/123] [flann] fix flaky config (#7073) --- ports/flann/CONTROL | 2 +- ports/flann/portfile.cmake | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/flann/CONTROL b/ports/flann/CONTROL index c2aba2e18a..fdcbb8eccf 100644 --- a/ports/flann/CONTROL +++ b/ports/flann/CONTROL @@ -1,5 +1,5 @@ Source: flann -Version: 1.9.1 +Version: 1.9.1-1 Homepage: https://github.com/mariusmuja/flann Build-Depends: lz4 Description: Fast Library for Approximate Nearest Neighbors diff --git a/ports/flann/portfile.cmake b/ports/flann/portfile.cmake index baf79035a3..ec9637212f 100644 --- a/ports/flann/portfile.cmake +++ b/ports/flann/portfile.cmake @@ -16,6 +16,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF From 53a02456a0f457e78d4b2d98a6b43cdd090b9c69 Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Thu, 27 Jun 2019 16:32:38 -0700 Subject: [PATCH 119/123] Update ports-overlay.md --- docs/specifications/ports-overlay.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/specifications/ports-overlay.md b/docs/specifications/ports-overlay.md index e877f50109..d486cfe193 100644 --- a/docs/specifications/ports-overlay.md +++ b/docs/specifications/ports-overlay.md @@ -45,6 +45,8 @@ From a user experience perspective, a user expresses interest in adding addition * `vcpkg install sqlite3 --overlay-ports=\\share\org\custom-ports` * a file listing paths to the former two. + > NOTE: Reading paths from a text file is not available in the current implementation, some revisions to this part of the specification are being made and will be implemented in a future date. + * `vcpkg install sqlite3 --overlay-ports=..\port-repos.txt` _port-repos.txt_ @@ -129,6 +131,8 @@ Given the following directory structure: * #### Example #3: + > NOTE: Reading paths from a text file is not available in the current implementation, some revisions to this part of the specification are being made and will be implemented in a future date. + Given the content of `preferred-ports.txt` as: ``` From 5b6b66512b84267c1b93ef577dea3a811a255c82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Schau?= Date: Fri, 28 Jun 2019 01:41:01 +0200 Subject: [PATCH 120/123] [libu2f-server] New Port (#6781) * update to 2.8.84 * [libu2f-server] Initial Port of Version 1.1.0 * Missing exported functions * Add support for static linkage * Added missing 'arm64' Target, and corrected case for 'arm' for vcpkg_install_msbuild * Add support for arm64 * Support for arm target * [libu2f-server] add cmakelists and patch * string copy fix * revert msbuild changes * add compile definitions * add patch file * remove line * change version --- ports/libu2f-server/CMakeLists.txt | 30 ++++++++ ports/libu2f-server/CONTROL | 4 + ports/libu2f-server/portfile.cmake | 31 ++++++++ ports/libu2f-server/strndup-fix.patch | 31 ++++++++ ports/libu2f-server/u2f-server-version.h | 94 ++++++++++++++++++++++++ ports/libu2f-server/windows.patch | 41 +++++++++++ 6 files changed, 231 insertions(+) create mode 100644 ports/libu2f-server/CMakeLists.txt create mode 100644 ports/libu2f-server/CONTROL create mode 100644 ports/libu2f-server/portfile.cmake create mode 100644 ports/libu2f-server/strndup-fix.patch create mode 100644 ports/libu2f-server/u2f-server-version.h create mode 100644 ports/libu2f-server/windows.patch diff --git a/ports/libu2f-server/CMakeLists.txt b/ports/libu2f-server/CMakeLists.txt new file mode 100644 index 0000000000..5e1f50e521 --- /dev/null +++ b/ports/libu2f-server/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.5) + +project(libu2f-server C) + +file(GLOB_RECURSE LIBU2F_SERVER_HEADERS u2f-server/*.h) +file(GLOB_RECURSE LIBU2F_SERVER_SOURCE u2f-server/*.c) + +add_library(libu2f-server ${LIBU2F_SERVER_SOURCE}) + +target_include_directories(libu2f-server PUBLIC $ $) +target_compile_definitions(libu2f-server PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE) + +find_package(json-c CONFIG REQUIRED) +find_package(OpenSSL REQUIRED) +target_link_libraries(libu2f-server PRIVATE OpenSSL::SSL OpenSSL::Crypto json-c::json-c) + +install(TARGETS libu2f-server + EXPORT libu2f-serverConfig + RUNTIME DESTINATION "bin" + ARCHIVE DESTINATION "lib" + LIBRARY DESTINATION "lib" +) + +INSTALL(FILES ${LIBU2F_SERVER_HEADERS} DESTINATION "include/libu2f-server") + +install(EXPORT libu2f-serverConfig + FILE libu2f-serverConfig.cmake + NAMESPACE libu2f-server:: + DESTINATION "share/libu2f-server" +) \ No newline at end of file diff --git a/ports/libu2f-server/CONTROL b/ports/libu2f-server/CONTROL new file mode 100644 index 0000000000..26803fbb7e --- /dev/null +++ b/ports/libu2f-server/CONTROL @@ -0,0 +1,4 @@ +Source: libu2f-server +Version: 1.1.0 +Build-Depends: openssl, json-c +Description: Yubico Universal 2nd Factor (U2F) Server C Library diff --git a/ports/libu2f-server/portfile.cmake b/ports/libu2f-server/portfile.cmake new file mode 100644 index 0000000000..86e5d9bbeb --- /dev/null +++ b/ports/libu2f-server/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Yubico/libu2f-server + REF libu2f-server-1.1.0 + SHA512 085f8e7d74c1efb347747b8930386f18ba870f668f82e9bd479c9f8431585c5dc7f95b2f6b82bdd3a6de0c06f8cb2fbf51c363ced54255a936ab96536158ee59 + HEAD_REF master + PATCHES + windows.patch + strndup-fix.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/u2f-server-version.h DESTINATION ${SOURCE_PATH}/u2f-server) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + ) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_copy_pdbs() + +# Handle copyright +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/libu2f-server/strndup-fix.patch b/ports/libu2f-server/strndup-fix.patch new file mode 100644 index 0000000000..f5b7ffd8a7 --- /dev/null +++ b/ports/libu2f-server/strndup-fix.patch @@ -0,0 +1,31 @@ +diff --git a/u2f-server/core.c b/u2f-server/core.c +index 294c94b..746932b 100644 +--- a/u2f-server/core.c ++++ b/u2f-server/core.c +@@ -211,7 +211,7 @@ u2fs_rc u2fs_set_keyHandle(u2fs_ctx_t * ctx, const char *keyHandle) + ctx->keyHandle = NULL; + } + +- ctx->keyHandle = strndup(keyHandle, strlen(keyHandle)); ++ ctx->keyHandle = strdup(keyHandle); + + if (ctx->keyHandle == NULL) + return U2FS_MEMORY_ERROR; +@@ -726,7 +726,7 @@ static u2fs_rc decode_clientData(const char *clientData, char **output) + fprintf(stderr, "clientData: %s\n", data); + } + +- *output = strndup(data, strlen(data)); ++ *output = strdup(data); + + free(data); + data = NULL; +@@ -870,7 +870,7 @@ u2fs_rc u2fs_registration_verify(u2fs_ctx_t * ctx, const char *response, + goto failure; + + u2fs_EC_KEY_t *key_ptr; +- (*output)->keyHandle = strndup(buf, strlen(buf)); ++ (*output)->keyHandle = strdup(buf); + + rc = decode_user_key(user_public_key, &key_ptr); + if (rc != U2FS_OK) diff --git a/ports/libu2f-server/u2f-server-version.h b/ports/libu2f-server/u2f-server-version.h new file mode 100644 index 0000000000..b38ccac814 --- /dev/null +++ b/ports/libu2f-server/u2f-server-version.h @@ -0,0 +1,94 @@ +/* +* Copyright (c) 2014 Yubico AB +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above +* copyright notice, this list of conditions and the following +* disclaimer in the documentation and/or other materials provided +* with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef U2F_SERVER_VERSION_H +#define U2F_SERVER_VERSION_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * U2FS_VERSION_STRING + * + * Pre-processor symbol with a string that describe the header file + * version number. Used together with u2fs_check_version() to verify + * header file and run-time library consistency. + */ +#define U2FS_VERSION_STRING "1.1.0" + +/** + * U2FS_VERSION_NUMBER + * + * Pre-processor symbol with a hexadecimal value describing the header + * file version number. For example, when the header version is 1.2.3 + * this symbol will have the value 0x01020300. The last two digits + * are only used between public releases, and will otherwise be 00. + */ +#define U2FS_VERSION_NUMBER 0x01010000 + +/** + * U2FS_VERSION_MAJOR + * + * Pre-processor symbol with a decimal value that describe the major + * level of the header file version number. For example, when the + * header version is 1.2.3 this symbol will be 1. + */ +#define U2FS_VERSION_MAJOR 1 + +/** + * U2FS_VERSION_MINOR + * + * Pre-processor symbol with a decimal value that describe the minor + * level of the header file version number. For example, when the + * header version is 1.2.3 this symbol will be 2. + */ +#define U2FS_VERSION_MINOR 1 + +/** + * U2FS_VERSION_PATCH + * + * Pre-processor symbol with a decimal value that describe the patch + * level of the header file version number. For example, when the + * header version is 1.2.3 this symbol will be 3. + */ +#define U2FS_VERSION_PATCH 0 + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/ports/libu2f-server/windows.patch b/ports/libu2f-server/windows.patch new file mode 100644 index 0000000000..2cc68ec9bf --- /dev/null +++ b/ports/libu2f-server/windows.patch @@ -0,0 +1,41 @@ +diff --git a/u2f-server/cdecode.c b/u2f-server/cdecode.c +index 6fff114..dc05ca5 100644 +--- a/u2f-server/cdecode.c ++++ b/u2f-server/cdecode.c +@@ -5,7 +5,7 @@ This is part of the libb64 project, and has been placed in the public domain. + For details, see http://sourceforge.net/projects/libb64 + */ + +-#include ++#include "b64/cdecode.h" + + int base64_decode_value(char value_in) + { +diff --git a/u2f-server/cencode.c b/u2f-server/cencode.c +index eebb24a..f3b7fa4 100644 +--- a/u2f-server/cencode.c ++++ b/u2f-server/cencode.c +@@ -5,7 +5,7 @@ This is part of the libb64 project, and has been placed in the public domain. + For details, see http://sourceforge.net/projects/libb64 + */ + +-#include ++#include "b64/cencode.h" + + const int CHARS_PER_LINE = 72; + +diff --git a/u2f-server/core.c b/u2f-server/core.c +index da440ec..294c94b 100644 +--- a/u2f-server/core.c ++++ b/u2f-server/core.c +@@ -30,8 +30,7 @@ + #include "internal.h" + + #include +-#include +-#include ++#include + #include "crypto.h" + #include "b64/cencode.h" + #include "b64/cdecode.h" + \ No newline at end of file From b4675fd65a5baebe93d0e60e082ae43013ed246f Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 29 Jun 2019 01:17:39 +0800 Subject: [PATCH 121/123] [vcpkg] Add vcpkg_check_features (#6958) * [vcpkg] Add vcpkg_check_feature, vcpkg_check_features * [vcpkg] Remove vcpkg_check_feature * [oniguruma,xtensor] Use vcpkg_check_features --- docs/maintainers/portfile-functions.md | 1 + docs/maintainers/vcpkg_check_features.md | 41 +++++++++++ ports/oniguruma/CONTROL | 3 +- ports/oniguruma/portfile.cmake | 6 +- ports/xtensor/CONTROL | 3 +- ports/xtensor/portfile.cmake | 20 ++---- scripts/cmake/vcpkg_check_features.cmake | 82 ++++++++++++++++++++++ scripts/cmake/vcpkg_common_functions.cmake | 1 + 8 files changed, 136 insertions(+), 21 deletions(-) create mode 100644 docs/maintainers/vcpkg_check_features.md create mode 100644 scripts/cmake/vcpkg_check_features.cmake diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md index c4b810dc04..b98d89192d 100644 --- a/docs/maintainers/portfile-functions.md +++ b/docs/maintainers/portfile-functions.md @@ -6,6 +6,7 @@ - [vcpkg\_apply\_patches](vcpkg_apply_patches.md) - [vcpkg\_build\_cmake](vcpkg_build_cmake.md) - [vcpkg\_build\_msbuild](vcpkg_build_msbuild.md) +- [vcpkg\_check\_features](vcpkg_check_features.md) - [vcpkg\_check\_linkage](vcpkg_check_linkage.md) - [vcpkg\_clean\_msbuild](vcpkg_clean_msbuild.md) - [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md) diff --git a/docs/maintainers/vcpkg_check_features.md b/docs/maintainers/vcpkg_check_features.md new file mode 100644 index 0000000000..ca2debf858 --- /dev/null +++ b/docs/maintainers/vcpkg_check_features.md @@ -0,0 +1,41 @@ +# vcpkg_check_features + +Check if one or more features are part of the package installation. + +## Usage +```cmake +vcpkg_check_features( + + [ ] + ... +) +``` + +`vcpkg_check_features` accepts a list of (feature, output_variable) pairs. +The syntax is similar to the `PROPERTIES` argument of `set_target_properties`. + +`vcpkg_check_features` will create a variable `FEATURE_OPTIONS` in the +parent scope, which you can pass as a part of `OPTIONS` argument when +calling functions like `vcpkg_config_cmake`: +```cmake +vcpkg_config_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTING=ON + ${FEATURE_OPTIONS} +) +``` + +## Notes +`vcpkg_check_features` is supposed to be called only once. Otherwise, the +`FEATURE_OPTIONS` variable set by a previous call will be overwritten. + +## Examples + +* [czmq](https://github.com/microsoft/vcpkg/blob/master/ports/czmq/portfile.cmake) +* [oniguruma](https://github.com/microsoft/vcpkg/blob/master/ports/oniguruma/portfile.cmake) +* [xtensor](https://github.com/microsoft/vcpkg/blob/master/ports/xtensor/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_check_features.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_check_features.cmake) diff --git a/ports/oniguruma/CONTROL b/ports/oniguruma/CONTROL index 1780b45051..7eb4e61737 100644 --- a/ports/oniguruma/CONTROL +++ b/ports/oniguruma/CONTROL @@ -1,6 +1,7 @@ Source: oniguruma -Version: 6.9.2 +Version: 6.9.2-1 Description: Modern and flexible regular expressions library +Homepage: https://github.com/kkos/oniguruma Feature: non-posix Description: Disable POSIX API diff --git a/ports/oniguruma/portfile.cmake b/ports/oniguruma/portfile.cmake index 586bfbe075..28f489926a 100644 --- a/ports/oniguruma/portfile.cmake +++ b/ports/oniguruma/portfile.cmake @@ -8,11 +8,7 @@ vcpkg_from_github( HEAD_REF master ) -if("non-posix" IN_LIST FEATURES) - set(ENABLE_POSIX_API OFF) -else() - set(ENABLE_POSIX_API ON) -endif() +vcpkg_check_features(non-posix ENABLE_POSIX_API) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/xtensor/CONTROL b/ports/xtensor/CONTROL index 3e5e330138..138d9e1fe7 100644 --- a/ports/xtensor/CONTROL +++ b/ports/xtensor/CONTROL @@ -1,6 +1,7 @@ Source: xtensor -Version: 0.20.7 +Version: 0.20.7-1 Description: C++ tensors with broadcasting and lazy computing +Homepage: https://quantstack.net/xtensor Build-Depends: nlohmann-json, xtl Feature: xsimd diff --git a/ports/xtensor/portfile.cmake b/ports/xtensor/portfile.cmake index 51e24c6e95..9c8b3b63e7 100644 --- a/ports/xtensor/portfile.cmake +++ b/ports/xtensor/portfile.cmake @@ -5,29 +5,20 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO QuantStack/xtensor - REF 0.20.7 + REF 0.20.7 SHA512 de09900d0934f9b10453f16e43d1c3af28503f365224f9c6789b88a0cf00db820ca31e12099df1a2e3aafa73d7d83223df82f01b7611c1addb48367f936e5122 HEAD_REF master ) -if("xsimd" IN_LIST FEATURES) - set(XTENSOR_USE_XSIMD ON) -else() - set(XTENSOR_USE_XSIMD OFF) -endif() - -if("tbb" IN_LIST FEATURES) - set(XTENSOR_USE_TBB ON) -else() - set(XTENSOR_USE_TBB OFF) -endif() +vcpkg_check_features( + xsimd XTENSOR_USE_XSIMD + tbb XTENSOR_USE_TBB +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DXTENSOR_USE_XSIMD=${XTENSOR_USE_XSIMD} - -DXTENSOR_USE_TBB=${XTENSOR_USE_TBB} -DXTENSOR_ENABLE_ASSERT=OFF -DXTENSOR_CHECK_DIMENSION=OFF -DBUILD_TESTS=OFF @@ -36,6 +27,7 @@ vcpkg_configure_cmake( -DDOWNLOAD_GBENCHMARK=OFF -DDEFAULT_COLUMN_MAJOR=OFF -DDISABLE_VS2017=OFF + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() diff --git a/scripts/cmake/vcpkg_check_features.cmake b/scripts/cmake/vcpkg_check_features.cmake new file mode 100644 index 0000000000..c8848e9876 --- /dev/null +++ b/scripts/cmake/vcpkg_check_features.cmake @@ -0,0 +1,82 @@ +## # vcpkg_check_features +## +## Check if one or more features are part of the package installation. +## +## ## Usage +## ```cmake +## vcpkg_check_features( +## +## [ ] +## ... +## ) +## ``` +## +## `vcpkg_check_features` accepts a list of (feature, output_variable) pairs. +## The syntax is similar to the `PROPERTIES` argument of `set_target_properties`. +## +## `vcpkg_check_features` will create a variable `FEATURE_OPTIONS` in the +## parent scope, which you can pass as a part of `OPTIONS` argument when +## calling functions like `vcpkg_config_cmake`: +## ```cmake +## vcpkg_config_cmake( +## SOURCE_PATH ${SOURCE_PATH} +## PREFER_NINJA +## OPTIONS +## -DBUILD_TESTING=ON +## ${FEATURE_OPTIONS} +## ) +## ``` +## +## ## Notes +## `vcpkg_check_features` is supposed to be called only once. Otherwise, the +## `FEATURE_OPTIONS` variable set by a previous call will be overwritten. +## +## ## Examples +## +## * [czmq](https://github.com/microsoft/vcpkg/blob/master/ports/czmq/portfile.cmake) +## * [oniguruma](https://github.com/microsoft/vcpkg/blob/master/ports/oniguruma/portfile.cmake) +## * [xtensor](https://github.com/microsoft/vcpkg/blob/master/ports/xtensor/portfile.cmake) +function(vcpkg_check_features) + cmake_parse_arguments(_vcf "" "" "" ${ARGN}) + + list(LENGTH ARGN _vcf_ARGC) + math(EXPR _vcf_INCORRECT_ARGN "${_vcf_ARGC} % 2") + + if(_vcf_INCORRECT_ARGN) + message(FATAL_ERROR "Called with incorrect number of arguments.") + endif() + + set(_vcf_IS_FEATURE_ARG ON) + set(_vcf_FEATURE_OPTIONS) + + # Process (feature, output_var) pairs + foreach(_vcf_ARG ${ARGN}) + if(_vcf_IS_FEATURE_ARG) + set(_vcf_FEATURE ${_vcf_ARG}) + + if(NOT ${_vcf_FEATURE} IN_LIST ALL_FEATURES) + message(FATAL_ERROR "Unknown feature: ${_vcf_FEATURE}") + endif() + + set(_vcf_IS_FEATURE_ARG OFF) + else() + set(_vcf_FEATURE_VAR ${_vcf_ARG}) + + if(${_vcf_FEATURE} IN_LIST FEATURES) + set(${_vcf_FEATURE_VAR} ON PARENT_SCOPE) + else() + set(${_vcf_FEATURE_VAR} OFF PARENT_SCOPE) + endif() + + list(APPEND _vcf_FEATURE_OPTIONS "-D${_vcf_FEATURE_VAR}=${${_vcf_FEATURE_VAR}}") + + set(_vcf_IS_FEATURE_ARG ON) + endif() + endforeach() + + if(DEFINED FEATURE_OPTIONS) + message(WARNING "FEATURE_OPTIONS is already defined and will be overwritten.") + endif() + + set(FEATURE_OPTIONS ${_vcf_FEATURE_OPTIONS} PARENT_SCOPE) +endfunction() diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake index b99f8bee8d..827d43abee 100644 --- a/scripts/cmake/vcpkg_common_functions.cmake +++ b/scripts/cmake/vcpkg_common_functions.cmake @@ -1,5 +1,6 @@ include(vcpkg_acquire_msys) include(vcpkg_add_to_path) +include(vcpkg_check_features) include(vcpkg_check_linkage) include(vcpkg_clean_msbuild) include(vcpkg_download_distfile) From 79175994c22effa9b3d945077837cdca5d370681 Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Fri, 28 Jun 2019 22:48:42 +0200 Subject: [PATCH 122/123] [darknet] enable ninja (#7064) * [darknet] enable ninja * Bump CONTROL version --- ports/darknet/CONTROL | 2 +- ports/darknet/portfile.cmake | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL index 3935034859..d31d4ef1d1 100644 --- a/ports/darknet/CONTROL +++ b/ports/darknet/CONTROL @@ -1,5 +1,5 @@ Source: darknet -Version: 0.2.5-3 +Version: 0.2.5-4 Description: Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities. Build-Depends: pthreads (windows), stb Default-Features: weights diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake index 3733420adf..3fb49e6874 100644 --- a/ports/darknet/portfile.cmake +++ b/ports/darknet/portfile.cmake @@ -16,21 +16,23 @@ vcpkg_from_github( HEAD_REF master ) -set(ENABLE_CUDA OFF) -if("cuda" IN_LIST FEATURES) - set(ENABLE_CUDA ON) -endif() - -set(ENABLE_OPENCV OFF) -if("opencv" IN_LIST FEATURES) - set(ENABLE_OPENCV ON) -endif() +vcpkg_check_features( + "cuda" ENABLE_CUDA + "opencv" ENABLE_OPENCV +) if("opencv-cuda" IN_LIST FEATURES) set(ENABLE_OPENCV ON) set(ENABLE_CUDA ON) endif() +if (ENABLE_CUDA) + if (NOT VCPKG_CMAKE_SYSTEM_NAME AND NOT ENV{CUDACXX}) + #CMake looks for nvcc only in PATH and CUDACXX env vars for the Ninja generator. Since we filter path on vcpkg and CUDACXX env var is not set by CUDA installer on Windows, CMake cannot find CUDA when using Ninja generator, so we need to manually enlight it if necessary (https://gitlab.kitware.com/cmake/cmake/issues/19173). Otherwise we could just disable Ninja and use MSBuild, but unfortunately CUDA installer does not integrate with some distributions of MSBuild (like the ones inside Build Tools), making CUDA unavailable otherwise in those cases, which we want to avoid + set(ENV{CUDACXX} "$ENV{CUDA_PATH}/bin/nvcc.exe") + endif() +endif() + if("weights" IN_LIST FEATURES) vcpkg_download_distfile(YOLOV3_WEIGHTS URLS "https://pjreddie.com/media/files/yolov3.weights" @@ -60,7 +62,7 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} DISABLE_PARALLEL_CONFIGURE #since darknet configures a file inside source tree, it is better to disable parallel configure - #PREFER_NINJA #it does not work with cuda on windows https://gitlab.kitware.com/cmake/cmake/issues/19173 + PREFER_NINJA OPTIONS -DINSTALL_BIN_DIR:STRING=bin -DINSTALL_LIB_DIR:STRING=lib From 62ed7c17318b4f46109c2de73b7584fb04e85720 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Fri, 28 Jun 2019 13:50:32 -0700 Subject: [PATCH 123/123] [asio] fix flaky build (#7083) --- ports/asio/CMakeLists.txt | 5 ----- ports/asio/CONTROL | 2 +- ports/asio/portfile.cmake | 5 +++++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ports/asio/CMakeLists.txt b/ports/asio/CMakeLists.txt index aa7354e763..4241b1ffc7 100644 --- a/ports/asio/CMakeLists.txt +++ b/ports/asio/CMakeLists.txt @@ -3,11 +3,6 @@ project(asio) add_library(asio INTERFACE) -# Always use "ASIO_STANDALONE" to avoid boost dependency -file(READ "asio/include/asio/detail/config.hpp" _contents) -string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}") -file(WRITE "asio/include/asio/detail/config.hpp" "${_contents}") - # Export target install(TARGETS asio EXPORT asio diff --git a/ports/asio/CONTROL b/ports/asio/CONTROL index 49a2be94c9..c0da68a9bc 100644 --- a/ports/asio/CONTROL +++ b/ports/asio/CONTROL @@ -1,4 +1,4 @@ Source: asio -Version: 1.12.2-1 +Version: 1.12.2-2 Homepage: https://github.com/chriskohlhoff/asio Description: Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. diff --git a/ports/asio/portfile.cmake b/ports/asio/portfile.cmake index f9b3b739d5..6c6d438a1e 100644 --- a/ports/asio/portfile.cmake +++ b/ports/asio/portfile.cmake @@ -9,6 +9,11 @@ vcpkg_from_github( HEAD_REF master ) +# Always use "ASIO_STANDALONE" to avoid boost dependency +file(READ "${SOURCE_PATH}/asio/include/asio/detail/config.hpp" _contents) +string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}") +file(WRITE "${SOURCE_PATH}/asio/include/asio/detail/config.hpp" "${_contents}") + # CMake install file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake(