diff --git a/ports/3fd/CONTROL b/ports/3fd/CONTROL index 6f278f762dc4ac..75eecaa31fbab6 100644 --- a/ports/3fd/CONTROL +++ b/ports/3fd/CONTROL @@ -1,4 +1,4 @@ Source: 3fd -Version: 2.6.2-2 +Version: 2.6.2-3 Description: C++ Framework For Fast Development Build-Depends: boost-lockfree (windows), boost-regex (windows), poco (windows), sqlite3, rapidxml diff --git a/ports/3fd/portfile.cmake b/ports/3fd/portfile.cmake index 1e7e9d6016eede..40c902137a2c86 100644 --- a/ports/3fd/portfile.cmake +++ b/ports/3fd/portfile.cmake @@ -1,113 +1,105 @@ -include(vcpkg_common_functions) - -# Check architecture: -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(BUILD_ARCH "Win32") -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(BUILD_ARCH "x64") -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(BUILD_ARCH "ARM") -else() - message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() - -# Check library linkage: -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("3FD only supports static library linkage. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - -# Check CRT linkage: -if (VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "3FD can only be built with dynamic linkage to CRT!") -endif() - -# Get source code: -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO faburaya/3FD - REF v2.6.2 - SHA512 a2444cc07d8741540c6071ac59bc8c63785db52e412a843aa18a5dfa0144b5001d428e44bcb520238e3d476440bc74526343f025005f05d534e732645f59cbe0 - HEAD_REF master - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/remove-seekpos.patch" - "${CMAKE_CURRENT_LIST_DIR}/DataException.patch" - "${CMAKE_CURRENT_LIST_DIR}/RapidXML.patch" -) - -# Copy the sources to ensure a clean, out-of-source build -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-all) -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-all) -file(COPY ${SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-all) -get_filename_component(LAST_DIR_NAME "${SOURCE_PATH}" NAME) -set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-all/${LAST_DIR_NAME}") - -# Build: -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # UWP: - vcpkg_build_msbuild( - USE_VCPKG_INTEGRATION - PROJECT_PATH ${SOURCE_PATH}/3FD/3FD.WinRT.UWP.vcxproj - PLATFORM ${BUILD_ARCH} - ) -elseif (NOT VCPKG_CMAKE_SYSTEM_NAME) # Win32: - vcpkg_build_msbuild( - USE_VCPKG_INTEGRATION - PROJECT_PATH ${SOURCE_PATH}/3FD/3FD.vcxproj - PLATFORM ${BUILD_ARCH} - TARGET Build - ) -else() - message(FATAL_ERROR "Unsupported system: 3FD is not currently ported to VCPKG in ${VCPKG_CMAKE_SYSTEM_NAME}!") -endif() - -# Install: -file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/3FD/*.h") -file(INSTALL - ${HEADER_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/include/3FD - PATTERN "*_impl*.h" EXCLUDE - PATTERN "*example*.h" EXCLUDE - PATTERN "stdafx.h" EXCLUDE - PATTERN "targetver.h" EXCLUDE -) - -file(INSTALL ${SOURCE_PATH}/btree DESTINATION ${CURRENT_PACKAGES_DIR}/include/3FD) -file(INSTALL ${SOURCE_PATH}/OpenCL/CL DESTINATION ${CURRENT_PACKAGES_DIR}/include/3FD) - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/3FD) -file(INSTALL - ${SOURCE_PATH}/3FD/3fd-config-template.xml - DESTINATION ${CURRENT_PACKAGES_DIR}/share/3FD -) - -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # Visual C++, UWP app: - file(INSTALL - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/3FD.WinRT.UWP/3FD.WinRT.UWP.lib - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/3FD.WinRT.UWP/_3FD_WinRT_UWP.pri - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/WinRT.UWP/3FD.WinRT.UWP.pdb - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib - ) - file(INSTALL - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/3FD.WinRT.UWP/3FD.WinRT.UWP.lib - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/3FD.WinRT.UWP/_3FD_WinRT_UWP.pri - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/WinRT.UWP/3FD.WinRT.UWP.pdb - DESTINATION ${CURRENT_PACKAGES_DIR}/lib - ) -else() # Visual C++, Win32 app: - file(INSTALL - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/3FD.lib - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/3FD.pdb - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib - ) - file(INSTALL - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/3FD.lib - ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/3FD.pdb - DESTINATION ${CURRENT_PACKAGES_DIR}/lib - ) -endif() - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/3fd RENAME copyright) -file(INSTALL ${SOURCE_PATH}/Acknowledgements.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/3fd) - -vcpkg_copy_pdbs() +include(vcpkg_common_functions) + +# Check architecture: +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(BUILD_ARCH "Win32") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(BUILD_ARCH "x64") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(BUILD_ARCH "ARM") +else() + message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + +# Check library linkage: +vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT) + +# Get source code: +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO faburaya/3FD + REF v2.6.2 + SHA512 a2444cc07d8741540c6071ac59bc8c63785db52e412a843aa18a5dfa0144b5001d428e44bcb520238e3d476440bc74526343f025005f05d534e732645f59cbe0 + HEAD_REF master + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/remove-seekpos.patch" + "${CMAKE_CURRENT_LIST_DIR}/DataException.patch" + "${CMAKE_CURRENT_LIST_DIR}/RapidXML.patch" +) + +# Copy the sources to ensure a clean, out-of-source build +file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-all) +file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-all) +file(COPY ${SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-all) +get_filename_component(LAST_DIR_NAME "${SOURCE_PATH}" NAME) +set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-all/${LAST_DIR_NAME}") + +# Build: +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # UWP: + vcpkg_build_msbuild( + USE_VCPKG_INTEGRATION + PROJECT_PATH ${SOURCE_PATH}/3FD/3FD.WinRT.UWP.vcxproj + PLATFORM ${BUILD_ARCH} + ) +elseif (NOT VCPKG_CMAKE_SYSTEM_NAME) # Win32: + vcpkg_build_msbuild( + USE_VCPKG_INTEGRATION + PROJECT_PATH ${SOURCE_PATH}/3FD/3FD.vcxproj + PLATFORM ${BUILD_ARCH} + TARGET Build + ) +else() + message(FATAL_ERROR "Unsupported system: 3FD is not currently ported to VCPKG in ${VCPKG_CMAKE_SYSTEM_NAME}!") +endif() + +# Install: +file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/3FD/*.h") +file(INSTALL + ${HEADER_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/include/3FD + PATTERN "*_impl*.h" EXCLUDE + PATTERN "*example*.h" EXCLUDE + PATTERN "stdafx.h" EXCLUDE + PATTERN "targetver.h" EXCLUDE +) + +file(INSTALL ${SOURCE_PATH}/btree DESTINATION ${CURRENT_PACKAGES_DIR}/include/3FD) +file(INSTALL ${SOURCE_PATH}/OpenCL/CL DESTINATION ${CURRENT_PACKAGES_DIR}/include/3FD) + +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/3FD) +file(INSTALL + ${SOURCE_PATH}/3FD/3fd-config-template.xml + DESTINATION ${CURRENT_PACKAGES_DIR}/share/3FD +) + +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # Visual C++, UWP app: + file(INSTALL + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/3FD.WinRT.UWP/3FD.WinRT.UWP.lib + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/3FD.WinRT.UWP/_3FD_WinRT_UWP.pri + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/WinRT.UWP/3FD.WinRT.UWP.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + ) + file(INSTALL + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/3FD.WinRT.UWP/3FD.WinRT.UWP.lib + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/3FD.WinRT.UWP/_3FD_WinRT_UWP.pri + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/WinRT.UWP/3FD.WinRT.UWP.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + ) +else() # Visual C++, Win32 app: + file(INSTALL + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/3FD.lib + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Debug/3FD.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + ) + file(INSTALL + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/3FD.lib + ${SOURCE_PATH}/3FD/${BUILD_ARCH}/Release/3FD.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + ) +endif() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/3fd RENAME copyright) +file(INSTALL ${SOURCE_PATH}/Acknowledgements.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/3fd) + +vcpkg_copy_pdbs() diff --git a/ports/abseil/CMakeLists.txt b/ports/abseil/CMakeLists.txt index 7235b95e2895f3..b4147266fffac5 100644 --- a/ports/abseil/CMakeLists.txt +++ b/ports/abseil/CMakeLists.txt @@ -6,7 +6,6 @@ add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN) set(CMAKE_CXX_STANDARD 14) set(CMAKE_DEBUG_POSTFIX d) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) if(CMAKE_BUILD_TYPE STREQUAL "Release") option(INSTALL_HEADERS "Install header files" ON) diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index 0e690daa7e6a06..99581e89f104fb 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -1,5 +1,5 @@ Source: abseil -Version: 2019-04-19 +Version: 2019-04-19-1 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/abseil/portfile.cmake b/ports/abseil/portfile.cmake index 6657c06e71f831..37f3ae22d6bcac 100644 --- a/ports/abseil/portfile.cmake +++ b/ports/abseil/portfile.cmake @@ -4,6 +4,8 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "Abseil currently only supports being built for desktop") endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO abseil/abseil-cpp diff --git a/ports/alac-decoder/CMakeLists.txt b/ports/alac-decoder/CMakeLists.txt index cafd05b188fe20..1d82fc4e540fb4 100644 --- a/ports/alac-decoder/CMakeLists.txt +++ b/ports/alac-decoder/CMakeLists.txt @@ -20,10 +20,6 @@ if(MSVC) add_compile_options(/W4 -D_CRT_SECURE_NO_WARNINGS -DTARGET_OS_WIN32) endif() -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - include_directories(.) add_library(libalac_decoder ${SRCS}) diff --git a/ports/alac-decoder/CONTROL b/ports/alac-decoder/CONTROL index b2300174bf122d..e2b3da2b1ae19d 100644 --- a/ports/alac-decoder/CONTROL +++ b/ports/alac-decoder/CONTROL @@ -1,3 +1,3 @@ -Source: alac-decoder -Version: 0.2 -Description: ALAC C implementation of a decoder, written from reverse engineering the file format +Source: alac-decoder +Version: 0.2-1 +Description: ALAC C implementation of a decoder, written from reverse engineering the file format diff --git a/ports/alac-decoder/portfile.cmake b/ports/alac-decoder/portfile.cmake index c1390d7f874c92..ee4a109d960764 100644 --- a/ports/alac-decoder/portfile.cmake +++ b/ports/alac-decoder/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/alac_decoder) vcpkg_download_distfile(ARCHIVE URLS "https://distfiles.macports.org/alac_decoder/alac_decoder-0.2.0.tgz" diff --git a/ports/alac/CMakeLists.txt b/ports/alac/CMakeLists.txt index 84318954646678..fbe190b5667b59 100644 --- a/ports/alac/CMakeLists.txt +++ b/ports/alac/CMakeLists.txt @@ -35,10 +35,6 @@ if(MSVC) add_compile_options(/W4 -D_CRT_SECURE_NO_WARNINGS -DTARGET_OS_WIN32) endif() -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - include_directories(. codec convert-utility) add_library(libalac ${SRCS}) diff --git a/ports/alac/CONTROL b/ports/alac/CONTROL index f50b135e9ad44a..07ca2b5a2ad00a 100644 --- a/ports/alac/CONTROL +++ b/ports/alac/CONTROL @@ -1,3 +1,3 @@ Source: alac -Version: 2017-11-03-c38887c5 +Version: 2017-11-03-c38887c5-1 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/alac/portfile.cmake b/ports/alac/portfile.cmake index 309ebfef92e618..ce5c6bad1a1aa9 100644 --- a/ports/alac/portfile.cmake +++ b/ports/alac/portfile.cmake @@ -3,6 +3,9 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO macosforge/alac diff --git a/ports/alembic/portfile.cmake b/ports/alembic/portfile.cmake index 33bb760c88151a..57470172cfde6f 100644 --- a/ports/alembic/portfile.cmake +++ b/ports/alembic/portfile.cmake @@ -7,10 +7,7 @@ if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) ) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Alembic does not support static linkage. Building dynamically.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/anax/CONTROL b/ports/anax/CONTROL index 459692ac547675..a118033053a421 100644 --- a/ports/anax/CONTROL +++ b/ports/anax/CONTROL @@ -1,3 +1,3 @@ -Source: anax -Version: 2.1.0-4 -Description: An open source C++ entity system. +Source: anax +Version: 2.1.0-5 +Description: An open source C++ entity system. diff --git a/ports/anax/portfile.cmake b/ports/anax/portfile.cmake index 49fbb372dce3ea..346e45edb14ed4 100644 --- a/ports/anax/portfile.cmake +++ b/ports/anax/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO miguelmartin75/anax @@ -13,8 +15,6 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} DISABLE_PARALLEL_CONFIGURE - OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) vcpkg_install_cmake() @@ -25,4 +25,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/anax) file(RENAME ${CURRENT_PACKAGES_DIR}/share/anax/LICENSE ${CURRENT_PACKAGES_DIR}/share/anax/copyright) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL index 8fd8e8523eb57f..8bc53822e57b3f 100644 --- a/ports/angle/CONTROL +++ b/ports/angle/CONTROL @@ -1,5 +1,5 @@ Source: angle -Version: 2019-03-13-c2ee2cc-2 +Version: 2019-03-13-c2ee2cc-3 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/angle/portfile.cmake b/ports/angle/portfile.cmake index 2ad6a75532128c..f0bda4a3d8fa6a 100644 --- a/ports/angle/portfile.cmake +++ b/ports/angle/portfile.cmake @@ -1,44 +1,41 @@ -include(vcpkg_common_functions) - -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(ANGLE_CPU_BITNESS ANGLE_IS_32_BIT_CPU) -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(ANGLE_CPU_BITNESS ANGLE_IS_64_BIT_CPU) -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(ANGLE_CPU_BITNESS ANGLE_IS_32_BIT_CPU) -else() - message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "ANGLE currently only supports being built as a dynamic library") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO google/angle - REF chromium/3672 - SHA512 dd6a05f0f1f4544b8646c41ffcb4d5e3b41f5261771ada47889345a24d4e55e6370df55a26c354a7073efcde307644cec6c6064ea6fe498ed6b52c3017249f81 - PATCHES - 001-fix-uwp.patch -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/commit.h DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 - OPTIONS - -D${ANGLE_CPU_BITNESS}=1 -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-angle TARGET_PATH share/unofficial-angle) - -vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/angle RENAME copyright) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(ANGLE_CPU_BITNESS ANGLE_IS_32_BIT_CPU) +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(ANGLE_CPU_BITNESS ANGLE_IS_64_BIT_CPU) +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(ANGLE_CPU_BITNESS ANGLE_IS_32_BIT_CPU) +else() + message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/angle + REF chromium/3672 + SHA512 dd6a05f0f1f4544b8646c41ffcb4d5e3b41f5261771ada47889345a24d4e55e6370df55a26c354a7073efcde307644cec6c6064ea6fe498ed6b52c3017249f81 + PATCHES + 001-fix-uwp.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/commit.h DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 + OPTIONS + -D${ANGLE_CPU_BITNESS}=1 +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-angle TARGET_PATH share/unofficial-angle) + +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/angle RENAME copyright) diff --git a/ports/arb/CMakeLists.txt b/ports/arb/CMakeLists.txt index 3474c9974aca63..1ec8ac1d684462 100644 --- a/ports/arb/CMakeLists.txt +++ b/ports/arb/CMakeLists.txt @@ -55,14 +55,8 @@ include_directories(BEFORE ${DEP_INCLUDE_DIRS}) add_library(arb ${SRC}) target_compile_definitions(arb PRIVATE HAVE_TLS=1 FLINT_REENTRANT=0) -if (BUILD_SHARED_LIBS) - target_compile_definitions(arb PRIVATE MSC_USE_DLL) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS yes) - MESSAGE( STATUS "Building shared libraries" ) -else () - target_compile_definitions(arb PRIVATE PTW32_STATIC_LIB) - MESSAGE( STATUS "Building static libraries" ) -endif() +target_compile_definitions(arb PRIVATE PTW32_STATIC_LIB) +MESSAGE( STATUS "Building static libraries" ) target_compile_definitions(arb PRIVATE "ARB_BUILD_DLL") target_link_libraries(arb ${DEPS}) @@ -91,4 +85,3 @@ if (BUILD_TESTS) endforeach () endforeach () endif () - diff --git a/ports/arb/CONTROL b/ports/arb/CONTROL index 2166fd1e055def..28b6d316c9cb34 100644 --- a/ports/arb/CONTROL +++ b/ports/arb/CONTROL @@ -1,4 +1,4 @@ -Source: arb -Version: 2.11.1 -Description: a C library for arbitrary-precision interval arithmetic -Build-Depends: flint +Source: arb +Version: 2.11.1-1 +Description: a C library for arbitrary-precision interval arithmetic +Build-Depends: flint diff --git a/ports/arb/portfile.cmake b/ports/arb/portfile.cmake index 32bb3a23beb7bb..8471203189da5d 100644 --- a/ports/arb/portfile.cmake +++ b/ports/arb/portfile.cmake @@ -1,10 +1,7 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fredrik-johansson/arb diff --git a/ports/argtable2/CONTROL b/ports/argtable2/CONTROL index 1d9b5bc0e1ce35..df44602ee97ace 100644 --- a/ports/argtable2/CONTROL +++ b/ports/argtable2/CONTROL @@ -1,3 +1,3 @@ Source: argtable2 -Version: 2.13-1 +Version: 2.13-2 Description: Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. diff --git a/ports/argtable2/portfile.cmake b/ports/argtable2/portfile.cmake index 6123335ab51aef..4cbec1278b3048 100644 --- a/ports/argtable2/portfile.cmake +++ b/ports/argtable2/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/argtable2-13) vcpkg_download_distfile(ARCHIVE URLS "http://prdownloads.sourceforge.net/argtable/argtable2-13.tar.gz" @@ -17,8 +20,6 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - # Due to missing dllexport flags we export all symbols - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -DCMAKE_DEBUG_POSTFIX=d ) diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake index 8031c7964ea3e2..172984712d7495 100644 --- a/ports/armadillo/portfile.cmake +++ b/ports/armadillo/portfile.cmake @@ -1,29 +1,29 @@ -include(vcpkg_common_functions) - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_gitlab( - GITLAB_URL https://gitlab.com - OUT_SOURCE_PATH SOURCE_PATH - REPO conradsnicta/armadillo-code - REF f00d3225b1c005775044369723f31cecc3cd6569 - SHA512 ca3574edf5de8c752867403c3856ed9569fbed2ce9729585cae59be5751493c2e71121319b0a812e2ea56baada6b6f62fbc84ce6f1efb362347e5fd4141ccf1b - HEAD_REF 9.400.x -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DDETECT_HDF5=false -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/Armadillo/CMake TARGET_PATH share/armadillo) - -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/Armadillo RENAME copyright) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com + OUT_SOURCE_PATH SOURCE_PATH + REPO conradsnicta/armadillo-code + REF f00d3225b1c005775044369723f31cecc3cd6569 + SHA512 ca3574edf5de8c752867403c3856ed9569fbed2ce9729585cae59be5751493c2e71121319b0a812e2ea56baada6b6f62fbc84ce6f1efb362347e5fd4141ccf1b + HEAD_REF 9.400.x +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DDETECT_HDF5=false +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/Armadillo/CMake TARGET_PATH share/armadillo) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/Armadillo RENAME copyright) diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL index fc52411f91d64c..bea89f8ec578db 100644 --- a/ports/assimp/CONTROL +++ b/ports/assimp/CONTROL @@ -1,4 +1,4 @@ -Source: assimp -Version: 4.1.0-3 -Description: The Open Asset import library -Build-Depends: zlib, rapidjson +Source: assimp +Version: 4.1.0-4 +Description: The Open Asset import library +Build-Depends: zlib, rapidjson diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 4fe655f70d689b..2945f51f922625 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -17,12 +17,6 @@ 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(BUILD_SHARED_LIBS "ON") -else() - set(BUILD_SHARED_LIBS "OFF") -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/atk/CONTROL b/ports/atk/CONTROL index b4bdda0ebc7591..824052721fec4f 100644 --- a/ports/atk/CONTROL +++ b/ports/atk/CONTROL @@ -1,4 +1,4 @@ Source: atk -Version: 2.24.0-2 +Version: 2.24.0-3 Description: GNOME Accessibility Toolkit Build-Depends: glib, gettext diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake index 8b65312e5ed104..c3edfdf74b155d 100644 --- a/ports/atk/portfile.cmake +++ b/ports/atk/portfile.cmake @@ -1,33 +1,31 @@ -# ATK uses DllMain -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "ATK only supports dynamic library and crt linkage") -endif() - -include(vcpkg_common_functions) -set(ATK_VERSION 2.24.0) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/atk-${ATK_VERSION}) -vcpkg_download_distfile(ARCHIVE - URLS "http://ftp.gnome.org/pub/GNOME/sources/atk/2.24/atk-${ATK_VERSION}.tar.xz" - FILENAME "atk-${ATK_VERSION}.tar.xz" - SHA512 3ae0a4d5f28d5619d465135c685161f690732053bcb70a47669c951fbf389b5d2ccc5c7c73d4ee8c5a3b2df14e2f5b082e812a215f10a79b27b412d077f5e962) - -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}/atk - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-encoding.patch) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DCMAKE_PROGRAM_PATH=${CURRENT_INSTALLED_DIR}/tools/glib - OPTIONS_DEBUG - -DATK_SKIP_HEADERS=ON) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/atk) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/atk/COPYING ${CURRENT_PACKAGES_DIR}/share/atk/copyright) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) + +set(ATK_VERSION 2.24.0) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/atk-${ATK_VERSION}) +vcpkg_download_distfile(ARCHIVE + URLS "http://ftp.gnome.org/pub/GNOME/sources/atk/2.24/atk-${ATK_VERSION}.tar.xz" + FILENAME "atk-${ATK_VERSION}.tar.xz" + SHA512 3ae0a4d5f28d5619d465135c685161f690732053bcb70a47669c951fbf389b5d2ccc5c7c73d4ee8c5a3b2df14e2f5b082e812a215f10a79b27b412d077f5e962) + +vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}/atk + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/fix-encoding.patch) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCMAKE_PROGRAM_PATH=${CURRENT_INSTALLED_DIR}/tools/glib + OPTIONS_DEBUG + -DATK_SKIP_HEADERS=ON) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/atk) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/atk/COPYING ${CURRENT_PACKAGES_DIR}/share/atk/copyright) diff --git a/ports/atkmm/CONTROL b/ports/atkmm/CONTROL index 3a8d551640225c..329a329b80dfd4 100644 --- a/ports/atkmm/CONTROL +++ b/ports/atkmm/CONTROL @@ -1,4 +1,4 @@ -Source: atkmm -Version: 2.24.2 -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 +Source: atkmm +Version: 2.24.2-1 +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/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index 74cf021c8d59e7..4bc4fd29976288 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -1,10 +1,7 @@ -# ATK uses DllMain, so atkmm also -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building not supported. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/atkmm-2.24.2) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/atkmm/2.24/atkmm-2.24.2.tar.xz" diff --git a/ports/aubio/CMakeLists.txt b/ports/aubio/CMakeLists.txt index 3e65666eb07c4c..9a6ad2377d9faa 100644 --- a/ports/aubio/CMakeLists.txt +++ b/ports/aubio/CMakeLists.txt @@ -19,7 +19,6 @@ add_definitions( -D_CRT_SECURE_NO_WARNINGS=1 ) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) set(CMAKE_DEBUG_POSTFIX d) option(BUILD_TOOLS "Build and install tools" ON) @@ -72,7 +71,7 @@ if(BUILD_TOOLS) target_link_libraries(${EXAMPLE_EXEC} PRIVATE aubio) target_compile_definitions(${EXAMPLE_EXEC} PRIVATE -DHAVE_WIN_HACKS=1) endforeach() - # Create and add fake config.h to avoid build errors (file is generated for + # Create and add fake config.h to avoid build errors (file is generated for # cross-platform requirements in waf build-system) file(WRITE "${CMAKE_BINARY_DIR}/config.h" "") include_directories(${CMAKE_BINARY_DIR}) diff --git a/ports/aubio/CONTROL b/ports/aubio/CONTROL index 5c699e1dc5e023..c853b5c5f620d1 100644 --- a/ports/aubio/CONTROL +++ b/ports/aubio/CONTROL @@ -1,4 +1,4 @@ -Source: aubio -Version: 0.4.8 -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 +Source: aubio +Version: 0.4.8-1 +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/aubio/portfile.cmake b/ports/aubio/portfile.cmake index fec30f57c8be8e..99a60ba7c4185a 100644 --- a/ports/aubio/portfile.cmake +++ b/ports/aubio/portfile.cmake @@ -1,9 +1,12 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/aubio-3c230fae309e9ea3298783368dd71bae6172359a) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aubio/aubio - REF 0.4.8 + REF 0.4.8 SHA512 0422ec9ceb645dd5cdb1ca8b17f552edf9197dbf9c929ca75aacfb89f092c02db8b6d2b8aec567ddc1df5b310770de77cd941b45ed74700c3d3584924f39b576 HEAD_REF master ) diff --git a/ports/bde/CONTROL b/ports/bde/CONTROL index 129bf83499ddf6..8fd05f2d040093 100644 --- a/ports/bde/CONTROL +++ b/ports/bde/CONTROL @@ -1,3 +1,3 @@ Source: bde -Version: 3.2.0.0 +Version: 3.2.0.0-1 Description: Basic Development Environment - a set of foundational C++ libraries used at Bloomberg. diff --git a/ports/bde/portfile.cmake b/ports/bde/portfile.cmake index 5c72156e13115d..c3aed42fe2ef74 100644 --- a/ports/bde/portfile.cmake +++ b/ports/bde/portfile.cmake @@ -1,141 +1,136 @@ -include(vcpkg_common_functions) -set(BDE_VERSION 3.2.0.0) -set(BDE_TOOLS_VERSION 1.x) - -# Paths used in build -set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bde-${BDE_VERSION}) -set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bde-${BDE_VERSION}) - -# Acquire Python 2 and add it to PATH -vcpkg_find_acquire_program(PYTHON2) -get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) - -# Acquire BDE Tools and add them to PATH -vcpkg_from_github( - OUT_SOURCE_PATH TOOLS_PATH - REPO "bloomberg/bde-tools" - REF d4b1a7670829228f4ec81ecdccc598ce03ae8e80 - SHA512 80af734c080adb225d5369157301ae0af18e02b1912351e34d23f5f2ba4e19f9ae2b5a367923f036330c9f9afd11a90cdf12680eb3e59b4297a312a1b713f17f - HEAD_REF master -) -message(STATUS "Configure bde-tools-v${BDE_TOOLS_VERSION}") -if(VCPKG_CMAKE_SYSTEM_NAME) - set(ENV{PATH} "$ENV{PATH}:${PYTHON2_EXE_PATH}") - set(ENV{PATH} "$ENV{PATH}:${TOOLS_PATH}/bin") -else() - set(ENV{PATH} "$ENV{PATH};${PYTHON2_EXE_PATH}") - set(ENV{PATH} "$ENV{PATH};${TOOLS_PATH}/bin") -endif() - -# Acquire BDE sources -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO "bloomberg/bde" - REF 3720d132d0879f19b9084cca62ebc75f1f24e1a3 - SHA512 234ebb71997f5b7d3951584235ead10f977689cef323ae1c198629a6b1995b1481d8a1515d827c46df10209bdc66e1f3cc7780dafee9ca0ff4172be47c460d78 - HEAD_REF master -) - -# Clean up previous builds -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - -# Identify waf executable and calculate configure args -if(VCPKG_CMAKE_SYSTEM_NAME) - set(WAF_COMMAND waf) -else() - set(WAF_COMMAND waf.bat) -endif() -set(CONFIGURE_COMMON_ARGS --use-flat-include-dir) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --abi-bits=32) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --abi-bits=64) -else() - message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --library-type=static) -else() - message(FATAL_ERROR "Unsupported library linkage: ${VCPKG_LIBRARY_LINKAGE}") -endif() -if(NOT VCPKG_CMAKE_SYSTEM_NAME) - if(VCPKG_CRT_LINKAGE STREQUAL static) - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --msvc-runtime-type=static) - else() - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --msvc-runtime-type=dynamic) - endif() -endif() - -# Configure debug -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} configure ${CONFIGURE_COMMON_ARGS} - --prefix=${CURRENT_PACKAGES_DIR}/debug --out=${SOURCE_PATH_DEBUG} - --build-type=debug - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME configure-${TARGET_TRIPLET}--dbg -) -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") - -# Build debug -message(STATUS "Building ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} build - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}--dbg -) -message(STATUS "Building ${TARGET_TRIPLET}-dbg done") - -# Install debug -message(STATUS "Installing ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} install - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME install-${TARGET_TRIPLET}--dbg -) -# Include files should not be duplicated -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# pkg-config files should point to correct include directory -file(GLOB PC_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") -foreach(PC_FILE_NAME ${PC_FILES}) - file(READ "${PC_FILE_NAME}" _contents) - string(REPLACE "includedir=\${prefix}/include" "includedir=\${prefix}/../include" _contents "${_contents}") - file(WRITE "${PC_FILE_NAME}" "${_contents}") -endforeach() -message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") - -# Configure release -message(STATUS "Configuring ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} configure ${CONFIGURE_COMMON_ARGS} - --prefix=${CURRENT_PACKAGES_DIR} --out=${SOURCE_PATH_RELEASE} - --build-type=release - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME configure-${TARGET_TRIPLET}--rel -) -message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") - -# Build release -message(STATUS "Building ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} build - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}--rel -) -message(STATUS "Building ${TARGET_TRIPLET}-rel done") - -# Install release -message(STATUS "Installing ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} install - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME install-${TARGET_TRIPLET}--rel -) -message(STATUS "Installing ${TARGET_TRIPLET}-rel done") - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/bde - RENAME copyright -) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --library-type=static) + +set(BDE_VERSION 3.2.0.0) +set(BDE_TOOLS_VERSION 1.x) + +# Paths used in build +set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bde-${BDE_VERSION}) +set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bde-${BDE_VERSION}) + +# Acquire Python 2 and add it to PATH +vcpkg_find_acquire_program(PYTHON2) +get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) + +# Acquire BDE Tools and add them to PATH +vcpkg_from_github( + OUT_SOURCE_PATH TOOLS_PATH + REPO "bloomberg/bde-tools" + REF d4b1a7670829228f4ec81ecdccc598ce03ae8e80 + SHA512 80af734c080adb225d5369157301ae0af18e02b1912351e34d23f5f2ba4e19f9ae2b5a367923f036330c9f9afd11a90cdf12680eb3e59b4297a312a1b713f17f + HEAD_REF master +) +message(STATUS "Configure bde-tools-v${BDE_TOOLS_VERSION}") +if(VCPKG_CMAKE_SYSTEM_NAME) + set(ENV{PATH} "$ENV{PATH}:${PYTHON2_EXE_PATH}") + set(ENV{PATH} "$ENV{PATH}:${TOOLS_PATH}/bin") +else() + set(ENV{PATH} "$ENV{PATH};${PYTHON2_EXE_PATH}") + set(ENV{PATH} "$ENV{PATH};${TOOLS_PATH}/bin") +endif() + +# Acquire BDE sources +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "bloomberg/bde" + REF 3720d132d0879f19b9084cca62ebc75f1f24e1a3 + SHA512 234ebb71997f5b7d3951584235ead10f977689cef323ae1c198629a6b1995b1481d8a1515d827c46df10209bdc66e1f3cc7780dafee9ca0ff4172be47c460d78 + HEAD_REF master +) + +# Clean up previous builds +file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + +# Identify waf executable and calculate configure args +if(VCPKG_CMAKE_SYSTEM_NAME) + set(WAF_COMMAND waf) +else() + set(WAF_COMMAND waf.bat) +endif() +set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --use-flat-include-dir) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --abi-bits=32) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --abi-bits=64) +else() + message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() +if(NOT VCPKG_CMAKE_SYSTEM_NAME) + set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --msvc-runtime-type=static) +endif() + +# Configure debug +message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") +vcpkg_execute_required_process( + COMMAND ${WAF_COMMAND} configure ${CONFIGURE_COMMON_ARGS} + --prefix=${CURRENT_PACKAGES_DIR}/debug --out=${SOURCE_PATH_DEBUG} + --build-type=debug + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME configure-${TARGET_TRIPLET}--dbg +) +message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") + +# Build debug +message(STATUS "Building ${TARGET_TRIPLET}-dbg") +vcpkg_execute_required_process( + COMMAND ${WAF_COMMAND} build + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME build-${TARGET_TRIPLET}--dbg +) +message(STATUS "Building ${TARGET_TRIPLET}-dbg done") + +# Install debug +message(STATUS "Installing ${TARGET_TRIPLET}-dbg") +vcpkg_execute_required_process( + COMMAND ${WAF_COMMAND} install + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME install-${TARGET_TRIPLET}--dbg +) +# Include files should not be duplicated +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +# pkg-config files should point to correct include directory +file(GLOB PC_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") +foreach(PC_FILE_NAME ${PC_FILES}) + file(READ "${PC_FILE_NAME}" _contents) + string(REPLACE "includedir=\${prefix}/include" "includedir=\${prefix}/../include" _contents "${_contents}") + file(WRITE "${PC_FILE_NAME}" "${_contents}") +endforeach() +message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") + +# Configure release +message(STATUS "Configuring ${TARGET_TRIPLET}-rel") +vcpkg_execute_required_process( + COMMAND ${WAF_COMMAND} configure ${CONFIGURE_COMMON_ARGS} + --prefix=${CURRENT_PACKAGES_DIR} --out=${SOURCE_PATH_RELEASE} + --build-type=release + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME configure-${TARGET_TRIPLET}--rel +) +message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") + +# Build release +message(STATUS "Building ${TARGET_TRIPLET}-rel") +vcpkg_execute_required_process( + COMMAND ${WAF_COMMAND} build + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME build-${TARGET_TRIPLET}--rel +) +message(STATUS "Building ${TARGET_TRIPLET}-rel done") + +# Install release +message(STATUS "Installing ${TARGET_TRIPLET}-rel") +vcpkg_execute_required_process( + COMMAND ${WAF_COMMAND} install + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME install-${TARGET_TRIPLET}--rel +) +message(STATUS "Installing ${TARGET_TRIPLET}-rel done") + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/bde + RENAME copyright +) diff --git a/ports/benchmark/CONTROL b/ports/benchmark/CONTROL index ffdb53881f2ad4..13f42ca0b350d3 100644 --- a/ports/benchmark/CONTROL +++ b/ports/benchmark/CONTROL @@ -1,3 +1,3 @@ Source: benchmark -Version: 1.4.1 +Version: 1.4.1-1 Description: A library to support the benchmarking of functions, similar to unit-tests. diff --git a/ports/benchmark/portfile.cmake b/ports/benchmark/portfile.cmake index 4528caa3b702f7..b27149966f84dc 100644 --- a/ports/benchmark/portfile.cmake +++ b/ports/benchmark/portfile.cmake @@ -2,13 +2,10 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "${PORT} does not currently support UWP") endif() -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/benchmark diff --git a/ports/bigint/CONTROL b/ports/bigint/CONTROL index 5247cbf81c29de..9f508306ca3071 100644 --- a/ports/bigint/CONTROL +++ b/ports/bigint/CONTROL @@ -1,3 +1,3 @@ -Source: bigint -Version: 2010.04.30-2 -Description: C++ Big Integer Library +Source: bigint +Version: 2010.04.30-3 +Description: C++ Big Integer Library diff --git a/ports/bigint/portfile.cmake b/ports/bigint/portfile.cmake index 8a710aa542c6b1..61ce15816e2c6a 100644 --- a/ports/bigint/portfile.cmake +++ b/ports/bigint/portfile.cmake @@ -1,10 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Dynamic not supported building static") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bigint-2010.04.30) vcpkg_download_distfile(ARCHIVE diff --git a/ports/binn/CMakeLists.txt b/ports/binn/CMakeLists.txt index 0c399568565b0f..f92b00cb86c147 100644 --- a/ports/binn/CMakeLists.txt +++ b/ports/binn/CMakeLists.txt @@ -1,23 +1,21 @@ -cmake_minimum_required(VERSION 3.8) - -project(binn - VERSION 1.0 - DESCRIPTION "Binn is a binary data serialization format designed to be compact, fast and easy to use." - HOMEPAGE_URL "https://github.com/liteserver/binn" -) - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -add_library (binn src/binn.h src/binn.c) - -target_include_directories(binn - PUBLIC - ${PROJECT_SOURCE_DIR}/src -) - -install( - TARGETS binn - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) +cmake_minimum_required(VERSION 3.8) + +project(binn + VERSION 1.0 + DESCRIPTION "Binn is a binary data serialization format designed to be compact, fast and easy to use." + HOMEPAGE_URL "https://github.com/liteserver/binn" +) + +add_library (binn src/binn.h src/binn.c) + +target_include_directories(binn + PUBLIC + ${PROJECT_SOURCE_DIR}/src +) + +install( + TARGETS binn + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) diff --git a/ports/binn/CONTROL b/ports/binn/CONTROL index f98abe1ece6eb7..b6259b52e64879 100644 --- a/ports/binn/CONTROL +++ b/ports/binn/CONTROL @@ -1,3 +1,3 @@ -Source: binn -Version: 1.0 +Source: binn +Version: 1.0 Description: Binn is a binary data serialization format designed to be compact, fast and easy to use. \ No newline at end of file diff --git a/ports/binn/portfile.cmake b/ports/binn/portfile.cmake index 5115aacda793de..e470f0f40b9496 100644 --- a/ports/binn/portfile.cmake +++ b/ports/binn/portfile.cmake @@ -1,26 +1,28 @@ -include(vcpkg_common_functions) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO liteserver/binn - REF 38019c11e582e5078436b8257887e79a33db8b28 - SHA512 82c7ef211154303ebb4cb991e620da520231edd224de674d4dabc42760fd7b8b6dd7be167d6c0b6c04146ea7e077b0bcff14312be909cb4ebb1ec786863d3fb4 - HEAD_REF master - PATCHES - 0001_fix_uwp.patch -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -file(INSTALL ${SOURCE_PATH}/src/binn.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/binn) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() - -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/binn) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/binn/LICENSE ${CURRENT_PACKAGES_DIR}/share/binn/copyright) \ No newline at end of file +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO liteserver/binn + REF 38019c11e582e5078436b8257887e79a33db8b28 + SHA512 82c7ef211154303ebb4cb991e620da520231edd224de674d4dabc42760fd7b8b6dd7be167d6c0b6c04146ea7e077b0bcff14312be909cb4ebb1ec786863d3fb4 + HEAD_REF master + PATCHES + 0001_fix_uwp.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +file(INSTALL ${SOURCE_PATH}/src/binn.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/binn) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/binn) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/binn/LICENSE ${CURRENT_PACKAGES_DIR}/share/binn/copyright) diff --git a/ports/bond/CONTROL b/ports/bond/CONTROL index eea3a85cbc3701..62f48bd8a09e91 100644 --- a/ports/bond/CONTROL +++ b/ports/bond/CONTROL @@ -1,5 +1,5 @@ -Source: bond -Maintainer: bond@microsoft.com -Version: 7.0.2-1 -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. -Build-Depends: rapidjson, boost-config, boost-utility, boost-assign +Source: bond +Maintainer: bond@microsoft.com +Version: 7.0.2-2 +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. +Build-Depends: rapidjson, boost-config, boost-utility, boost-assign diff --git a/ports/bond/portfile.cmake b/ports/bond/portfile.cmake index b64be214ce1940..a508e6a3502229 100644 --- a/ports/bond/portfile.cmake +++ b/ports/bond/portfile.cmake @@ -1,9 +1,7 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bond-7.0.2) vcpkg_download_distfile(ARCHIVE diff --git a/ports/box2d/CONTROL b/ports/box2d/CONTROL index 220a5a0588b9b4..943b1ec9496d34 100644 --- a/ports/box2d/CONTROL +++ b/ports/box2d/CONTROL @@ -1,3 +1,3 @@ -Source: box2d -Version: 2.3.1-374664b-1 -Description: Box2D (http://box2d.org) is an open source C++ engine for simulating rigid bodies in 2D. +Source: box2d +Version: 2.3.1-374664b-2 +Description: Box2D (http://box2d.org) is an open source C++ engine for simulating rigid bodies in 2D. diff --git a/ports/box2d/portfile.cmake b/ports/box2d/portfile.cmake index c35f37444a034e..24da7f143951ca 100644 --- a/ports/box2d/portfile.cmake +++ b/ports/box2d/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("Box2D only supports building as a static library") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/bullet3/CONTROL b/ports/bullet3/CONTROL index 36f8b1838bc37c..57270412df4434 100644 --- a/ports/bullet3/CONTROL +++ b/ports/bullet3/CONTROL @@ -1,3 +1,3 @@ -Source: bullet3 -Version: 2.87 -Description: Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library +Source: bullet3 +Version: 2.87-1 +Description: Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library diff --git a/ports/bullet3/portfile.cmake b/ports/bullet3/portfile.cmake index f86f323f3b3d24..6008b2a5fd622a 100644 --- a/ports/bullet3/portfile.cmake +++ b/ports/bullet3/portfile.cmake @@ -1,16 +1,7 @@ -# 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_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bulletphysics/bullet3 @@ -22,7 +13,6 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON -DUSE_MSVC_RUNTIME_LIBRARY_DLL=ON -DBUILD_DEMOS=OFF -DBUILD_CPU_DEMOS=OFF @@ -30,7 +20,6 @@ vcpkg_configure_cmake( -DBUILD_BULLET3=OFF -DBUILD_EXTRAS=OFF -DBUILD_UNIT_TESTS=OFF - -DBUILD_SHARED_LIBS=ON -DINSTALL_LIBS=ON ) @@ -44,4 +33,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/bullet/BulletInverseDynamics vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/bullet3 RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/bullet3 RENAME copyright) diff --git a/ports/butteraugli/CMakeLists.txt b/ports/butteraugli/CMakeLists.txt index 6a2e5ca02c9b41..52963fbe03531a 100644 --- a/ports/butteraugli/CMakeLists.txt +++ b/ports/butteraugli/CMakeLists.txt @@ -1,7 +1,6 @@ cmake_minimum_required(VERSION 3.8.0) project(butteraugli CXX) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) add_compile_options(-D_CRT_SECURE_NO_WARNINGS -DNOMINMAX) if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018) diff --git a/ports/butteraugli/CONTROL b/ports/butteraugli/CONTROL index 5d9c92dfd9e932..848b5eb827d82b 100644 --- a/ports/butteraugli/CONTROL +++ b/ports/butteraugli/CONTROL @@ -1,4 +1,4 @@ -Source: butteraugli -Version: 2018-02-25 -Description: butteraugli estimates the psychovisual difference between two images -Build-Depends: libpng, libjpeg-turbo +Source: butteraugli +Version: 2018-02-25-1 +Description: butteraugli estimates the psychovisual difference between two images +Build-Depends: libpng, libjpeg-turbo diff --git a/ports/butteraugli/portfile.cmake b/ports/butteraugli/portfile.cmake index b6f6905393c59b..b044b1694600e9 100644 --- a/ports/butteraugli/portfile.cmake +++ b/ports/butteraugli/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/butteraugli diff --git a/ports/caf/CONTROL b/ports/caf/CONTROL index 6f39010bec898f..64d42a4da4ba98 100644 --- a/ports/caf/CONTROL +++ b/ports/caf/CONTROL @@ -1,4 +1,4 @@ -Source: caf -Version: 0.16.2 -Build-Depends: openssl -Description: an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more. +Source: caf +Version: 0.16.2-1 +Build-Depends: openssl +Description: an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more. diff --git a/ports/caf/portfile.cmake b/ports/caf/portfile.cmake index ae5e24c1bd88af..3ee26634c01335 100644 --- a/ports/caf/portfile.cmake +++ b/ports/caf/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(VCPKG_LIBRARY_LINKAGE "static") - message("CAF only supports static library linkage") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/caffe2/CONTROL b/ports/caffe2/CONTROL index bbef1f62b70fb0..5cac9b00d41565 100644 --- a/ports/caffe2/CONTROL +++ b/ports/caffe2/CONTROL @@ -1,4 +1,4 @@ -Source: caffe2 -Version: 0.8.1-2 -Build-Depends: lmdb, gflags, glog, eigen3, protobuf -Description: Caffe2 is a lightweight, modular, and scalable deep learning framework. +Source: caffe2 +Version: 0.8.1-3 +Build-Depends: lmdb, gflags, glog, eigen3, protobuf +Description: Caffe2 is a lightweight, modular, and scalable deep learning framework. diff --git a/ports/caffe2/portfile.cmake b/ports/caffe2/portfile.cmake index b3e0b29785a347..930b04dd7a25c6 100644 --- a/ports/caffe2/portfile.cmake +++ b/ports/caffe2/portfile.cmake @@ -1,14 +1,11 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) message(FATAL_ERROR "Caffe2 cannot be built for the x86 architecture") endif() -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO caffe2/caffe2 @@ -36,7 +33,6 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_SHARED_LIBS=OFF # Set to ON to use python -DBUILD_PYTHON=OFF -DUSE_STATIC_RUNTIME=${USE_STATIC_RUNTIME} diff --git a/ports/cairomm/CMakeLists.txt b/ports/cairomm/CMakeLists.txt index db077217dd62ca..1274a643167533 100644 --- a/ports/cairomm/CMakeLists.txt +++ b/ports/cairomm/CMakeLists.txt @@ -6,8 +6,6 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build/cmake") set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - #get cairomm version file (STRINGS "configure.ac" CONFIGURE_AC_INIT REGEX "AC_INIT\\(\\[cairomm\\], \\[.*\\].*" ) string(REGEX REPLACE "AC_INIT\\(\\[.*\\], \\[([0-9]+\\.[0-9]+\\.[0-9]+)\\].*" "\\1" VERSION ${CONFIGURE_AC_INIT}) diff --git a/ports/cairomm/CONTROL b/ports/cairomm/CONTROL index c92877435b01d3..df07bd81d1480f 100644 --- a/ports/cairomm/CONTROL +++ b/ports/cairomm/CONTROL @@ -1,4 +1,4 @@ -Source: cairomm -Version: 1.15.3-2 -Description: A C++ wrapper for the cairo graphics library -Build-Depends: cairo, libsigcpp +Source: cairomm +Version: 1.15.3-3 +Description: A C++ wrapper for the cairo graphics library +Build-Depends: cairo, libsigcpp diff --git a/ports/cairomm/portfile.cmake b/ports/cairomm/portfile.cmake index 0f9ec03c78ad2e..8577056498e66d 100644 --- a/ports/cairomm/portfile.cmake +++ b/ports/cairomm/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(CAIROMM_VERSION 1.15.3) set(CAIROMM_HASH a2c28786dbd167179561d8f580eeb11d10634a36dfdb1adeefc0279acf83ee906f01f264cb924845fc4ab98da1afac71e1ead742f283c1a32368ca9af28e464a) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cairomm-${CAIROMM_VERSION}) diff --git a/ports/capnproto/CONTROL b/ports/capnproto/CONTROL index e02002656259ea..3014018b9bc95f 100644 --- a/ports/capnproto/CONTROL +++ b/ports/capnproto/CONTROL @@ -1,4 +1,4 @@ Source: capnproto -Version: 0.7.0 +Version: 0.7.0-1 Description: Data interchange format and capability-based RPC system https://capnproto.org/ Build-Depends: zlib diff --git a/ports/capnproto/portfile.cmake b/ports/capnproto/portfile.cmake index 35ac53fcd2473b..a9916a70af84e3 100644 --- a/ports/capnproto/portfile.cmake +++ b/ports/capnproto/portfile.cmake @@ -3,16 +3,13 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) endif() if(DEFINED VCPKG_CMAKE_SYSTEM_NAME) - # Undefined VCPKG_CMAKE_SYSTEM_NAME means Windows message(FATAL_ERROR "Error: CapnProto only build on Windows for now. See #5630 and #5635") endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("Building DLLs not supported. Building static instead.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO capnproto/capnproto diff --git a/ports/cartographer/CONTROL b/ports/cartographer/CONTROL index 73fcc654105dfa..9e22c33b6af458 100644 --- a/ports/cartographer/CONTROL +++ b/ports/cartographer/CONTROL @@ -1,4 +1,4 @@ -Source: cartographer -Version: 0.3.0-5 -Build-Depends: ceres[eigensparse], gflags, glog, lua, cairo, boost-iostreams, gtest, protobuf -Description: Google 2D & 3D SLAM package +Source: cartographer +Version: 0.3.0-6 +Build-Depends: ceres[eigensparse], gflags, glog, lua, cairo, boost-iostreams, gtest, protobuf +Description: Google 2D & 3D SLAM package diff --git a/ports/cartographer/portfile.cmake b/ports/cartographer/portfile.cmake index 45a3c1b997ec1c..77275fea881997 100644 --- a/ports/cartographer/portfile.cmake +++ b/ports/cartographer/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO googlecartographer/cartographer @@ -15,11 +17,10 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DGFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION=OFF - -DGLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION=OFF - -Dgtest_disable_pthreads=ON + -DGFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION=OFF + -DGLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION=OFF + -Dgtest_disable_pthreads=ON -DCMAKE_USE_PTHREADS_INIT=OFF - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON OPTIONS_DEBUG -DFORCE_DEBUG_BUILD=True ) diff --git a/ports/cctz/CMakeLists.txt b/ports/cctz/CMakeLists.txt index 9a8cd30714a7d7..e21b1ca680e3de 100644 --- a/ports/cctz/CMakeLists.txt +++ b/ports/cctz/CMakeLists.txt @@ -4,7 +4,6 @@ project(cctz CXX) set(CMAKE_CXX_STANDARD 14) set(CMAKE_DEBUG_POSTFIX d) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) if(CMAKE_BUILD_TYPE STREQUAL "Release") option(INSTALL_HEADERS "Install header files" ON) diff --git a/ports/cctz/CONTROL b/ports/cctz/CONTROL index 6dccfd87dd4c6d..2934951b44cdff 100644 --- a/ports/cctz/CONTROL +++ b/ports/cctz/CONTROL @@ -1,4 +1,4 @@ Source: cctz -Version: 2.3 -Build-Depends: benchmark +Version: 2.3-2 +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/cctz/portfile.cmake b/ports/cctz/portfile.cmake index 16d9918a12b612..d429e7f52a13b9 100644 --- a/ports/cctz/portfile.cmake +++ b/ports/cctz/portfile.cmake @@ -3,6 +3,9 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/cctz diff --git a/ports/cgicc/CONTROL b/ports/cgicc/CONTROL index 6caa44df1d4f8f..cf25b698d5d73b 100644 --- a/ports/cgicc/CONTROL +++ b/ports/cgicc/CONTROL @@ -1,3 +1,3 @@ -Source: cgicc -Version: 3.2.19 -Description: GNU Cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide Web +Source: cgicc +Version: 3.2.19-1 +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/cgicc/portfile.cmake b/ports/cgicc/portfile.cmake index 9851e0f80403af..58a97087714b39 100644 --- a/ports/cgicc/portfile.cmake +++ b/ports/cgicc/portfile.cmake @@ -1,9 +1,8 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Warning: Dynamic building not supported. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) - endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cgicc-3.2.19) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnu.org/gnu/cgicc/cgicc-3.2.19.tar.gz" diff --git a/ports/chmlib/CONTROL b/ports/chmlib/CONTROL index b7f0cc863b4ef1..32c86554e519bf 100644 --- a/ports/chmlib/CONTROL +++ b/ports/chmlib/CONTROL @@ -1,3 +1,3 @@ -Source: chmlib -Version: 0.40-2 -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. +Source: chmlib +Version: 0.40-3 +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/chmlib/portfile.cmake b/ports/chmlib/portfile.cmake index e6a935b9faef19..99313c5cd301d7 100644 --- a/ports/chmlib/portfile.cmake +++ b/ports/chmlib/portfile.cmake @@ -1,20 +1,18 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(CHMLIB_VERSION chmlib-0.40) set(CHMLIB_FILENAME ${CHMLIB_VERSION}.zip) set(CHMLIB_URL http://www.jedrea.com/chmlib/${CHMLIB_FILENAME}) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${CHMLIB_VERSION}) -include(vcpkg_common_functions) vcpkg_download_distfile( ARCHIVE URLS ${CHMLIB_URL} FILENAME ${CHMLIB_FILENAME} SHA512 ad3b0d49fcf99e724c0c38b9c842bae9508d0e4ad47122b0f489c113160f5344223d311abb79f25cbb0b662bb00e2925d338d60dd20a0c309bda2822cda4cd24 -) +) vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/clp/CMakeLists.txt b/ports/clp/CMakeLists.txt index 1fbdb4ab811e31..86305aa580fcbf 100644 --- a/ports/clp/CMakeLists.txt +++ b/ports/clp/CMakeLists.txt @@ -12,9 +12,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") -if(BUILD_SHARED_LIBS AND MSVC) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif(BUILD_SHARED_LIBS AND MSVC) + if(MSVC) set( CMAKE_CXX_FLAGS @@ -35,8 +33,6 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) # options option(BUILD_SHARED_LIBS "" ON) -# -# 设置用于 install 的变量 # # Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR include(GNUInstallDirs) diff --git a/ports/clp/CONTROL b/ports/clp/CONTROL index ac9b4178fab191..e19909f3510b8f 100644 --- a/ports/clp/CONTROL +++ b/ports/clp/CONTROL @@ -1,4 +1,4 @@ Source: clp -Version: 1.16.11-0 -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. +Version: 1.16.11-1 +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 08cf8af72a20c2..f43dc295d2a484 100644 --- a/ports/clp/portfile.cmake +++ b/ports/clp/portfile.cmake @@ -1,46 +1,26 @@ -# 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 coin-or/Clp - REF releases/1.16.11 - SHA512 4291ab6c4985491c100fab265ebeace88623a691f87890ed7b9240b4b1111fb55043be4e0f226cfa0e565f593f4df4c3661c570a39189f17f48b6f710a10fffe -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(BUILD_SHARED_LIBS ON) -else() - set(BUILD_SHARED_LIBS OFF) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja - OPTIONS - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Clp") - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/clp RENAME copyright) - -# Post-build test for cmake libraries -# vcpkg_test_cmake(PACKAGE_NAME osi) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO coin-or/Clp + REF releases/1.16.11 + SHA512 4291ab6c4985491c100fab265ebeace88623a691f87890ed7b9240b4b1111fb55043be4e0f226cfa0e565f593f4df4c3661c570a39189f17f48b6f710a10fffe +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Clp") + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/clp RENAME copyright) diff --git a/ports/cmark/CONTROL b/ports/cmark/CONTROL index 6f756e824d98ee..580ffedf67c163 100644 --- a/ports/cmark/CONTROL +++ b/ports/cmark/CONTROL @@ -1,3 +1,3 @@ -Source: cmark -Version: 0.28.3-2 -Description: CommonMark parsing and rendering library +Source: cmark +Version: 0.28.3-3 +Description: CommonMark parsing and rendering library diff --git a/ports/cmark/portfile.cmake b/ports/cmark/portfile.cmake index 97324b4bf276a1..a1351839c05ed1 100644 --- a/ports/cmark/portfile.cmake +++ b/ports/cmark/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - # Note: fails due to missing cmark_export.h -- fix should be to always generate the correct export header. - message(FATAL_ERROR "cmark does not currently support static library linkage") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/coinutils/CMakeLists.txt b/ports/coinutils/CMakeLists.txt index 953ab2b98d8381..1a090c94d284c3 100644 --- a/ports/coinutils/CMakeLists.txt +++ b/ports/coinutils/CMakeLists.txt @@ -1,111 +1,109 @@ -cmake_minimum_required(VERSION 3.11) - -project(CoinUtils LANGUAGES C CXX) - -set(PROJECT_VERSION 2.10.14) -set(PROJECT_VERSION_MAJOR 2) -set(PROJECT_VERSION_MINOR 10) -set(PROJECT_VERSION_PATCH 14) - -set(CMAKE_CXX_STANDARD 14) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) -set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") -if(BUILD_SHARED_LIBS AND MSVC) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif(BUILD_SHARED_LIBS AND MSVC) -if(MSVC) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" - ) -endif(MSVC) -if(APPLE) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" - ) - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" - CACHE STRING "Minimum OS X deployment version") -endif(APPLE) - -set_property(GLOBAL PROPERTY USE_FOLDERS ON) - -# options -option(BUILD_SHARED_LIBS "" ON) - -# -# 设置用于 install 的变量 -# -# Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR -include(GNUInstallDirs) - -# Include module with fuction 'write_basic_package_version_file' -include(CMakePackageConfigHelpers) - -# Layout. This works for all platforms: * /lib*/cmake/ * -# /lib*/ * /include/ -set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") -set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated") -# Configuration -set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake") -set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake") -set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") -set(namespace "Coin::") - -# -# Add sources -# -include_directories(CoinUtils/src) - -file(GLOB UTILS_SOURCES - CoinUtils/src/*.hpp - CoinUtils/src/*.cpp - CoinUtils/src/*.h) -add_library(${PROJECT_NAME} ${UTILS_SOURCES}) - -target_include_directories(${PROJECT_NAME} - PUBLIC $) -target_compile_definitions(${PROJECT_NAME} - PUBLIC - $ - $) - -install(TARGETS ${PROJECT_NAME} - EXPORT "${TARGETS_EXPORT_NAME}" - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin - INCLUDES - DESTINATION include) - -install(DIRECTORY CoinUtils/src/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hpp") - -# -# Install Libraries -# -# Configure 'ConfigVersion.cmake' Use: * PROJECT_VERSION -write_basic_package_version_file("${version_config}" - COMPATIBILITY SameMajorVersion) - -# Configure 'Config.cmake' Use variables: * TARGETS_EXPORT_NAME * -# PROJECT_NAME -configure_package_config_file("Config.cmake.in" - "${project_config}" - INSTALL_DESTINATION - "${config_install_dir}") - -# Config * /lib/cmake/Foo/FooConfig.cmake * -# /lib/cmake/Foo/FooConfigVersion.cmake -install(FILES "${project_config}" "${version_config}" - DESTINATION "${config_install_dir}") - -# Config * /lib/cmake/Foo/FooTargets.cmake -install(EXPORT "${TARGETS_EXPORT_NAME}" - NAMESPACE "${namespace}" - DESTINATION "${config_install_dir}") +cmake_minimum_required(VERSION 3.11) + +project(CoinUtils LANGUAGES C CXX) + +set(PROJECT_VERSION 2.10.14) +set(PROJECT_VERSION_MAJOR 2) +set(PROJECT_VERSION_MINOR 10) +set(PROJECT_VERSION_PATCH 14) + +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) +set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +if(MSVC) + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" + ) +endif(MSVC) +if(APPLE) + set( + CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" + ) + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" + CACHE STRING "Minimum OS X deployment version") +endif(APPLE) + +set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +# options +option(BUILD_SHARED_LIBS "" ON) + +# +# 设置用于 install 的变量 +# +# Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR +include(GNUInstallDirs) + +# Include module with fuction 'write_basic_package_version_file' +include(CMakePackageConfigHelpers) + +# Layout. This works for all platforms: * /lib*/cmake/ * +# /lib*/ * /include/ +set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") +set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated") +# Configuration +set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake") +set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake") +set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") +set(namespace "Coin::") + +# +# Add sources +# +include_directories(CoinUtils/src) + +file(GLOB UTILS_SOURCES + CoinUtils/src/*.hpp + CoinUtils/src/*.cpp + CoinUtils/src/*.h) +add_library(${PROJECT_NAME} ${UTILS_SOURCES}) + +target_include_directories(${PROJECT_NAME} + PUBLIC $) +target_compile_definitions(${PROJECT_NAME} + PUBLIC + $ + $) + +install(TARGETS ${PROJECT_NAME} + EXPORT "${TARGETS_EXPORT_NAME}" + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin + INCLUDES + DESTINATION include) + +install(DIRECTORY CoinUtils/src/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/coin + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.hpp") + +# +# Install Libraries +# +# Configure 'ConfigVersion.cmake' Use: * PROJECT_VERSION +write_basic_package_version_file("${version_config}" + COMPATIBILITY SameMajorVersion) + +# Configure 'Config.cmake' Use variables: * TARGETS_EXPORT_NAME * +# PROJECT_NAME +configure_package_config_file("Config.cmake.in" + "${project_config}" + INSTALL_DESTINATION + "${config_install_dir}") + +# Config * /lib/cmake/Foo/FooConfig.cmake * +# /lib/cmake/Foo/FooConfigVersion.cmake +install(FILES "${project_config}" "${version_config}" + DESTINATION "${config_install_dir}") + +# Config * /lib/cmake/Foo/FooTargets.cmake +install(EXPORT "${TARGETS_EXPORT_NAME}" + NAMESPACE "${namespace}" + DESTINATION "${config_install_dir}") diff --git a/ports/coinutils/CONTROL b/ports/coinutils/CONTROL index 64573dfb9c0b7d..f20222532f1962 100644 --- a/ports/coinutils/CONTROL +++ b/ports/coinutils/CONTROL @@ -1,3 +1,3 @@ -Source: coinutils -Version: 2.10.14-0 -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 +Source: coinutils +Version: 2.10.14-1 +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/Config.cmake.in b/ports/coinutils/Config.cmake.in index ec01d2e5bd9501..a53c5749598794 100644 --- a/ports/coinutils/Config.cmake.in +++ b/ports/coinutils/Config.cmake.in @@ -1,5 +1,5 @@ - -@PACKAGE_INIT@ - -include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") -check_required_components("@PROJECT_NAME@") + +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") +check_required_components("@PROJECT_NAME@") diff --git a/ports/coinutils/portfile.cmake b/ports/coinutils/portfile.cmake index 59582e80026c5d..7b9a86b85f802b 100644 --- a/ports/coinutils/portfile.cmake +++ b/ports/coinutils/portfile.cmake @@ -1,49 +1,28 @@ -# 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 coin-or/CoinUtils - REF releases/2.10.14 - SHA512 2d5108e096f126cf98750a4892ca4d946d0bad41b65f29001c116c5ad15aa4900c3091d163fa16b6a55f0518344c6681ad95bbc6efa431c77aaaaa751494c48b -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja - OPTIONS - -DBUILD_SHARED_LIBS=OFF - # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2 - # OPTIONS_RELEASE -DOPTIMIZE=1 - # OPTIONS_DEBUG -DDEBUGGABLE=1 -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/CoinUtils") - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/coinutils RENAME copyright) - -# Post-build test for cmake libraries -# vcpkg_test_cmake(PACKAGE_NAME coinutils) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO coin-or/CoinUtils + REF releases/2.10.14 + SHA512 2d5108e096f126cf98750a4892ca4d946d0bad41b65f29001c116c5ad15aa4900c3091d163fa16b6a55f0518344c6681ad95bbc6efa431c77aaaaa751494c48b +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/CoinUtils") + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/coinutils RENAME copyright) diff --git a/ports/constexpr/CONTROL b/ports/constexpr/CONTROL index e8cb4749f9f8fa..85b3bc0c70329d 100644 --- a/ports/constexpr/CONTROL +++ b/ports/constexpr/CONTROL @@ -1,3 +1,3 @@ -Source: constexpr -Version: 1.0 -Description: Small MIT License Library of general stdlib functions written as C++11 constexpr functions. +Source: constexpr +Version: 1.0-1 +Description: Small MIT License Library of general stdlib functions written as C++11 constexpr functions. diff --git a/ports/constexpr/portfile.cmake b/ports/constexpr/portfile.cmake index 9563b6c151a0cc..e56b57e6179adb 100644 --- a/ports/constexpr/portfile.cmake +++ b/ports/constexpr/portfile.cmake @@ -1,12 +1,13 @@ #header-only library include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/constexpr-a98b1db39c909e0130d21d3910d4faf97035a625) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/elbeno/constexpr/archive/a98b1db39c909e0130d21d3910d4faf97035a625.zip" - FILENAME "constexpr-a98b1db39c909e0130d21d3910d4faf97035a625.zip" - SHA512 847e09f9df30cb5fbd8aa280679ff359d73c9e9454ffe3090f66975a15665080629e9a664d057f039b17430d42b5e5f5f3f92831e73c15024060991090209c2e + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO elbeno/constexpr + REF a98b1db39c909e0130d21d3910d4faf97035a625 + SHA512 8802ee43b510ea1f0c00949eecd84eb2bf3ac721802e6bc6755db9e6e2742d8b97fef427eca7d4d9a282c60a18ca10401386022eac995bd22624f45e3fc2c370 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) # Put the licence file where vcpkg expects it file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/constexpr/LICENSE) diff --git a/ports/coroutine/CONTROL b/ports/coroutine/CONTROL index 2afe8ae17bb877..075a32b260acd6 100644 --- a/ports/coroutine/CONTROL +++ b/ports/coroutine/CONTROL @@ -1,4 +1,4 @@ Source: coroutine -Version: 1.4.1 +Version: 1.4.1-1 Build-Depends: ms-gsl Description: C++ coroutine helper/example library diff --git a/ports/coroutine/portfile.cmake b/ports/coroutine/portfile.cmake index bc7bd3ae342cb5..f8bf5cdcffba1b 100644 --- a/ports/coroutine/portfile.cmake +++ b/ports/coroutine/portfile.cmake @@ -14,23 +14,16 @@ vcpkg_from_github( ) # package: 'ms-gsl' -set(GSL_INCLUDE_DIR ${CURRENT_INSTALLED_DIR}/include +set(GSL_INCLUDE_DIR ${CURRENT_INSTALLED_DIR}/include CACHE PATH "path to include C++ core guideline support library" FORCE) message(STATUS "Using ms-gsl at ${GSL_INCLUDE_DIR}") -set(DLL_LINKAGE false) -if(${VCPKG_LIBRARY_LINKAGE} MATCHES dynamic) - message(STATUS "Using DLL linkage") - set(DLL_LINKAGE true) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DGSL_INCLUDE_DIR=${GSL_INCLUDE_DIR} -DTEST_DISABLED=True - -DBUILD_SHARED_LIBS=${DLL_LINKAGE} ) vcpkg_install_cmake() @@ -44,6 +37,3 @@ file( # removed duplicates in debug file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -# unset used variables -unset(DLL_LINKAGE) diff --git a/ports/cpp-redis/CONTROL b/ports/cpp-redis/CONTROL index 5f001f04d3446d..4030f9ce9dd3bc 100644 --- a/ports/cpp-redis/CONTROL +++ b/ports/cpp-redis/CONTROL @@ -1,4 +1,4 @@ -Source: cpp-redis -Version: 4.3.1 -Build-Depends: tacopie -Description: cpp-redis is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations and pipelining. +Source: cpp-redis +Version: 4.3.1-1 +Build-Depends: tacopie +Description: cpp-redis is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations and pipelining. diff --git a/ports/cpp-redis/portfile.cmake b/ports/cpp-redis/portfile.cmake index c9feba68db354d..ee19a65100c288 100644 --- a/ports/cpp-redis/portfile.cmake +++ b/ports/cpp-redis/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Cylix/cpp_redis @@ -27,7 +29,6 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DMSVC_RUNTIME_LIBRARY_CONFIG=${MSVC_RUNTIME_LIBRARY_CONFIG} - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE ) vcpkg_install_cmake() diff --git a/ports/cppcms/CONTROL b/ports/cppcms/CONTROL index 8f8726ddcbb061..f33c94ed91ecd4 100644 --- a/ports/cppcms/CONTROL +++ b/ports/cppcms/CONTROL @@ -1,4 +1,4 @@ -Source: cppcms -Version: 1.1.0-1 -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 +Source: cppcms +Version: 1.1.0-2 +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/cppcms/portfile.cmake b/ports/cppcms/portfile.cmake index 328ba20db9434e..c9ccca85b78010 100644 --- a/ports/cppcms/portfile.cmake +++ b/ports/cppcms/portfile.cmake @@ -1,13 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "cppcms doesn't support static linkage. Building dynamic instead.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - -if(VCPKG_CRT_LINKAGE STREQUAL static) - message(FATAL_ERROR "cppcms doesn't support static CRT linkage.") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/cppfs/CONTROL b/ports/cppfs/CONTROL index 30ec75f0085fb5..d94532e8a8051c 100644 --- a/ports/cppfs/CONTROL +++ b/ports/cppfs/CONTROL @@ -1,7 +1,7 @@ -Source: cppfs -Version: 1.2.0 -Description: Cross-platform C++ file system library supporting multiple backends - -Feature: ssh -Description: SSH backend for cppfs -Build-Depends: libssh2,openssl,zlib +Source: cppfs +Version: 1.2.0-1 +Description: Cross-platform C++ file system library supporting multiple backends + +Feature: ssh +Description: SSH backend for cppfs +Build-Depends: libssh2,openssl,zlib diff --git a/ports/cppfs/portfile.cmake b/ports/cppfs/portfile.cmake index 33ea7e60535f1d..b108c55749309f 100644 --- a/ports/cppfs/portfile.cmake +++ b/ports/cppfs/portfile.cmake @@ -15,11 +15,6 @@ if(${TARGET_TRIPLET} MATCHES "uwp") message(FATAL_ERROR "cppfs does not support uwp") endif() -set(SHARED_LIBS Off) -if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "dynamic") - set(SHARED_LIBS On) -endif() - set(SSH_BACKEND OFF) if("ssh" IN_LIST FEATURES) set(SSH_BACKEND ON) @@ -31,10 +26,9 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS -DOPTION_BUILD_SSH_BACKEND=${SSH_BACKEND} -DOPTION_BUILD_TESTS=Off - -DBUILD_SHARED_LIBS=${SHARED_LIBS} -DOPTION_FORCE_SYSTEM_DIR_INSTALL=On ) diff --git a/ports/crossguid/CONTROL b/ports/crossguid/CONTROL index 533f0c78e38fd4..574d444d22a2bf 100644 --- a/ports/crossguid/CONTROL +++ b/ports/crossguid/CONTROL @@ -1,4 +1,4 @@ -Source: crossguid -Version: 0.2.2-2018-06-16 -Build-Depends: libuuid (!windows&!uwp&!osx&!android) -Description: CrossGuid is a minimal, cross platform, C++ GUID library. +Source: crossguid +Version: 0.2.2-2018-06-16-1 +Build-Depends: libuuid (!windows&!uwp&!osx&!android) +Description: CrossGuid is a minimal, cross platform, C++ GUID library. diff --git a/ports/crossguid/portfile.cmake b/ports/crossguid/portfile.cmake index 90d692626494bb..5ee715e5820761 100644 --- a/ports/crossguid/portfile.cmake +++ b/ports/crossguid/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO graeme-hill/crossguid @@ -7,11 +10,6 @@ vcpkg_from_github( HEAD_REF master ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message(STATUS "Warning: Dynamic building not supported. Building static instead") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/crow/CONTROL b/ports/crow/CONTROL index 0b33939d5f41cc..e2200c81352952 100644 --- a/ports/crow/CONTROL +++ b/ports/crow/CONTROL @@ -1,3 +1,3 @@ -Source: crow -Version: 0.1 -Description: Very fast and easy to use C++ micro web framework +Source: crow +Version: 0.1-1 +Description: Very fast and easy to use C++ micro web framework diff --git a/ports/crow/portfile.cmake b/ports/crow/portfile.cmake index de9471fcc9507a..ff6f84d90d2b1a 100644 --- a/ports/crow/portfile.cmake +++ b/ports/crow/portfile.cmake @@ -1,12 +1,12 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/crow-0.1) -vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://github.com/ipkn/crow/archive/v0.1.tar.gz" - FILENAME "crow-v0.1.tar.gz" +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ipkn/crow + REF v0.1 SHA512 5a97c5b8cda3ffe79001aa382d4391eddde30027401bbb1d9c85c70ea715f556d3659f5eac0b9d9192c19d13718f19ad6bdf49d67bef03b21e75300d60e7d02a + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/crow RENAME copyright) diff --git a/ports/dcmtk/CONTROL b/ports/dcmtk/CONTROL index 2ef092ebad129b..ab248db1c83cd0 100644 --- a/ports/dcmtk/CONTROL +++ b/ports/dcmtk/CONTROL @@ -1,3 +1,3 @@ Source: dcmtk -Version: 3.6.3 +Version: 3.6.3-1 Description: This DICOM ToolKit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard. diff --git a/ports/dcmtk/portfile.cmake b/ports/dcmtk/portfile.cmake index f93c3f40833efd..d11878a0e83c65 100644 --- a/ports/dcmtk/portfile.cmake +++ b/ports/dcmtk/portfile.cmake @@ -1,49 +1,46 @@ -include(vcpkg_common_functions) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("DCMTK only supports static library linkage") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO DCMTK/dcmtk - REF DCMTK-3.6.3 - SHA512 5863d0c05f046075b998bced7c8c71bf8e969dd366f26d48cdf26012ea744ae4a22784a5c3c12e12b0f188e997c93a6890ef0c3c336865ea93f13c45f70b258d - HEAD_REF master - PATCHES ${CMAKE_CURRENT_LIST_DIR}/dcmtk.patch -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DDCMTK_WITH_DOXYGEN=OFF - -DDCMTK_WITH_ZLIB=OFF - -DDCMTK_WITH_OPENSSL=OFF - -DDCMTK_WITH_PNG=OFF - -DDCMTK_WITH_TIFF=OFF - -DDCMTK_WITH_XML=OFF - -DDCMTK_WITH_ICONV=OFF - -DDCMTK_FORCE_FPIC_ON_UNIX=ON - -DDCMTK_OVERWRITE_WIN32_COMPILER_FLAGS=OFF - -DDCMTK_ENABLE_BUILTIN_DICTIONARY=ON - -DDCMTK_ENABLE_PRIVATE_TAGS=ON - -DBUILD_APPS=OFF - -DDCMTK_ENABLE_CXX11=ON - -DCMAKE_DEBUG_POSTFIX="d" - OPTIONS_DEBUG - -DINSTALL_HEADERS=OFF - -DINSTALL_OTHER=OFF -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/dcmtk RENAME copyright) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DCMTK/dcmtk + REF DCMTK-3.6.3 + SHA512 5863d0c05f046075b998bced7c8c71bf8e969dd366f26d48cdf26012ea744ae4a22784a5c3c12e12b0f188e997c93a6890ef0c3c336865ea93f13c45f70b258d + HEAD_REF master + PATCHES ${CMAKE_CURRENT_LIST_DIR}/dcmtk.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DDCMTK_WITH_DOXYGEN=OFF + -DDCMTK_WITH_ZLIB=OFF + -DDCMTK_WITH_OPENSSL=OFF + -DDCMTK_WITH_PNG=OFF + -DDCMTK_WITH_TIFF=OFF + -DDCMTK_WITH_XML=OFF + -DDCMTK_WITH_ICONV=OFF + -DDCMTK_FORCE_FPIC_ON_UNIX=ON + -DDCMTK_OVERWRITE_WIN32_COMPILER_FLAGS=OFF + -DDCMTK_ENABLE_BUILTIN_DICTIONARY=ON + -DDCMTK_ENABLE_PRIVATE_TAGS=ON + -DBUILD_APPS=OFF + -DDCMTK_ENABLE_CXX11=ON + -DCMAKE_DEBUG_POSTFIX="d" + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF + -DINSTALL_OTHER=OFF +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/dcmtk RENAME copyright) diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL index 4db65c26f15be9..9c4de67c2e233d 100644 --- a/ports/directxmesh/CONTROL +++ b/ports/directxmesh/CONTROL @@ -1,3 +1,3 @@ Source: directxmesh -Version: feb2019 -Description: DirectXMesh geometry processing library \ No newline at end of file +Version: feb2019-1 +Description: DirectXMesh geometry processing library diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake index 57821d9842907a..0ec9d2b001c6b9 100644 --- a/ports/directxmesh/portfile.cmake +++ b/ports/directxmesh/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") message(FATAL_ERROR "DirectXMesh only supports dynamic CRT linkage") @@ -12,7 +9,7 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXMesh - REF feb2019 + REF feb2019 SHA512 341870f6a66626ec78ac283434e568fd664d3331468ac06554d6403c9b1a34a737895ca3bc8c073a01b983db31cc1e398ef4828a0e794a7382cba04a6cf28f05 HEAD_REF master ) diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL index e56f82efa18117..383057056c6b5c 100644 --- a/ports/directxtex/CONTROL +++ b/ports/directxtex/CONTROL @@ -1,3 +1,3 @@ Source: directxtex -Version: feb2019 -Description: DirectXTex texture processing library \ No newline at end of file +Version: feb2019-1 +Description: DirectXTex texture processing library diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake index 4fd90c93b55e37..74e3caf476eb20 100644 --- a/ports/directxtex/portfile.cmake +++ b/ports/directxtex/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") message(FATAL_ERROR "DirectXTex only supports dynamic CRT linkage") @@ -12,7 +9,7 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTex - REF feb2019 + REF feb2019 SHA512 4eea6fadbcaf1332565034a061c0688fc8ac1c3a25df22b7602f52c0558974e5aaa6aa3104dcfbd2a1718df35272e33a3302f49c0f79f6bee14233bca2532893 HEAD_REF master ) diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL index 4bb58343716075..81f29bd66228aa 100644 --- a/ports/directxtk/CONTROL +++ b/ports/directxtk/CONTROL @@ -1,3 +1,3 @@ Source: directxtk -Version: feb2019 +Version: feb2019-1 Description: A collection of helper classes for writing DirectX 11.x code in C++. diff --git a/ports/directxtk/portfile.cmake b/ports/directxtk/portfile.cmake index 87ea23027f2b57..bfa7384fbf103a 100644 --- a/ports/directxtk/portfile.cmake +++ b/ports/directxtk/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") message(FATAL_ERROR "DirectXTK only supports dynamic CRT linkage") diff --git a/ports/directxtk12/CONTROL b/ports/directxtk12/CONTROL index 60393a1d9482d9..41ffd54f75b774 100644 --- a/ports/directxtk12/CONTROL +++ b/ports/directxtk12/CONTROL @@ -1,3 +1,3 @@ -Source: directxtk12 -Version: dec2016 -Description: A collection of helper classes for writing DirectX 12 code in C++. +Source: directxtk12 +Version: dec2016-1 +Description: A collection of helper classes for writing DirectX 12 code in C++. diff --git a/ports/directxtk12/portfile.cmake b/ports/directxtk12/portfile.cmake index 6a545ccbde099d..d51a82b817b74d 100644 --- a/ports/directxtk12/portfile.cmake +++ b/ports/directxtk12/portfile.cmake @@ -1,13 +1,11 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") message(FATAL_ERROR "DirectXTk12 only supports dynamic CRT linkage") endif() -include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXTK12-dec2016) vcpkg_download_distfile(ARCHIVE URLS "https://github.com/Microsoft/DirectXTK12/archive/dec2016.tar.gz" diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL index ab2e80e878d3ea..1de2469236ee0a 100644 --- a/ports/dlib/CONTROL +++ b/ports/dlib/CONTROL @@ -1,8 +1,8 @@ -Source: dlib -Version: 19.16-1 -Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas, clapack -Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ - -Feature: cuda -Build-Depends: cuda -Description: CUDA support for dlib +Source: dlib +Version: 19.16-2 +Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas, clapack +Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ + +Feature: cuda +Build-Depends: cuda +Description: CUDA support for dlib diff --git a/ports/dlib/portfile.cmake b/ports/dlib/portfile.cmake index ebfd007664403d..730c272577adb0 100644 --- a/ports/dlib/portfile.cmake +++ b/ports/dlib/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("dlib only supports static linkage") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/double-conversion/CONTROL b/ports/double-conversion/CONTROL index a80898deb8beaf..7bc0812f2fccb7 100644 --- a/ports/double-conversion/CONTROL +++ b/ports/double-conversion/CONTROL @@ -1,3 +1,3 @@ -Source: double-conversion -Version: 3.1.0-1 -Description: Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles. +Source: double-conversion +Version: 3.1.0-2 +Description: Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles. diff --git a/ports/double-conversion/portfile.cmake b/ports/double-conversion/portfile.cmake index 875b1aa0ac4d71..e3deba1fe8964b 100644 --- a/ports/double-conversion/portfile.cmake +++ b/ports/double-conversion/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/double-conversion @@ -11,8 +13,6 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=True ) vcpkg_install_cmake() diff --git a/ports/draco/CONTROL b/ports/draco/CONTROL index 53da07b77ddd95..afdeb1e6d47ce7 100644 --- a/ports/draco/CONTROL +++ b/ports/draco/CONTROL @@ -1,4 +1,4 @@ -Source: draco -Version: 1.3.3-1 -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: +Source: draco +Version: 1.3.3-2 +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/draco/portfile.cmake b/ports/draco/portfile.cmake index 4b95739ca370d1..3486134fb9aa49 100644 --- a/ports/draco/portfile.cmake +++ b/ports/draco/portfile.cmake @@ -1,22 +1,7 @@ -# 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) -# - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/draco diff --git a/ports/duktape/CMakeLists.txt b/ports/duktape/CMakeLists.txt index f62a9c56edb220..3a9c869dece0cd 100644 --- a/ports/duktape/CMakeLists.txt +++ b/ports/duktape/CMakeLists.txt @@ -1,20 +1,21 @@ -# CMAKE project for duktape -option(SOURCE_PATH "Root directory.") - project (duktape) -file(GLOB_RECURSE DUKTAPE_SOURCES "${SOURCE_PATH}/src/*.c") -file(GLOB_RECURSE DUKTAPE_HEADERS "${SOURCE_PATH}/src/*.h") +file(GLOB_RECURSE DUKTAPE_SOURCES "src/*.c") +file(GLOB_RECURSE DUKTAPE_HEADERS "src/*.h") if (BUILD_SHARED_LIBS) add_definitions(-DDUK_F_DLL_BUILD) endif () +include_directories("src/") + add_library(duktape ${DUKTAPE_SOURCES} ${DUKTAPE_HEADERS}) set_target_properties("duktape" PROPERTIES PUBLIC_HEADER "${DUKTAPE_HEADERS}") install(TARGETS duktape + EXPORT duktape-targets ARCHIVE DESTINATION "lib" RUNTIME DESTINATION "bin" PUBLIC_HEADER DESTINATION "include") + diff --git a/ports/duktape/CONTROL b/ports/duktape/CONTROL index b0f599dd811432..3d70426b9899d6 100644 --- a/ports/duktape/CONTROL +++ b/ports/duktape/CONTROL @@ -1,4 +1,4 @@ -Source: duktape -Version: 2.0.3-4 -Description: Embeddable Javascript engine with a focus on portability and compact footprint. -Build-Depends: +Source: duktape +Version: 2.0.3-5 +Description: Embeddable Javascript engine with a focus on portability and compact footprint. +Build-Depends: diff --git a/ports/duktape/portfile.cmake b/ports/duktape/portfile.cmake index f4aa4f805c4c34..2c28d3a59abc8f 100644 --- a/ports/duktape/portfile.cmake +++ b/ports/duktape/portfile.cmake @@ -1,21 +1,52 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/duktape-2.0.3) -set(CMAKE_PATH ${CMAKE_CURRENT_LIST_DIR}) -vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://github.com/svaarala/duktape/releases/download/v2.0.3/duktape-2.0.3.tar.xz" - FILENAME "duktape-2.0.3.tar.xz" - SHA512 ba21731242d953d82c677e1205e3596e270e6d57156a0bca8068fc3b6a35996af69bcfac979b871a7e3eab31f28a06cb99078f0b3eaac54be9c5899f57f4100e + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + message("${PORT} currently requires the following tools from the system package manager:\n python-yaml\n\nThis can be installed on Ubuntu systems via apt-get install python-yaml PYTHON2-yaml (depending on your current python default interpreter)") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO svaarala/duktape + REF v2.0.3 + SHA512 6ad189f6f9291cbd7eb7227113302fd0c204018611bb37bf4acd7f6b0eb2a75837dac8fb9fba441a0d76e6f1dbad62e4750a6645f65de31611b089f6922bad26 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +if(CMAKE_HOST_WIN32) + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") +endif() + +vcpkg_find_acquire_program(PYTHON2) +get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) +vcpkg_add_to_path("${PYTHON2_DIR}") +if(NOT EXISTS ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX}) + if(NOT EXISTS ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX}) + vcpkg_download_distfile(GET_PIP + URLS "https://bootstrap.pypa.io/get-pip.py" + FILENAME "tools/python/python2/get-pip.py" + SHA512 fdbcef1037dca7cc914e2304af657ebd08239cd18c3e79786dc25c8ea39957674e012d7ea8ae2c99006e4b61d3a5e24669ac5771dc186697fd9fdb40b6cc07ae + ) + execute_process(COMMAND ${PYTHON2_DIR}/python${EXECUTABLE_SUFFIX} ${PYTHON2_DIR}/get-pip.py) + endif() + execute_process(COMMAND ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install pyyaml) +else() + execute_process(COMMAND ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX} pyyaml) +endif() + +execute_process(COMMAND ${PYTHON2} ${SOURCE_PATH}/tools/configure.py --source-directory ${SOURCE_PATH}/src-input --output-directory ${SOURCE_PATH}/src --config-metadata ${SOURCE_PATH}/config -DDUK_USE_FASTINT) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/duk_config.h.patch" + PATCHES + duk_config.h.patch ) vcpkg_configure_cmake( - SOURCE_PATH ${CMAKE_PATH} - OPTIONS -DSOURCE_PATH=${SOURCE_PATH} + SOURCE_PATH ${SOURCE_PATH} ) vcpkg_install_cmake() diff --git a/ports/dx/CONTROL b/ports/dx/CONTROL index ac226a66af53a2..8f901cad3c8194 100644 --- a/ports/dx/CONTROL +++ b/ports/dx/CONTROL @@ -1,3 +1,3 @@ Source: dx -Version: 1.0.1 -Description: A modern C++ library for DirectX programming \ No newline at end of file +Version: 1.0.1-1 +Description: A modern C++ library for DirectX programming diff --git a/ports/dx/portfile.cmake b/ports/dx/portfile.cmake index d607e5ed0c0a55..ee8eadcc7b5016 100644 --- a/ports/dx/portfile.cmake +++ b/ports/dx/portfile.cmake @@ -1,20 +1,21 @@ -#header-only library -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/dx-1.0.1) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/sdcb/dx/archive/v1.0.1.tar.gz" - FILENAME "dx-1.0.1.tar.gz" - SHA512 b40eb4daf774bfdb394b207bb29652fbf44361f5d8f9b60509c7a3215cd403dbf0c10454979c0c2e97d839496ef20940070a42837375993cd67d58afacc990e0 -) -vcpkg_extract_source_archive(${ARCHIVE}) - -file(INSTALL - ${SOURCE_PATH}/dx.h - ${SOURCE_PATH}/debug.h - ${SOURCE_PATH}/handle.h - DESTINATION ${CURRENT_PACKAGES_DIR}/include/dx -) - -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/dx RENAME copyright) \ No newline at end of file +#header-only library +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sdcb/dx + REF v1.0.1 + SHA512 b40eb4daf774bfdb394b207bb29652fbf44361f5d8f9b60509c7a3215cd403dbf0c10454979c0c2e97d839496ef20940070a42837375993cd67d58afacc990e0 + HEAD_REF master +) + +file(INSTALL + ${SOURCE_PATH}/dx.h + ${SOURCE_PATH}/debug.h + ${SOURCE_PATH}/handle.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include/dx +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/dx RENAME copyright) diff --git a/ports/dxut/CONTROL b/ports/dxut/CONTROL index 372a98d729461a..e36c9d6f1e0d14 100644 --- a/ports/dxut/CONTROL +++ b/ports/dxut/CONTROL @@ -1,3 +1,3 @@ -Source: dxut -Version: 11.14-2 -Description: A "GLUT"-like framework for Direct3D 11.x Win32 desktop applications \ No newline at end of file +Source: dxut +Version: 11.14-3 +Description: A "GLUT"-like framework for Direct3D 11.x Win32 desktop applications diff --git a/ports/dxut/portfile.cmake b/ports/dxut/portfile.cmake index cc12d769bab621..f89fe3982a2314 100644 --- a/ports/dxut/portfile.cmake +++ b/ports/dxut/portfile.cmake @@ -1,13 +1,11 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") message(FATAL_ERROR "DXUT only supports dynamic CRT linkage") endif() -include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DXUT-sept2016) vcpkg_download_distfile(ARCHIVE_FILE URLS "https://github.com/Microsoft/DXUT/archive/sept2016.tar.gz" @@ -33,7 +31,7 @@ file(INSTALL DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h" ) -file(REMOVE_RECURSE +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/Bin) file(INSTALL diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL index 2d8d6fac9fdc67..1f8e01e57dea6f 100644 --- a/ports/eastl/CONTROL +++ b/ports/eastl/CONTROL @@ -1,4 +1,4 @@ Source: eastl -Version: 3.13.04 +Version: 3.13.04-1 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. + 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/eastl/portfile.cmake b/ports/eastl/portfile.cmake index 0cdcaf318c6058..0b33ded5bf178a 100644 --- a/ports/eastl/portfile.cmake +++ b/ports/eastl/portfile.cmake @@ -1,14 +1,12 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported by EASTL. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/eastl) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO electronicarts/EASTL - REF 3.13.04 + REF 3.13.04 SHA512 4baa3dcf9fceac44f0c515db8bf50b7040afd5091162199c78bf9a1ab13ae19b4e55bb0bafe56da83a7b375ca0c15ba9c19d003de321ec6e40b489b2fe2561d5 HEAD_REF master ) diff --git a/ports/fann/CONTROL b/ports/fann/CONTROL index 84b062a30aabd0..20fc0dde666d0f 100644 --- a/ports/fann/CONTROL +++ b/ports/fann/CONTROL @@ -1,3 +1,3 @@ Source: fann -Version: 2.2.0 -Description: Fast Artificial Neural Network (FANN) Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks. \ No newline at end of file +Version: 2.2.0-1 +Description: Fast Artificial Neural Network (FANN) Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks. diff --git a/ports/fann/portfile.cmake b/ports/fann/portfile.cmake index d18d040e2f8c75..de4af3550c8344 100644 --- a/ports/fann/portfile.cmake +++ b/ports/fann/portfile.cmake @@ -1,53 +1,50 @@ -include(vcpkg_common_functions) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO libfann/fann - REF 2.2.0 - SHA512 b307539a39d93078a489710ac77aa8c6e324f3cf5ef80299ce257d10c043913764abef83aceac5278a5bd243b1ee245b4e8331a9e13c774aa63c9cb604f86bdd - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) -vcpkg_install_cmake() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "FANN does not support static linkage. Building dynamically.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - # Finish Directories - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/fann.dll ${CURRENT_PACKAGES_DIR}/bin/fann.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/doublefann.dll ${CURRENT_PACKAGES_DIR}/bin/doublefann.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/fixedfann.dll ${CURRENT_PACKAGES_DIR}/bin/fixedfann.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/floatfann.dll ${CURRENT_PACKAGES_DIR}/bin/floatfann.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/fann.lib ${CURRENT_PACKAGES_DIR}/lib/fann.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/doublefann.lib ${CURRENT_PACKAGES_DIR}/lib/doublefann.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/fixedfann.lib ${CURRENT_PACKAGES_DIR}/lib/fixedfann.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/floatfann.lib ${CURRENT_PACKAGES_DIR}/lib/floatfann.lib) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/fann.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fann.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/doublefann.dll ${CURRENT_PACKAGES_DIR}/debug/bin/doublefann.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/fixedfann.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fixedfann.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/floatfann.dll ${CURRENT_PACKAGES_DIR}/debug/bin/floatfann.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/fann.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fann.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/doublefann.lib ${CURRENT_PACKAGES_DIR}/debug/lib/doublefann.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/fixedfann.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fixedfann.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/floatfann.lib ${CURRENT_PACKAGES_DIR}/debug/lib/floatfann.lib) - - # Remove useless config file and include path - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -endif() - -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) - -vcpkg_copy_pdbs() \ No newline at end of file +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libfann/fann + REF 2.2.0 + SHA512 b307539a39d93078a489710ac77aa8c6e324f3cf5ef80299ce257d10c043913764abef83aceac5278a5bd243b1ee245b4e8331a9e13c774aa63c9cb604f86bdd + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) +vcpkg_install_cmake() + +if(NOT VCPKG_CMAKE_SYSTEM_NAME) + # Finish Directories + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/fann.dll ${CURRENT_PACKAGES_DIR}/bin/fann.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/doublefann.dll ${CURRENT_PACKAGES_DIR}/bin/doublefann.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/fixedfann.dll ${CURRENT_PACKAGES_DIR}/bin/fixedfann.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/floatfann.dll ${CURRENT_PACKAGES_DIR}/bin/floatfann.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/fann.lib ${CURRENT_PACKAGES_DIR}/lib/fann.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/doublefann.lib ${CURRENT_PACKAGES_DIR}/lib/doublefann.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/fixedfann.lib ${CURRENT_PACKAGES_DIR}/lib/fixedfann.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/floatfann.lib ${CURRENT_PACKAGES_DIR}/lib/floatfann.lib) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/fann.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fann.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/doublefann.dll ${CURRENT_PACKAGES_DIR}/debug/bin/doublefann.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/fixedfann.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fixedfann.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/floatfann.dll ${CURRENT_PACKAGES_DIR}/debug/bin/floatfann.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/fann.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fann.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/doublefann.lib ${CURRENT_PACKAGES_DIR}/debug/lib/doublefann.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/fixedfann.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fixedfann.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/floatfann.lib ${CURRENT_PACKAGES_DIR}/debug/lib/floatfann.lib) + + # Remove useless config file and include path + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) +endif() + +# Handle copyright +file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) + +vcpkg_copy_pdbs() diff --git a/ports/fastlz/CONTROL b/ports/fastlz/CONTROL index 51c95cec828dbe..354b8d5b86e19f 100644 --- a/ports/fastlz/CONTROL +++ b/ports/fastlz/CONTROL @@ -1,3 +1,3 @@ Source: fastlz -Version: 1.0-1 +Version: 1.0-2 Description: A lightning-fast lossless compression library diff --git a/ports/fastlz/portfile.cmake b/ports/fastlz/portfile.cmake index 16a727246c303f..857dd7d0bbdcfc 100644 --- a/ports/fastlz/portfile.cmake +++ b/ports/fastlz/portfile.cmake @@ -1,19 +1,19 @@ -set(FASTLZ_HASH f1217348a868bdb9ee0730244475aee05ab329c5) include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/FastLZ-${FASTLZ_HASH}) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/ariya/FastLZ/archive/${FASTLZ_HASH}.zip" - FILENAME "fastlz-${FASTLZ_HASH}.zip" - SHA512 edfefbf4151e7ea6451a6fbb6d464a2a0f48ab50622f936634ec3ea4542ad3e1f075892a422e0fc5a23f2092be4ec890e6f91c4622bcd0d195fed84d4044d5df + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ariya/FastLZ + REF f1217348a868bdb9ee0730244475aee05ab329c5 + SHA512 444465aa5d830f54b86112cbd0431099d8e1a11d46bd02e1dc5dc0b3d772736624287e6bc328159195197d0d08cb659d39c59c5336ffa432032f3798e04f4440 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) vcpkg_install_cmake() diff --git a/ports/fcl/CONTROL b/ports/fcl/CONTROL index e486cf90a51cfb..58b150645beeb5 100644 --- a/ports/fcl/CONTROL +++ b/ports/fcl/CONTROL @@ -1,4 +1,4 @@ -Source: fcl -Version: 0.5.0-4 -Description: a library for performing three types of proximity queries on a pair of geometric models composed of triangles -Build-Depends: ccd, octomap +Source: fcl +Version: 0.5.0-5 +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 92781872f1e8bd..1bb4e9a154627e 100644 --- a/ports/fcl/portfile.cmake +++ b/ports/fcl/portfile.cmake @@ -1,17 +1,14 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH REPO flexible-collision-library/fcl REF 54e9619bc2b084ee50e986ac3308160d663481c4 SHA512 11bfa3fdeeda6766769a34d2248ca32b6b13ecb32b412c068aa1c7aa3495d55b3f7a82a93621965904f9813c3fd0f128a84f796ae5731d2ff15b85935a0e1261 - HEAD_REF fcl-0.5 -) + HEAD_REF fcl-0.5 +) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/fdk-aac/CMakeLists.txt b/ports/fdk-aac/CMakeLists.txt index 869703c196623f..a7f6c09b2c197a 100644 --- a/ports/fdk-aac/CMakeLists.txt +++ b/ports/fdk-aac/CMakeLists.txt @@ -169,9 +169,6 @@ include_directories( libFDK/include libPCMutils/include ) -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() add_library(fdk-aac ${libfdk_aac_SOURCES}) diff --git a/ports/fdk-aac/CONTROL b/ports/fdk-aac/CONTROL index a298acd1b94c84..5da063ee8ce9ac 100644 --- a/ports/fdk-aac/CONTROL +++ b/ports/fdk-aac/CONTROL @@ -1,3 +1,3 @@ -Source: fdk-aac -Version: 2018-07-08 -Description: A standalone library of the Fraunhofer FDK AAC code +Source: fdk-aac +Version: 2018-07-08-1 +Description: A standalone library of the Fraunhofer FDK AAC code diff --git a/ports/fdk-aac/portfile.cmake b/ports/fdk-aac/portfile.cmake index 04de017daf0de5..000c00b1fb67a8 100644 --- a/ports/fdk-aac/portfile.cmake +++ b/ports/fdk-aac/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mstorsjo/fdk-aac diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL index f9f31863050a9d..c0b505eedac24a 100644 --- a/ports/flatbuffers/CONTROL +++ b/ports/flatbuffers/CONTROL @@ -1,4 +1,4 @@ -Source: flatbuffers -Version: 1.10.0 -Description: Memory Efficient Serialization Library http://google.github.io/flatbuffers/ - 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. +Source: flatbuffers +Version: 1.10.0-1 +Description: Memory Efficient Serialization Library http://google.github.io/flatbuffers/ + 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. diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake index fe7704d8c898d6..e055766b6eae16 100644 --- a/ports/flatbuffers/portfile.cmake +++ b/ports/flatbuffers/portfile.cmake @@ -1,9 +1,7 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("Building DLLs not supported. Building static instead.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/flatbuffers @@ -50,4 +48,3 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bi # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/flatbuffers) file(RENAME ${CURRENT_PACKAGES_DIR}/share/flatbuffers/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/flatbuffers/copyright) - diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index e780db1101e7d4..d93759c4204e8a 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -1,5 +1,5 @@ Source: folly -Version: 2019.01.28.00-1 +Version: 2019.01.28.00-4 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 Default-Features: zlib diff --git a/ports/folly/find-double-conversion.patch b/ports/folly/find-double-conversion.patch new file mode 100644 index 00000000000000..53f49e831db6b7 --- /dev/null +++ b/ports/folly/find-double-conversion.patch @@ -0,0 +1,25 @@ +diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake +index 1522db2..5ed2ea9 100644 +--- a/CMake/folly-deps.cmake ++++ b/CMake/folly-deps.cmake +@@ -17,9 +17,17 @@ find_package(Boost 1.51.0 MODULE + list(APPEND FOLLY_LINK_LIBRARIES ${Boost_LIBRARIES}) + list(APPEND FOLLY_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS}) + +-find_package(DoubleConversion MODULE REQUIRED) +-list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY}) +-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) ++find_package(double-conversion CONFIG REQUIRED) ++if (double-conversion_FOUND) ++ message(STATUS "Found double-conversion from package config") ++ set(FOLLY_HAVE_DOUBLE_CONVERSION ON) ++ # How to obtain link libraries from target? double-conversion doesn't set property INTERFACE_LINK_LIBRARIES ++ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) ++else() ++ find_package(DoubleConversion MODULE) ++ list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY}) ++ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) ++endif() + + set(FOLLY_HAVE_LIBGFLAGS OFF) + find_package(gflags CONFIG REQUIRED) diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index 3c695cc99e100e..63ba3c8d813c51 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -1,13 +1,10 @@ +include(vcpkg_common_functions) + if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL x64) message(FATAL_ERROR "Folly only supports the x64 architecture.") endif() -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - -include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Required to run build/generate_escape_tables.py et al. vcpkg_find_acquire_program(PYTHON3) @@ -23,6 +20,7 @@ vcpkg_from_github( PATCHES find-gflags.patch no-werror.patch + # find-double-conversion.patch ) file(COPY @@ -80,14 +78,10 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/folly) # We substitute with generator expressions so that the right libraries are linked for debug and release. set(FOLLY_TARGETS_CMAKE "${CURRENT_PACKAGES_DIR}/share/folly/folly-targets.cmake") FILE(READ ${FOLLY_TARGETS_CMAKE} _contents) -STRING(REPLACE -[[ -"Threads::Threads;Iphlpapi.lib;Ws2_32.lib;\$<\$>:${_IMPORT_PREFIX}/lib/boost_context-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_context-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_chrono-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_chrono-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_date_time-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_date_time-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_filesystem-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_filesystem-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_program_options-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_program_options-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_regex-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_regex-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_system-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_system-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_thread-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_thread-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_atomic-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_atomic-vc140-mt-gd.lib>;${_IMPORT_PREFIX}/lib/double-conversion.lib;${_IMPORT_PREFIX}/lib/ssleay32.lib;${_IMPORT_PREFIX}/lib/libeay32.lib;\$<\$>:${_IMPORT_PREFIX}/lib/zlib.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/zlibd.lib>;gflags;glog::glog;event" -]] -[[ -"Threads::Threads;Iphlpapi.lib;Ws2_32.lib;\$<\$>:${_IMPORT_PREFIX}/lib/boost_context-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_context-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_chrono-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_chrono-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_date_time-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_date_time-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_filesystem-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_filesystem-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_program_options-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_program_options-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_regex-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_regex-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_system-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_system-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_thread-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_thread-vc140-mt-gd.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/boost_atomic-vc140-mt.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/boost_atomic-vc140-mt-gd.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/double-conversion.lib>;\$<\$>:${_IMPORT_PREFIX}/lib/double-conversion.lib>;${_IMPORT_PREFIX}/lib/ssleay32.lib;${_IMPORT_PREFIX}/lib/libeay32.lib;\$<\$>:${_IMPORT_PREFIX}/lib/zlib.lib>;\$<\$:${_IMPORT_PREFIX}/debug/lib/zlibd.lib>;gflags;glog::glog;event" -]] - _contents "${_contents}") +string(REPLACE "\${_IMPORT_PREFIX}/lib/zlib.lib" "ZLIB::ZLIB" _contents "${_contents}") +string(REPLACE "\${_IMPORT_PREFIX}/lib/ssleay32.lib;\${_IMPORT_PREFIX}/lib/libeay32.lib" "ZLIB::ZLIB" _contents "${_contents}") +string(REPLACE "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/\$<\$:debug/>lib/" _contents "${_contents}") +string(REPLACE "-vc140-mt.lib" "-vc140-mt\$<\$:-gd>.lib" _contents "${_contents}") FILE(WRITE ${FOLLY_TARGETS_CMAKE} "${_contents}") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/freetype-gl/CONTROL b/ports/freetype-gl/CONTROL index 18a2f9956c2a02..c76ba3681e6c87 100644 --- a/ports/freetype-gl/CONTROL +++ b/ports/freetype-gl/CONTROL @@ -1,4 +1,4 @@ Source: freetype-gl -Version: 2019-03-29 +Version: 2019-03-29-1 Description: OpenGL text using one vertex buffer, one texture and FreeType Build-Depends: glew, freetype diff --git a/ports/freetype-gl/portfile.cmake b/ports/freetype-gl/portfile.cmake index 761ad88cd91dad..c23a21da9d895d 100644 --- a/ports/freetype-gl/portfile.cmake +++ b/ports/freetype-gl/portfile.cmake @@ -1,10 +1,7 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rougier/freetype-gl diff --git a/ports/gamma/CMakeLists.txt b/ports/gamma/CMakeLists.txt index 6bb48f193ada42..1f1581ba1c236b 100644 --- a/ports/gamma/CMakeLists.txt +++ b/ports/gamma/CMakeLists.txt @@ -8,8 +8,6 @@ find_library(LIBSNDFILE_LIB NAMES libsndfile-1 libsndfile) find_path(PORTAUDIO_H portaudio.h) find_library(PORTAUDIO_LIB NAMES portaudio) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - set(SOURCEFILES src/arr.cpp src/AudioIO.cpp diff --git a/ports/gamma/CONTROL b/ports/gamma/CONTROL index b70639ea686a73..7e9a41e99048ba 100644 --- a/ports/gamma/CONTROL +++ b/ports/gamma/CONTROL @@ -1,4 +1,4 @@ Source: gamma -Version: gamma-2018-01-27 +Version: gamma-2018-01-27-1 Build-Depends: libsndfile, portaudio Description: Gamma is a cross-platform, C++ library for doing generic synthesis and filtering of signals. It is oriented towards real-time sound and graphics applications, but is equally useful for non-real-time tasks. Gamma is designed to be "light-footed" in terms of memory and processing making it highly suitable for plug-in development or embedding in other C++ projects. diff --git a/ports/gamma/portfile.cmake b/ports/gamma/portfile.cmake index 139e6a48a061fb..a96a32d3ced885 100644 --- a/ports/gamma/portfile.cmake +++ b/ports/gamma/portfile.cmake @@ -1,16 +1,16 @@ -# Instead of official release, base on commit hash for now. -set(GAMMA_RELEASE_TAG "cc442ad0c5da369966cd937a96925c7b9a04e9e5") - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/Gamma-${GAMMA_RELEASE_TAG}) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +set(GAMMA_RELEASE_TAG "cc442ad0c5da369966cd937a96925c7b9a04e9e5") -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/LancePutnam/Gamma/archive/cc442ad0c5da369966cd937a96925c7b9a04e9e5.zip" - FILENAME "gamma-${GAMMA_RELEASE_TAG}.zip" - SHA512 de44f4d07db0b2cf09e77508d993273d09788dfa919d549393bb77534922b65e9d8a1b8193b4b02c72e6bc4dd060b41b18ff3520a36d4c28f6e2fb4b1e859ee7 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "LancePutnam/Gamma" + REF ${GAMMA_RELEASE_TAG} + SHA512 431f17f053ca1c5ba0117b7ae7af8efae9df454593437de00dfea8ee04991b5701bee99d79deb074e60e397981a7fc1ce3476ec118d0f369e71e2cbaa696383d + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL index 876a26f24e1931..d5b84019fd868e 100644 --- a/ports/gdal/CONTROL +++ b/ports/gdal/CONTROL @@ -1,5 +1,5 @@ Source: gdal -Version: 2.4.1 +Version: 2.4.1-1 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 diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 15bd2a3bb65080..f6e2c9008cad41 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -1,6 +1,8 @@ # vcpkg portfile.cmake for GDAL # # NOTE: update the version and checksum for new GDAL release +include(vcpkg_common_functions) + set(GDAL_VERSION_STR "2.4.1") set(GDAL_VERSION_PKG "241") set(GDAL_VERSION_LIB "204") @@ -10,12 +12,6 @@ if (TRIPLET_SYSTEM_ARCH MATCHES "arm") message(FATAL_ERROR "ARM is currently not supported.") endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND NMAKE_OPTIONS "DLLBUILD=0") -endif() - -include(vcpkg_common_functions) - vcpkg_download_distfile(ARCHIVE URLS "http://download.osgeo.org/gdal/${GDAL_VERSION_STR}/gdal${GDAL_VERSION_PKG}.zip" FILENAME "gdal${GDAL_VERSION_PKG}.zip" diff --git a/ports/gdk-pixbuf/CONTROL b/ports/gdk-pixbuf/CONTROL index 2a0fbfaf302106..7d485d95b38fb2 100644 --- a/ports/gdk-pixbuf/CONTROL +++ b/ports/gdk-pixbuf/CONTROL @@ -1,4 +1,4 @@ -Source: gdk-pixbuf -Version: 2.36.9-1 -Description: Image loading library. -Build-Depends: gettext, zlib, libpng, glib +Source: gdk-pixbuf +Version: 2.36.9-2 +Description: Image loading library. +Build-Depends: gettext, zlib, libpng, glib diff --git a/ports/gdk-pixbuf/portfile.cmake b/ports/gdk-pixbuf/portfile.cmake index 72469abffce48d..06f06cb5dfe999 100644 --- a/ports/gdk-pixbuf/portfile.cmake +++ b/ports/gdk-pixbuf/portfile.cmake @@ -1,11 +1,9 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building not supported. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) set(GDK_PIXBUF_VERSION 2.36) set(GDK_PIXBUF_PATCH 9) -include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/${GDK_PIXBUF_VERSION}/gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}.tar.xz" diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL index 7d5b3857bcc044..37e2d1e91b084a 100644 --- a/ports/glib/CONTROL +++ b/ports/glib/CONTROL @@ -1,4 +1,4 @@ Source: glib -Version: 2.52.3-13 +Version: 2.52.3-13-1 Description: Portable, general-purpose utility library. Build-Depends: zlib, pcre, libffi, gettext, libiconv diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake index b1ffc863d75995..da220d0677e27e 100644 --- a/ports/glib/portfile.cmake +++ b/ports/glib/portfile.cmake @@ -1,20 +1,15 @@ - # Glib uses winapi functions not available in WindowsStore +include(vcpkg_common_functions) + +# Glib uses winapi functions not available in WindowsStore if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() # Glib relies on DllMain on Windows -if(NOT VCPKG_CMAKE_SYSTEM_NAME) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message("Glib relies on DllMain and therefore cannot be built statically") - set(VCPKG_LIBRARY_LINKAGE "dynamic") - endif() - if(VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "Glib only supports dynamic library and crt linkage") - endif() +if (NOT VCPKG_CMAKE_SYSTEM_NAME) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) endif() -include(vcpkg_common_functions) set(GLIB_VERSION 2.52.3) vcpkg_download_distfile(ARCHIVE URLS "https://ftp.gnome.org/pub/gnome/sources/glib/2.52/glib-${GLIB_VERSION}.tar.xz" @@ -53,4 +48,3 @@ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/glib) file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/glib) file(RENAME ${CURRENT_PACKAGES_DIR}/share/glib/COPYING ${CURRENT_PACKAGES_DIR}/share/glib/copyright) - diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index 9f016578658ced..8e7f8f0fe394c5 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -40,8 +40,6 @@ if(APPLE) link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY}) endif() -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) - if(BUILD_SHARED_LIBS) add_definitions(-DGLIBMM_DLL -DGIOMM_DLL) else() diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL index a7ccbe937682a8..efef52d3fb94e1 100644 --- a/ports/glibmm/CONTROL +++ b/ports/glibmm/CONTROL @@ -1,4 +1,4 @@ -Source: glibmm -Version: 2.52.1-7 -Description: This is glibmm, a C++ API for parts of glib that are useful for C++. See http://www.gtkmm.org. -Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp +Source: glibmm +Version: 2.52.1-8 +Description: This is glibmm, a C++ API for parts of glib that are useful for C++. See http://www.gtkmm.org. +Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index 792bf3ddedef61..40eee279c3fbff 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -1,9 +1,12 @@ # Glib uses winapi functions not available in WindowsStore, so glibmm also +include(vcpkg_common_functions) + if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() -include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glibmm-2.52.1) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.52/glibmm-2.52.1.tar.xz" diff --git a/ports/gtkmm/CONTROL b/ports/gtkmm/CONTROL index a0812ef6705fd8..36bcea3f734818 100644 --- a/ports/gtkmm/CONTROL +++ b/ports/gtkmm/CONTROL @@ -1,4 +1,4 @@ Source: gtkmm -Version: 3.22.2 +Version: 3.22.2-1 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/gtkmm/portfile.cmake b/ports/gtkmm/portfile.cmake index 707e64a9b55c7d..d3fc01bb75082e 100644 --- a/ports/gtkmm/portfile.cmake +++ b/ports/gtkmm/portfile.cmake @@ -4,13 +4,10 @@ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() -# Glibmm relies on DllMain, so gtkmm also -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) -message(STATUS "Warning: Static building not supported. Building dynamic.") -set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gtkmm-3.22.2) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/gtkmm/3.22/gtkmm-3.22.2.tar.xz" diff --git a/ports/gts/CONTROL b/ports/gts/CONTROL index faa40961947d11..0aa1251e4c007d 100644 --- a/ports/gts/CONTROL +++ b/ports/gts/CONTROL @@ -1,4 +1,4 @@ -Source: gts -Version: 0.7.6 -Description: A Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles -Build-Depends: glib +Source: gts +Version: 0.7.6-1 +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/gts/portfile.cmake b/ports/gts/portfile.cmake index 14a5e2bfa84ad0..71a62e756a2eae 100644 --- a/ports/gts/portfile.cmake +++ b/ports/gts/portfile.cmake @@ -1,13 +1,7 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message("gts does not support building statically -- building dynamically instead") - set(VCPKG_LIBRARY_LINKAGE "dynamic") -endif() +include(vcpkg_common_functions) -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message("gts can only be built dynamically, and therefore cannot static link the CRT") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO finetjul/gts diff --git a/ports/guetzli/CMakeLists.txt b/ports/guetzli/CMakeLists.txt index 5d594aabdd139b..d24b2326dccbc0 100644 --- a/ports/guetzli/CMakeLists.txt +++ b/ports/guetzli/CMakeLists.txt @@ -5,10 +5,6 @@ if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX) endif() -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - find_path(butteraugli_include butteraugli/butteraugli.h) find_library(butteraugli_library NAMES butteraugli_lib) find_package(PNG REQUIRED) diff --git a/ports/guetzli/CONTROL b/ports/guetzli/CONTROL index 1bbfbe4446cea9..b68d013208aa1d 100644 --- a/ports/guetzli/CONTROL +++ b/ports/guetzli/CONTROL @@ -1,4 +1,4 @@ -Source: guetzli -Version: 2018-07-30 -Description: Perceptual JPEG encoder -Build-Depends: libpng, butteraugli +Source: guetzli +Version: 2018-07-30-1 +Description: Perceptual JPEG encoder +Build-Depends: libpng, butteraugli diff --git a/ports/guetzli/portfile.cmake b/ports/guetzli/portfile.cmake index cb5a4468795418..248433e56a0b5a 100644 --- a/ports/guetzli/portfile.cmake +++ b/ports/guetzli/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/guetzli diff --git a/ports/gumbo/CONTROL b/ports/gumbo/CONTROL index 82c41213e4a8c9..6889b526d32ba9 100644 --- a/ports/gumbo/CONTROL +++ b/ports/gumbo/CONTROL @@ -1,3 +1,3 @@ -Source: gumbo -Version: 0.10.1-2 -Description: An HTML5 parsing library in pure C99 +Source: gumbo +Version: 0.10.1-3 +Description: An HTML5 parsing library in pure C99 diff --git a/ports/gumbo/portfile.cmake b/ports/gumbo/portfile.cmake index a09ac861921f2f..715decc2339cc0 100644 --- a/ports/gumbo/portfile.cmake +++ b/ports/gumbo/portfile.cmake @@ -1,8 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Dynamic linking not supported -- building static instead") - set(VCPKG_LIBRARY_LINKAGE static) -endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/halide/CONTROL b/ports/halide/CONTROL index 5539ebd3296454..4418e56de58c68 100644 --- a/ports/halide/CONTROL +++ b/ports/halide/CONTROL @@ -1,3 +1,3 @@ -Source: halide -Version: release_2018_02_15 -Description: Halide is a programming language designed to make it easier to write high-performance image processing code on modern machines. +Source: halide +Version: release_2018_02_15-1 +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/halide/portfile.cmake b/ports/halide/portfile.cmake index 16972351801bfb..6c6e6fe9dbb684 100644 --- a/ports/halide/portfile.cmake +++ b/ports/halide/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(STATUS "Warning: Static building not supported yet. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(TARGET_ARCHITECTURE 32) diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL index 229d659e76c9e0..6ec2cea9b45a4c 100644 --- a/ports/hdf5/CONTROL +++ b/ports/hdf5/CONTROL @@ -1,11 +1,11 @@ -Source: hdf5 -Version: 1.10.5-4 -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-5 +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 eef2411639bbfb..cb1541fedbfb7d 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -41,7 +41,6 @@ vcpkg_configure_cmake( -DBUILD_TESTING=OFF -DHDF5_BUILD_EXAMPLES=OFF -DHDF5_BUILD_TOOLS=OFF - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DHDF5_BUILD_CPP_LIB=${ENABLE_CPP} -DHDF5_ENABLE_PARALLEL=${ENABLE_PARALLEL} -DHDF5_ENABLE_Z_LIB_SUPPORT=ON diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL index e99f115ae4cdcd..d77e210b645101 100644 --- a/ports/hpx/CONTROL +++ b/ports/hpx/CONTROL @@ -1,5 +1,5 @@ Source: hpx -Version: 1.2.1-0 +Version: 1.2.1-1 Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-atomic, 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-regex, boost-signals2, boost-smart-ptr, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi -Description: The C++ Standards Library for Concurrency and Parallelism +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/hpx/portfile.cmake b/ports/hpx/portfile.cmake index 2955905ce25ecd..3e687e50d73c19 100644 --- a/ports/hpx/portfile.cmake +++ b/ports/hpx/portfile.cmake @@ -1,90 +1,87 @@ -include(vcpkg_common_functions) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building of HPX not supported yet. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO STEllAR-GROUP/hpx - REF 1.2.1 - SHA512 46e9e36cbd9bec935b2a1efce8167c641de88aca8e4dd9c2e3269a1d82ab2965812b5483b6dff4465634f454757b19ad4f73ddcc5ddd73d6efbf28d0819f7dc7 - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - "-DBOOST_ROOT=${CURRENT_INSTALLED_DIR}/share/boost" - "-DHWLOC_ROOT=${CURRENT_INSTALLED_DIR}/share/hwloc" - -DHPX_WITH_VCPKG=ON - -DHPX_WITH_TESTS=OFF - -DHPX_WITH_EXAMPLES=OFF - -DHPX_WITH_TOOLS=OFF - -DHPX_WITH_RUNTIME=OFF -) - -vcpkg_install_cmake() - -# post build cleanup -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/HPX) - -file(GLOB_RECURSE CMAKE_FILES "${CURRENT_PACKAGES_DIR}/share/hpx/*.cmake") -foreach(CMAKE_FILE IN LISTS CMAKE_FILES) - file(READ ${CMAKE_FILE} _contents) - string(REGEX REPLACE - "lib/([A-Za-z0-9_.-]+\\.dll)" - "bin/\\1" - _contents "${_contents}") - string(REGEX REPLACE - "lib/hpx/([A-Za-z0-9_.-]+\\.dll)" - "bin/hpx/\\1" - _contents "${_contents}") - file(WRITE ${CMAKE_FILE} "${_contents}") -endforeach() - -file(READ "${CURRENT_PACKAGES_DIR}/share/hpx/HPXMacros.cmake" _contents) -string(REPLACE "set(CMAKE_MODULE_PATH \${CMAKE_MODULE_PATH} \"\${CMAKE_CURRENT_LIST_DIR}/../../lib/cmake/HPX\")" "list(APPEND CMAKE_MODULE_PATH \"\${CMAKE_CURRENT_LIST_DIR}\")" _contents "${_contents}") -file(WRITE "${CURRENT_PACKAGES_DIR}/share/hpx/HPXMacros.cmake" "${_contents}") - -file(INSTALL - ${SOURCE_PATH}/LICENSE_1_0.txt - DESTINATION ${CURRENT_PACKAGES_DIR}/share/hpx RENAME copyright) - -file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/lib/*.dll) -if(DLLS) - file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE ${DLLS}) -endif() - -file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/lib/hpx/*.dll) -if(DLLS) - file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin/hpx) - file(REMOVE ${DLLS}) -endif() - -file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) -if(DLLS) - file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${DLLS}) -endif() - -file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/hpx/*.dll) -if(DLLS) - file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/hpx) - file(REMOVE ${DLLS}) -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/bazel) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/bazel) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) - -vcpkg_copy_pdbs() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO STEllAR-GROUP/hpx + REF 1.2.1 + SHA512 46e9e36cbd9bec935b2a1efce8167c641de88aca8e4dd9c2e3269a1d82ab2965812b5483b6dff4465634f454757b19ad4f73ddcc5ddd73d6efbf28d0819f7dc7 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + "-DBOOST_ROOT=${CURRENT_INSTALLED_DIR}/share/boost" + "-DHWLOC_ROOT=${CURRENT_INSTALLED_DIR}/share/hwloc" + -DHPX_WITH_VCPKG=ON + -DHPX_WITH_TESTS=OFF + -DHPX_WITH_EXAMPLES=OFF + -DHPX_WITH_TOOLS=OFF + -DHPX_WITH_RUNTIME=OFF +) + +vcpkg_install_cmake() + +# post build cleanup +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/HPX) + +file(GLOB_RECURSE CMAKE_FILES "${CURRENT_PACKAGES_DIR}/share/hpx/*.cmake") +foreach(CMAKE_FILE IN LISTS CMAKE_FILES) + file(READ ${CMAKE_FILE} _contents) + string(REGEX REPLACE + "lib/([A-Za-z0-9_.-]+\\.dll)" + "bin/\\1" + _contents "${_contents}") + string(REGEX REPLACE + "lib/hpx/([A-Za-z0-9_.-]+\\.dll)" + "bin/hpx/\\1" + _contents "${_contents}") + file(WRITE ${CMAKE_FILE} "${_contents}") +endforeach() + +file(READ "${CURRENT_PACKAGES_DIR}/share/hpx/HPXMacros.cmake" _contents) +string(REPLACE "set(CMAKE_MODULE_PATH \${CMAKE_MODULE_PATH} \"\${CMAKE_CURRENT_LIST_DIR}/../../lib/cmake/HPX\")" "list(APPEND CMAKE_MODULE_PATH \"\${CMAKE_CURRENT_LIST_DIR}\")" _contents "${_contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/hpx/HPXMacros.cmake" "${_contents}") + +file(INSTALL + ${SOURCE_PATH}/LICENSE_1_0.txt + DESTINATION ${CURRENT_PACKAGES_DIR}/share/hpx RENAME copyright) + +file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/lib/*.dll) +if(DLLS) + file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${DLLS}) +endif() + +file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/lib/hpx/*.dll) +if(DLLS) + file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin/hpx) + file(REMOVE ${DLLS}) +endif() + +file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) +if(DLLS) + file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${DLLS}) +endif() + +file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/hpx/*.dll) +if(DLLS) + file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/hpx) + file(REMOVE ${DLLS}) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/bazel) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/bazel) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) + +vcpkg_copy_pdbs() diff --git a/ports/http-parser/CMakeLists.txt b/ports/http-parser/CMakeLists.txt index 284c8e9033f610..cf3961cb7f46d0 100644 --- a/ports/http-parser/CMakeLists.txt +++ b/ports/http-parser/CMakeLists.txt @@ -1,10 +1,6 @@ cmake_minimum_required(VERSION 3.4) project(http-parser C) -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - if(CMAKE_BUILD_TYPE MATCHES "Release") add_definitions(-DHTTP_PARSER_STRICT=0) endif() diff --git a/ports/http-parser/CONTROL b/ports/http-parser/CONTROL index c50a5384972eee..da02d8dc1cee61 100644 --- a/ports/http-parser/CONTROL +++ b/ports/http-parser/CONTROL @@ -1,3 +1,3 @@ -Source: http-parser -Version: 2.9.0 -Description: HTTP Parser. \ No newline at end of file +Source: http-parser +Version: 2.9.0-1 +Description: HTTP Parser. diff --git a/ports/http-parser/portfile.cmake b/ports/http-parser/portfile.cmake index 5e99297892934d..e65980b6e8c66f 100644 --- a/ports/http-parser/portfile.cmake +++ b/ports/http-parser/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nodejs/http-parser diff --git a/ports/imgui/CMakeLists.txt b/ports/imgui/CMakeLists.txt index 1b4fc86e501e73..4a2ce76280e8a5 100644 --- a/ports/imgui/CMakeLists.txt +++ b/ports/imgui/CMakeLists.txt @@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.8) project(imgui CXX) set(CMAKE_DEBUG_POSTFIX d) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) set(IMGUI_INCLUDES_PUBLIC imgui.h diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL index b9d4c261e61588..6d143cb48d04e5 100644 --- a/ports/imgui/CONTROL +++ b/ports/imgui/CONTROL @@ -1,3 +1,3 @@ Source: imgui -Version: 1.69 +Version: 1.69-1 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 bd7d5eda3ce98d..8365f1902ed7c7 100644 --- a/ports/imgui/portfile.cmake +++ b/ports/imgui/portfile.cmake @@ -1,12 +1,6 @@ include(vcpkg_common_functions) -if (TARGET_TRIPLET MATCHES "^x(86|64)-windows$" AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "\ -The author of imgui strongly advises users of this lib against using a DLL. \ -For more details, please visit: \ -https://github.com/Microsoft/vcpkg/issues/5110" - ) -endif () +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/inih/CONTROL b/ports/inih/CONTROL index ac3051c8290225..a93e47dd2be9b2 100644 --- a/ports/inih/CONTROL +++ b/ports/inih/CONTROL @@ -1,3 +1,3 @@ -Source: inih -Version: 42 -Description: Simple .INI file parser +Source: inih +Version: 42-1 +Description: Simple .INI file parser diff --git a/ports/inih/portfile.cmake b/ports/inih/portfile.cmake index 1d705977fc12ba..549c7fbe4e47ce 100644 --- a/ports/inih/portfile.cmake +++ b/ports/inih/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO benhoyt/inih @@ -13,8 +15,6 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) vcpkg_install_cmake() diff --git a/ports/ismrmrd/CONTROL b/ports/ismrmrd/CONTROL index 77d6e2e8d311a4..395a5d33178531 100644 --- a/ports/ismrmrd/CONTROL +++ b/ports/ismrmrd/CONTROL @@ -1,8 +1,8 @@ Source: ismrmrd -Version: 1.3.2-3 +Version: 1.3.2-4 Description: ISMRM Raw Data Format Build-Depends: pugixml Feature: dataset Description: Dataset and file support -Build-Depends: hdf5 \ No newline at end of file +Build-Depends: hdf5 diff --git a/ports/ismrmrd/portfile.cmake b/ports/ismrmrd/portfile.cmake index 7bc30d0280ea8f..af4b05f7dbf998 100644 --- a/ports/ismrmrd/portfile.cmake +++ b/ports/ismrmrd/portfile.cmake @@ -1,58 +1,56 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "ismrmrd only supports dynamic library and crt linkage") -endif() - -include(vcpkg_common_functions) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ismrmrd/ismrmrd - REF v1.3.2 - SHA512 eb806f71c4b183105b3270d658a68195e009c0f7ca37f54f76d650a4d5c83c44d26b5f12a4c47c608aae9990cd04f1204b0c57e6438ca34a271fd54880133106 - HEAD_REF master - PATCHES - # Makes optional hdf5 dependency explicit - optional_hdf5_dependency.patch -) - -if ("dataset" IN_LIST FEATURES) - set(ENABLE_DATASET ON) -else() - set(ENABLE_DATASET OFF) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DUSE_SYSTEM_PUGIXML=ON - -DUSE_HDF5_DATASET_SUPPORT=${ENABLE_DATASET} -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/ismrmrd/cmake) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll) - file(COPY ${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll) -endif() - -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/ismrmrd.dll) - file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/ismrmrd.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/ismrmrd.dll) -endif() - -file(COPY ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/ismrmrd) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_info.exe) - -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) - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/ismrmrd) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ismrmrd/ismrmrd + REF v1.3.2 + SHA512 eb806f71c4b183105b3270d658a68195e009c0f7ca37f54f76d650a4d5c83c44d26b5f12a4c47c608aae9990cd04f1204b0c57e6438ca34a271fd54880133106 + HEAD_REF master + PATCHES + # Makes optional hdf5 dependency explicit + optional_hdf5_dependency.patch +) + +if ("dataset" IN_LIST FEATURES) + set(ENABLE_DATASET ON) +else() + set(ENABLE_DATASET OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DUSE_SYSTEM_PUGIXML=ON + -DUSE_HDF5_DATASET_SUPPORT=${ENABLE_DATASET} +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/ismrmrd/cmake) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll) + file(COPY ${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll) +endif() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/ismrmrd.dll) + file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/ismrmrd.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/ismrmrd.dll) +endif() + +file(COPY ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/ismrmrd) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_info.exe) + +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) + +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/ismrmrd) diff --git a/ports/itk/CONTROL b/ports/itk/CONTROL index 79df1234e69738..5c9d2588191c5d 100644 --- a/ports/itk/CONTROL +++ b/ports/itk/CONTROL @@ -1,8 +1,8 @@ -Source: itk -Version: 4.13.0-906736bd -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] - -Feature: vtk -Description: Build ITKVtkGlue module. -Build-Depends: vtk +Source: itk +Version: 4.13.0-906736bd-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] + +Feature: vtk +Description: Build ITKVtkGlue module. +Build-Depends: vtk diff --git a/ports/itk/portfile.cmake b/ports/itk/portfile.cmake index 77a62ac2ace851..7339de39dd9354 100644 --- a/ports/itk/portfile.cmake +++ b/ports/itk/portfile.cmake @@ -50,7 +50,7 @@ vcpkg_configure_cmake( -DITK_SKIP_PATH_LENGTH_CHECKS=ON - # I havn't tried Python wrapping in vcpkg + # I haven't tried Python wrapping in vcpkg #-DITK_WRAP_PYTHON=ON #-DITK_PYTHON_VERSION=3 diff --git a/ports/jack2/CONTROL b/ports/jack2/CONTROL index b997017979f944..e011b2711497be 100644 --- a/ports/jack2/CONTROL +++ b/ports/jack2/CONTROL @@ -1,4 +1,4 @@ -Source: jack2 -Version: 1.9.12 -Description: Cross-platform API that enables device sharing and inter-application audio routing - +Source: jack2 +Version: 1.9.12-1 +Description: Cross-platform API that enables device sharing and inter-application audio routing + diff --git a/ports/jack2/portfile.cmake b/ports/jack2/portfile.cmake index a82f1be62dfce7..f7109aafdc6d04 100644 --- a/ports/jack2/portfile.cmake +++ b/ports/jack2/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/jbigkit/CMakeLists.txt b/ports/jbigkit/CMakeLists.txt index 79bb11a2ba4e97..2b82410b67a618 100644 --- a/ports/jbigkit/CMakeLists.txt +++ b/ports/jbigkit/CMakeLists.txt @@ -1,8 +1,6 @@ cmake_minimum_required(VERSION 3.4) project(libjbig C) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - set(SOURCES "libjbig/jbig.c" "libjbig/jbig_ar.c" diff --git a/ports/jbigkit/CONTROL b/ports/jbigkit/CONTROL index f0a7cc426b4d19..f6c5e65ca489f3 100644 --- a/ports/jbigkit/CONTROL +++ b/ports/jbigkit/CONTROL @@ -1,3 +1,3 @@ -Source: jbigkit -Version: 2.1-1 -Description: A software implementation of the JBIG1 data compression standard (ITU-T T.82) +Source: jbigkit +Version: 2.1-2 +Description: A software implementation of the JBIG1 data compression standard (ITU-T T.82) diff --git a/ports/jbigkit/portfile.cmake b/ports/jbigkit/portfile.cmake index 5781de29b2587a..16b37eb2970af4 100644 --- a/ports/jbigkit/portfile.cmake +++ b/ports/jbigkit/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(JBIGKIT_VERSION 2.1) set(JBIGKIT_HASH c4127480470ef90db1ef3bd2caa444df10b50ed8df0bc9997db7612cb48b49278baf44965028f1807a21028eb965d677e015466306b44683c4ec75a23e1922cf) @@ -24,4 +26,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/jbigkit) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/jbigkit/COPYING ${CURRENT_PACKAGES_DIR}/share/jbigkit/copyright) \ No newline at end of file +file(RENAME ${CURRENT_PACKAGES_DIR}/share/jbigkit/COPYING ${CURRENT_PACKAGES_DIR}/share/jbigkit/copyright) diff --git a/ports/jemalloc/CONTROL b/ports/jemalloc/CONTROL index 7f6fa5ae23f240..19d4fbcc078f21 100644 --- a/ports/jemalloc/CONTROL +++ b/ports/jemalloc/CONTROL @@ -1,4 +1,4 @@ -Source: jemalloc -Version: 4.3.1-3 -Description: jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support -Build-Depends: +Source: jemalloc +Version: 4.3.1-4 +Description: jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support +Build-Depends: diff --git a/ports/jemalloc/portfile.cmake b/ports/jemalloc/portfile.cmake index 3b99f21f5fd646..49e89b8d0355f8 100644 --- a/ports/jemalloc/portfile.cmake +++ b/ports/jemalloc/portfile.cmake @@ -1,10 +1,7 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building not supported yet. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jemalloc/jemalloc-cmake diff --git a/ports/json11/CONTROL b/ports/json11/CONTROL index 3145a079a5d620..d624f9e7be24e8 100644 --- a/ports/json11/CONTROL +++ b/ports/json11/CONTROL @@ -1,3 +1,3 @@ -Source: json11 -Version: 2017-06-20 -Description: json11 is a tiny JSON library for C++11, providing JSON parsing and serialization. +Source: json11 +Version: 2017-06-20-1 +Description: json11 is a tiny JSON library for C++11, providing JSON parsing and serialization. diff --git a/ports/json11/portfile.cmake b/ports/json11/portfile.cmake index 533c0457c77d26..f6592693a2f033 100644 --- a/ports/json11/portfile.cmake +++ b/ports/json11/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dropbox/json11 @@ -7,11 +10,6 @@ vcpkg_from_github( HEAD_REF master ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/jsoncpp/CONTROL b/ports/jsoncpp/CONTROL index 8fdfe14da69c44..4c7084d8e80684 100644 --- a/ports/jsoncpp/CONTROL +++ b/ports/jsoncpp/CONTROL @@ -1,3 +1,3 @@ -Source: jsoncpp -Version: 1.8.4 -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. +Source: jsoncpp +Version: 1.8.4-1 +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/jsoncpp/portfile.cmake b/ports/jsoncpp/portfile.cmake index f1badbd1e24a5b..f04620fd53916b 100644 --- a/ports/jsoncpp/portfile.cmake +++ b/ports/jsoncpp/portfile.cmake @@ -21,7 +21,6 @@ vcpkg_configure_cmake( DISABLE_PARALLEL_CONFIGURE OPTIONS -DJSONCPP_WITH_CMAKE_PACKAGE:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=${JSONCPP_STATIC} - -DBUILD_SHARED_LIBS:BOOL=${JSONCPP_DYNAMIC} -DJSONCPP_WITH_PKGCONFIG_SUPPORT:BOOL=OFF -DJSONCPP_WITH_TESTS:BOOL=OFF ) diff --git a/ports/jsonnet/CMakeLists.txt b/ports/jsonnet/CMakeLists.txt index 4f749e5b8355f3..5056191c1eca4b 100644 --- a/ports/jsonnet/CMakeLists.txt +++ b/ports/jsonnet/CMakeLists.txt @@ -5,10 +5,6 @@ if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) endif() -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - set( jsonnet_sources core/desugarer.cpp core/formatter.cpp diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL index 49618f59eb2607..22906cdfb6f7be 100644 --- a/ports/jsonnet/CONTROL +++ b/ports/jsonnet/CONTROL @@ -1,3 +1,3 @@ -Source: jsonnet -Version: 2018-11-01-2 -Description: Jsonnet - The data templating language +Source: jsonnet +Version: 2018-11-01-3 +Description: Jsonnet - The data templating language diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake index ee3c438902a232..4ae28a70df1c3d 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/jsonnet diff --git a/ports/jxrlib/CONTROL b/ports/jxrlib/CONTROL index 2d3fa4ac458d09..2f8ba2aaf7200a 100644 --- a/ports/jxrlib/CONTROL +++ b/ports/jxrlib/CONTROL @@ -1,3 +1,3 @@ -Source: jxrlib -Version: 1.1-5 -Description: Open source implementation of the jpegxr image format standard. +Source: jxrlib +Version: 1.1-6 +Description: Open source implementation of the jpegxr image format standard. diff --git a/ports/jxrlib/portfile.cmake b/ports/jxrlib/portfile.cmake index 01780c78e64ee9..49869b43fe4697 100644 --- a/ports/jxrlib/portfile.cmake +++ b/ports/jxrlib/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) vcpkg_from_github( @@ -19,7 +22,6 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS:BOOL=ON ) vcpkg_install_cmake() diff --git a/ports/leveldb/CONTROL b/ports/leveldb/CONTROL index 515d7dfeaae8d2..5f95fda4b7f734 100644 --- a/ports/leveldb/CONTROL +++ b/ports/leveldb/CONTROL @@ -1,3 +1,3 @@ Source: leveldb -Version: 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-2 +Version: 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-3 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/portfile.cmake b/ports/leveldb/portfile.cmake index 9d6892977ca063..6a2555e5c9353b 100644 --- a/ports/leveldb/portfile.cmake +++ b/ports/leveldb/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/libaiff/CMakeLists.txt b/ports/libaiff/CMakeLists.txt index 9dcfd46d2c726b..db531b5c09e060 100644 --- a/ports/libaiff/CMakeLists.txt +++ b/ports/libaiff/CMakeLists.txt @@ -10,10 +10,6 @@ if(MSVC) add_compile_options(/W4 -D_CRT_SECURE_NO_WARNINGS -DHAVE_INTTYPES_H -DHAVE_STDINT_H -DHAVE_STRING_H -DHAVE_STDLIB_H) endif() -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - include_directories(.) add_library(libaiff ${SRC}) diff --git a/ports/libaiff/CONTROL b/ports/libaiff/CONTROL index 21078bfe8e7e36..0ed9a9cf23cf9f 100644 --- a/ports/libaiff/CONTROL +++ b/ports/libaiff/CONTROL @@ -1,3 +1,3 @@ -Source: libaiff -Version: 5.0 -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 +Source: libaiff +Version: 5.0-1 +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/libaiff/portfile.cmake b/ports/libaiff/portfile.cmake index 17277159e37d96..14f2848ba066ff 100644 --- a/ports/libaiff/portfile.cmake +++ b/ports/libaiff/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libaiff-5.0) vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/aifftools/files/libaiff/LibAiff%205.0/libaiff-5.0-release.tar.gz" diff --git a/ports/libdisasm/CMakeLists.txt b/ports/libdisasm/CMakeLists.txt index 96889e794473de..9d640a9b929145 100644 --- a/ports/libdisasm/CMakeLists.txt +++ b/ports/libdisasm/CMakeLists.txt @@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.9) project(libdisasm C) set(CMAKE_DEBUG_POSTFIX d) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) set(SRCS ia32_implicit.c diff --git a/ports/libdisasm/CONTROL b/ports/libdisasm/CONTROL index c6044e88d145bc..e55dfab7db8e3e 100644 --- a/ports/libdisasm/CONTROL +++ b/ports/libdisasm/CONTROL @@ -1,3 +1,3 @@ -Source: libdisasm -Version: 0.23-1 -Description: x86 Disassembler Library. +Source: libdisasm +Version: 0.23-2 +Description: x86 Disassembler Library. diff --git a/ports/libdisasm/portfile.cmake b/ports/libdisasm/portfile.cmake index 19919bed675a9b..e4bbaba54c3e6d 100644 --- a/ports/libdisasm/portfile.cmake +++ b/ports/libdisasm/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Warning: Dynamic building not supported. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) - endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(BASE_PATH ${CURRENT_BUILDTREES_DIR}/src/libdisasm-0.23) set(SOURCE_PATH ${BASE_PATH}/libdisasm) diff --git a/ports/libdshowcapture/CONTROL b/ports/libdshowcapture/CONTROL index 2d6e37de230264..3d88262c8f9794 100644 --- a/ports/libdshowcapture/CONTROL +++ b/ports/libdshowcapture/CONTROL @@ -1,3 +1,3 @@ -Source: libdshowcapture -Version: 0.6.0 -Description: Free and Open Source C++11 Library for capturing DirectShow video/audio devices on windows. +Source: libdshowcapture +Version: 0.6.0-1 +Description: Free and Open Source C++11 Library for capturing DirectShow video/audio devices on windows. diff --git a/ports/libdshowcapture/portfile.cmake b/ports/libdshowcapture/portfile.cmake index 372e1b6dc38bf9..fa0e2d8a8f23c9 100644 --- a/ports/libdshowcapture/portfile.cmake +++ b/ports/libdshowcapture/portfile.cmake @@ -17,7 +17,7 @@ vcpkg_build_cmake(TARGET libdshowcapture) # Copy files file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libdshowcapture RENAME copyright) -if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libdshowcapture.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) endif() diff --git a/ports/libepoxy/CONTROL b/ports/libepoxy/CONTROL index 79ffdbf46991f2..819813e91618a2 100644 --- a/ports/libepoxy/CONTROL +++ b/ports/libepoxy/CONTROL @@ -1,3 +1,3 @@ -Source: libepoxy -Version: 1.4.3-1 -Description: Epoxy is a library for handling OpenGL function pointer management for you +Source: libepoxy +Version: 1.4.3-2 +Description: Epoxy is a library for handling OpenGL function pointer management for you diff --git a/ports/libepoxy/portfile.cmake b/ports/libepoxy/portfile.cmake index e50754db3235df..12c4742b6f18c1 100644 --- a/ports/libepoxy/portfile.cmake +++ b/ports/libepoxy/portfile.cmake @@ -1,9 +1,7 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building not supported yet. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO anholt/libepoxy @@ -12,8 +10,8 @@ vcpkg_from_github( HEAD_REF master) vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -Denable-glx=no + OPTIONS + -Denable-glx=no -Denable-egl=no) vcpkg_install_meson() vcpkg_copy_pdbs() diff --git a/ports/libevent/CONTROL b/ports/libevent/CONTROL index 67cd29d7c54c7e..e9577f8038f9ed 100644 --- a/ports/libevent/CONTROL +++ b/ports/libevent/CONTROL @@ -1,4 +1,4 @@ -Source: libevent -Version: 2.1.8-4 -Build-Depends: openssl -Description: An event notification library +Source: libevent +Version: 2.1.8-5 +Build-Depends: openssl +Description: An event notification library diff --git a/ports/libevent/portfile.cmake b/ports/libevent/portfile.cmake index 61bbb9847e035e..28028ce3ca9c00 100644 --- a/ports/libevent/portfile.cmake +++ b/ports/libevent/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) if(VCPKG_CMAKE_SYSTEM_NAME MATCHES "WindowsStore") - message(FATAL_ERROR "libevent does not currently support UWP") + message(FATAL_ERROR "${PORT} does not currently support UWP") endif() vcpkg_from_github( diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt index 2be7a25748477f..29e14bdac05cec 100644 --- a/ports/libffi/CMakeLists.txt +++ b/ports/libffi/CMakeLists.txt @@ -50,12 +50,6 @@ include_directories(include) add_definitions(-DHAVE_CONFIG_H) add_definitions(-DFFI_BUILDING) -if(BUILD_SHARED_LIBS) - if(WIN32) - add_definitions(-DFFI_EXPORT_DATA) - endif() - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() set(FFI_SOURCES src/x86/ffi.c diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL index b008d759516450..882d7ca946418c 100644 --- a/ports/libffi/CONTROL +++ b/ports/libffi/CONTROL @@ -1,3 +1,3 @@ Source: libffi -Version: 3.1-4 +Version: 3.1-5 Description: Portable, high level programming interface to various calling conventions diff --git a/ports/libffi/portfile.cmake b/ports/libffi/portfile.cmake index b72a6cd5a3d2e3..bbb4daf83992db 100644 --- a/ports/libffi/portfile.cmake +++ b/ports/libffi/portfile.cmake @@ -1,8 +1,11 @@ +include(vcpkg_common_functions) + if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL x86 AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL x64) message(FATAL_ERROR "Architecture not supported") endif() -include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libffi/libffi diff --git a/ports/libgd/CONTROL b/ports/libgd/CONTROL index a909508a255f69..35bf69bf871dc7 100644 --- a/ports/libgd/CONTROL +++ b/ports/libgd/CONTROL @@ -1,28 +1,28 @@ -Source: libgd -Version: 2.2.5 -Description: Open source code library for the dynamic creation of images by programmers. -Default-Features: fontconfig, freetype, jpeg, png, tiff, webp - -Feature: fontconfig -Description: Support for fontconfig -Build-Depends: fontconfig - -Feature: freetype -Description: Support for freetype -Build-Depends: freetype - -Feature: jpeg -Description: Support for jpeg -Build-Depends: libjpeg-turbo - -Feature: png -Description: Support for png -Build-Depends: libpng - -Feature: tiff -Description: Support for tiff -Build-Depends: tiff - -Feature: webp -Description: Support for webp -Build-Depends: libwebp +Source: libgd +Version: 2.2.5-1 +Description: Open source code library for the dynamic creation of images by programmers. +Default-Features: fontconfig, freetype, jpeg, png, tiff, webp + +Feature: fontconfig +Description: Support for fontconfig +Build-Depends: fontconfig + +Feature: freetype +Description: Support for freetype +Build-Depends: freetype + +Feature: jpeg +Description: Support for jpeg +Build-Depends: libjpeg-turbo + +Feature: png +Description: Support for png +Build-Depends: libpng + +Feature: tiff +Description: Support for tiff +Build-Depends: tiff + +Feature: webp +Description: Support for webp +Build-Depends: libwebp diff --git a/ports/libgd/portfile.cmake b/ports/libgd/portfile.cmake index 23c1d360b67855..346f009777cd22 100644 --- a/ports/libgd/portfile.cmake +++ b/ports/libgd/portfile.cmake @@ -19,34 +19,34 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/modules/FindPackageHandleStandardArgs.c file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/modules/FindPNG.cmake) set(ENABLE_PNG OFF) -if("png" IN_LIST FEATURES) - set(ENABLE_PNG ON) +if("png" IN_LIST FEATURES) + set(ENABLE_PNG ON) endif() set(ENABLE_JPEG OFF) -if("jpeg" IN_LIST FEATURES) - set(ENABLE_JPEG ON) -endif() +if("jpeg" IN_LIST FEATURES) + set(ENABLE_JPEG ON) +endif() set(ENABLE_TIFF OFF) -if("tiff" IN_LIST FEATURES) - set(ENABLE_TIFF ON) +if("tiff" IN_LIST FEATURES) + set(ENABLE_TIFF ON) endif() set(ENABLE_FREETYPE OFF) -if("freetype" IN_LIST FEATURES) - set(ENABLE_FREETYPE ON) +if("freetype" IN_LIST FEATURES) + set(ENABLE_FREETYPE ON) endif() set(ENABLE_WEBP OFF) -if("webp" IN_LIST FEATURES) - set(ENABLE_WEBP ON) +if("webp" IN_LIST FEATURES) + set(ENABLE_WEBP ON) endif() set(ENABLE_FONTCONFIG OFF) -if("fontconfig" IN_LIST FEATURES) - set(ENABLE_FONTCONFIG ON) -endif() +if("fontconfig" IN_LIST FEATURES) + set(ENABLE_FONTCONFIG ON) +endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(LIBGD_SHARED_LIBS ON) @@ -65,8 +65,6 @@ vcpkg_configure_cmake( -DENABLE_FREETYPE=${ENABLE_FREETYPE} -DENABLE_WEBP=${ENABLE_WEBP} -DENABLE_FONTCONFIG=${ENABLE_FONTCONFIG} - -DBUILD_SHARED_LIBS=${LIBGD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=${LIBGD_STATIC_LIBS} ) vcpkg_build_cmake() diff --git a/ports/liblemon/CONTROL b/ports/liblemon/CONTROL index 3e072b7aea3205..c21960b72abf2f 100644 --- a/ports/liblemon/CONTROL +++ b/ports/liblemon/CONTROL @@ -1,3 +1,3 @@ -Source: liblemon -Version: 1.3.1-3 -Description: Library for Efficient Modeling and Optimization in Networks +Source: liblemon +Version: 1.3.1-4 +Description: Library for Efficient Modeling and Optimization in Networks diff --git a/ports/liblemon/portfile.cmake b/ports/liblemon/portfile.cmake index 689903024df6c8..b41322a8759492 100644 --- a/ports/liblemon/portfile.cmake +++ b/ports/liblemon/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("Dynamic linkage not supported. Building static instead.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(VERSION 1.3.1) diff --git a/ports/libmad/CMakeLists.txt b/ports/libmad/CMakeLists.txt index 522c0fbea8e26d..47db84c419fd47 100644 --- a/ports/libmad/CMakeLists.txt +++ b/ports/libmad/CMakeLists.txt @@ -2,10 +2,6 @@ cmake_minimum_required(VERSION 2.8) project(libmad) - IF(MSVC) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - ENDIF(MSVC) - set(SOURCES bit.c bit.h @@ -38,7 +34,7 @@ add_library( mad ${SOURCES} ) - + target_compile_definitions(mad PRIVATE _LIB _MBCS ASO_ZEROCHECK HAVE_CONFIG_H FPM_DEFAULT PRIVATE _CRT_SECURE_NO_WARNINGS diff --git a/ports/libmad/CONTROL b/ports/libmad/CONTROL index daf25faa149ff4..ae26eebab30d95 100644 --- a/ports/libmad/CONTROL +++ b/ports/libmad/CONTROL @@ -1,3 +1,3 @@ -Source: libmad -Version: 0.15.1-1 -Description: high-quality MPEG audio decoder +Source: libmad +Version: 0.15.1-2 +Description: high-quality MPEG audio decoder diff --git a/ports/libmad/portfile.cmake b/ports/libmad/portfile.cmake index 65b926d550868e..cc50279631c835 100644 --- a/ports/libmad/portfile.cmake +++ b/ports/libmad/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libmad-0.15.1b) vcpkg_download_distfile(ARCHIVE URLS "http://download.sourceforge.net/mad/libmad-0.15.1b.tar.gz" diff --git a/ports/libmicrohttpd/CMakeLists.txt b/ports/libmicrohttpd/CMakeLists.txt index d76c09122c782e..b54bb7b53fc5b6 100644 --- a/ports/libmicrohttpd/CMakeLists.txt +++ b/ports/libmicrohttpd/CMakeLists.txt @@ -50,10 +50,6 @@ set(HEADERS src/microhttpd/mhd_compat.h ) -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - include_directories(${HEADERS} src/include w32/common) add_library(libmicrohttpd ${SRC}) diff --git a/ports/libmicrohttpd/CONTROL b/ports/libmicrohttpd/CONTROL index 2c5815aed9516b..10147053054f18 100644 --- a/ports/libmicrohttpd/CONTROL +++ b/ports/libmicrohttpd/CONTROL @@ -1,3 +1,3 @@ -Source: libmicrohttpd -Version: 0.9.55-1 -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 +Source: libmicrohttpd +Version: 0.9.55-2 +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/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index 8b11e3e9cc410c..45d995777218fc 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libmicrohttpd-0.9.55) vcpkg_download_distfile(ARCHIVE URLS "ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.55.tar.gz" @@ -9,7 +12,6 @@ vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/libmupdf/CMakeLists.txt b/ports/libmupdf/CMakeLists.txt index 76ed52c5a70dcd..6018c50aaee650 100644 --- a/ports/libmupdf/CMakeLists.txt +++ b/ports/libmupdf/CMakeLists.txt @@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.9) project(libmupdf C) set(CMAKE_DEBUG_POSTFIX d) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/include/mupdf/pdf/name-table.h") execute_process( @@ -50,4 +49,4 @@ install(TARGETS libmupdf if(BUILD_EXAMPLES) add_executable(mu-office-test source/tests/mu-office-test.c) target_link_libraries(mu-office-test PRIVATE libmupdf) -endif() \ No newline at end of file +endif() diff --git a/ports/libmupdf/CONTROL b/ports/libmupdf/CONTROL index df04d00a2ad18e..12060296d6de63 100644 --- a/ports/libmupdf/CONTROL +++ b/ports/libmupdf/CONTROL @@ -1,4 +1,4 @@ -Source: libmupdf -Version: 1.12.0-1 -Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3, openjpeg, jbig2dec -Description: a lightweight PDF, XPS, and E-book library +Source: libmupdf +Version: 1.12.0-2 +Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3, openjpeg, jbig2dec +Description: a lightweight PDF, XPS, and E-book library diff --git a/ports/libmupdf/portfile.cmake b/ports/libmupdf/portfile.cmake index 2af2327ccf8d57..b2a56c8089aea3 100644 --- a/ports/libmupdf/portfile.cmake +++ b/ports/libmupdf/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArtifexSoftware/mupdf diff --git a/ports/libogg/CONTROL b/ports/libogg/CONTROL index 87169b6ef416bd..965e4e46f614d3 100644 --- a/ports/libogg/CONTROL +++ b/ports/libogg/CONTROL @@ -1,3 +1,3 @@ -Source: libogg -Version: 1.3.3-1 -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-2 +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/portfile.cmake b/ports/libogg/portfile.cmake index ad8955fa8bf46a..3a37e17445f182 100644 --- a/ports/libogg/portfile.cmake +++ b/ports/libogg/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/ogg @@ -11,8 +14,6 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) vcpkg_install_cmake() diff --git a/ports/librabbitmq/CONTROL b/ports/librabbitmq/CONTROL index 19b131f82db4b6..f8c686735c10c0 100644 --- a/ports/librabbitmq/CONTROL +++ b/ports/librabbitmq/CONTROL @@ -1,4 +1,4 @@ -Source: librabbitmq -Version: 0.8.0 -Build-Depends: openssl -Description: A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker. +Source: librabbitmq +Version: 0.8.0-1 +Build-Depends: openssl +Description: A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker. diff --git a/ports/librabbitmq/portfile.cmake b/ports/librabbitmq/portfile.cmake index cfdcf9527f0c91..cea0af218e6505 100644 --- a/ports/librabbitmq/portfile.cmake +++ b/ports/librabbitmq/portfile.cmake @@ -15,8 +15,6 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DBUILD_EXAMPLES=OFF - -DBUILD_SHARED_LIBS=${BUILD_SHARED} - -DBUILD_STATIC_LIBS=${BUILD_STATIC} -DBUILD_TESTS=OFF -DBUILD_TOOLS=OFF ) diff --git a/ports/librsync/001-enable-static-libs.patch b/ports/librsync/001-enable-static-libs.patch new file mode 100644 index 00000000000000..4512cdeb9baad6 --- /dev/null +++ b/ports/librsync/001-enable-static-libs.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f0135cb..c30312a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -339,7 +339,7 @@ set(rsync_LIB_SRCS + src/whole.c + ${blake2_SRCS}) + +-add_library(rsync SHARED ${rsync_LIB_SRCS}) ++add_library(rsync ${rsync_LIB_SRCS}) + target_link_libraries(rsync ${blake2_LIBS}) + + # Optionally link zlib and bzip2 if diff --git a/ports/librsync/CONTROL b/ports/librsync/CONTROL index b51be6105ec03d..b17a132ebd0c6e 100644 --- a/ports/librsync/CONTROL +++ b/ports/librsync/CONTROL @@ -1,3 +1,3 @@ Source: librsync -Version: 2.0.2 +Version: 2.0.2-1 Description: librsync is a library for calculating and applying network deltas, with an interface designed to ease integration into diverse network applications. diff --git a/ports/librsync/portfile.cmake b/ports/librsync/portfile.cmake index 0f9cfad55eb0dd..f39578dd3d69fc 100644 --- a/ports/librsync/portfile.cmake +++ b/ports/librsync/portfile.cmake @@ -1,11 +1,15 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO librsync/librsync REF v2.0.2 SHA512 5d2bc1d62b37e9ed7416203615d0a0e3c05c4c884b5da63eda10dd5c985845b500331bce226e4d45676729382c85b41528282e25d491afda31ba434ac0fefad7 HEAD_REF master + PATCHES + 001-enable-static-libs.patch ) vcpkg_configure_cmake( @@ -14,7 +18,6 @@ vcpkg_configure_cmake( OPTIONS -DBUILD_RDIFF:BOOL=OFF -DENABLE_COMPRESSION:BOOL=OFF -DENABLE_TRACE:BOOL=OFF - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS:BOOL=ON ) vcpkg_install_cmake() diff --git a/ports/libstemmer/CONTROL b/ports/libstemmer/CONTROL index c09295b62f60ed..a5275ea7193d20 100644 --- a/ports/libstemmer/CONTROL +++ b/ports/libstemmer/CONTROL @@ -1,3 +1,3 @@ -Source: libstemmer -Version: 2017-9-3 -Description: Snowball is a small string processing language designed for creating stemming algorithms for use in Information Retrieval +Source: libstemmer +Version: 2017-9-4 +Description: Snowball is a small string processing language designed for creating stemming algorithms for use in Information Retrieval diff --git a/ports/libstemmer/portfile.cmake b/ports/libstemmer/portfile.cmake index 9a76c3a9416b35..ed4d86c4e2e3a7 100644 --- a/ports/libstemmer/portfile.cmake +++ b/ports/libstemmer/portfile.cmake @@ -1,8 +1,7 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Dynamic not supported building static") - set(VCPKG_LIBRARY_LINKAGE static) -endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libstemmer_c) vcpkg_download_distfile(ARCHIVE URLS "http://snowball.tartarus.org/dist/libstemmer_c.tgz" diff --git a/ports/libunibreak/CONTROL b/ports/libunibreak/CONTROL index a8df4119f7f597..a59c7b44a7969b 100644 --- a/ports/libunibreak/CONTROL +++ b/ports/libunibreak/CONTROL @@ -1,3 +1,3 @@ -Source: libunibreak -Version: 4.0-1 -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. +Source: libunibreak +Version: 4.0-2 +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/libunibreak/portfile.cmake b/ports/libunibreak/portfile.cmake index 6ec8bdd74aac4e..321fbd654b1239 100644 --- a/ports/libunibreak/portfile.cmake +++ b/ports/libunibreak/portfile.cmake @@ -1,8 +1,7 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Dynamic not supported building static") - set(VCPKG_LIBRARY_LINKAGE static) -endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO adah1972/libunibreak diff --git a/ports/libvpx/CONTROL b/ports/libvpx/CONTROL index 77a44f1959cffb..50d23a717276c5 100644 --- a/ports/libvpx/CONTROL +++ b/ports/libvpx/CONTROL @@ -1,3 +1,3 @@ -Source: libvpx -Version: 1.7.0-1 -Description: The reference software implementation for the video coding formats VP8 and VP9. +Source: libvpx +Version: 1.7.0-2 +Description: The reference software implementation for the video coding formats VP8 and VP9. diff --git a/ports/libvpx/portfile.cmake b/ports/libvpx/portfile.cmake index d253008e777b96..009a0161d310f6 100644 --- a/ports/libvpx/portfile.cmake +++ b/ports/libvpx/portfile.cmake @@ -1,10 +1,7 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported by libvpx yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(LIBVPX_VERSION 1.7.0) set(LIBVPX_HASH 8b3b766b550f8d86907628d7ed88035f9a2612aac21542e0fd5ad35b905eb82cbe1be02a1a24afce7a3bcc4766f62611971f72724761996b392136c40a1e7ff0) diff --git a/ports/libxmlpp/CMakeLists.txt b/ports/libxmlpp/CMakeLists.txt index 697d6bbc2ea6d3..bbaae7cda22486 100644 --- a/ports/libxmlpp/CMakeLists.txt +++ b/ports/libxmlpp/CMakeLists.txt @@ -3,8 +3,6 @@ project(libxmlpp) set(CMAKE_CXX_STANDARD 17) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) - find_path(GLIBMM_INCLUDE_DIR NAMES glibmm.h) find_library(GLIBMM_LIBRARY NAMES glibmm) find_library(GIOMM_LIBRARY NAMES giomm) diff --git a/ports/libxmlpp/CONTROL b/ports/libxmlpp/CONTROL index 890d1471d2cc4f..31b54a74c6f6c6 100644 --- a/ports/libxmlpp/CONTROL +++ b/ports/libxmlpp/CONTROL @@ -1,4 +1,4 @@ -Source: libxmlpp -Version: 2.40.1-2 -Description: a C++ wrapper for the libxml XML parser library. -Build-Depends: libxml2, glibmm +Source: libxmlpp +Version: 2.40.1-3 +Description: a C++ wrapper for the libxml XML parser library. +Build-Depends: libxml2, glibmm diff --git a/ports/libxmlpp/portfile.cmake b/ports/libxmlpp/portfile.cmake index 9c39d6397586f4..3919e4bf2a4bc2 100644 --- a/ports/libxmlpp/portfile.cmake +++ b/ports/libxmlpp/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(LIBXMLPP_VERSION 2.40.1) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxml++-${LIBXMLPP_VERSION}) vcpkg_download_distfile(ARCHIVE diff --git a/ports/libxmp-lite/CMakeLists.txt b/ports/libxmp-lite/CMakeLists.txt index 9495e0eb4f7096..e1f14f377971ef 100644 --- a/ports/libxmp-lite/CMakeLists.txt +++ b/ports/libxmp-lite/CMakeLists.txt @@ -39,8 +39,6 @@ else() option(INSTALL_HEADERS "Install header files" ON) endif() -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - add_library(libxmp-lite ${SOURCES}) target_compile_definitions(libxmp-lite PRIVATE LIBXMP_CORE_PLAYER=1 diff --git a/ports/libxmp-lite/CONTROL b/ports/libxmp-lite/CONTROL index 1f7e8dded637c5..bc1b7ef36c1943 100644 --- a/ports/libxmp-lite/CONTROL +++ b/ports/libxmp-lite/CONTROL @@ -1,3 +1,3 @@ -Source: libxmp-lite -Version: 4.4.1 -Description: Lightweight version of libxmp that supports MOD, S3M, XM and IT modules. +Source: libxmp-lite +Version: 4.4.1-1 +Description: Lightweight version of libxmp that supports MOD, S3M, XM and IT modules. diff --git a/ports/libxmp-lite/portfile.cmake b/ports/libxmp-lite/portfile.cmake index ac67940a1af45a..5af0f25f3bfc1c 100644 --- a/ports/libxmp-lite/portfile.cmake +++ b/ports/libxmp-lite/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxmp-lite-4.4.1) vcpkg_download_distfile(ARCHIVE URLS "http://sourceforge.net/projects/xmp/files/libxmp/4.4.1/libxmp-lite-4.4.1.tar.gz" diff --git a/ports/live555/portfile.cmake b/ports/live555/portfile.cmake index d11ee608143f8e..c89d4e0a1d330b 100644 --- a/ports/live555/portfile.cmake +++ b/ports/live555/portfile.cmake @@ -1,7 +1,6 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("live555 cannot currently be built dynamically. Building static instead.") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_USE_HEAD_VERSION) # Live555 only makes the latest releases available for download on their site diff --git a/ports/lodepng/CMakeLists.txt b/ports/lodepng/CMakeLists.txt index 0ffd39549552fa..5da3aed3d6a79a 100644 --- a/ports/lodepng/CMakeLists.txt +++ b/ports/lodepng/CMakeLists.txt @@ -5,11 +5,6 @@ if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) endif() -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - - include_directories(".") add_library(lodepng lodepng.cpp lodepng_util.cpp) diff --git a/ports/lodepng/CONTROL b/ports/lodepng/CONTROL index e6c10c4746c529..2c881316c175ea 100644 --- a/ports/lodepng/CONTROL +++ b/ports/lodepng/CONTROL @@ -1,3 +1,3 @@ -Source: lodepng -Version: 2018-09-18-1 -Description: PNG encoder and decoder in C and C++ +Source: lodepng +Version: 2018-09-18-2 +Description: PNG encoder and decoder in C and C++ diff --git a/ports/lodepng/portfile.cmake b/ports/lodepng/portfile.cmake index 3677644560a205..83df5a5e01dcd0 100644 --- a/ports/lodepng/portfile.cmake +++ b/ports/lodepng/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lvandeve/lodepng diff --git a/ports/meschach/CMakeLists.txt b/ports/meschach/CMakeLists.txt index 648fe5af91877f..e60d29097d0dba 100644 --- a/ports/meschach/CMakeLists.txt +++ b/ports/meschach/CMakeLists.txt @@ -71,10 +71,6 @@ file(GLOB meschach_headers "*.h") include_directories(".") -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - add_library(meschach ${meschach_srcs}) target_compile_definitions(meschach PRIVATE -DHAVE_MEMORY_H -DHAVE_COMPLEX_H) diff --git a/ports/meschach/CONTROL b/ports/meschach/CONTROL index a8418b2b18ee68..84a3bf0d403a29 100644 --- a/ports/meschach/CONTROL +++ b/ports/meschach/CONTROL @@ -1,3 +1,3 @@ -Source: meschach -Version: 1.2b-1 -Description: Matrix computations in C +Source: meschach +Version: 1.2b-2 +Description: Matrix computations in C diff --git a/ports/meschach/portfile.cmake b/ports/meschach/portfile.cmake index dd9d93085ccd9d..1ec6fcd047d4c7 100644 --- a/ports/meschach/portfile.cmake +++ b/ports/meschach/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) vcpkg_download_distfile(ARCHIVE URLS "http://homepage.math.uiowa.edu/~dstewart/meschach/mesch12b.tar.gz" diff --git a/ports/metis/CONTROL b/ports/metis/CONTROL index 305887de0e9e05..65571b0bdbf37a 100644 --- a/ports/metis/CONTROL +++ b/ports/metis/CONTROL @@ -1,3 +1,3 @@ Source: metis -Version: 5.1.0-2 +Version: 5.1.0-3 Description: Serial Graph Partitioning and Fill-reducing Matrix Ordering diff --git a/ports/metis/portfile.cmake b/ports/metis/portfile.cmake index d2c8de80043f94..4f8d4520df72b3 100644 --- a/ports/metis/portfile.cmake +++ b/ports/metis/portfile.cmake @@ -1,13 +1,8 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(OPTIONS -DSHARED=OFF) + set(METIS_VERSION 5.1.0) vcpkg_download_distfile(ARCHIVE @@ -28,16 +23,9 @@ vcpkg_extract_source_archive_ex( fix-gklib-vs14-math.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(OPTIONS -DSHARED=ON -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON) -else() - set(OPTIONS -DSHARED=OFF) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS - ${OPTIONS} + OPTIONS ${OPTIONS} ) vcpkg_install_cmake() diff --git a/ports/minisat-master-keying/CONTROL b/ports/minisat-master-keying/CONTROL index ca37399f280896..84021f371aeec7 100644 --- a/ports/minisat-master-keying/CONTROL +++ b/ports/minisat-master-keying/CONTROL @@ -1,7 +1,5 @@ Source: minisat-master-keying -Version: 2.2-mod-1 +Version: 2.2-mod-2 Description: A minimalistic high-performance SAT solver - This is a modernized, cross-platform, CMake-enabled fork of the - original MiniSat. Since the original library is no longer under - development, post issues and pull requests should be posted to - https://github.com/master-keying/minisat + This is a modernized, cross-platform, CMake-enabled fork of the original MiniSat. + Since the original library is no longer under development, post issues and pull requests should be posted to https://github.com/master-keying/minisat diff --git a/ports/minisat-master-keying/portfile.cmake b/ports/minisat-master-keying/portfile.cmake index e035c2fe4c684e..0578623c183a15 100644 --- a/ports/minisat-master-keying/portfile.cmake +++ b/ports/minisat-master-keying/portfile.cmake @@ -1,10 +1,7 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO master-keying/minisat diff --git a/ports/minizip/CMakeLists.txt b/ports/minizip/CMakeLists.txt index 4ccf6972a41c50..edb9b3c7ba3527 100644 --- a/ports/minizip/CMakeLists.txt +++ b/ports/minizip/CMakeLists.txt @@ -36,10 +36,6 @@ if(WIN32) list(APPEND HEADERS ${MIN_SRC}/iowin32.h) endif() -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - add_library(minizip ${SRC}) target_link_libraries(minizip PRIVATE ZLIB::ZLIB) diff --git a/ports/minizip/CONTROL b/ports/minizip/CONTROL index 60398b039a8974..b0c606deda56e7 100644 --- a/ports/minizip/CONTROL +++ b/ports/minizip/CONTROL @@ -1,4 +1,4 @@ -Source: minizip -Version: 1.2.11-3 -Description: Zip compression library -Build-Depends: bzip2, zlib +Source: minizip +Version: 1.2.11-4 +Description: Zip compression library +Build-Depends: bzip2, zlib diff --git a/ports/minizip/portfile.cmake b/ports/minizip/portfile.cmake index 927951d702e972..15289b76715f37 100644 --- a/ports/minizip/portfile.cmake +++ b/ports/minizip/portfile.cmake @@ -4,6 +4,8 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "WindowsStore not supported") endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO madler/zlib diff --git a/ports/mlpack/CONTROL b/ports/mlpack/CONTROL index 4462dcd27f7b2f..d57aa4ca3eaf4c 100644 --- a/ports/mlpack/CONTROL +++ b/ports/mlpack/CONTROL @@ -1,5 +1,5 @@ Source: mlpack -Version: 3.1.0 +Version: 3.1.0-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, clapack, boost, armadillo diff --git a/ports/mlpack/portfile.cmake b/ports/mlpack/portfile.cmake index 3c908bdf8482d0..c7bf89bc141a9c 100644 --- a/ports/mlpack/portfile.cmake +++ b/ports/mlpack/portfile.cmake @@ -1,42 +1,42 @@ -include(vcpkg_common_functions) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO mlpack/mlpack - REF mlpack-3.1.0 - SHA512 dc305a9a2f7232d3957206a346d0ac97ba13b933d5dbef45329002b8380ecc0982621c0b97f6c5ee82d0a26ad53b1cdd7a9b991fb749efc8546394988ac40a5b - HEAD_REF master - PATCHES - cmakelists.patch -) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" MLPACK_SHARED_LIBS) - -set(BUILD_TOOLS OFF) -if("tools" IN_LIST FEATURES) - set(BUILD_TOOLS ON) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTS=${BUILD_TOOLS} - -DBUILD_CLI_EXECUTABLES=${BUILD_TOOLS} - -DBUILD_SHARED_LIBS=${MLPACK_SHARED_LIBS} -) -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/COPYRIGHT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mlpack RENAME copyright) - -if(BUILD_TOOLS) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) - file(GLOB MLPACK_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) - file(COPY ${MLPACK_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - file(REMOVE ${MLPACK_TOOLS}) - file(GLOB MLPACK_TOOLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) - file(REMOVE ${MLPACK_TOOLS_DEBUG}) -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mlpack/mlpack + REF mlpack-3.1.0 + SHA512 dc305a9a2f7232d3957206a346d0ac97ba13b933d5dbef45329002b8380ecc0982621c0b97f6c5ee82d0a26ad53b1cdd7a9b991fb749efc8546394988ac40a5b + HEAD_REF master + PATCHES + cmakelists.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" MLPACK_SHARED_LIBS) + +set(BUILD_TOOLS OFF) +if("tools" IN_LIST FEATURES) + set(BUILD_TOOLS ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=${BUILD_TOOLS} + -DBUILD_CLI_EXECUTABLES=${BUILD_TOOLS} + -DBUILD_SHARED_LIBS=${MLPACK_SHARED_LIBS} +) +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/COPYRIGHT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mlpack RENAME copyright) + +if(BUILD_TOOLS) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) + file(GLOB MLPACK_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe) + file(COPY ${MLPACK_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(REMOVE ${MLPACK_TOOLS}) + file(GLOB MLPACK_TOOLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) + file(REMOVE ${MLPACK_TOOLS_DEBUG}) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/moos-core/CONTROL b/ports/moos-core/CONTROL index 2aadbb9e419729..2195fd5bda349a 100644 --- a/ports/moos-core/CONTROL +++ b/ports/moos-core/CONTROL @@ -1,4 +1,4 @@ -Source: moos-core -Version: 10.4.0 -Description: A very light weight, easy to use middleware. See the MOOS homepage at https://sites.google.com/site/moossoftware/ for more information and documentation. -Build-Depends: +Source: moos-core +Version: 10.4.0-1 +Description: A very light weight, easy to use middleware. See the MOOS homepage at https://sites.google.com/site/moossoftware/ for more information and documentation. +Build-Depends: diff --git a/ports/moos-core/portfile.cmake b/ports/moos-core/portfile.cmake index d6eab11f7c96a5..60eb5d9a582dcc 100644 --- a/ports/moos-core/portfile.cmake +++ b/ports/moos-core/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO themoos/core-moos REF v10.4.0 - SHA512 8a82074bd219bbedbe56c2187afe74a55a252b0654a675c64d1f75e62353b0874e7b405d9f677fadb297e955d11aea50a07e8f5f3546be3c4ddab76fe356a51e + SHA512 8a82074bd219bbedbe56c2187afe74a55a252b0654a675c64d1f75e62353b0874e7b405d9f677fadb297e955d11aea50a07e8f5f3546be3c4ddab76fe356a51e HEAD_REF master ) @@ -13,9 +13,6 @@ vcpkg_apply_patches( PATCHES ${CMAKE_CURRENT_LIST_DIR}/cmake_fix.patch ) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) - message(STATUS "MOOS VCPKG SOURCE_PATH ${SOURCE_PATH}") message(STATUS "MOOS INSTALL -DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}") @@ -23,7 +20,6 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_SHARED_LIBS=${BUILD_SHARED} -DCMAKE_ENABLE_EXPORT=OFF ) @@ -56,5 +52,3 @@ file(COPY file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/GPLCore.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) - - diff --git a/ports/moos-essential/CONTROL b/ports/moos-essential/CONTROL index 311b9d4808674e..c47dfa4334f15f 100644 --- a/ports/moos-essential/CONTROL +++ b/ports/moos-essential/CONTROL @@ -1,4 +1,4 @@ -Source: moos-essential -Version: 10.0.1 -Description: a set of useful applications that leverage the core-moos communications layer See the MOOS homepage at https://sites.google.com/site/moossoftware/ for more information and documentation. -Build-Depends: moos-core +Source: moos-essential +Version: 10.0.1-1 +Description: a set of useful applications that leverage the core-moos communications layer See the MOOS homepage at https://sites.google.com/site/moossoftware/ for more information and documentation. +Build-Depends: moos-core diff --git a/ports/moos-essential/portfile.cmake b/ports/moos-essential/portfile.cmake index 3f26a4e86fb5b7..f0a55923e8b6a1 100644 --- a/ports/moos-essential/portfile.cmake +++ b/ports/moos-essential/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO themoos/essential-moos REF b897ea86dba8b61412dc48ac0cfb5ff34cdaf5f6 - SHA512 7284744d211dcdcb0cd321eec96f3632ccda690e8894261f4f09a06bc8faefb2de68f4f2f755f4eeef5bb586044e98ac65cdd18c15193a1a4632bd2f4208c52f + SHA512 7284744d211dcdcb0cd321eec96f3632ccda690e8894261f4f09a06bc8faefb2de68f4f2f755f4eeef5bb586044e98ac65cdd18c15193a1a4632bd2f4208c52f HEAD_REF master ) @@ -16,13 +16,9 @@ vcpkg_apply_patches( PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DBUILD_SHARED_LIBS=${BUILD_SHARED} ) vcpkg_install_cmake() diff --git a/ports/moos-ui/CONTROL b/ports/moos-ui/CONTROL index 28ee5e664b2a77..07de10690c4adb 100644 --- a/ports/moos-ui/CONTROL +++ b/ports/moos-ui/CONTROL @@ -1,6 +1,6 @@ -Source: moos-ui -Version: 10.0.1 -Description: set of user interface tools to use and leverage the MOOS project. See the MOOS homepage at https://sites.google.com/site/moossoftware/ for more information and documentation. -Build-Depends: moos-core - - +Source: moos-ui +Version: 10.0.1-1 +Description: set of user interface tools to use and leverage the MOOS project. See the MOOS homepage at https://sites.google.com/site/moossoftware/ for more information and documentation. +Build-Depends: moos-core + + diff --git a/ports/moos-ui/portfile.cmake b/ports/moos-ui/portfile.cmake index 5229c885568f5b..3f4b880e266ca7 100644 --- a/ports/moos-ui/portfile.cmake +++ b/ports/moos-ui/portfile.cmake @@ -8,28 +8,10 @@ vcpkg_from_github( HEAD_REF master ) -#vcpkg_apply_patches( -# SOURCE_PATH ${SOURCE_PATH} -# PATCHES ${CMAKE_CURRENT_LIST_DIR}/fltk.patch -#) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) - - -#if ("gui" IN_LIST FEATURES) -# set(BUILD_GRAPHICAL_TOOLS ON ) -# message(STATUS "Building graphical tools") -#else() -# set(BUILD_GRAPHICAL_TOOLS OFF ) -# message(STATUS "Not building graphical tools") -#endif() - - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_SHARED_LIBS=${BUILD_SHARED} -DBUILD_CONSOLE_TOOLS=ON -DBUILD_GRAPHICAL_TOOLS=OFF #${BUILD_GRAPHICAL_TOOLS} ) diff --git a/ports/mosquitto/CONTROL b/ports/mosquitto/CONTROL index 8d4d2de0cd72f6..a623c89d70b489 100644 --- a/ports/mosquitto/CONTROL +++ b/ports/mosquitto/CONTROL @@ -1,8 +1,6 @@ -Source: mosquitto -Version: 1.5.0-1 -Build-Depends: c-ares, libwebsockets, openssl, pthreads -Description: Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and - 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it - suitable for "machine to machine" messaging such as with low power sensors or mobile devices such as phones, embedded - computers or microcontrollers like the Arduino. you can see more information from this url - https://mosquitto.org/download/ +Source: mosquitto +Version: 1.5.0-2 +Build-Depends: c-ares, libwebsockets, openssl, pthreads +Description: Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1. + MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for "machine to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino. + You can see more information from this url https://mosquitto.org/download/ diff --git a/ports/mosquitto/portfile.cmake b/ports/mosquitto/portfile.cmake index 25ba0e5983fb8d..061593969b836f 100644 --- a/ports/mosquitto/portfile.cmake +++ b/ports/mosquitto/portfile.cmake @@ -1,13 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message("mosquitto only supports dynamic linkage") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "mosquitto does not support static CRT linkage") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -34,7 +27,7 @@ vcpkg_configure_cmake( -DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_THREADING=ON - -DDOCUMENTATION=OFF + -DDOCUMENTATION=OFF OPTIONS_RELEASE -DENABLE_DEBUG=OFF OPTIONS_DEBUG diff --git a/ports/ms-angle/CONTROL b/ports/ms-angle/CONTROL index c3cf500b3eac40..6d68b4e56bbdb2 100644 --- a/ports/ms-angle/CONTROL +++ b/ports/ms-angle/CONTROL @@ -1,4 +1,4 @@ Source: ms-angle -Version: 2018-04-18 +Version: 2018-04-18-1 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 afaec0bf3ab543..0a8dc8c9b4d43f 100644 --- a/ports/ms-angle/portfile.cmake +++ b/ports/ms-angle/portfile.cmake @@ -1,37 +1,33 @@ -include(vcpkg_common_functions) - -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - message(FATAL_ERROR "This portfile does not support Linux or OSX") -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "ANGLE currently only supports being built as a dynamic library") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO microsoft/angle - REF ms-master - SHA512 eecdb7012c0630b24fde540fb6a558f4ee5326fc1218773b779953d0fe0ef02da68ceb2577822cfc0374392a88b871201bfe291e3b85c3dd005edc83f84fec1f -) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/001-fix-uwp.patch -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/ms-angle) - -vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ms-angle RENAME copyright) +include(vcpkg_common_functions) + +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + message(FATAL_ERROR "This portfile does not support Linux or OSX") +endif() + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/angle + REF ms-master + SHA512 eecdb7012c0630b24fde540fb6a558f4ee5326fc1218773b779953d0fe0ef02da68ceb2577822cfc0374392a88b871201bfe291e3b85c3dd005edc83f84fec1f + PATCHES + PATCHES + 001-fix-uwp.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/ms-angle) + +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ms-angle RENAME copyright) diff --git a/ports/msix/CONTROL b/ports/msix/CONTROL index 52ec64556a0cf4..12bc7af8bcb297 100644 --- a/ports/msix/CONTROL +++ b/ports/msix/CONTROL @@ -1,5 +1,5 @@ -Source: msix -Version: 1.0 -Build-Depends: xerces-c, zlib -Description: The MSIX Packaging SDK project is an effort to enable developers on a variety of platforms to pack and unpack packages for the purposes of distribution from either the Microsoft Store, or their own content distribution networks. - The MSIX Packaging APIs that a client app would use to interact with .msix/.appx packages are a subset of those documented here. See sample/ExtractContentsSample/ExtractContentsSample.cpp for additional details. +Source: msix +Version: 1.0-1 +Build-Depends: xerces-c, zlib +Description: The MSIX Packaging SDK project is an effort to enable developers on a variety of platforms to pack and unpack packages for the purposes of distribution from either the Microsoft Store, or their own content distribution networks. + The MSIX Packaging APIs that a client app would use to interact with .msix/.appx packages are a subset of those documented here. See sample/ExtractContentsSample/ExtractContentsSample.cpp for additional details. diff --git a/ports/msix/portfile.cmake b/ports/msix/portfile.cmake index 552d576997842b..67424b13d0e8bd 100644 --- a/ports/msix/portfile.cmake +++ b/ports/msix/portfile.cmake @@ -1,12 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message("msix only supports dynamic library linkage") - set(VCPKG_LIBRARY_LINKAGE "dynamic") -endif() -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "msix only supports dynamic crt linkage") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -43,4 +37,3 @@ file(INSTALL DESTINATION ${CURRENT_PACKAGES_DIR}/share/msix RENAME copyright) vcpkg_copy_pdbs() - diff --git a/ports/mujs/CONTROL b/ports/mujs/CONTROL index c61c7031e1f13a..a15fdf7bb94cf0 100644 --- a/ports/mujs/CONTROL +++ b/ports/mujs/CONTROL @@ -1,3 +1,3 @@ -Source: mujs -Version: 2018-07-30 -Description: An embeddable Javascript interpreter in C +Source: mujs +Version: 2018-07-30-1 +Description: An embeddable Javascript interpreter in C diff --git a/ports/mujs/portfile.cmake b/ports/mujs/portfile.cmake index f8c64c867af425..f9eff13b5f67c2 100644 --- a/ports/mujs/portfile.cmake +++ b/ports/mujs/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "building static") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/nana/CONTROL b/ports/nana/CONTROL index 09b9cba0de5513..7224378f36a6d2 100644 --- a/ports/nana/CONTROL +++ b/ports/nana/CONTROL @@ -1,4 +1,4 @@ Source: nana -Version: 1.6.2 +Version: 1.6.2-1 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/portfile.cmake b/ports/nana/portfile.cmake index ff9f43145d4a37..16790055084a21 100644 --- a/ports/nana/portfile.cmake +++ b/ports/nana/portfile.cmake @@ -1,17 +1,15 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(WARNING "You will need to install Xorg dependencies to use nana:\napt install libx11-dev libxft-dev\n") endif() -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cnjinhao/nana - REF v1.6.2 + REF v1.6.2 SHA512 95271764813e64126abf2941bfc13b399ffe093c570891f65f331505066ce0dcad7df4170b2616951b7e0234ea2d6d21219cdfd15b112ecf598a3afa992cceb4 HEAD_REF develop ) diff --git a/ports/nanopb/CONTROL b/ports/nanopb/CONTROL index 0916582fed7f36..40d18ea9edca33 100644 --- a/ports/nanopb/CONTROL +++ b/ports/nanopb/CONTROL @@ -1,3 +1,3 @@ Source: nanopb -Version: 2019-02-12-1 +Version: 2019-02-12-2 Description: A small code-size Protocol Buffers implementation in ANSI C. diff --git a/ports/nanopb/portfile.cmake b/ports/nanopb/portfile.cmake index 278b3c7bbbd64a..35d662c40a8169 100644 --- a/ports/nanopb/portfile.cmake +++ b/ports/nanopb/portfile.cmake @@ -1,12 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "\ -The author of nanopb advises using this lib as a static library. \ -For more details, please visit: \ -https://github.com/nanopb/nanopb/pull/383#issuecomment-467852459" - ) -endif () +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) message(WARNING "\ The nanopb's code generator is not installed as part of the installation \ @@ -19,8 +13,6 @@ vcpkg_from_github( REF d1305ddef1c18b4cb33992254494ccd255701aaa SHA512 70e588b0ff13846005658a9fafe57551dc2c126a32f351fe0b6c166c142c42b3bcc44567288f609f2f3a5adc1fe1bf1c585fec8c5fe90817b5b3ab47955aa1fc HEAD_REF master - PATCHES - shared-lib.patch ) string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" BUILD_STATIC_LIBS) diff --git a/ports/nanopb/shared-lib.patch b/ports/nanopb/shared-lib.patch deleted file mode 100644 index 0d5960e720a10a..00000000000000 --- a/ports/nanopb/shared-lib.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b818734..174b650 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -67,6 +67,7 @@ endif() - - if(nanopb_BUILD_RUNTIME) - if(BUILD_SHARED_LIBS) -+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - add_library(protobuf-nanopb SHARED - pb.h - pb_common.h -@@ -79,7 +80,8 @@ if(nanopb_BUILD_RUNTIME) - SOVERSION ${nanopb_SOVERSION}) - install(TARGETS protobuf-nanopb EXPORT nanopb-targets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - target_include_directories(protobuf-nanopb INTERFACE - $ - ) diff --git a/ports/netcdf-cxx4/CONTROL b/ports/netcdf-cxx4/CONTROL index 0d21780ae918d5..b926a25228784f 100644 --- a/ports/netcdf-cxx4/CONTROL +++ b/ports/netcdf-cxx4/CONTROL @@ -1,4 +1,4 @@ Source: netcdf-cxx4 -Version: 4.3.0-2 +Version: 4.3.0-4 Build-Depends: netcdf-c Description: a set of machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. diff --git a/ports/netcdf-cxx4/portfile.cmake b/ports/netcdf-cxx4/portfile.cmake index 68dcbf661c2460..96169496566c7f 100644 --- a/ports/netcdf-cxx4/portfile.cmake +++ b/ports/netcdf-cxx4/portfile.cmake @@ -1,32 +1,19 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - -if(${VCPKG_LIBRARY_LINKAGE} MATCHES "static") - set(HDF5_USE_STATIC_LIBRARIES ON) -endif() - -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message(STATUS "Warning: DLLs not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +set(HDF5_USE_STATIC_LIBRARIES ON) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/netcdf-cxx4-4.3.0) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Unidata/netcdf-cxx4/archive/v4.3.0.zip" - FILENAME "netcdf-cxx4-4.3.0.zip" - SHA512 c0ae933446c5bb019ab90c097787cefe15a0161b6b768e0251e9e0b21c92ca8d42d98babcbe07b81b8db08cd1e9fba7befb853611a76debfdfba0aee4fb4b0bc -) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/install-destination.patch +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Unidata/netcdf-cxx4 + REF v4.3.0 + SHA512 8e77333c979513721209e6b3fde31c298e18a45d7ea08123056e8120469eb8c4024d71289fab2b9182ee19ee7b6ad22bd133525bef048a497ede4aa2e9017465 + HEAD_REF master + PATCHES + install-destination.patch ) vcpkg_configure_cmake( diff --git a/ports/nmslib/CONTROL b/ports/nmslib/CONTROL index be3c8b486edbc7..7b65617c3af3ca 100644 --- a/ports/nmslib/CONTROL +++ b/ports/nmslib/CONTROL @@ -1,8 +1,8 @@ -Source: nmslib -Version: 1.7.2 -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. -# Feature: extra -# Description: Build extra algorithms and tools for nmslib. Note that this feature requires a large bunch of dependencies. -# Build-Depends: gsl, eigen3, boost-system, boost-filesystem, boost-timer, boost-foreach, boost-format, boost-math, boost-random, boost-dynamic-bitset, boost-program-options +Source: nmslib +Version: 1.7.2-1 +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. +# Feature: extra +# Description: Build extra algorithms and tools for nmslib. Note that this feature requires a large bunch of dependencies. +# Build-Depends: gsl, eigen3, boost-system, boost-filesystem, boost-timer, boost-foreach, boost-format, boost-math, boost-random, boost-dynamic-bitset, boost-program-options diff --git a/ports/nmslib/portfile.cmake b/ports/nmslib/portfile.cmake index 8743aae8042689..49a194ba109883 100644 --- a/ports/nmslib/portfile.cmake +++ b/ports/nmslib/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "nmslib only supports static linkage. Building statically.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -39,7 +36,7 @@ vcpkg_copy_pdbs() set(SUBFOLDERS factory method space) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/nmslib) foreach(SUBFOLER ${SUBFOLDERS}) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/nmslib/${SUBFOLER}) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/nmslib/${SUBFOLER}) endforeach() file(GLOB HEADERS ${CURRENT_PACKAGES_DIR}/include/*.h ${CURRENT_PACKAGES_DIR}/include/*/*.h) @@ -50,7 +47,7 @@ foreach(HEADER ${HEADERS}) endforeach(HEADER ${HEADERS}) foreach(SUBFOLER ${SUBFOLDERS}) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/${SUBFOLER}/) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/${SUBFOLER}/) endforeach() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/nvtt/CONTROL b/ports/nvtt/CONTROL index 19ef69da08f8a6..15c72fa719b35e 100644 --- a/ports/nvtt/CONTROL +++ b/ports/nvtt/CONTROL @@ -1,3 +1,3 @@ Source: nvtt -Version: 2.1.0-1 -Description: Texture processing tools with support for Direct3D 10 and 11 formats. \ No newline at end of file +Version: 2.1.0-2 +Description: Texture processing tools with support for Direct3D 10 and 11 formats. diff --git a/ports/nvtt/portfile.cmake b/ports/nvtt/portfile.cmake index 30e2e5cc60c389..299732a370e8ee 100644 --- a/ports/nvtt/portfile.cmake +++ b/ports/nvtt/portfile.cmake @@ -1,17 +1,7 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO castano/nvidia-texture-tools @@ -34,7 +24,7 @@ vcpkg_install_cmake() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() - + vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/octomap/001-fix-exported-targets.patch b/ports/octomap/001-fix-exported-targets.patch new file mode 100644 index 00000000000000..fe02db6e9f0d55 --- /dev/null +++ b/ports/octomap/001-fix-exported-targets.patch @@ -0,0 +1,82 @@ +diff --git a/octomap/src/CMakeLists.txt b/octomap/src/CMakeLists.txt +index 9ac6dcb..526ad76 100644 +--- a/octomap/src/CMakeLists.txt ++++ b/octomap/src/CMakeLists.txt +@@ -8,16 +8,14 @@ SET (octomap_SRCS + OcTreeNode.cpp + OcTreeStamped.cpp + ColorOcTree.cpp +- ) ++) + +-# dynamic and static libs, see CMake FAQ: +-ADD_LIBRARY( octomap SHARED ${octomap_SRCS}) +-set_target_properties( octomap PROPERTIES ++ADD_LIBRARY(octomap ${octomap_SRCS}) ++set_target_properties(octomap PROPERTIES + VERSION ${OCTOMAP_VERSION} + SOVERSION ${OCTOMAP_SOVERSION} ++ OUTPUT_NAME "octomap" + ) +-ADD_LIBRARY( octomap-static STATIC ${octomap_SRCS}) +-SET_TARGET_PROPERTIES(octomap-static PROPERTIES OUTPUT_NAME "octomap") + + TARGET_LINK_LIBRARIES(octomap octomath) + +@@ -25,7 +23,7 @@ if(NOT EXISTS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap") + file(MAKE_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap") + endif() + +-export(TARGETS octomap octomap-static ++export(TARGETS octomap + APPEND FILE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap/octomap-targets.cmake") + + ADD_SUBDIRECTORY( testing ) +@@ -66,7 +64,7 @@ TARGET_LINK_LIBRARIES(intersection_example octomap) + ADD_EXECUTABLE(octree2pointcloud octree2pointcloud.cpp) + TARGET_LINK_LIBRARIES(octree2pointcloud octomap) + +-install(TARGETS octomap octomap-static ++install(TARGETS octomap + EXPORT octomap-targets + INCLUDES DESTINATION include + ${INSTALL_TARGETS_DEFAULT_ARGS} +@@ -84,4 +82,3 @@ install(TARGETS + compare_octrees + ${INSTALL_TARGETS_DEFAULT_ARGS} + ) +- +diff --git a/octomap/src/math/CMakeLists.txt b/octomap/src/math/CMakeLists.txt +index 22127ad..cd256c7 100644 +--- a/octomap/src/math/CMakeLists.txt ++++ b/octomap/src/math/CMakeLists.txt +@@ -5,26 +5,22 @@ SET (octomath_SRCS + ) + + +-ADD_LIBRARY( octomath SHARED ${octomath_SRCS}) ++ADD_LIBRARY(octomath ${octomath_SRCS}) + + SET_TARGET_PROPERTIES( octomath PROPERTIES + VERSION ${OCTOMAP_VERSION} + SOVERSION ${OCTOMAP_SOVERSION} + INSTALL_NAME_DIR ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} # this seems to be necessary for MacOS X + ) +-# INSTALL_NAME_DIR seems to be necessary for MacOS X +- +-ADD_LIBRARY( octomath-static STATIC ${octomath_SRCS}) +-SET_TARGET_PROPERTIES(octomath-static PROPERTIES OUTPUT_NAME "octomath") + + if(NOT EXISTS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap") + file(MAKE_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap") + endif() + +-export(TARGETS octomath octomath-static ++export(TARGETS octomath + APPEND FILE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap/octomap-targets.cmake") + +-install(TARGETS octomath octomath-static ++install(TARGETS octomath + EXPORT octomap-targets + INCLUDES DESTINATION include + ${INSTALL_TARGETS_DEFAULT_ARGS} diff --git a/ports/octomap/CONTROL b/ports/octomap/CONTROL index 71e76163a851e1..3669f385042b42 100644 --- a/ports/octomap/CONTROL +++ b/ports/octomap/CONTROL @@ -1,3 +1,3 @@ Source: octomap -Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-5 +Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-6 Description: An Efficient Probabilistic 3D Mapping Framework Based on Octrees diff --git a/ports/octomap/portfile.cmake b/ports/octomap/portfile.cmake index 98630922e0e540..113f6fc04762e7 100644 --- a/ports/octomap/portfile.cmake +++ b/ports/octomap/portfile.cmake @@ -1,24 +1,24 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - message("Octomap does not currently support building purely static. Building dynamic instead.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OctoMap/octomap REF cefed0c1d79afafa5aeb05273cf1246b093b771c SHA512 8fdea8b33680488d41e570d55ff88c20b923efb9d48238031f9b96d2e3917dbe7e49699769de63794f4b1d24e40a99615151e72487f30de340a3abf6522ea156 HEAD_REF master + PATCHES + "001-fix-exported-targets.patch" ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) vcpkg_install_cmake() @@ -50,10 +50,15 @@ else() endif() vcpkg_fixup_cmake_targets(CONFIG_PATH share/octomap) + + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/octomap") # Handle copyright file(COPY ${SOURCE_PATH}/octomap/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/octomap) diff --git a/ports/octomap/vcpkg-cmake-wrapper.cmake b/ports/octomap/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..2dd237e711db62 --- /dev/null +++ b/ports/octomap/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,15 @@ +_find_package(${ARGS}) + +if(TARGET octomap AND NOT TARGET octomap-static) + add_library(octomap-static INTERFACE IMPORTED) + set_target_properties(octomap-static PROPERTIES INTERFACE_LINK_LIBRARIES "octomap") + + add_library(octomath-static INTERFACE IMPORTED) + set_target_properties(octomath-static PROPERTIES INTERFACE_LINK_LIBRARIES "octomath") +elseif(TARGET octomap-static AND NOT TARGET octomap) + add_library(octomap INTERFACE IMPORTED) + set_target_properties(octomap PROPERTIES INTERFACE_LINK_LIBRARIES "octomap-static") + + add_library(octomath INTERFACE IMPORTED) + set_target_properties(octomath PROPERTIES INTERFACE_LINK_LIBRARIES "octomath-static") +endif() diff --git a/ports/ode/CONTROL b/ports/ode/CONTROL index 952e8562968cf4..6f88319e672828 100644 --- a/ports/ode/CONTROL +++ b/ports/ode/CONTROL @@ -1,3 +1,3 @@ -Source: ode -Version: 0.15.1 -Description: Open Dynamics Engine +Source: ode +Version: 0.15.1-1 +Description: Open Dynamics Engine diff --git a/ports/ode/portfile.cmake b/ports/ode/portfile.cmake index 2bd55e060ffe3a..a1f617fe3bbc8d 100644 --- a/ports/ode/portfile.cmake +++ b/ports/ode/portfile.cmake @@ -36,23 +36,23 @@ else () set(MSBUILD_PLATFORM ${TRIPLET_SYSTEM_ARCH}) endif() -# The build system of ode outputs its artifacts in this subdirectory -# of the source directory +# The build system of ode outputs its artifacts in this subdirectory +# of the source directory set(DEBUG_ARTIFACTS_PATH ${SOURCE_PATH}/lib/Debug) set(RELEASE_ARTIFACTS_PATH ${SOURCE_PATH}/lib/Release) -# To avoid contamination from previous build, we clean the directory +# To avoid contamination from previous build, we clean the directory file(REMOVE_RECURSE ${DEBUG_ARTIFACTS_PATH} ${RELEASE_ARTIFACTS_PATH}) -# Configure the project using the embedded premake4 +# Configure the project using the embedded premake4 message(STATUS "Configuring ${TARGET_TRIPLET}") -# Consistently with the debian package we only ship ODE built with double precision +# Consistently with the debian package we only ship ODE built with double precision set(premake_OPTIONS "--only-double") -# TODO: use vcpkg's libccd +# TODO: use vcpkg's libccd list(APPEND premake_OPTIONS --with-libccd) -if(DEFINED VCPKG_LIBRARY_LINKAGE AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) list(APPEND premake_OPTIONS --only-shared) -elseif(DEFINED VCPKG_LIBRARY_LINKAGE AND VCPKG_LIBRARY_LINKAGE STREQUAL static) +elseif(VCPKG_LIBRARY_LINKAGE STREQUAL static) list(APPEND premake_OPTIONS --only-static) endif() if(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL static) @@ -75,11 +75,11 @@ vcpkg_build_msbuild(PROJECT_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/ode PLATFORM ${MSBUILD_PLATFORM} WORKING_DIRECTORY ${SOURCE_PATH}/build) -# Install headers +# Install headers file(GLOB HEADER_FILES ${SOURCE_PATH}/include/ode/*.h) file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ode) - -# Install libraries + +# Install libraries file(GLOB LIB_DEBUG_FILES ${DEBUG_ARTIFACTS_PATH}/*.lib ${DEBUG_ARTIFACTS_PATH}/*.exp) file(INSTALL ${LIB_DEBUG_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) @@ -89,7 +89,7 @@ if (DEFINED VCPKG_LIBRARY_LINKAGE AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(INSTALL ${BIN_DEBUG_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) endif () - + file(GLOB LIB_RELEASE_FILES ${RELEASE_ARTIFACTS_PATH}/*.lib ${RELEASE_ARTIFACTS_PATH}/*.exp) file(INSTALL ${LIB_RELEASE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL index 11a3d174147fed..b3ff85c81caff3 100644 --- a/ports/openblas/CONTROL +++ b/ports/openblas/CONTROL @@ -1,3 +1,3 @@ Source: openblas -Version: 0.3.5-3 +Version: 0.3.5-4 Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake index 967a0dbb7df88c..7f4c0adb42fe71 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -17,10 +17,7 @@ if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") endif() if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message("openblas currenly only supports dynamic library linkage") - set(VCPKG_LIBRARY_LINKAGE "dynamic") - endif() + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) set(CMAKE_CROSSCOMPILING OFF) endif() @@ -30,7 +27,7 @@ vcpkg_from_github( REF v0.3.5 SHA512 91b3074eb922453bf843158b4281cde65db9e8bbdd7590e75e9e6cdcb486157f7973f2936f327bb3eb4f1702ce0ba51ae6729d8d4baf2d986c50771e8f696df0 HEAD_REF develop - PATCHES + PATCHES uwp.patch fix-space-path.patch ) diff --git a/ports/opencl/CONTROL b/ports/opencl/CONTROL index 89d4ad0e193cef..633c95e5110c2a 100644 --- a/ports/opencl/CONTROL +++ b/ports/opencl/CONTROL @@ -1,3 +1,3 @@ -Source: opencl -Version: 2.2 (2017.07.18) -Description: C/C++ headers and ICD loader (Installable Client Driver) for OpenCL +Source: opencl +Version: 2.2 (2017.07.18)-1 +Description: C/C++ headers and ICD loader (Installable Client Driver) for OpenCL diff --git a/ports/opencl/portfile.cmake b/ports/opencl/portfile.cmake index f7e1bdd2f2dc30..54096512fd4904 100644 --- a/ports/opencl/portfile.cmake +++ b/ports/opencl/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + # OpenCL C headers vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -52,11 +54,6 @@ vcpkg_from_github( HEAD_REF master ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(STATUS "Building the ICD loader as a static library is not supported. Building as DLLs instead.") - set(VCPKG_LIBRARY_LINKAGE "dynamic") -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/openjpeg/CONTROL b/ports/openjpeg/CONTROL index 1b7a3697de60a9..7a8721b8d056e6 100644 --- a/ports/openjpeg/CONTROL +++ b/ports/openjpeg/CONTROL @@ -1,3 +1,3 @@ Source: openjpeg -Version: 2.3.0 +Version: 2.3.0-1 Description: JPEG 2000 image library diff --git a/ports/openjpeg/portfile.cmake b/ports/openjpeg/portfile.cmake index de683a08906346..f0f293ac16e877 100644 --- a/ports/openjpeg/portfile.cmake +++ b/ports/openjpeg/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uclouvain/openjpeg diff --git a/ports/openni2/CONTROL b/ports/openni2/CONTROL index 26fcebaba3d989..d7e75fb7dd6b09 100644 --- a/ports/openni2/CONTROL +++ b/ports/openni2/CONTROL @@ -1,4 +1,4 @@ -Source: openni2 -Version: 2.2.0.33-7 -Build-Depends: kinectsdk1 -Description: OpenNI is open source library for access to Natural Interaction (NI) devices such as RGB-D camera. +Source: openni2 +Version: 2.2.0.33-8 +Build-Depends: kinectsdk1 +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 fb7eeade658717..8ef2514b34416e 100644 --- a/ports/openni2/portfile.cmake +++ b/ports/openni2/portfile.cmake @@ -1,21 +1,10 @@ -# UWP Not Support +include(vcpkg_common_functions) if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() -# Static Build Not Support -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(STATUS "Warning: Static building not supported. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE "dynamic") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) -# Static CRT linkage not supported -if (VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "Warning: Static CRT linkage is not supported.") -endif() - -# Download Source Code -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenNI/OpenNI2 @@ -223,4 +212,4 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/openni2deploy.ps1 DESTINATION ${CURRENT_PACK # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openni2) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/openni2/LICENSE ${CURRENT_PACKAGES_DIR}/share/openni2/copyright) \ No newline at end of file +file(RENAME ${CURRENT_PACKAGES_DIR}/share/openni2/LICENSE ${CURRENT_PACKAGES_DIR}/share/openni2/copyright) diff --git a/ports/openssl-uwp/CONTROL b/ports/openssl-uwp/CONTROL index 1bfa6651a2fb35..c10ca99d323e57 100644 --- a/ports/openssl-uwp/CONTROL +++ b/ports/openssl-uwp/CONTROL @@ -1,3 +1,3 @@ Source: openssl-uwp -Version: 1.0.2q-winrt-1 +Version: 1.0.2q-winrt-2 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. diff --git a/ports/openssl-uwp/portfile.cmake b/ports/openssl-uwp/portfile.cmake index 83eff7dcc617fb..45ecdbc34ee400 100644 --- a/ports/openssl-uwp/portfile.cmake +++ b/ports/openssl-uwp/portfile.cmake @@ -1,7 +1,6 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(VCPKG_LIBRARY_LINKAGE dynamic) - message("Static building not supported yet") -endif() +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") @@ -17,25 +16,19 @@ else () message(FATAL_ERROR "Unsupported architecture") endif() -include(vcpkg_common_functions) - - vcpkg_find_acquire_program(PERL) vcpkg_find_acquire_program(JOM) get_filename_component(JOM_EXE_PATH ${JOM} DIRECTORY) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH};${JOM_EXE_PATH}") -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Microsoft/openssl/archive/OpenSSL_1_0_2q_WinRT.zip" - FILENAME "openssl-microsoft-1.0.2q_WinRT.zip" - SHA512 828ddeb10b7d04155df64cb38f3d8b8109ff01494fed7f6c1063673e45414c1c309379e8bbe72478bd0fbae649d6749877c20b1b4a91db136a0853745f4da6b6 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES + REPO Microsoft/openssl + REF OpenSSL_1_0_2q_WinRT + SHA512 a5deb38d8ac3d2dc5cfcefca74ef1b6bb913fb2a205163e26100f8714b567768e2699948d6a2ec3ebdbf8c72bfbf8ccfe0e574a1d20a2a736b64e9d69ca9b719 + HEAD_REF master + PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-uwp-rs4.patch ${CMAKE_CURRENT_LIST_DIR}/fix-uwp-configure-unicode.patch ) diff --git a/ports/opusfile/CMakeLists.txt b/ports/opusfile/CMakeLists.txt index 51ea8f89455cf2..c70ea98bc8d2a9 100644 --- a/ports/opusfile/CMakeLists.txt +++ b/ports/opusfile/CMakeLists.txt @@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.4) project(opusfile C) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4267 /wd4244 /wd4090") -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) find_path(OGG_INCLUDE_DIR ogg/ogg.h) find_library(OGG_LIBRARY ogg) @@ -34,7 +33,7 @@ if(BUILD_OPUSURL) target_compile_definitions(opusurl PRIVATE OP_ENABLE_HTTP) target_include_directories(opusurl PRIVATE include) target_link_libraries(opusurl PRIVATE opusfile OpenSSL::SSL ws2_32.lib crypt32.lib) - + install(TARGETS opusurl RUNTIME DESTINATION bin LIBRARY DESTINATION lib @@ -42,6 +41,6 @@ if(BUILD_OPUSURL) endif() if(NOT OPUSFILE_SKIP_HEADERS) - install(FILES include/opusfile.h + install(FILES include/opusfile.h DESTINATION include/opus) endif() diff --git a/ports/opusfile/CONTROL b/ports/opusfile/CONTROL index 82307c1006bad9..65f6bada71d1b8 100644 --- a/ports/opusfile/CONTROL +++ b/ports/opusfile/CONTROL @@ -1,8 +1,8 @@ -Source: opusfile -Version: 0.11-1 -Description: Stand-alone decoder library for .opus streams -Build-Depends: libogg, opus - -Feature: opusurl -Description: Support decoding of http(s) streams -Build-Depends: openssl +Source: opusfile +Version: 0.11-2 +Description: Stand-alone decoder library for .opus streams +Build-Depends: libogg, opus + +Feature: opusurl +Description: Support decoding of http(s) streams +Build-Depends: openssl diff --git a/ports/opusfile/portfile.cmake b/ports/opusfile/portfile.cmake index 30c633ca24192d..aae9303f8668d9 100644 --- a/ports/opusfile/portfile.cmake +++ b/ports/opusfile/portfile.cmake @@ -1,8 +1,11 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "UWP builds not supported") endif() -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/opusfile @@ -18,11 +21,11 @@ else() set(BUILD_OPUSURL OFF) endif() -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} +vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_OPUSURL=${BUILD_OPUSURL} - OPTIONS_DEBUG + -DBUILD_OPUSURL=${BUILD_OPUSURL} + OPTIONS_DEBUG -DOPUSFILE_SKIP_HEADERS=ON) vcpkg_install_cmake() diff --git a/ports/osg/CONTROL b/ports/osg/CONTROL index e78458d2596f86..421e96a9da22fa 100644 --- a/ports/osg/CONTROL +++ b/ports/osg/CONTROL @@ -1,5 +1,5 @@ Source: osg -Version: 3.6.2-1 +Version: 3.6.2-2 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/osg/portfile.cmake b/ports/osg/portfile.cmake index 98a0ec2932be2f..9b70cce140d472 100644 --- a/ports/osg/portfile.cmake +++ b/ports/osg/portfile.cmake @@ -1,17 +1,7 @@ -# 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_check_linkage(ONLY_DYNAMIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openscenegraph/OpenSceneGraph @@ -19,8 +9,7 @@ vcpkg_from_github( SHA512 6949dd4dea9dcffe4228086b72eafdb253bf1403b3b7a70a4727848c3cde23ad0270f41b1c3e2bdbfd410ec067ecce2052a5d26c61b032b6d46ce84b8c931bfb HEAD_REF master PATCHES - "${CMAKE_CURRENT_LIST_DIR}/collada.patch" - "${CMAKE_CURRENT_LIST_DIR}/static.patch" + collada.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -31,18 +20,13 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - # PREFER_NINJA # Disable this option if project cannot be built with Ninja OPTIONS -DOSG_USE_UTF8_FILENAME=ON - -DDYNAMIC_OPENSCENEGRAPH=${OSG_DYNAMIC} - -DDYNAMIC_OPENTHREADS=${OSG_DYNAMIC} - -DBUILD_OSG_EXAMPLES=ON - -DBUILD_OSG_APPLICATIONS=ON ) vcpkg_install_cmake() -# handle osg tools and plugins +# handle osg tools and plugins file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) set(OSG_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/osg) diff --git a/ports/osgearth/CONTROL b/ports/osgearth/CONTROL index 3b2ba3e4b2db58..f056caf337112a 100644 --- a/ports/osgearth/CONTROL +++ b/ports/osgearth/CONTROL @@ -1,4 +1,4 @@ -Source: osgearth -Version: 2.10 -Description: osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping. -Build-Depends: osg +Source: osgearth +Version: 2.10-1 +Description: osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping. +Build-Depends: osg diff --git a/ports/osgearth/portfile.cmake b/ports/osgearth/portfile.cmake index 21243fcedcb1c4..798b0df850ec51 100644 --- a/ports/osgearth/portfile.cmake +++ b/ports/osgearth/portfile.cmake @@ -1,13 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building will not support load data through plugins.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - -if(VCPKG_CRT_LINKAGE STREQUAL static) - message(FATAL_ERROR "osgearth does not support static CRT linkage") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) file(GLOB OSG_PLUGINS_SUBDIR ${CURRENT_INSTALLED_DIR}/tools/osg/osgPlugins-*) list(LENGTH OSG_PLUGINS_SUBDIR OSG_PLUGINS_SUBDIR_LENGTH) diff --git a/ports/osi/CMakeLists.txt b/ports/osi/CMakeLists.txt index ab061f1697ddd8..7f4ca5ed1ba4e4 100644 --- a/ports/osi/CMakeLists.txt +++ b/ports/osi/CMakeLists.txt @@ -12,9 +12,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") -if(BUILD_SHARED_LIBS AND MSVC) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif(BUILD_SHARED_LIBS AND MSVC) + if(MSVC) set( CMAKE_CXX_FLAGS @@ -35,8 +33,6 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) # options option(BUILD_SHARED_LIBS "" ON) -# -# 设置用于 install 的变量 # # Introduce variables: * CMAKE_INSTALL_LIBDIR * CMAKE_INSTALL_BINDIR include(GNUInstallDirs) diff --git a/ports/osi/CONTROL b/ports/osi/CONTROL index 457085c68c3d83..98cfbdcadf5adb 100644 --- a/ports/osi/CONTROL +++ b/ports/osi/CONTROL @@ -1,4 +1,4 @@ Source: osi -Version: 0.107.9-0 -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. +Version: 0.107.9-1 +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 6cb2e1217a45e7..8c890581c4ceee 100644 --- a/ports/osi/portfile.cmake +++ b/ports/osi/portfile.cmake @@ -1,45 +1,26 @@ -# 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 coin-or/Osi - REF releases/0.107.9 - SHA512 52501e2fa81ad9ec1412596b5945e11f2d5c5c91bdb148f41dad9efb8e4a033cfc2f76e389b9e546593b89ae6c7f74c32e6c5b78337c967ad0c90cd6a7183a28 -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(BUILD_SHARED_LIBS ON) -else() - set(BUILD_SHARED_LIBS OFF) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja - OPTIONS - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Osi") - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/osi RENAME copyright) - -# Post-build test for cmake libraries -# vcpkg_test_cmake(PACKAGE_NAME osi) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO coin-or/Osi + REF releases/0.107.9 + SHA512 52501e2fa81ad9ec1412596b5945e11f2d5c5c91bdb148f41dad9efb8e4a033cfc2f76e389b9e546593b89ae6c7f74c32e6c5b78337c967ad0c90cd6a7183a28 +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Osi") + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/osi RENAME copyright) diff --git a/ports/pangolin/CONTROL b/ports/pangolin/CONTROL index 1cbf2ad98857d2..593c753b21361e 100644 --- a/ports/pangolin/CONTROL +++ b/ports/pangolin/CONTROL @@ -1,4 +1,4 @@ -Source: pangolin -Version: 0.5-5 -Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg -Description: Lightweight GUI Library +Source: pangolin +Version: 0.5-6 +Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg +Description: Lightweight GUI Library diff --git a/ports/pangolin/portfile.cmake b/ports/pangolin/portfile.cmake index cd6a4fe7867d0e..ac4d316253df01 100644 --- a/ports/pangolin/portfile.cmake +++ b/ports/pangolin/portfile.cmake @@ -1,12 +1,14 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stevenlovegrove/Pangolin REF v0.5 SHA512 7ebeec108f33f1aa8b1ad08e3ca128a837b22d33e3fc580021f981784043b023a1bf563bbfa8b51d46863db770b336d24fc84ee3d836b85e0da1848281b2a5b2 HEAD_REF master - PATCHES + PATCHES deprecated_constants.patch # Change from upstream pangolin to address build failures from latest ffmpeg library fix-includepath-error.patch # include path has one more ../ ) @@ -19,7 +21,6 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON -DBUILD_EXTERN_GLEW=OFF -DBUILD_EXTERN_LIBPNG=OFF -DBUILD_EXTERN_LIBJPEG=OFF diff --git a/ports/parmetis/CONTROL b/ports/parmetis/CONTROL index bb22376545974a..bdc95557ad29c9 100644 --- a/ports/parmetis/CONTROL +++ b/ports/parmetis/CONTROL @@ -1,4 +1,4 @@ -Source: parmetis -Version: 4.0.3-1 -Description: Parallel Graph Partitioning and Fill-reducing Matrix Ordering -Build-Depends: metis, msmpi +Source: parmetis +Version: 4.0.3-2 +Description: Parallel Graph Partitioning and Fill-reducing Matrix Ordering +Build-Depends: metis, msmpi diff --git a/ports/parmetis/portfile.cmake b/ports/parmetis/portfile.cmake index ba34e47e8bb3f9..63b2cb87bc59ac 100644 --- a/ports/parmetis/portfile.cmake +++ b/ports/parmetis/portfile.cmake @@ -1,13 +1,8 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(ADDITIONAL_OPTIONS -DSHARED=OFF) + vcpkg_download_distfile(ARCHIVE URLS "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz" FILENAME "parmetis-4.0.3.tar.gz" @@ -25,12 +20,6 @@ vcpkg_extract_source_archive_ex( use_stdint.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(ADDITIONAL_OPTIONS -DSHARED=ON -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON) -else() - set(ADDITIONAL_OPTIONS -DSHARED=OFF) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS diff --git a/ports/pdal-c/CONTROL b/ports/pdal-c/CONTROL index 2a52378b5e815d..061e1a6597143f 100644 --- a/ports/pdal-c/CONTROL +++ b/ports/pdal-c/CONTROL @@ -1,4 +1,4 @@ -Source: pdal-c -Version: 1.8-1 -Description: C API for the Point Data Abstraction Library (PDAL) -Build-Depends: pdal +Source: pdal-c +Version: 1.8-2 +Description: C API for the Point Data Abstraction Library (PDAL) +Build-Depends: pdal diff --git a/ports/pdal-c/portfile.cmake b/ports/pdal-c/portfile.cmake index 8a478c547a8ab6..bdfdd387e8addb 100644 --- a/ports/pdal-c/portfile.cmake +++ b/ports/pdal-c/portfile.cmake @@ -1,10 +1,6 @@ -# vcpkg portfile.cmake for pdal-c, the C API for PDAL - include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building will not support load data through plugins.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/piex/CONTROL b/ports/piex/CONTROL index 43411e564fcc81..3fb98201f9b8b2 100644 --- a/ports/piex/CONTROL +++ b/ports/piex/CONTROL @@ -1,3 +1,3 @@ -Source: piex -Version: 2018-03-13 -Description: The Preview Image Extractor (PIEX) is designed to find and extract the largest +Source: piex +Version: 2018-03-13-1 +Description: The Preview Image Extractor (PIEX) is designed to find and extract the largest diff --git a/ports/piex/portfile.cmake b/ports/piex/portfile.cmake index 039c2c41d56fc0..3238c013cd5352 100644 --- a/ports/piex/portfile.cmake +++ b/ports/piex/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Dynamic not supported building static") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/pixman/CMakeLists.txt b/ports/pixman/CMakeLists.txt index ad2f5e50391884..1b8c311c19fe57 100644 --- a/ports/pixman/CMakeLists.txt +++ b/ports/pixman/CMakeLists.txt @@ -1,7 +1,6 @@ cmake_minimum_required(VERSION 3.0) project(pixman VERSION 0.34.0 LANGUAGES C) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) set(CMAKE_DEBUG_POSTFIX "d") if(UNIX) diff --git a/ports/pixman/CONTROL b/ports/pixman/CONTROL index 3e2caf1ca60fef..066d81076feccb 100644 --- a/ports/pixman/CONTROL +++ b/ports/pixman/CONTROL @@ -1,3 +1,3 @@ Source: pixman -Version: 0.38.0-2 +Version: 0.38.0-3 Description: Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. diff --git a/ports/pixman/portfile.cmake b/ports/pixman/portfile.cmake index e81972fd7ab749..649bee4898bde6 100644 --- a/ports/pixman/portfile.cmake +++ b/ports/pixman/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(PIXMAN_VERSION 0.38.0) vcpkg_download_distfile(ARCHIVE URLS "https://www.cairographics.org/releases/pixman-${PIXMAN_VERSION}.tar.gz" diff --git a/ports/platform-folders/CONTROL b/ports/platform-folders/CONTROL index d964e1d0893ce3..9ce30f45a6fe53 100644 --- a/ports/platform-folders/CONTROL +++ b/ports/platform-folders/CONTROL @@ -1,3 +1,3 @@ -Source: platform-folders -Version: 4.0.0-4 -Description: A C++ library to look for special directories like "My Documents" and "%APPDATA%" +Source: platform-folders +Version: 4.0.0-5 +Description: A C++ library to look for special directories like "My Documents" and "%APPDATA%" diff --git a/ports/platform-folders/portfile.cmake b/ports/platform-folders/portfile.cmake index a08610e1899877..c6684809676dd6 100644 --- a/ports/platform-folders/portfile.cmake +++ b/ports/platform-folders/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(TARGET_BUILD_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -13,14 +16,13 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DBUILD_TESTING=OFF - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) vcpkg_install_cmake() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(INSTALL ${TARGET_BUILD_PATH}-rel/platform_folders.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin/) + file(INSTALL ${TARGET_BUILD_PATH}-rel/platform_folders.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin/) file(INSTALL ${TARGET_BUILD_PATH}-dbg/platform_folders.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/) endif() diff --git a/ports/plib/CONTROL b/ports/plib/CONTROL index f1509d029da5f8..b5abf00112d3ab 100644 --- a/ports/plib/CONTROL +++ b/ports/plib/CONTROL @@ -1,3 +1,3 @@ -Source: plib -Version: 1.8.5-2 -Description: A suite of portable game libraries +Source: plib +Version: 1.8.5-3 +Description: A suite of portable game libraries diff --git a/ports/plib/portfile.cmake b/ports/plib/portfile.cmake index 16c5673c9cf862..ed0f03af056234 100644 --- a/ports/plib/portfile.cmake +++ b/ports/plib/portfile.cmake @@ -1,9 +1,7 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("Note: plib only supports static library linkage") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/plib-1.8.5) vcpkg_download_distfile(ARCHIVE URLS "http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz" diff --git a/ports/pmdk/CONTROL b/ports/pmdk/CONTROL index 1b94a1522bbda0..803544c916471c 100644 --- a/ports/pmdk/CONTROL +++ b/ports/pmdk/CONTROL @@ -1,3 +1,3 @@ Source: pmdk -Version: 1.6 -Description: Persistent Memory Development Kit \ No newline at end of file +Version: 1.6-1 +Description: Persistent Memory Development Kit diff --git a/ports/pmdk/portfile.cmake b/ports/pmdk/portfile.cmake index ecd1d90020f29f..4bede2bb9f6877 100644 --- a/ports/pmdk/portfile.cmake +++ b/ports/pmdk/portfile.cmake @@ -1,12 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Static building not supported. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "Static CRT linkage is not supported") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) if (TRIPLET_SYSTEM_ARCH MATCHES "arm") message(FATAL_ERROR "ARM is currently not supported") diff --git a/ports/pngwriter/CONTROL b/ports/pngwriter/CONTROL index 667dafa2424329..286244e934f9cc 100644 --- a/ports/pngwriter/CONTROL +++ b/ports/pngwriter/CONTROL @@ -1,4 +1,4 @@ -Source: pngwriter -Version: 0.7.0-1 -Build-Depends: zlib, libpng, freetype -Description: PNGwriter is a very easy to use open source graphics library that uses PNG as its output format +Source: pngwriter +Version: 0.7.0-2 +Build-Depends: zlib, libpng, freetype +Description: PNGwriter is a very easy to use open source graphics library that uses PNG as its output format diff --git a/ports/pngwriter/portfile.cmake b/ports/pngwriter/portfile.cmake index 93701052297bad..06793058a9f85f 100644 --- a/ports/pngwriter/portfile.cmake +++ b/ports/pngwriter/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("Only static linkage is supported by pngwriter.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/pqp/CONTROL b/ports/pqp/CONTROL index 69a72c33ee5dc8..5eb701bc6db2b4 100644 --- a/ports/pqp/CONTROL +++ b/ports/pqp/CONTROL @@ -1,3 +1,3 @@ -Source: pqp -Version: 1.3-2 -Description: a proximity query package +Source: pqp +Version: 1.3-3 +Description: a proximity query package diff --git a/ports/pqp/portfile.cmake b/ports/pqp/portfile.cmake index 077d76d6aa6d61..a674e3af3ac578 100644 --- a/ports/pqp/portfile.cmake +++ b/ports/pqp/portfile.cmake @@ -1,8 +1,7 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pqp-1.3/PQP_v1.3) vcpkg_download_distfile(ARCHIVE URLS "http://gamma.cs.unc.edu/software/downloads/SSV/pqp-1.3.tar.gz" diff --git a/ports/pystring/CMakeLists.txt b/ports/pystring/CMakeLists.txt index 6fccf78d96df5a..ecfdaa4fb11ec7 100644 --- a/ports/pystring/CMakeLists.txt +++ b/ports/pystring/CMakeLists.txt @@ -5,10 +5,6 @@ if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) endif() -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - add_library(libpystring pystring.cpp) install( diff --git a/ports/pystring/CONTROL b/ports/pystring/CONTROL index 6b4f140350b362..9bdd7daf2d7947 100644 --- a/ports/pystring/CONTROL +++ b/ports/pystring/CONTROL @@ -1,3 +1,3 @@ -Source: pystring -Version: 1.1.3-1 -Description: Pystring is a collection of C++ functions which match the interface and behavior of python's string class methods using std::string +Source: pystring +Version: 1.1.3-2 +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/pystring/portfile.cmake b/ports/pystring/portfile.cmake index d6e9700f8c2e66..8384bc0183665f 100644 --- a/ports/pystring/portfile.cmake +++ b/ports/pystring/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO imageworks/pystring diff --git a/ports/qpid-proton/CONTROL b/ports/qpid-proton/CONTROL index 2c2a1f3e9f574a..3ce196241157d4 100644 --- a/ports/qpid-proton/CONTROL +++ b/ports/qpid-proton/CONTROL @@ -1,4 +1,4 @@ -Source: qpid-proton -Version: 0.24.0-1 -Build-Depends: openssl, libuv (osx) -Description: Qpid Proton is a high-performance, lightweight messaging library. \ No newline at end of file +Source: qpid-proton +Version: 0.24.0-2 +Build-Depends: openssl, libuv (osx) +Description: Qpid Proton is a high-performance, lightweight messaging library. diff --git a/ports/qpid-proton/portfile.cmake b/ports/qpid-proton/portfile.cmake index 64a43d4319177f..760f743719b663 100644 --- a/ports/qpid-proton/portfile.cmake +++ b/ports/qpid-proton/portfile.cmake @@ -1,14 +1,7 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message("qpid-proton does not support static linkage. Building dynamically.") - set(VCPKG_LIBRARY_LINKAGE "dynamic") -endif() - -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "qpid-proton does not support static CRT linkage.") -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) + # Use this throughout rather than literal string set(QPID_PROTON_VERSION 0.24.0) vcpkg_find_acquire_program(PYTHON2) @@ -23,9 +16,11 @@ vcpkg_from_github( ) # Run cmake configure step -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DPYTHON_EXECUTABLE=${PYTHON2}) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DPYTHON_EXECUTABLE=${PYTHON2} +) # Run cmake install step vcpkg_install_cmake() diff --git a/ports/quirc/CMakeLists.txt b/ports/quirc/CMakeLists.txt index 8af398bb8a9db3..a3400c70b86b35 100644 --- a/ports/quirc/CMakeLists.txt +++ b/ports/quirc/CMakeLists.txt @@ -2,8 +2,6 @@ cmake_minimum_required(VERSION 2.8) project(quirc C) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - add_library(quirc lib/decode.c lib/identify.c diff --git a/ports/quirc/CONTROL b/ports/quirc/CONTROL index d86ea00ae043af..0fedf24c222084 100644 --- a/ports/quirc/CONTROL +++ b/ports/quirc/CONTROL @@ -1,3 +1,3 @@ Source: quirc -Version: 1.0-2 +Version: 1.0-3 Description: quirc is one of the C library available for scanning QR Codes diff --git a/ports/quirc/portfile.cmake b/ports/quirc/portfile.cmake index fd05c3db4e4784..d45b283b4a1611 100644 --- a/ports/quirc/portfile.cmake +++ b/ports/quirc/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dlbeer/quirc diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL index 435f49cd07f602..2802c0f9d0a69c 100644 --- a/ports/realsense2/CONTROL +++ b/ports/realsense2/CONTROL @@ -1,7 +1,7 @@ -Source: realsense2 -Version: 2.16.1-1 -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.16.1-2 +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 8db63f04d6594b..0d8ae7cdc768c8 100644 --- a/ports/realsense2/portfile.cmake +++ b/ports/realsense2/portfile.cmake @@ -8,7 +8,6 @@ vcpkg_from_github( HEAD_REF development ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_LIBRARY_LINKAGE) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_CRT_LINKAGE) set(BUILD_EXAMPLES OFF) @@ -26,7 +25,6 @@ vcpkg_configure_cmake( # BUILD -DBUILD_EXAMPLES=${BUILD_EXAMPLES} -DBUILD_GRAPHICAL_EXAMPLES=${BUILD_GRAPHICAL_EXAMPLES} - -DBUILD_SHARED_LIBS=${BUILD_LIBRARY_LINKAGE} -DBUILD_UNIT_TESTS=OFF -DBUILD_WITH_OPENMP=OFF -DBUILD_WITH_STATIC_CRT=${BUILD_CRT_LINKAGE} diff --git a/ports/recast/CONTROL b/ports/recast/CONTROL index 4cc61e30d4b834..969b9d172579f2 100644 --- a/ports/recast/CONTROL +++ b/ports/recast/CONTROL @@ -1,3 +1,3 @@ -Source: recast -Version: 1.5.1-1 -Description: Navigation-mesh Toolset for Games +Source: recast +Version: 1.5.1-2 +Description: Navigation-mesh Toolset for Games diff --git a/ports/recast/portfile.cmake b/ports/recast/portfile.cmake index 7d9f08f9393759..a544971d8252d4 100644 --- a/ports/recast/portfile.cmake +++ b/ports/recast/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Dynamic not supported, building static") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/rpclib/CONTROL b/ports/rpclib/CONTROL index 2123f29c43a314..d3531e9b511225 100644 --- a/ports/rpclib/CONTROL +++ b/ports/rpclib/CONTROL @@ -1,3 +1,3 @@ -Source: rpclib -Version: 2.2.1 -Description: a RPC library for C++, providing both a client and server implementation. It is built using modern C++14. +Source: rpclib +Version: 2.2.1-1 +Description: a RPC library for C++, providing both a client and server implementation. It is built using modern C++14. diff --git a/ports/rpclib/portfile.cmake b/ports/rpclib/portfile.cmake index 40aea10bb1577e..9865a2afe24820 100644 --- a/ports/rpclib/portfile.cmake +++ b/ports/rpclib/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/rttr/CONTROL b/ports/rttr/CONTROL index cb4eb9557d3581..55e6e6b6730472 100644 --- a/ports/rttr/CONTROL +++ b/ports/rttr/CONTROL @@ -1,3 +1,3 @@ -Source: rttr -Version: 0.9.6-0 -Description: an easy and intuitive way to use reflection in C++ +Source: rttr +Version: 0.9.6-1 +Description: an easy and intuitive way to use reflection in C++ diff --git a/ports/rttr/fix-directory-output.patch b/ports/rttr/fix-directory-output.patch index 8fd8ed0c7bb920..97e47f3716b4aa 100644 --- a/ports/rttr/fix-directory-output.patch +++ b/ports/rttr/fix-directory-output.patch @@ -1,4 +1,4 @@ -diff --git a/CMake/config.cmake b/CMake/config.cmake +diff --git a/CMake/config.cmake b/CMake/config.cmake index a718199..eab64c2 100644 --- a/CMake/config.cmake +++ b/CMake/config.cmake diff --git a/ports/rttr/portfile.cmake b/ports/rttr/portfile.cmake index ceef0444954895..2c2c7e86350645 100644 --- a/ports/rttr/portfile.cmake +++ b/ports/rttr/portfile.cmake @@ -1,12 +1,7 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message("Rttr only supports dynamic library linkage") - set(VCPKG_LIBRARY_LINKAGE "dynamic") -endif() -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "Rttr only supports dynamic library linkage, so cannot be built with static CRT") -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rttrorg/rttr diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL index c82708a73cd832..69f2d68a099d9b 100644 --- a/ports/sciter/CONTROL +++ b/ports/sciter/CONTROL @@ -1,4 +1,4 @@ -Source: sciter -Version: 4.2.6.9 -Description: Sciter is an embeddable HTML/CSS/scripting engine. -Maintainer: andrew.fedoniouk@gmail.com, ehysta@gmail.com +Source: sciter +Version: 4.2.6.9-1 +Description: Sciter is an embeddable HTML/CSS/scripting engine. +Maintainer: andrew.fedoniouk@gmail.com, ehysta@gmail.com diff --git a/ports/sciter/portfile.cmake b/ports/sciter/portfile.cmake index 8ae54344eb3ae5..d94cc546962fac 100644 --- a/ports/sciter/portfile.cmake +++ b/ports/sciter/portfile.cmake @@ -1,13 +1,11 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Sciter is only available under a free license as DLLs.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "Sciter only supports Windows Desktop") endif() -include(vcpkg_common_functions) # header-only library set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) diff --git a/ports/secp256k1/CONTROL b/ports/secp256k1/CONTROL index be37f1693f3405..16761cc4d43878 100644 --- a/ports/secp256k1/CONTROL +++ b/ports/secp256k1/CONTROL @@ -1,3 +1,3 @@ -Source: secp256k1 -Version: 2017-19-10-0b7024185045a49a1a6a4c5615bf31c94f63d9c4-1 -Description: Optimized C library for EC operations on curve +Source: secp256k1 +Version: 2017-19-10-0b7024185045a49a1a6a4c5615bf31c94f63d9c4-2 +Description: Optimized C library for EC operations on curve diff --git a/ports/secp256k1/portfile.cmake b/ports/secp256k1/portfile.cmake index 2012c4827ef71b..28291c7eca389f 100644 --- a/ports/secp256k1/portfile.cmake +++ b/ports/secp256k1/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL index 56b6250d6612f3..5188892da1fbdd 100644 --- a/ports/shogun/CONTROL +++ b/ports/shogun/CONTROL @@ -1,4 +1,4 @@ -Source: shogun -Version: 6.1.3 -Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent -Description: Unified and efficient Machine Learning +Source: shogun +Version: 6.1.3-1 +Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64), 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 e002ead4a6b39a..b207116c835210 100644 --- a/ports/shogun/portfile.cmake +++ b/ports/shogun/portfile.cmake @@ -1,10 +1,7 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("shogun only supports static library linkage") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO shogun-toolbox/shogun diff --git a/ports/soundtouch/CONTROL b/ports/soundtouch/CONTROL index 7ae158b88724f5..012b7c9df95c57 100644 --- a/ports/soundtouch/CONTROL +++ b/ports/soundtouch/CONTROL @@ -1,4 +1,4 @@ -Source: soundtouch -Version: 2.0.0-1 -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 +Source: soundtouch +Version: 2.0.0-2 +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/soundtouch/portfile.cmake b/ports/soundtouch/portfile.cmake index b7fb1fb45a625d..c9fbd3623591d5 100644 --- a/ports/soundtouch/portfile.cmake +++ b/ports/soundtouch/portfile.cmake @@ -1,14 +1,6 @@ include(vcpkg_common_functions) -# NOTE: SoundTouch has a static c++ version too, but entirely different headers, api, etc -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(STATUS "Warning: Static building not supported. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "Refusing to build DLL with static CRT linkage.") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "WindowsStore not supported") diff --git a/ports/spaceland/CONTROL b/ports/spaceland/CONTROL index 4319a9797d5a6c..4f885e6ebc37a4 100644 --- a/ports/spaceland/CONTROL +++ b/ports/spaceland/CONTROL @@ -1,4 +1,4 @@ Source: spaceland -Version: 7.8.2-1 +Version: 7.8.2-2 Description: Spaceland Lib (sl) is a suite for geometric computation, specifically adapted to OpenGL. Build-Depends: zlib diff --git a/ports/spaceland/portfile.cmake b/ports/spaceland/portfile.cmake index 5e84296cd3f498..d90ceafd7ebafd 100644 --- a/ports/spaceland/portfile.cmake +++ b/ports/spaceland/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message(STATUS "WARNING: Dynamic building not supported. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sl-7.8.2-Source) @@ -18,10 +15,10 @@ vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} DISABLE_PARALLEL_CONFIGURE - OPTIONS - -DSL_TEST=OFF - -DSL_INSTALL_SLFIND_MODULE=OFF - OPTIONS_DEBUG + OPTIONS + -DSL_TEST=OFF + -DSL_INSTALL_SLFIND_MODULE=OFF + OPTIONS_DEBUG -DSL_TEST=OFF -DSL_INSTALL_SLFIND_MODULE=OFF ) diff --git a/ports/sparsepp/CONTROL b/ports/sparsepp/CONTROL index 6606595e824f3e..86550179ac40b3 100644 --- a/ports/sparsepp/CONTROL +++ b/ports/sparsepp/CONTROL @@ -1,3 +1,3 @@ Source: sparsepp -Version: 1.22 +Version: 1.22-1 Description: A fast, memory efficient hash map for C++ diff --git a/ports/sparsepp/portfile.cmake b/ports/sparsepp/portfile.cmake index 01822ea1609a96..a98e1a6e676923 100644 --- a/ports/sparsepp/portfile.cmake +++ b/ports/sparsepp/portfile.cmake @@ -1,6 +1,8 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO greg7mdp/sparsepp @@ -15,8 +17,6 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) # Note: we could add: OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON diff --git a/ports/spirit-po/CONTROL b/ports/spirit-po/CONTROL index b9857cea0ffbb5..eb3b319b7c6da6 100644 --- a/ports/spirit-po/CONTROL +++ b/ports/spirit-po/CONTROL @@ -1,4 +1,4 @@ -Source: spirit-po -Version: 1.1.2 -Description: A header-only C++ library for localization using GNU gettext po files, based on Boost.Spirit. -Build-Depends: boost +Source: spirit-po +Version: 1.1.2-1 +Description: A header-only C++ library for localization using GNU gettext po files, based on Boost.Spirit. +Build-Depends: boost diff --git a/ports/spirit-po/portfile.cmake b/ports/spirit-po/portfile.cmake index 3fa1cb23bc7edc..d961ce256ac299 100644 --- a/ports/spirit-po/portfile.cmake +++ b/ports/spirit-po/portfile.cmake @@ -1,11 +1,12 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/spirit-po-1.1.2) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/cbeck88/spirit-po/archive/v1.1.2.zip" - FILENAME "spirit-po-1.1.2.zip" - SHA512 8a33126c199765b91e832c64e546f240d532858e051b217189778ad01ef584c67f0f4b2f9674cb7b4a877ec2a2b21b5eda35dc24a12da8eb7a7990bf63a4a774 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cbeck88/spirit-po + REF v1.1.2 + SHA512 990e26e041607fe81cc2df673bd9e5e2647537d7e121b2300e631874dcd4ccdb084159fa4f635b128c39143c9423d67c494af05206b665541124a0447b8f4a3f + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) file(INSTALL ${SOURCE_PATH}/include/spirit_po DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/sqlitecpp/CONTROL b/ports/sqlitecpp/CONTROL index 119c94091f1a56..3374074d11c86c 100644 --- a/ports/sqlitecpp/CONTROL +++ b/ports/sqlitecpp/CONTROL @@ -1,4 +1,4 @@ -Source: sqlitecpp -Version: 2.2-1 -Build-Depends: sqlite3 -Description: SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. +Source: sqlitecpp +Version: 2.2-2 +Build-Depends: sqlite3 +Description: SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. diff --git a/ports/sqlitecpp/portfile.cmake b/ports/sqlitecpp/portfile.cmake index a7e9a4267a6852..6876bdf8cc6b67 100644 --- a/ports/sqlitecpp/portfile.cmake +++ b/ports/sqlitecpp/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO "SRombauts/SQLiteCpp" REF "2.2.0" @@ -10,11 +13,6 @@ vcpkg_apply_patches( PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Find-external-sqlite3.patch) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/stxxl/CONTROL b/ports/stxxl/CONTROL index e8541a27d1bca1..847a310670cec4 100644 --- a/ports/stxxl/CONTROL +++ b/ports/stxxl/CONTROL @@ -1,3 +1,3 @@ -Source: stxxl -Version: 2018-11-15 -Description: Standard Template Library for Extra Large Data Sets +Source: stxxl +Version: 2018-11-15-1 +Description: Standard Template Library for Extra Large Data Sets diff --git a/ports/stxxl/portfile.cmake b/ports/stxxl/portfile.cmake index 14d39d38e37b1d..41665c4cd07566 100644 --- a/ports/stxxl/portfile.cmake +++ b/ports/stxxl/portfile.cmake @@ -1,10 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("stxxl currently only supports static library linkage.") - set(VCPKG_LIBRARY_LINKAGE static) - set(VCPKG_CRT_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/suitesparse/CONTROL b/ports/suitesparse/CONTROL index 84263e1e8eb02a..67b72bb49406db 100644 --- a/ports/suitesparse/CONTROL +++ b/ports/suitesparse/CONTROL @@ -1,8 +1,8 @@ -Source: suitesparse -Version: 5.1.2 -Build-Depends: clapack -Description: algebra library - -Feature: metis -Build-Depends: metis -Description: Use metis in SuiteSparse +Source: suitesparse +Version: 5.1.2-1 +Build-Depends: clapack (!osx) +Description: algebra library + +Feature: metis +Build-Depends: metis +Description: Use metis in SuiteSparse diff --git a/ports/suitesparse/portfile.cmake b/ports/suitesparse/portfile.cmake index ac479c6cc17c3b..c823d0d93c746a 100644 --- a/ports/suitesparse/portfile.cmake +++ b/ports/suitesparse/portfile.cmake @@ -1,71 +1,84 @@ -include(vcpkg_common_functions) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - -set(SUITESPARSE_VER SuiteSparse-5.1.2) #if you change the version, becarefull of changing the SHA512 checksum accordingly -set(SUITESPARSEWIN_VER 1.4.0) -set(SUITESPARSEWIN_PATH ${CURRENT_BUILDTREES_DIR}/src/suitesparse-metis-for-windows-${SUITESPARSEWIN_VER}) -set(SUITESPARSE_PATH ${SUITESPARSEWIN_PATH}/Suitesparse) - -#download suitesparse libary -vcpkg_download_distfile(SUITESPARSE - URLS "http://faculty.cse.tamu.edu/davis/SuiteSparse/${SUITESPARSE_VER}.tar.gz" - FILENAME "${SUITESPARSE_VER}.tar.gz" - SHA512 38c7f9847cf161390f73de39ed3d9fd07f7bcec2d6d4e6f141af6a015826215843db9f2e16ca255eeb233c593ffc19ffa04816aa5b6ba200b55b9472ac33ba85 -) - -#download suitesparse-metis-for-windows scripts, suitesparse does not have CMake build system, jlblancoc has made one for it -vcpkg_download_distfile(SUITESPARSEWIN - URLS "https://github.com/jlblancoc/suitesparse-metis-for-windows/archive/v${SUITESPARSEWIN_VER}.zip" - FILENAME "suitesparse-metis-for-windows-${SUITESPARSEWIN_VER}.zip" - SHA512 2859d534200ab9b76fca1530eae5de2f9328aa867c727dbc83a96c6f16e1f87e70123fb2decbb84531d75dac58b6f0ce7323e48c57aeede324fd9a1f77ba74c6 -) - -#extract suitesparse-metis-for-windows first and merge with suitesparse library -vcpkg_extract_source_archive(${SUITESPARSEWIN}) -vcpkg_extract_source_archive(${SUITESPARSE} ${SUITESPARSEWIN_PATH}) - -vcpkg_apply_patches( - SOURCE_PATH ${SUITESPARSEWIN_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-install-suitesparse.patch" - PATCHES "${CMAKE_CURRENT_LIST_DIR}/remove-debug-postfix.patch" -) - -set(USE_VCPKG_METIS OFF) -if("metis" IN_LIST FEATURES) - set(USE_VCPKG_METIS ON) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SUITESPARSEWIN_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_METIS=OFF #Disable the option to build metis from source - -DUSE_VCPKG_METIS=${USE_VCPKG_METIS} #Force using vcpckg metis library - -DMETIS_SOURCE_DIR=${CURRENT_INSTALLED_DIR} - -DLIB_POSTFIX= - -DSUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS=ON - -DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/lib/openblas.lib - -DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/lib/lapack.lib - OPTIONS_DEBUG - -DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug - OPTIONS_RELEASE - -DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR} -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake") - -#clean folders -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright of suitesparse and suitesparse-metis-for-windows -file(COPY ${SUITESPARSE_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_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) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +set(SUITESPARSE_VER SuiteSparse-5.1.2) #if you change the version, becarefull of changing the SHA512 checksum accordingly +set(SUITESPARSEWIN_VER 1.4.0) +set(SUITESPARSEWIN_PATH ${CURRENT_BUILDTREES_DIR}/src/suitesparse-metis-for-windows-${SUITESPARSEWIN_VER}) +set(SUITESPARSE_PATH ${SUITESPARSEWIN_PATH}/Suitesparse) + +#download suitesparse libary +vcpkg_download_distfile(SUITESPARSE + URLS "http://faculty.cse.tamu.edu/davis/SuiteSparse/${SUITESPARSE_VER}.tar.gz" + FILENAME "${SUITESPARSE_VER}.tar.gz" + SHA512 38c7f9847cf161390f73de39ed3d9fd07f7bcec2d6d4e6f141af6a015826215843db9f2e16ca255eeb233c593ffc19ffa04816aa5b6ba200b55b9472ac33ba85 +) + +#download suitesparse-metis-for-windows scripts, suitesparse does not have CMake build system, jlblancoc has made one for it +vcpkg_download_distfile(SUITESPARSEWIN + URLS "https://github.com/jlblancoc/suitesparse-metis-for-windows/archive/v${SUITESPARSEWIN_VER}.zip" + FILENAME "suitesparse-metis-for-windows-${SUITESPARSEWIN_VER}.zip" + SHA512 2859d534200ab9b76fca1530eae5de2f9328aa867c727dbc83a96c6f16e1f87e70123fb2decbb84531d75dac58b6f0ce7323e48c57aeede324fd9a1f77ba74c6 +) + +#extract suitesparse-metis-for-windows first and merge with suitesparse library +vcpkg_extract_source_archive(${SUITESPARSEWIN}) +vcpkg_extract_source_archive(${SUITESPARSE} ${SUITESPARSEWIN_PATH}) + +vcpkg_apply_patches( + SOURCE_PATH ${SUITESPARSEWIN_PATH} + PATCHES + remove-debug-postfix.patch +) + +set(USE_VCPKG_METIS OFF) +if("metis" IN_LIST FEATURES) + set(USE_VCPKG_METIS ON) +endif() + +if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(LIB_EXT a) + set(LIB_PREFIX lib) +else() + set(LIB_EXT lib) + set(LIB_PREFIX) +endif() + +if(WIN32) + set(ENABLE_CUSTOM_BLAS_LAPACK_PATHS "-DSUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS=ON") + set(SUITESPARSE_CUSTOM_BLAS_PATH "-DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/lib/openblas.lib") + set(SUITESPARSE_CUSTOM_LAPACK_PATH "-DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/lib/lapack.lib") +endif() + +message(STATUS "Use CMakeLists.txt in ${SUITESPARSEWIN_PATH}") +vcpkg_configure_cmake( + SOURCE_PATH ${SUITESPARSEWIN_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_METIS=OFF + -DUSE_VCPKG_METIS=${USE_VCPKG_METIS} + -DMETIS_SOURCE_DIR=${CURRENT_INSTALLED_DIR} + -DSUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS=ON + OPTIONS_DEBUG + -DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug + -DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/debug/lib/${LIB_PREFIX}openblas_d.${LIB_EXT} + -DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/debug/lib/${LIB_PREFIX}lapack.${LIB_EXT} + OPTIONS_RELEASE + -DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR} + -DSUITESPARSE_CUSTOM_BLAS_LIB=${CURRENT_INSTALLED_DIR}/lib/${LIB_PREFIX}openblas.${LIB_EXT} + -DSUITESPARSE_CUSTOM_LAPACK_LIB=${CURRENT_INSTALLED_DIR}/lib/${LIB_PREFIX}lapack.${LIB_EXT} +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake") + +#clean folders +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright of suitesparse and suitesparse-metis-for-windows +file(COPY ${SUITESPARSE_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_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) diff --git a/ports/tacopie/CONTROL b/ports/tacopie/CONTROL index ae46741d5f0b58..47493a02233d7f 100644 --- a/ports/tacopie/CONTROL +++ b/ports/tacopie/CONTROL @@ -1,3 +1,3 @@ -Source: tacopie -Version: 3.2.0 -Description: Tacopie is a TCP Client & Server C++11 library +Source: tacopie +Version: 3.2.0-1 +Description: Tacopie is a TCP Client & Server C++11 library diff --git a/ports/tacopie/portfile.cmake b/ports/tacopie/portfile.cmake index a86ca1339b3e0a..e814418d47f5f5 100644 --- a/ports/tacopie/portfile.cmake +++ b/ports/tacopie/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Cylix/tacopie @@ -28,7 +30,6 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DMSVC_RUNTIME_LIBRARY_CONFIG=${MSVC_RUNTIME_LIBRARY_CONFIG} - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE ) vcpkg_install_cmake() diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake index b99fdb017e436a..201b6f53da9925 100644 --- a/ports/tbb/portfile.cmake +++ b/ports/tbb/portfile.cmake @@ -1,10 +1,7 @@ include(vcpkg_common_functions) if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message("tbb only supports dynamic library linkage") - set(VCPKG_LIBRARY_LINKAGE "dynamic") - endif() + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) endif() vcpkg_from_github( diff --git a/ports/telnetpp/CONTROL b/ports/telnetpp/CONTROL index 595e1cd88bd6d4..27ebdb31b1ffc1 100644 --- a/ports/telnetpp/CONTROL +++ b/ports/telnetpp/CONTROL @@ -1,4 +1,4 @@ -Source: telnetpp -Version: 1.2.4 -Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14 -Build-Depends: boost, gtest, zlib +Source: telnetpp +Version: 1.2.4-1 +Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14 +Build-Depends: boost, gtest, zlib diff --git a/ports/telnetpp/portfile.cmake b/ports/telnetpp/portfile.cmake index 1859ad4a29dcd5..7af2342e106fa4 100644 --- a/ports/telnetpp/portfile.cmake +++ b/ports/telnetpp/portfile.cmake @@ -1,5 +1,5 @@ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "Telnetpp does not currently support UWP") + message(FATAL_ERROR "${PORT} does not currently support UWP") endif() include(vcpkg_common_functions) diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL index 282282214d8d7c..7bb758e6e74693 100644 --- a/ports/tesseract/CONTROL +++ b/ports/tesseract/CONTROL @@ -1,4 +1,4 @@ -Source: tesseract -Version: 4.0.0 -Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. -Build-Depends: leptonica, icu +Source: tesseract +Version: 4.0.0-1 +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 fd66756b1579c5..0c783d78e18e7a 100644 --- a/ports/tesseract/portfile.cmake +++ b/ports/tesseract/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/theia/CONTROL b/ports/theia/CONTROL index 83d6c2c539f6ff..7cfd81e6026f62 100644 --- a/ports/theia/CONTROL +++ b/ports/theia/CONTROL @@ -1,4 +1,4 @@ Source: theia -Version: 0.7-d15154a-3 +Version: 0.7-d15154a-4 Build-Depends: flann, cereal, ceres[suitesparse] (!x86&!uwp&!arm&!linux&!osx), openimageio, glew, freeglut Description: An open source library for multiview geometry and structure from motion diff --git a/ports/theia/portfile.cmake b/ports/theia/portfile.cmake index b2e61fae12a119..18f8490b1e3cf8 100644 --- a/ports/theia/portfile.cmake +++ b/ports/theia/portfile.cmake @@ -1,13 +1,11 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(VCPKG_TARGET_ARCHIECTURE STREQUAL "x86") message(FATAL_ERROR "theia requires ceres[suitesparse] which depends on suitesparse which depends on openblas which is unavailable on x86.") endif() -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/think-cell-range/CONTROL b/ports/think-cell-range/CONTROL index b7d53af124e3e1..120f2c8848fa1a 100644 --- a/ports/think-cell-range/CONTROL +++ b/ports/think-cell-range/CONTROL @@ -1,5 +1,5 @@ -Source: think-cell-range -Maintainer: jfrederich@gmail.com -Version: 498839d -Description: think-cell's range library , , -Build-Depends: boost +Source: think-cell-range +Maintainer: jfrederich@gmail.com +Version: 498839d-1 +Description: think-cell's range library , , +Build-Depends: boost diff --git a/ports/think-cell-range/portfile.cmake b/ports/think-cell-range/portfile.cmake index 56d01a55eed7ea..d1acc2c5183ad0 100644 --- a/ports/think-cell-range/portfile.cmake +++ b/ports/think-cell-range/portfile.cmake @@ -1,11 +1,12 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/range-498839d41519d38bb81089f7d0f517026bd042cc) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/think-cell/range/archive/498839d41519d38bb81089f7d0f517026bd042cc.zip" - FILENAME "think-cell_range-498839d.zip" - SHA512 801e987c828c954cb50f9a6f9f2feee2ce05f7232d531ecce7394800ecc5a750992795da173fb72b6efcabd6978015a650730682b7db3f874fb8aaac28869711 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO think-cell/range + REF 498839d41519d38bb81089f7d0f517026bd042cc + SHA512 1292ba4dd994aab2cb620c24ebd03437a47e426368ed803579dad13a3fa52762cefe42c77c9921d5c4bcbd6592775714191de63097c230e50f9b59b9498005e5 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) file(INSTALL ${SOURCE_PATH}/range DESTINATION ${CURRENT_PACKAGES_DIR}/include/think-cell FILES_MATCHING PATTERN "*.h") diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index 87c571ce2b85d0..f0ac0b5fd5fddf 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -1,4 +1,4 @@ Source: thrift -Version: 2019-04-19 +Version: 2019-04-19-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 c3796d0b259f0a..7ed3946a7d366b 100644 --- a/ports/thrift/portfile.cmake +++ b/ports/thrift/portfile.cmake @@ -1,13 +1,6 @@ include(vcpkg_common_functions) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported. Building static.") # See note below - set(VCPKG_LIBRARY_LINKAGE static) - - # As per Ben Craig thrift comment see https://issues.apache.org/jira/browse/THRIFT-1834 - # Currently, Thrift is designed to be packaged as a static library. As a static library, the consuming program / dll will only pull in the object files that it needs, so the per-binary size increase should be pretty small. - # Thrift isn't a very good candidate to become a dynamic library. No attempts are made to preserve binary compatibility, or to provide a C / COM-like interface to make binary compatibility easy. -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_find_acquire_program(FLEX) vcpkg_find_acquire_program(BISON) @@ -24,8 +17,7 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DWITH_SHARED_LIB=OFF - -DWITH_STATIC_LIB=ON + -DBUILD_SHARED_LIBS=OFF -DWITH_STDTHREADS=ON -DBUILD_TESTING=off -DBUILD_JAVA=off diff --git a/ports/tidy-html5/CONTROL b/ports/tidy-html5/CONTROL index 377e47f133091e..2716bdf1ff3175 100644 --- a/ports/tidy-html5/CONTROL +++ b/ports/tidy-html5/CONTROL @@ -1,3 +1,3 @@ Source: tidy-html5 -Version: 5.4.0-1 +Version: 5.4.0-2 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/tidy-html5/portfile.cmake b/ports/tidy-html5/portfile.cmake index da0ba45caccd09..dab76286da3d82 100644 --- a/ports/tidy-html5/portfile.cmake +++ b/ports/tidy-html5/portfile.cmake @@ -1,27 +1,23 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO htacg/tidy-html5 REF 5.4.0 SHA512 d92c89f2ef371499f9c3de6f9389783d2449433b4da1f5a29e2eb81b7a7db8dd9f68e220cdde092d446e9bd779bcbc30f84bda79013526540f29d00f438cb402 - HEAD_REF master) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} + HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/remove_execution_character_set.patch + remove_execution_character_set.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIB) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON - -DBUILD_SHARED_LIB=${BUILD_SHARED_LIB} - -DTIDY_CONSOLE_SHARED=${BUILD_SHARED_LIB} + -DBUILD_SHARED_LIB=OFF + -DTIDY_CONSOLE_SHARED=OFF ) vcpkg_install_cmake() diff --git a/ports/tinyexr/CONTROL b/ports/tinyexr/CONTROL index 54b459b49064a6..3dbc26101103f3 100644 --- a/ports/tinyexr/CONTROL +++ b/ports/tinyexr/CONTROL @@ -1,3 +1,3 @@ -Source: tinyexr -Version: 0.9.5-d16ea6 -Description: Library to load and save OpenEXR(.exr) images +Source: tinyexr +Version: 0.9.5-d16ea6-1 +Description: Library to load and save OpenEXR(.exr) images diff --git a/ports/tinyexr/portfile.cmake b/ports/tinyexr/portfile.cmake index 6ef6439d5021dc..bc3effdc36274c 100644 --- a/ports/tinyexr/portfile.cmake +++ b/ports/tinyexr/portfile.cmake @@ -1,12 +1,13 @@ # header-only include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/tinyexr-d16ea6347ae78bcee984fb57cab1f023aeda4fb0) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/syoyo/tinyexr/archive/d16ea6347ae78bcee984fb57cab1f023aeda4fb0.tar.gz" - FILENAME "tinyexr-v0.9.5-d16ea6.tar.gz" + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO syoyo/tinyexr + REF d16ea6347ae78bcee984fb57cab1f023aeda4fb0 SHA512 63399688d7894f9ac4b893b2142202b36108b5029b11c40c3f9ad0f0135625fb0c8e0d54cec88d92c016774648dc829a946d9575c5f19afea56542c00759546e + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${SOURCE_PATH}/tinyexr.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/tinyobjloader/CONTROL b/ports/tinyobjloader/CONTROL index 7967039a7025e0..8ec7ef7a75273c 100644 --- a/ports/tinyobjloader/CONTROL +++ b/ports/tinyobjloader/CONTROL @@ -1,3 +1,3 @@ Source: tinyobjloader -Version: 1.4.1 +Version: 1.4.1-1 Description: Tiny but powerful single file wavefront obj loader diff --git a/ports/tinyobjloader/portfile.cmake b/ports/tinyobjloader/portfile.cmake index fd2dbf8a4c548a..ee6d64dc7d1921 100644 --- a/ports/tinyobjloader/portfile.cmake +++ b/ports/tinyobjloader/portfile.cmake @@ -1,38 +1,35 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")) - message("tinyobjloader doesn't support dynamic linkage on Windows. Building static instead.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - -include(vcpkg_common_functions) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO syoyo/tinyobjloader - REF v1.4.1 - SHA512 5b18fed89435a95fb3fc89829ea6904b4cc4508b0907642b39194e3e3c55678ddc1c07687e4b7ea171f270f7188ca593ed53b828c022667e54a889c36c60373e - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA - OPTIONS - -DCMAKE_INSTALL_DOCDIR:STRING=share/tinyobjloader -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/tinyobjloader/cmake") - -file( - REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/lib/tinyobjloader - ${CURRENT_PACKAGES_DIR}/debug/lib/tinyobjloader -) - -vcpkg_copy_pdbs() - -# Put the licence file where vcpkg expects it -file(RENAME ${CURRENT_PACKAGES_DIR}/share/tinyobjloader/LICENSE ${CURRENT_PACKAGES_DIR}/share/tinyobjloader/copyright) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO syoyo/tinyobjloader + REF v1.4.1 + SHA512 5b18fed89435a95fb3fc89829ea6904b4cc4508b0907642b39194e3e3c55678ddc1c07687e4b7ea171f270f7188ca593ed53b828c022667e54a889c36c60373e + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA + OPTIONS + -DCMAKE_INSTALL_DOCDIR:STRING=share/tinyobjloader +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/tinyobjloader/cmake") + +file( + REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share + ${CURRENT_PACKAGES_DIR}/lib/tinyobjloader + ${CURRENT_PACKAGES_DIR}/debug/lib/tinyobjloader +) + +vcpkg_copy_pdbs() + +# Put the licence file where vcpkg expects it +file(RENAME ${CURRENT_PACKAGES_DIR}/share/tinyobjloader/LICENSE ${CURRENT_PACKAGES_DIR}/share/tinyobjloader/copyright) diff --git a/ports/tinythread/CMakeLists.txt b/ports/tinythread/CMakeLists.txt index ec8b3634cb7211..57e972132e2f6a 100644 --- a/ports/tinythread/CMakeLists.txt +++ b/ports/tinythread/CMakeLists.txt @@ -6,10 +6,6 @@ if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) endif() -if(BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - include_directories(source) add_library(tinythread source/tinythread.cpp) diff --git a/ports/tinythread/CONTROL b/ports/tinythread/CONTROL index d438e8721409cb..6b5de12e1d4148 100644 --- a/ports/tinythread/CONTROL +++ b/ports/tinythread/CONTROL @@ -1,3 +1,3 @@ -Source: tinythread -Version: 1.1-1 -Description: Implements a fairly compatible subset of the C++11 thread management classes +Source: tinythread +Version: 1.1-2 +Description: Implements a fairly compatible subset of the C++11 thread management classes diff --git a/ports/tinythread/portfile.cmake b/ports/tinythread/portfile.cmake index 23903e30e4d115..550a192bc4fe81 100644 --- a/ports/tinythread/portfile.cmake +++ b/ports/tinythread/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/TinyThread++-1.1") vcpkg_download_distfile(ARCHIVE URLS "http://tinythreadpp.bitsnbites.eu/files/TinyThread%2B%2B-1.1-src.tar.bz2" diff --git a/ports/tinyxml/CMakeLists.txt b/ports/tinyxml/CMakeLists.txt index 21776c156b38fa..b849c07f9ce9df 100644 --- a/ports/tinyxml/CMakeLists.txt +++ b/ports/tinyxml/CMakeLists.txt @@ -10,8 +10,6 @@ set(SOURCES "tinyxml.cpp" option(BUILD_SHARED_LIBS "Build shared libs" OFF) -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - add_library(tinyxml ${SOURCES}) target_compile_definitions(tinyxml PRIVATE "-DTIXML_USE_STL") @@ -27,5 +25,5 @@ install( RUNTIME DESTINATION bin ) -install(FILES ${HEADERS} +install(FILES ${HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/tinyxml_export.h DESTINATION include) diff --git a/ports/tinyxml/CONTROL b/ports/tinyxml/CONTROL index f1075e38ed86d4..4eacee3b26d361 100644 --- a/ports/tinyxml/CONTROL +++ b/ports/tinyxml/CONTROL @@ -1,3 +1,3 @@ -Source: tinyxml -Version: 2.6.2-3 -Description: A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. +Source: tinyxml +Version: 2.6.2-4 +Description: A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. diff --git a/ports/tinyxml/portfile.cmake b/ports/tinyxml/portfile.cmake index 2936a4d57c6b18..b43526efa4714f 100644 --- a/ports/tinyxml/portfile.cmake +++ b/ports/tinyxml/portfile.cmake @@ -1,5 +1,7 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/tinyxml/files/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz" FILENAME "tinyxml_2_6_2.tar.gz" diff --git a/ports/torch-th/CONTROL b/ports/torch-th/CONTROL index 66e276b1220ee2..edaaef3d49d2c3 100644 --- a/ports/torch-th/CONTROL +++ b/ports/torch-th/CONTROL @@ -1,3 +1,3 @@ Source: torch-th -Version: 2019-04-19 +Version: 2019-04-19-1 Description: Torch's TH library diff --git a/ports/torch-th/portfile.cmake b/ports/torch-th/portfile.cmake index 8be10a4b61ecd7..2b653da221504d 100644 --- a/ports/torch-th/portfile.cmake +++ b/ports/torch-th/portfile.cmake @@ -1,12 +1,7 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(FATAL_ERROR "scintilla only supports dynamic linkage") -endif() -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "scintilla only supports dynamic crt") -endif() - include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO torch/torch7 diff --git a/ports/treehopper/CONTROL b/ports/treehopper/CONTROL index 336a4225018a72..4435c6cce19f24 100644 --- a/ports/treehopper/CONTROL +++ b/ports/treehopper/CONTROL @@ -1,3 +1,3 @@ -Source: treehopper -Version: 1.11.3-1 -Description: Treehopper connects the physical world to your computer, tablet, or smartphone. For more information, visit https://treehopper.io. +Source: treehopper +Version: 1.11.3-2 +Description: Treehopper connects the physical world to your computer, tablet, or smartphone. For more information, visit https://treehopper.io. diff --git a/ports/treehopper/portfile.cmake b/ports/treehopper/portfile.cmake index fd90f039272f83..68cf07bb92e300 100644 --- a/ports/treehopper/portfile.cmake +++ b/ports/treehopper/portfile.cmake @@ -1,12 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message("treehopper only supports dynamic library linkage") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message(FATAL_ERROR "treehopper does not support static crt linkage") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -29,4 +23,4 @@ file(INSTALL ${SOURCE_PATH}/C++/API/inc/ DESTINATION ${CURRENT_PACKAGES_DIR}/inc file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/treehopper RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) \ No newline at end of file +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/unittest-cpp/CONTROL b/ports/unittest-cpp/CONTROL index e24b8b77408b09..9279cd127b881a 100644 --- a/ports/unittest-cpp/CONTROL +++ b/ports/unittest-cpp/CONTROL @@ -1,3 +1,3 @@ Source: unittest-cpp -Version: 2.0.0 +Version: 2.0.0-1 Description: A lightweight unit testing framework for C++ diff --git a/ports/unittest-cpp/portfile.cmake b/ports/unittest-cpp/portfile.cmake index 2a31852a983f80..597444d3bc9699 100644 --- a/ports/unittest-cpp/portfile.cmake +++ b/ports/unittest-cpp/portfile.cmake @@ -1,9 +1,7 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported by unittest-cpp yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO unittest-cpp/unittest-cpp diff --git a/ports/unrar/CONTROL b/ports/unrar/CONTROL index d9c586c6a8b276..5e54ed37fe703a 100644 --- a/ports/unrar/CONTROL +++ b/ports/unrar/CONTROL @@ -1,3 +1,3 @@ -Source: unrar -Version: 5.5.8-1 -Description: rarlab's unrar libary +Source: unrar +Version: 5.5.8-2 +Description: rarlab's unrar libary diff --git a/ports/unrar/portfile.cmake b/ports/unrar/portfile.cmake index 4ad834d1503c88..458d51783fad5d 100644 --- a/ports/unrar/portfile.cmake +++ b/ports/unrar/portfile.cmake @@ -5,10 +5,7 @@ set(UNRAR_FILENAME unrarsrc-${UNRAR_VERSION}.tar.gz) set(UNRAR_URL http://www.rarlab.com/rar/${UNRAR_FILENAME}) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/unrar) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(STATUS "Unrar buildsystem doesn't support static building. Building dynamic instead.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) #SRC vcpkg_download_distfile(ARCHIVE diff --git a/ports/urdfdom/CONTROL b/ports/urdfdom/CONTROL index 71e0362512c80f..e4b627fa00dc7a 100644 --- a/ports/urdfdom/CONTROL +++ b/ports/urdfdom/CONTROL @@ -1,4 +1,4 @@ -Source: urdfdom -Version: 1.0.0-2 -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 +Source: urdfdom +Version: 1.0.0-3 +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 530b586e501e38..73aead641ee1e6 100644 --- a/ports/urdfdom/portfile.cmake +++ b/ports/urdfdom/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "urdfdom does not support static linkage. Building dynamically.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/uriparser/CONTROL b/ports/uriparser/CONTROL index beb54448545c62..b6a8cc5feac83a 100644 --- a/ports/uriparser/CONTROL +++ b/ports/uriparser/CONTROL @@ -1,3 +1,3 @@ Source: uriparser -Version: 0.9.2 +Version: 0.9.2-1 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. diff --git a/ports/utfcpp/CONTROL b/ports/utfcpp/CONTROL index e98dd9ee4a9663..9af6bb441414de 100644 --- a/ports/utfcpp/CONTROL +++ b/ports/utfcpp/CONTROL @@ -1,3 +1,3 @@ -Source: utfcpp -Version: 2.3.5 -Description: UTF-8 with C++ in a Portable Way +Source: utfcpp +Version: 2.3.5-1 +Description: UTF-8 with C++ in a Portable Way diff --git a/ports/utfcpp/portfile.cmake b/ports/utfcpp/portfile.cmake index 19c062f36307c4..e4b57cff04aed2 100644 --- a/ports/utfcpp/portfile.cmake +++ b/ports/utfcpp/portfile.cmake @@ -1,12 +1,13 @@ #header-only library include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/utfcpp-2.3.5) -vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://github.com/nemtrif/utfcpp/archive/v2.3.5.tar.gz" - FILENAME "utfcpp-2.3.5.tar.gz" + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nemtrif/utfcpp + REF v2.3.5 SHA512 d5e672de952b78a78a8af0c81664f15667b30558fd406a9abc72c14dc444e0869e7c02cb66fa017ec0e760c0fb23c3e923a4b171c2acb3ed7b71612783e789ee + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) # Put the licence file where vcpkg expects it file(INSTALL ${SOURCE_PATH}/source/utf8.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/utfcpp RENAME copyright) diff --git a/ports/uvatlas/CONTROL b/ports/uvatlas/CONTROL index 7fad35659fcc46..605f150717c0f7 100644 --- a/ports/uvatlas/CONTROL +++ b/ports/uvatlas/CONTROL @@ -1,3 +1,3 @@ Source: uvatlas -Version: sept2016 +Version: sept2016-1 Description: UVAtlas isochart texture atlas \ No newline at end of file diff --git a/ports/uvatlas/portfile.cmake b/ports/uvatlas/portfile.cmake index ae7e9f285784d4..e1a1a189fc90ba 100644 --- a/ports/uvatlas/portfile.cmake +++ b/ports/uvatlas/portfile.cmake @@ -1,47 +1,52 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() -if (VCPKG_CRT_LINKAGE STREQUAL static) - message(FATAL_ERROR "UVAtlas does not currently support static crt linkage") -endif() -if(VCPKG_CMAKE_SYSTEM_NAME) - message(FATAL_ERROR "UVAtlas only supports Windows Desktop") -endif() - -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/UVAtlas-sept2016) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Microsoft/UVAtlas/archive/sept2016.tar.gz" - FILENAME "UVAtlas-sept2016.tar.gz" - SHA512 326af26c151620cd5082daf3913cf3fbe7bca7d1aaf5cc44cacff54319ffe79b728c24519187c3f9393a846430d0fb9493ffe9473f87d220f5c9ae7dab73f69f -) -vcpkg_extract_source_archive(${ARCHIVE}) - -IF(TRIPLET_SYSTEM_ARCH MATCHES "x86") - SET(BUILD_ARCH "Win32") -ELSE() - SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH}) -ENDIF() - -vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/UVAtlas/UVAtlas_2015.sln - PLATFORM ${BUILD_ARCH} -) - -file(INSTALL - ${SOURCE_PATH}/UVAtlas/Inc/ - DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL - ${SOURCE_PATH}/UVAtlas/Bin/Desktop_2015/${BUILD_ARCH}/Release/UVAtlas.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(INSTALL - ${SOURCE_PATH}/UVAtlas/Bin/Desktop_2015/${BUILD_ARCH}/Debug/UVAtlas.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - -# Handle copyright -file(COPY ${SOURCE_PATH}/MIT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvatlas) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/uvatlas/MIT.txt ${CURRENT_PACKAGES_DIR}/share/uvatlas/copyright) - -message(STATUS "Installing done, uvatlastool.exe can be downloaded at: ") -message(STATUS " https://github.com/Microsoft/UVAtlas/releases/download/sept2016/uvatlastool.exe") \ No newline at end of file +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT) + +if(VCPKG_CMAKE_SYSTEM_NAME) + message(FATAL_ERROR "UVAtlas only supports Windows Desktop") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Microsoft/UVAtlas + REF sept2016 + SHA512 326af26c151620cd5082daf3913cf3fbe7bca7d1aaf5cc44cacff54319ffe79b728c24519187c3f9393a846430d0fb9493ffe9473f87d220f5c9ae7dab73f69f + HEAD_REF master +) + +IF(TRIPLET_SYSTEM_ARCH MATCHES "x86") + SET(BUILD_ARCH "Win32") +ELSE() + SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH}) +ENDIF() + +vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/UVAtlas/UVAtlas_2015.sln + PLATFORM ${BUILD_ARCH} +) + +file(INSTALL + ${SOURCE_PATH}/UVAtlas/Inc/ + DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL + ${SOURCE_PATH}/UVAtlas/Bin/Desktop_2015/${BUILD_ARCH}/Release/UVAtlas.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(INSTALL + ${SOURCE_PATH}/UVAtlas/Bin/Desktop_2015/${BUILD_ARCH}/Debug/UVAtlas.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + +vcpkg_download_distfile(uvatlastool + URLS "https://github.com/Microsoft/UVAtlas/releases/download/sept2016/uvatlastool.exe" + FILENAME "uvatlastool.exe" + SHA512 2583ba8179d0a58fb85d871368b17571e36242436b5a5dbaf6f99ec2f2ee09f4e11e8f922b29563da3cb3b5bacdb771036c84d5b94f405c7988bfe5f2881c3df +) + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/uvatlas/") + +file(INSTALL + ${DOWNLOADS}/uvatlastool.exe + DESTINATION ${CURRENT_PACKAGES_DIR}/tools/uvatlas/) + + # Handle copyright +file(COPY ${SOURCE_PATH}/MIT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvatlas) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/uvatlas/MIT.txt ${CURRENT_PACKAGES_DIR}/share/uvatlas/copyright) diff --git a/ports/vlpp/CONTROL b/ports/vlpp/CONTROL index 392beec5e1ba62..680cd2b2897439 100644 --- a/ports/vlpp/CONTROL +++ b/ports/vlpp/CONTROL @@ -1,3 +1,3 @@ Source: vlpp -Version: 0.9.3.1-1 +Version: 0.9.3.1-2 Description: Common C++ construction, including string operation / generic container / linq / General-LR parser generator / multithreading / reflection for C++ / etc diff --git a/ports/vlpp/portfile.cmake b/ports/vlpp/portfile.cmake index 1ee003ffb298d0..a54bdfe0492e07 100644 --- a/ports/vlpp/portfile.cmake +++ b/ports/vlpp/portfile.cmake @@ -1,31 +1,29 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() - -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/Release-0.9.3.1) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/vczh-libraries/Release/archive/0.9.3.1.tar.gz" - FILENAME "GacUI-0.9.3.1.tar.gz" - SHA512 f284d3c78f8ae54102457b2cdc4fcee4b8da9a72d13bb325c7c7269261c5b0789eeb7340b0409b2b37294d68edb558503be131948aea3cb53582900339d26b54 -) -vcpkg_extract_source_archive(${ARCHIVE}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DSKIP_HEADERS=1 -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Tools -file(INSTALL ${SOURCE_PATH}/Tools/CppMerge.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/vlpp RENAME copyright) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vczh-libraries/Release + REF 0.9.3.1 + SHA512 f284d3c78f8ae54102457b2cdc4fcee4b8da9a72d13bb325c7c7269261c5b0789eeb7340b0409b2b37294d68edb558503be131948aea3cb53582900339d26b54 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Tools +file(INSTALL ${SOURCE_PATH}/Tools/CppMerge.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/vlpp RENAME copyright) diff --git a/ports/wangle/CONTROL b/ports/wangle/CONTROL index 77df9ccf01488d..9b1b4d3e0cf70d 100644 --- a/ports/wangle/CONTROL +++ b/ports/wangle/CONTROL @@ -1,4 +1,4 @@ Source: wangle -Version: 2019.01.07.00-1 +Version: 2019.01.07.00-2 Build-Depends: fizz, folly, openssl, gtest, glog, libevent, double-conversion 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/build.patch b/ports/wangle/build.patch index d695f5b186abca..3a7698218f5273 100644 --- a/ports/wangle/build.patch +++ b/ports/wangle/build.patch @@ -1,25 +1,28 @@ -diff --git a/wangle/CMakeLists.txt b/wangle/CMakeLists.txt -index 15dc8b6..ed8c79b 100644 ---- a/wangle/CMakeLists.txt -+++ b/wangle/CMakeLists.txt -@@ -39,9 +39,9 @@ endif() - find_package(fizz CONFIG REQUIRED) - find_package(Boost REQUIRED COMPONENTS system thread filesystem regex context) - find_package(OpenSSL REQUIRED) --find_package(Glog REQUIRED) --find_package(Gflags REQUIRED) --find_package(Libevent REQUIRED) -+find_package(Glog CONFIG REQUIRED) -+find_package(Gflags CONFIG REQUIRED) -+find_package(Libevent CONFIG REQUIRED) - find_package(DoubleConversion REQUIRED) - find_package(Threads REQUIRED) - if (UNIX AND NOT APPLE) -@@ -123,6 +123,7 @@ target_include_directories( - PUBLIC - $ - $ -+ PRIVATE - ${FIZZ_INCLUDE_DIR} - ${FOLLY_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} +diff --git a/wangle/CMakeLists.txt b/wangle/CMakeLists.txt +index dd348b0..4e84a15 100644 +--- a/wangle/CMakeLists.txt ++++ b/wangle/CMakeLists.txt +@@ -39,11 +39,12 @@ endif() + find_package(fizz CONFIG REQUIRED) + find_package(Boost REQUIRED COMPONENTS system thread filesystem regex context) + find_package(OpenSSL REQUIRED) +-find_package(Glog REQUIRED) +-find_package(Gflags REQUIRED) +-find_package(Libevent REQUIRED) ++find_package(Glog CONFIG REQUIRED) ++find_package(Gflags CONFIG REQUIRED) ++find_package(Libevent CONFIG REQUIRED) + find_package(DoubleConversion REQUIRED) + find_package(Threads REQUIRED) ++find_package(ZLIB REQUIRED) + if (UNIX AND NOT APPLE) + find_package(Librt) + endif() +@@ -124,6 +125,7 @@ target_include_directories( + PUBLIC + $ + $ ++ PRIVATE + ${FIZZ_INCLUDE_DIR} + ${FOLLY_INCLUDE_DIR} + ${Boost_INCLUDE_DIR} diff --git a/ports/wangle/portfile.cmake b/ports/wangle/portfile.cmake index ce1672eb7f31fe..b9761c6334edf0 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 v2019.01.07.00 + REF v2019.01.07.00 SHA512 1b4771d92b45fd5e9622985321cfd608510ea13d2f4cb03a4842c52d7253a1b460f825746a315ef0df3b2e37e56abddb5b493b80d383ba327fdbf7294bae193e HEAD_REF master PATCHES @@ -13,6 +13,7 @@ vcpkg_from_github( gflags.patch fix-config-cmake.patch ) +# message(FATAL_ERROR "patch") vcpkg_configure_cmake( SOURCE_PATH "${SOURCE_PATH}/wangle" diff --git a/ports/wildmidi/CONTROL b/ports/wildmidi/CONTROL index 116333ec103ebc..0f374d6dd2120b 100644 --- a/ports/wildmidi/CONTROL +++ b/ports/wildmidi/CONTROL @@ -1,3 +1,3 @@ -Source: wildmidi -Version: 0.4.1 -Description: MIDI software synthesizer library. +Source: wildmidi +Version: 0.4.1-1 +Description: MIDI software synthesizer library. diff --git a/ports/wildmidi/portfile.cmake b/ports/wildmidi/portfile.cmake index d82895de40bcde..6c4868771aa967 100644 --- a/ports/wildmidi/portfile.cmake +++ b/ports/wildmidi/portfile.cmake @@ -1,23 +1,19 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/wildmidi-wildmidi-0.4.1) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Mindwerks/wildmidi/archive/wildmidi-0.4.1.zip" - FILENAME "wildmidi-0.4.1.zip" - SHA512 ebfbb16b57c0d39f1402f91df4dd205d80f5632f6afbe5fa99af6f06279582f0676bb247cd64ec472cdf272f6a1a2917827ed98f9cc24166aa41f050b9f7d396 -) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Mindwerks/wildmidi + REF wildmidi-0.4.1 + SHA512 ac95b901d2eca88118d70ec5f8ddb4a52ed9ffbd90ae1c8837352d22e27da0d5f56e4e79615cbac9683303b3488a9fa45b60d77e28f698277f1e4c3fc9e3d165 + HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-add-install-target.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-use-ansi.patch + 0001-add-install-target.patch + 0002-use-ansi.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_SHARED_LIBS "ON") set(WANT_STATIC "OFF") else() - set(BUILD_SHARED_LIBS "OFF") set(WANT_STATIC "ON") endif() @@ -25,27 +21,29 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DMSVC=ON -DWANT_PLAYER=OFF -DWANT_STATIC=${WANT_STATIC} - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} ) vcpkg_install_cmake() vcpkg_copy_pdbs() # Rename library to get rid of _dynamic and _static suffix -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/wildmidi_dynamic.lib ${CURRENT_PACKAGES_DIR}/lib/wildmidi.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi_dynamic.lib ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/wildmidi_dynamic.dll ${CURRENT_PACKAGES_DIR}/bin/wildmidi.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/wildmidi_dynamic.dll ${CURRENT_PACKAGES_DIR}/debug/bin/wildmidi.dll) -else() - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/wildmidi_static.lib ${CURRENT_PACKAGES_DIR}/lib/wildmidi.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi_static.lib ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi.lib) +if(NOT VCPKG_CMAKE_SYSTEM_NAME) + if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/wildmidi_dynamic.lib ${CURRENT_PACKAGES_DIR}/lib/wildmidi.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi_dynamic.lib ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/wildmidi_dynamic.dll ${CURRENT_PACKAGES_DIR}/bin/wildmidi.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/wildmidi_dynamic.dll ${CURRENT_PACKAGES_DIR}/debug/bin/wildmidi.dll) + else() + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/wildmidi_static.lib ${CURRENT_PACKAGES_DIR}/lib/wildmidi.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi_static.lib ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi.lib) + endif() endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share) # Handle copyright file(INSTALL ${SOURCE_PATH}/docs/license/LGPLv3.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wildmidi RENAME copyright) diff --git a/ports/xxhash/CONTROL b/ports/xxhash/CONTROL index 2501630a067707..4cdbf5435cc174 100644 --- a/ports/xxhash/CONTROL +++ b/ports/xxhash/CONTROL @@ -1,3 +1,3 @@ -Source: xxhash -Version: 0.6.4 -Description: Extremely fast hash algorithm +Source: xxhash +Version: 0.6.4-1 +Description: Extremely fast hash algorithm diff --git a/ports/xxhash/portfile.cmake b/ports/xxhash/portfile.cmake index c23f2462387fc8..91f713578a18a3 100644 --- a/ports/xxhash/portfile.cmake +++ b/ports/xxhash/portfile.cmake @@ -1,4 +1,7 @@ include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Cyan4973/xxHash @@ -9,21 +12,12 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/cmake_unofficial PREFER_NINJA - OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON) +) vcpkg_install_cmake() vcpkg_copy_pdbs() -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(READ ${CURRENT_PACKAGES_DIR}/include/xxhash.h XXHASH_H) - string(REPLACE "# define XXH_PUBLIC_API /* do nothing */" "# define XXH_PUBLIC_API __declspec(dllimport)" XXHASH_H "${XXHASH_H}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/xxhash.h "${XXHASH_H}") - - file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/xxhsum.exe ${CURRENT_PACKAGES_DIR}/debug/bin/xxhsum.exe) -else() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/xxhash) diff --git a/ports/yara/CONTROL b/ports/yara/CONTROL index fb29eaad0f282f..5e2832bb5947b0 100644 --- a/ports/yara/CONTROL +++ b/ports/yara/CONTROL @@ -1,4 +1,4 @@ -Source: yara -Version: e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9-1 -Description: The pattern matching swiss knife -Build-Depends: openssl, jansson +Source: yara +Version: e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9-2 +Description: The pattern matching swiss knife +Build-Depends: openssl, jansson diff --git a/ports/yara/portfile.cmake b/ports/yara/portfile.cmake index 8e70a0d7feb53f..d4869df63f48a4 100644 --- a/ports/yara/portfile.cmake +++ b/ports/yara/portfile.cmake @@ -1,9 +1,7 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Building static") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO VirusTotal/yara diff --git a/ports/zziplib/CMakeLists.txt b/ports/zziplib/CMakeLists.txt index 9eb8aca0c1d2af..1cb198e696d9e4 100644 --- a/ports/zziplib/CMakeLists.txt +++ b/ports/zziplib/CMakeLists.txt @@ -29,8 +29,6 @@ if(UNIX) endforeach() endif() -option(BUILD_SHARED_LIBS "Build shared libraries" ON) - # List the header files set(HEADERS zzip/__debug.h zzip/__dirent.h diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 3d481a9aa22675..d5e95eb4b18279 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -88,13 +88,18 @@ function(vcpkg_find_acquire_program VAR) set(APT_PACKAGE_NAME "python3") endif() elseif(VAR MATCHES "PYTHON2") - set(PROGNAME python) - set(SUBDIR "python2") - set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) - file(TO_NATIVE_PATH "${PATHS}" DESTINATION_NATIVE_PATH) - set(URL "https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi") - set(ARCHIVE "python2.msi") - set(HASH 8c3ad6e527742d99ba96dcfd1098861b14e7207b80d51a54e9b410ab2f36e44e05561ea1527d8e92b3e10808311536260bd9e82db0da3b513fb1be18e108510e) + if(CMAKE_HOST_WIN32) + set(PROGNAME python) + set(SUBDIR "python2") + set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) + set(URL "https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi") + set(ARCHIVE "python2.msi") + set(HASH 8c3ad6e527742d99ba96dcfd1098861b14e7207b80d51a54e9b410ab2f36e44e05561ea1527d8e92b3e10808311536260bd9e82db0da3b513fb1be18e108510e) + else() + set(PROGNAME python2) + set(BREW_PACKAGE_NAME "python2") + set(APT_PACKAGE_NAME "python") + endif() elseif(VAR MATCHES "RUBY") set(PROGNAME "ruby") set(PATHS ${DOWNLOADS}/tools/ruby/rubyinstaller-2.4.1-1-x86/bin)