From 050e71d01dc9e65e6cdf1d13534fc14889e4ae38 Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Thu, 2 May 2019 22:57:43 -0700 Subject: [PATCH] Remove references to CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS (#5937) * [various ports] remove references to CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * [alac,benchmark,capnproto] Fix check_linkage call * [fastlz] Fix SHA512 * [coroutine] Fix dynamic build * [folly] Find double-conversion * [gamma] Use vcpkg_from_github * [librsync] Enable static builds * [netcdf-cxx4] Fix SHA512 * [octomap] Fix static build * [tidy-html5] Fix static build * [various ports] remove custom messages for shared/static builds, modernize some scripts in the meantime * [folly] Use ras0219's fix for link paths * [octomap] Fix exported targets * [uvatlas] Set tool download SHA512 * [duktape+python2] fix portfile to call configure with correct python version, manage python2 also outside win32 * [suitesparse] osx fix * [gtkmm] Call vcpkg_check_linkage after including vcpkg functions * [duktape] Resolve conflicts * [duktape] FIxed typo in Python paths * [wangle] Find zlib * [openssl-uwp] Fix SHA512 * [glib] Allow static builds on non-Windows * [suitesparse] Fix build on Windows * [multiple ports] Bump CONTROL version * [multiple ports] Fix description indent * [directxtk] Fix CONTROL file * [bde,duktape,qpid-proton] Build packages with python2 installed * [binn] remove CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * [gdal,live555,uriparser] Fix regressions * [live555] Update to 2019.04.24 --- ports/3fd/CONTROL | 2 +- ports/3fd/portfile.cmake | 218 +++++++------- ports/abseil/CMakeLists.txt | 1 - ports/abseil/CONTROL | 2 +- ports/abseil/portfile.cmake | 2 + ports/alac-decoder/CMakeLists.txt | 4 - ports/alac-decoder/CONTROL | 6 +- ports/alac-decoder/portfile.cmake | 3 + ports/alac/CMakeLists.txt | 4 - ports/alac/CONTROL | 2 +- ports/alac/portfile.cmake | 3 + ports/alembic/portfile.cmake | 5 +- ports/anax/CONTROL | 6 +- ports/anax/portfile.cmake | 6 +- ports/angle/CONTROL | 2 +- ports/angle/portfile.cmake | 85 +++--- ports/arb/CMakeLists.txt | 11 +- ports/arb/CONTROL | 8 +- ports/arb/portfile.cmake | 7 +- ports/argtable2/CONTROL | 2 +- ports/argtable2/portfile.cmake | 5 +- ports/armadillo/portfile.cmake | 58 ++-- ports/assimp/CONTROL | 8 +- ports/assimp/portfile.cmake | 6 - ports/atk/CONTROL | 2 +- ports/atk/portfile.cmake | 64 ++-- ports/atkmm/CONTROL | 8 +- ports/atkmm/portfile.cmake | 9 +- ports/aubio/CMakeLists.txt | 3 +- ports/aubio/CONTROL | 8 +- ports/aubio/portfile.cmake | 5 +- ports/bde/CONTROL | 2 +- ports/bde/portfile.cmake | 277 +++++++++--------- ports/benchmark/CONTROL | 2 +- ports/benchmark/portfile.cmake | 7 +- ports/bigint/CONTROL | 6 +- ports/bigint/portfile.cmake | 6 +- ports/binn/CMakeLists.txt | 44 ++- ports/binn/CONTROL | 4 +- ports/binn/portfile.cmake | 54 ++-- ports/bond/CONTROL | 10 +- ports/bond/portfile.cmake | 8 +- ports/box2d/CONTROL | 6 +- ports/box2d/portfile.cmake | 5 +- ports/bullet3/CONTROL | 6 +- ports/bullet3/portfile.cmake | 17 +- ports/butteraugli/CMakeLists.txt | 1 - ports/butteraugli/CONTROL | 8 +- ports/butteraugli/portfile.cmake | 2 + ports/caf/CONTROL | 8 +- ports/caf/portfile.cmake | 5 +- ports/caffe2/CONTROL | 8 +- ports/caffe2/portfile.cmake | 10 +- ports/cairomm/CMakeLists.txt | 2 - ports/cairomm/CONTROL | 8 +- ports/cairomm/portfile.cmake | 2 + ports/capnproto/CONTROL | 2 +- ports/capnproto/portfile.cmake | 9 +- ports/cartographer/CONTROL | 8 +- ports/cartographer/portfile.cmake | 9 +- ports/cctz/CMakeLists.txt | 1 - ports/cctz/CONTROL | 4 +- ports/cctz/portfile.cmake | 3 + ports/cgicc/CONTROL | 6 +- ports/cgicc/portfile.cmake | 7 +- ports/chmlib/CONTROL | 6 +- ports/chmlib/portfile.cmake | 10 +- ports/clp/CMakeLists.txt | 6 +- ports/clp/CONTROL | 4 +- ports/clp/portfile.cmake | 72 ++--- ports/cmark/CONTROL | 6 +- ports/cmark/portfile.cmake | 5 +- ports/coinutils/CMakeLists.txt | 220 +++++++------- ports/coinutils/CONTROL | 6 +- ports/coinutils/Config.cmake.in | 10 +- ports/coinutils/portfile.cmake | 77 ++--- ports/constexpr/CONTROL | 6 +- ports/constexpr/portfile.cmake | 13 +- ports/coroutine/CONTROL | 2 +- ports/coroutine/portfile.cmake | 12 +- ports/cpp-redis/CONTROL | 8 +- ports/cpp-redis/portfile.cmake | 3 +- ports/cppcms/CONTROL | 8 +- ports/cppcms/portfile.cmake | 9 +- ports/cppfs/CONTROL | 14 +- ports/cppfs/portfile.cmake | 8 +- ports/crossguid/CONTROL | 8 +- ports/crossguid/portfile.cmake | 8 +- ports/crow/CONTROL | 6 +- ports/crow/portfile.cmake | 10 +- ports/dcmtk/CONTROL | 2 +- ports/dcmtk/portfile.cmake | 95 +++--- ports/directxmesh/CONTROL | 4 +- ports/directxmesh/portfile.cmake | 7 +- ports/directxtex/CONTROL | 4 +- ports/directxtex/portfile.cmake | 7 +- ports/directxtk/CONTROL | 2 +- ports/directxtk/portfile.cmake | 5 +- ports/directxtk12/CONTROL | 6 +- ports/directxtk12/portfile.cmake | 8 +- ports/dlib/CONTROL | 16 +- ports/dlib/portfile.cmake | 5 +- ports/double-conversion/CONTROL | 6 +- ports/double-conversion/portfile.cmake | 4 +- ports/draco/CONTROL | 8 +- ports/draco/portfile.cmake | 19 +- ports/duktape/CMakeLists.txt | 11 +- ports/duktape/CONTROL | 8 +- ports/duktape/portfile.cmake | 51 +++- ports/dx/CONTROL | 4 +- ports/dx/portfile.cmake | 41 +-- ports/dxut/CONTROL | 6 +- ports/dxut/portfile.cmake | 10 +- ports/eastl/CONTROL | 4 +- ports/eastl/portfile.cmake | 10 +- ports/fann/CONTROL | 4 +- ports/fann/portfile.cmake | 103 ++++--- ports/fastlz/CONTROL | 2 +- ports/fastlz/portfile.cmake | 18 +- ports/fcl/CONTROL | 8 +- ports/fcl/portfile.cmake | 13 +- ports/fdk-aac/CMakeLists.txt | 3 - ports/fdk-aac/CONTROL | 6 +- ports/fdk-aac/portfile.cmake | 3 + ports/flatbuffers/CONTROL | 8 +- ports/flatbuffers/portfile.cmake | 9 +- ports/folly/CONTROL | 2 +- ports/folly/find-double-conversion.patch | 25 ++ ports/folly/portfile.cmake | 22 +- ports/freetype-gl/CONTROL | 2 +- ports/freetype-gl/portfile.cmake | 7 +- ports/gamma/CMakeLists.txt | 2 - ports/gamma/CONTROL | 2 +- ports/gamma/portfile.cmake | 18 +- ports/gdal/CONTROL | 2 +- ports/gdal/portfile.cmake | 8 +- ports/gdk-pixbuf/CONTROL | 8 +- ports/gdk-pixbuf/portfile.cmake | 8 +- ports/glib/CONTROL | 2 +- ports/glib/portfile.cmake | 16 +- ports/glibmm/CMakeLists.txt | 2 - ports/glibmm/CONTROL | 8 +- ports/glibmm/portfile.cmake | 5 +- ports/gtkmm/CONTROL | 2 +- ports/gtkmm/portfile.cmake | 9 +- ports/gts/CONTROL | 8 +- ports/gts/portfile.cmake | 12 +- ports/guetzli/CMakeLists.txt | 4 - ports/guetzli/CONTROL | 8 +- ports/guetzli/portfile.cmake | 2 + ports/gumbo/CONTROL | 6 +- ports/gumbo/portfile.cmake | 6 +- ports/halide/CONTROL | 6 +- ports/halide/portfile.cmake | 5 +- ports/hdf5/CONTROL | 22 +- ports/hdf5/portfile.cmake | 1 - ports/hpx/CONTROL | 4 +- ports/hpx/portfile.cmake | 177 ++++++----- ports/http-parser/CMakeLists.txt | 4 - ports/http-parser/CONTROL | 6 +- ports/http-parser/portfile.cmake | 3 + ports/imgui/CMakeLists.txt | 1 - ports/imgui/CONTROL | 2 +- ports/imgui/portfile.cmake | 8 +- ports/inih/CONTROL | 6 +- ports/inih/portfile.cmake | 4 +- ports/ismrmrd/CONTROL | 4 +- ports/ismrmrd/portfile.cmake | 114 ++++--- ports/itk/CONTROL | 16 +- ports/itk/portfile.cmake | 2 +- ports/jack2/CONTROL | 8 +- ports/jack2/portfile.cmake | 5 +- ports/jbigkit/CMakeLists.txt | 2 - ports/jbigkit/CONTROL | 6 +- ports/jbigkit/portfile.cmake | 4 +- ports/jemalloc/CONTROL | 8 +- ports/jemalloc/portfile.cmake | 7 +- ports/json11/CONTROL | 6 +- ports/json11/portfile.cmake | 8 +- ports/jsoncpp/CONTROL | 6 +- ports/jsoncpp/portfile.cmake | 1 - ports/jsonnet/CMakeLists.txt | 4 - ports/jsonnet/CONTROL | 6 +- ports/jsonnet/portfile.cmake | 2 + ports/jxrlib/CONTROL | 6 +- ports/jxrlib/portfile.cmake | 4 +- ports/leveldb/CONTROL | 2 +- ports/leveldb/portfile.cmake | 5 +- ports/libaiff/CMakeLists.txt | 4 - ports/libaiff/CONTROL | 6 +- ports/libaiff/portfile.cmake | 3 + ports/libdisasm/CMakeLists.txt | 1 - ports/libdisasm/CONTROL | 6 +- ports/libdisasm/portfile.cmake | 5 +- ports/libdshowcapture/CONTROL | 6 +- ports/libdshowcapture/portfile.cmake | 2 +- ports/libepoxy/CONTROL | 6 +- ports/libepoxy/portfile.cmake | 12 +- ports/libevent/CONTROL | 8 +- ports/libevent/portfile.cmake | 2 +- ports/libffi/CMakeLists.txt | 6 - ports/libffi/CONTROL | 2 +- ports/libffi/portfile.cmake | 5 +- ports/libgd/CONTROL | 56 ++-- ports/libgd/portfile.cmake | 30 +- ports/liblemon/CONTROL | 6 +- ports/liblemon/portfile.cmake | 5 +- ports/libmad/CMakeLists.txt | 6 +- ports/libmad/CONTROL | 6 +- ports/libmad/portfile.cmake | 3 + ports/libmicrohttpd/CMakeLists.txt | 4 - ports/libmicrohttpd/CONTROL | 6 +- ports/libmicrohttpd/portfile.cmake | 4 +- ports/libmupdf/CMakeLists.txt | 3 +- ports/libmupdf/CONTROL | 8 +- ports/libmupdf/portfile.cmake | 2 + ports/libogg/CONTROL | 6 +- ports/libogg/portfile.cmake | 5 +- ports/librabbitmq/CONTROL | 8 +- ports/librabbitmq/portfile.cmake | 2 - ports/librsync/001-enable-static-libs.patch | 13 + ports/librsync/CONTROL | 2 +- ports/librsync/portfile.cmake | 5 +- ports/libstemmer/CONTROL | 6 +- ports/libstemmer/portfile.cmake | 7 +- ports/libunibreak/CONTROL | 6 +- ports/libunibreak/portfile.cmake | 7 +- ports/libvpx/CONTROL | 6 +- ports/libvpx/portfile.cmake | 7 +- ports/libxmlpp/CMakeLists.txt | 2 - ports/libxmlpp/CONTROL | 8 +- ports/libxmlpp/portfile.cmake | 3 + ports/libxmp-lite/CMakeLists.txt | 2 - ports/libxmp-lite/CONTROL | 6 +- ports/libxmp-lite/portfile.cmake | 3 + ports/live555/portfile.cmake | 7 +- ports/lodepng/CMakeLists.txt | 5 - ports/lodepng/CONTROL | 6 +- ports/lodepng/portfile.cmake | 2 + ports/meschach/CMakeLists.txt | 4 - ports/meschach/CONTROL | 6 +- ports/meschach/portfile.cmake | 3 + ports/metis/CONTROL | 2 +- ports/metis/portfile.cmake | 20 +- ports/minisat-master-keying/CONTROL | 8 +- ports/minisat-master-keying/portfile.cmake | 7 +- ports/minizip/CMakeLists.txt | 4 - ports/minizip/CONTROL | 8 +- ports/minizip/portfile.cmake | 2 + ports/mlpack/CONTROL | 2 +- ports/mlpack/portfile.cmake | 84 +++--- ports/moos-core/CONTROL | 8 +- ports/moos-core/portfile.cmake | 8 +- ports/moos-essential/CONTROL | 8 +- ports/moos-essential/portfile.cmake | 6 +- ports/moos-ui/CONTROL | 12 +- ports/moos-ui/portfile.cmake | 18 -- ports/mosquitto/CONTROL | 14 +- ports/mosquitto/portfile.cmake | 11 +- ports/ms-angle/CONTROL | 2 +- ports/ms-angle/portfile.cmake | 70 +++-- ports/msix/CONTROL | 10 +- ports/msix/portfile.cmake | 9 +- ports/mujs/CONTROL | 6 +- ports/mujs/portfile.cmake | 5 +- ports/nana/CONTROL | 2 +- ports/nana/portfile.cmake | 10 +- ports/nanopb/CONTROL | 2 +- ports/nanopb/portfile.cmake | 10 +- ports/nanopb/shared-lib.patch | 22 -- ports/netcdf-cxx4/CONTROL | 2 +- ports/netcdf-cxx4/portfile.cmake | 41 +-- ports/nmslib/CONTROL | 16 +- ports/nmslib/portfile.cmake | 9 +- ports/nvtt/CONTROL | 4 +- ports/nvtt/portfile.cmake | 16 +- ports/octomap/001-fix-exported-targets.patch | 82 ++++++ ports/octomap/CONTROL | 2 +- ports/octomap/portfile.cmake | 21 +- ports/octomap/vcpkg-cmake-wrapper.cmake | 15 + ports/ode/CONTROL | 6 +- ports/ode/portfile.cmake | 24 +- ports/openblas/CONTROL | 2 +- ports/openblas/portfile.cmake | 7 +- ports/opencl/CONTROL | 6 +- ports/opencl/portfile.cmake | 7 +- ports/openjpeg/CONTROL | 2 +- ports/openjpeg/portfile.cmake | 3 + ports/openni2/CONTROL | 8 +- ports/openni2/portfile.cmake | 17 +- ports/openssl-uwp/CONTROL | 2 +- ports/openssl-uwp/portfile.cmake | 25 +- ports/opusfile/CMakeLists.txt | 5 +- ports/opusfile/CONTROL | 16 +- ports/opusfile/portfile.cmake | 11 +- ports/osg/CONTROL | 2 +- ports/osg/portfile.cmake | 24 +- ports/osgearth/CONTROL | 8 +- ports/osgearth/portfile.cmake | 9 +- ports/osi/CMakeLists.txt | 6 +- ports/osi/CONTROL | 4 +- ports/osi/portfile.cmake | 71 ++--- ports/pangolin/CONTROL | 8 +- ports/pangolin/portfile.cmake | 5 +- ports/parmetis/CONTROL | 8 +- ports/parmetis/portfile.cmake | 17 +- ports/pdal-c/CONTROL | 8 +- ports/pdal-c/portfile.cmake | 8 +- ports/piex/CONTROL | 6 +- ports/piex/portfile.cmake | 5 +- ports/pixman/CMakeLists.txt | 1 - ports/pixman/CONTROL | 2 +- ports/pixman/portfile.cmake | 2 + ports/platform-folders/CONTROL | 6 +- ports/platform-folders/portfile.cmake | 6 +- ports/plib/CONTROL | 6 +- ports/plib/portfile.cmake | 8 +- ports/pmdk/CONTROL | 4 +- ports/pmdk/portfile.cmake | 8 +- ports/pngwriter/CONTROL | 8 +- ports/pngwriter/portfile.cmake | 5 +- ports/pqp/CONTROL | 6 +- ports/pqp/portfile.cmake | 7 +- ports/pystring/CMakeLists.txt | 4 - ports/pystring/CONTROL | 6 +- ports/pystring/portfile.cmake | 2 + ports/qpid-proton/CONTROL | 8 +- ports/qpid-proton/portfile.cmake | 19 +- ports/quirc/CMakeLists.txt | 2 - ports/quirc/CONTROL | 2 +- ports/quirc/portfile.cmake | 2 + ports/realsense2/CONTROL | 14 +- ports/realsense2/portfile.cmake | 2 - ports/recast/CONTROL | 6 +- ports/recast/portfile.cmake | 5 +- ports/rpclib/CONTROL | 6 +- ports/rpclib/portfile.cmake | 5 +- ports/rttr/CONTROL | 6 +- ports/rttr/fix-directory-output.patch | 2 +- ports/rttr/portfile.cmake | 11 +- ports/sciter/CONTROL | 8 +- ports/sciter/portfile.cmake | 8 +- ports/secp256k1/CONTROL | 6 +- ports/secp256k1/portfile.cmake | 5 +- ports/shogun/CONTROL | 8 +- ports/shogun/portfile.cmake | 7 +- ports/soundtouch/CONTROL | 8 +- ports/soundtouch/portfile.cmake | 10 +- ports/spaceland/CONTROL | 2 +- ports/spaceland/portfile.cmake | 13 +- ports/sparsepp/CONTROL | 2 +- ports/sparsepp/portfile.cmake | 4 +- ports/spirit-po/CONTROL | 8 +- ports/spirit-po/portfile.cmake | 13 +- ports/sqlitecpp/CONTROL | 8 +- ports/sqlitecpp/portfile.cmake | 8 +- ports/stxxl/CONTROL | 6 +- ports/stxxl/portfile.cmake | 6 +- ports/suitesparse/CONTROL | 16 +- ports/suitesparse/portfile.cmake | 155 +++++----- ports/tacopie/CONTROL | 6 +- ports/tacopie/portfile.cmake | 3 +- ports/tbb/portfile.cmake | 5 +- ports/telnetpp/CONTROL | 8 +- ports/telnetpp/portfile.cmake | 2 +- ports/tesseract/CONTROL | 8 +- ports/tesseract/portfile.cmake | 5 +- ports/theia/CONTROL | 2 +- ports/theia/portfile.cmake | 8 +- ports/think-cell-range/CONTROL | 10 +- ports/think-cell-range/portfile.cmake | 13 +- ports/thrift/CONTROL | 2 +- ports/thrift/portfile.cmake | 12 +- ports/tidy-html5/CONTROL | 2 +- ports/tidy-html5/portfile.cmake | 16 +- ports/tinyexr/CONTROL | 6 +- ports/tinyexr/portfile.cmake | 11 +- ports/tinyobjloader/CONTROL | 2 +- ports/tinyobjloader/portfile.cmake | 73 +++-- ports/tinythread/CMakeLists.txt | 4 - ports/tinythread/CONTROL | 6 +- ports/tinythread/portfile.cmake | 3 + ports/tinyxml/CMakeLists.txt | 4 +- ports/tinyxml/CONTROL | 6 +- ports/tinyxml/portfile.cmake | 2 + ports/torch-th/CONTROL | 2 +- ports/torch-th/portfile.cmake | 9 +- ports/treehopper/CONTROL | 6 +- ports/treehopper/portfile.cmake | 10 +- ports/unittest-cpp/CONTROL | 2 +- ports/unittest-cpp/portfile.cmake | 8 +- ports/unrar/CONTROL | 6 +- ports/unrar/portfile.cmake | 5 +- ports/urdfdom/CONTROL | 8 +- ports/urdfdom/portfile.cmake | 5 +- ports/uriparser/CONTROL | 2 +- ports/utfcpp/CONTROL | 6 +- ports/utfcpp/portfile.cmake | 11 +- ports/uvatlas/CONTROL | 2 +- ports/uvatlas/portfile.cmake | 99 ++++--- ports/vlpp/CONTROL | 2 +- ports/vlpp/portfile.cmake | 60 ++-- ports/wangle/CONTROL | 2 +- ports/wangle/build.patch | 53 ++-- ports/wangle/portfile.cmake | 3 +- ports/wildmidi/CONTROL | 6 +- ports/wildmidi/portfile.cmake | 42 ++- ports/xxhash/CONTROL | 6 +- ports/xxhash/portfile.cmake | 16 +- ports/yara/CONTROL | 8 +- ports/yara/portfile.cmake | 6 +- ports/zziplib/CMakeLists.txt | 2 - .../cmake/vcpkg_find_acquire_program.cmake | 19 +- 413 files changed, 2402 insertions(+), 2793 deletions(-) create mode 100644 ports/folly/find-double-conversion.patch create mode 100644 ports/librsync/001-enable-static-libs.patch delete mode 100644 ports/nanopb/shared-lib.patch create mode 100644 ports/octomap/001-fix-exported-targets.patch create mode 100644 ports/octomap/vcpkg-cmake-wrapper.cmake diff --git a/ports/3fd/CONTROL b/ports/3fd/CONTROL index 6f278f762..75eecaa31 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 1e7e9d601..40c902137 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 7235b95e2..b4147266f 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 0e690daa7..99581e89f 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 6657c06e7..37f3ae22d 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 cafd05b18..1d82fc4e5 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 b2300174b..e2b3da2b1 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 c1390d7f8..ee4a109d9 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 843189546..fbe190b56 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 f50b135e9..07ca2b5a2 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 309ebfef9..ce5c6bad1 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 33bb760c8..57470172c 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 459692ac5..a11803305 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 49fbb372d..346e45edb 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 8fd8e8523..8bc53822e 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 2ad6a7553..f0bda4a3d 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 3474c9974..1ec8ac1d6 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 2166fd1e0..28b6d316c 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 32bb3a23b..847120318 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 1d9b5bc0e..df44602ee 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 6123335ab..4cbec1278 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 8031c7964..172984712 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 fc52411f9..bea89f8ec 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 4fe655f70..2945f51f9 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 b4bdda0eb..824052721 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 8b65312e5..c3edfdf74 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 3a8d55164..329a329b8 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 74cf021c8..4bc4fd299 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 3e65666eb..9a6ad2377 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 5c699e1dc..c853b5c5f 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 fec30f57c..99a60ba7c 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 129bf8349..8fd05f2d0 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 5c72156e1..c3aed42fe 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 ffdb53881..13f42ca0b 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 4528caa3b..b27149966 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 5247cbf81..9f508306c 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 8a710aa54..61ce15816 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 0c3995685..f92b00cb8 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 f98abe1ec..b6259b52e 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 5115aacda..e470f0f40 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 eea3a85cb..62f48bd8a 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 b64be214c..a508e6a35 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 220a5a058..943b1ec94 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 c35f37444..24da7f143 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 36f8b1838..57270412d 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 f86f323f3..6008b2a5f 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 6a2e5ca02..52963fbe0 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 5d9c92dfd..848b5eb82 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 b6f690539..b044b1694 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 6f39010be..64d42a4da 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 ae5e24c1b..3ee26634c 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 bbef1f62b..5cac9b00d 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 b3e0b2978..930b04dd7 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 db077217d..1274a6431 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 c92877435..df07bd81d 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 0f9ec03c7..857705649 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 e02002656..3014018b9 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 35ac53fcd..a9916a70a 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 73fcc6541..9e22c33b6 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 45a3c1b99..77275fea8 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 9a8cd3071..e21b1ca68 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 6dccfd87d..2934951b4 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 16d9918a1..d429e7f52 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 6caa44df1..cf25b698d 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 9851e0f80..58a970877 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 b7f0cc863..32c86554e 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 e6a935b9f..99313c5cd 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 1fbdb4ab8..86305aa58 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 ac9b4178f..e19909f35 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 08cf8af72..f43dc295d 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 6f756e824..580ffedf6 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 97324b4bf..a1351839c 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 953ab2b98..1a090c94d 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 64573dfb9..f20222532 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 ec01d2e5b..a53c57495 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 59582e800..7b9a86b85 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 e8cb4749f..85b3bc0c7 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 9563b6c15..e56b57e61 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 2afe8ae17..075a32b26 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 bc7bd3ae3..f8bf5cdcf 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 5f001f04d..4030f9ce9 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 c9feba68d..ee19a6510 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 8f8726ddc..f33c94ed9 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 328ba20db..c9ccca85b 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 30ec75f00..d94532e8a 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 33ea7e605..b108c5574 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 533f0c78e..574d444d2 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 90d692626..5ee715e58 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 0b33939d5..e2200c813 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 de9471fcc..ff6f84d90 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 2ef092eba..ab248db1c 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 f93c3f408..d11878a0e 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 4db65c26f..9c4de67c2 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 57821d984..0ec9d2b00 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 e56f82efa..383057056 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 4fd90c93b..74e3caf47 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 4bb583437..81f29bd66 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 87ea23027..bfa7384fb 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 60393a1d9..41ffd54f7 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 6a545ccbd..d51a82b81 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 ab2e80e87..1de246923 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 ebfd00766..730c27257 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 a80898deb..7bc0812f2 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 875b1aa0a..e3deba1fe 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 53da07b77..afdeb1e6d 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 4b95739ca..3486134fb 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 f62a9c56e..3a9c869de 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 b0f599dd8..3d70426b9 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 f4aa4f805..2c28d3a59 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 ac226a66a..8f901cad3 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 d607e5ed0..ee8eadcc7 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 372a98d72..e36c9d6f1 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 cc12d769b..f89fe3982 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 2d8d6fac9..1f8e01e57 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 0cdcaf318..0b33ded5b 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 84b062a30..20fc0dde6 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 d18d040e2..de4af3550 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 51c95cec8..354b8d5b8 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 16a727246..857dd7d0b 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 e486cf90a..58b150645 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 92781872f..1bb4e9a15 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 869703c19..a7f6c09b2 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 a298acd1b..5da063ee8 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 04de017da..000c00b1f 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 f9f318630..c0b505eed 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 fe7704d8c..e055766b6 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 e780db110..d93759c42 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 000000000..53f49e831 --- /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 3c695cc99..63ba3c8d8 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 18a2f9956..c76ba3681 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 761ad88cd..c23a21da9 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 6bb48f193..1f1581ba1 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 b70639ea6..7e9a41e99 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 139e6a48a..a96a32d3c 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) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/LancePutnam/Gamma/archive/cc442ad0c5da369966cd937a96925c7b9a04e9e5.zip" - FILENAME "gamma-${GAMMA_RELEASE_TAG}.zip" - SHA512 de44f4d07db0b2cf09e77508d993273d09788dfa919d549393bb77534922b65e9d8a1b8193b4b02c72e6bc4dd060b41b18ff3520a36d4c28f6e2fb4b1e859ee7 +set(GAMMA_RELEASE_TAG "cc442ad0c5da369966cd937a96925c7b9a04e9e5") + +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 876a26f24..d5b84019f 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 15bd2a3bb..f6e2c9008 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 2a0fbfaf3..7d485d95b 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 72469abff..06f06cb5d 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 7d5b3857b..37e2d1e91 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 b1ffc863d..da220d067 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 9f0165786..8e7f8f0fe 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 a7ccbe937..efef52d3f 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 792bf3dde..40eee279c 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 a0812ef67..36bcea3f7 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 707e64a9b..d3fc01bb7 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 faa409619..0aa1251e4 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 14a5e2bfa..71a62e756 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() - -if(VCPKG_CRT_LINKAGE STREQUAL "static") - message("gts can only be built dynamically, and therefore cannot static link the CRT") -endif() - include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO finetjul/gts diff --git a/ports/guetzli/CMakeLists.txt b/ports/guetzli/CMakeLists.txt index 5d594aabd..d24b2326d 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 1bbfbe444..b68d01320 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 cb5a44687..248433e56 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 82c41213e..6889b526d 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 a09ac8619..715decc23 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 5539ebd32..4418e56de 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 169723518..6c6e6fe9d 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 229d659e7..6ec2cea9b 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 eef241163..cb1541fed 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 e99f115ae..d77e210b6 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 2955905ce..3e687e50d 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 284c8e903..cf3961cb7 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 c50a53849..da02d8dc1 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 5e9929789..e65980b6e 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 1b4fc86e5..4a2ce7628 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 b9d4c261e..6d143cb48 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 bd7d5eda3..8365f1902 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 ac3051c82..a93e47dd2 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 1d705977f..549c7fbe4 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 77d6e2e8d..395a5d331 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 7bc30d028..af4b05f7d 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 79df1234e..5c9d25881 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 77a62ac2a..7339de39d 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 b99701797..e011b2711 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 a82f1be62..f7109aafd 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 79bb11a2b..2b82410b6 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 f0a7cc426..f6c5e65ca 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 5781de29b..16b37eb29 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 7f6fa5ae2..19d4fbcc0 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 3b99f21f5..49e89b8d0 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 3145a079a..d624f9e7b 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 533c0457c..f6592693a 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 8fdfe14da..4c7084d8e 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 f1badbd1e..f04620fd5 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 4f749e5b8..5056191c1 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 49618f59e..22906cdfb 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 ee3c43890..4ae28a70d 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 2d3fa4ac4..2f8ba2aaf 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 01780c78e..49869b43f 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 515d7dfea..5f95fda4b 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 9d6892977..6a2555e5c 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 9dcfd46d2..db531b5c0 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 21078bfe8..0ed9a9cf2 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 17277159e..14f2848ba 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 96889e794..9d640a9b9 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 c6044e88d..e55dfab7d 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 19919bed6..e4bbaba54 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 2d6e37de2..3d88262c8 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 372e1b6dc..fa0e2d8a8 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 79ffdbf46..819813e91 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 e50754db3..12c4742b6 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 67cd29d7c..e9577f803 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 61bbb9847..28028ce3c 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 2be7a2574..29e14bdac 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 b008d7595..882d7ca94 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 b72a6cd5a..bbb4daf83 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 a909508a2..35bf69bf8 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 23c1d360b..346f00977 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 3e072b7ae..c21960b72 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 689903024..b41322a87 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 522c0fbea..47db84c41 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 daf25faa1..ae26eebab 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 65b926d55..cc5027963 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 d76c09122..b54bb7b53 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 2c5815aed..101470530 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 8b11e3e9c..45d995777 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 76ed52c5a..6018c50aa 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 df04d00a2..12060296d 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 2af2327cc..b2a56c808 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 87169b6ef..965e4e46f 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 ad8955fa8..3a37e1744 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 19b131f82..f8c686735 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 cfdcf9527..cea0af218 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 000000000..4512cdeb9 --- /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 b51be6105..b17a132eb 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 0f9cfad55..f39578dd3 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 c09295b62..a5275ea71 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 9a76c3a94..ed4d86c4e 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 a8df4119f..a59c7b44a 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 6ec8bdd74..321fbd654 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 77a44f195..50d23a717 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 d253008e7..009a0161d 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 697d6bbc2..bbaae7cda 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 890d1471d..31b54a74c 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 9c39d6397..3919e4bf2 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 9495e0eb4..e1f14f377 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 1f7e8dded..bc1b7ef36 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 ac67940a1..5af0f25f3 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 d11ee6081..c89d4e0a1 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 0ffd39549..5da3aed3d 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 e6c10c474..2c881316c 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 367764456..83df5a5e0 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 648fe5af9..e60d29097 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 a8418b2b1..84a3bf0d4 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 dd9d93085..1ec6fcd04 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 305887de0..65571b0bd 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 d2c8de800..4f8d4520d 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 ca37399f2..84021f371 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 e035c2fe4..0578623c1 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 4ccf6972a..edb9b3c7b 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 60398b039..b0c606ded 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 927951d70..15289b767 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 4462dcd27..d57aa4ca3 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 3c908bdf8..c7bf89bc1 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 2aadbb9e4..2195fd5bd 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 d6eab11f7..60eb5d9a5 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 311b9d480..c47dfa433 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 3f26a4e86..f0a55923e 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 28ee5e664..07de10690 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 5229c8855..3f4b880e2 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 8d4d2de0c..a623c89d7 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 25ba0e598..061593969 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 c3cf500b3..6d68b4e56 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 afaec0bf3..0a8dc8c9b 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 52ec64556..12bc7af8b 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 552d57699..67424b13d 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 c61c7031e..a15fdf7bb 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 f8c64c867..f9eff13b5 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 09b9cba0d..7224378f3 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 ff9f43145..167900550 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 0916582fe..40d18ea9e 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 278b3c7bb..35d662c40 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 0d5960e72..000000000 --- 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 0d21780ae..b926a2522 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 68dcbf661..961694965 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) -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_check_linkage(ONLY_STATIC_LIBRARY) + +set(HDF5_USE_STATIC_LIBRARIES ON) + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/netcdf-cxx4-4.3.0) + +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 be3c8b486..7b65617c3 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 8743aae80..49a194ba1 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 19ef69da0..15c72fa71 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 30e2e5cc6..299732a37 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 000000000..fe02db6e9 --- /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 71e76163a..3669f3850 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 98630922e..113f6fc04 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 000000000..2dd237e71 --- /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 952e85629..6f88319e6 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 2bd55e060..a1f617fe3 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 11a3d1741..b3ff85c81 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 967a0dbb7..7f4c0adb4 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 89d4ad0e1..633c95e51 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 f7e1bdd2f..54096512f 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 1b7a3697d..7a8721b8d 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 de683a089..f0f293ac1 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 26fcebaba..d7e75fb7d 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 fb7eeade6..8ef2514b3 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 1bfa6651a..c10ca99d3 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 83eff7dcc..45ecdbc34 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 51ea8f894..c70ea98bc 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 82307c100..65f6bada7 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 30c633ca2..aae9303f8 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 e78458d25..421e96a9d 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 98a0ec293..9b70cce14 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 3b2ba3e4b..f056caf33 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 21243fced..798b0df85 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 ab061f169..7f4ca5ed1 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 457085c68..98cfbdcad 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 6cb2e1217..8c890581c 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 1cbf2ad98..593c753b2 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 cd6a4fe78..ac4d31625 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 bb2237654..bdc95557a 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 ba34e47e8..63b2cb87b 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 2a52378b5..061e1a659 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 8a478c547..bdfdd387e 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 43411e564..3fb98201f 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 039c2c41d..3238c013c 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 ad2f5e503..1b8c311c1 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 3e2caf1ca..066d81076 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 e81972fd7..649bee489 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 d964e1d08..9ce30f45a 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 a08610e18..c66848096 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 f1509d029..b5abf0011 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 16c5673c9..ed0f03af0 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 1b94a1522..803544c91 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 ecd1d9002..4bede2bb9 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 667dafa24..286244e93 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 937010522..06793058a 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 69a72c33e..5eb701bc6 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 077d76d6a..a674e3af3 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 6fccf78d9..ecfdaa4fb 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 6b4f14035..9bdd7daf2 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 d6e9700f8..8384bc018 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 2c2a1f3e9..3ce196241 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 64a43d431..760f74371 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 8af398bb8..a3400c70b 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 d86ea00ae..0fedf24c2 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 fd05c3db4..d45b283b4 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 435f49cd0..2802c0f9d 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 8db63f04d..0d8ae7cdc 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 4cc61e30d..969b9d172 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 7d9f08f93..a544971d8 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 2123f29c4..d3531e9b5 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 40aea10bb..9865a2afe 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 cb4eb9557..55e6e6b67 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 8fd8ed0c7..97e47f371 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 ceef04449..2c2c7e863 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 c82708a73..69f2d68a0 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 8ae54344e..d94cc5469 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 be37f1693..16761cc4d 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 2012c4827..28291c7ec 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 56b6250d6..5188892da 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 e002ead4a..b207116c8 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 7ae158b88..012b7c9df 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 b7fb1fb45..c9fbd3623 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 4319a9797..4f885e6eb 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 5e84296cd..d90ceafd7 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 6606595e8..86550179a 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 01822ea16..a98e1a6e6 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 b9857cea0..eb3b319b7 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 3fa1cb23b..d961ce256 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 119c94091..3374074d1 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 a7e9a4267..6876bdf8c 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 e8541a27d..847a31067 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 14d39d38e..41665c4cd 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 84263e1e8..67b72bb49 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 ac479c6cc..c823d0d93 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 ae46741d5..47493a022 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 a86ca1339..e814418d4 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 b99fdb017..201b6f53d 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 595e1cd88..27ebdb31b 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 1859ad4a2..7af2342e1 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 282282214..7bb758e6e 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 fd66756b1..0c783d78e 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 83d6c2c53..7cfd81e60 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 b2e61fae1..18f8490b1 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 b7d53af12..120f2c884 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 56d01a55e..d1acc2c51 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 87c571ce2..f0ac0b5fd 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 c3796d0b2..7ed3946a7 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 377e47f13..2716bdf1f 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 da0ba45ca..dab76286d 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 54b459b49..3dbc26101 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 6ef6439d5..bc3effdc3 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 7967039a7..8ec7ef7a7 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 fd2dbf8a4..ee6d64dc7 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 ec8b3634c..57e972132 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 d438e8721..6b5de12e1 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 23903e30e..550a192bc 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 21776c156..b849c07f9 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 f1075e38e..4eacee3b2 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 2936a4d57..b43526efa 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 66e276b12..edaaef3d4 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 8be10a4b6..2b653da22 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 336a42250..4435c6cce 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 fd90f0392..68cf07bb9 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 e24b8b774..9279cd127 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 2a31852a9..597444d3b 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 d9c586c6a..5e54ed37f 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 4ad834d15..458d51783 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 71e036251..e4b627fa0 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 530b586e5..73aead641 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 beb544485..b6a8cc5fe 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 e98dd9ee4..9af6bb441 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 19c062f36..e4b57cff0 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 7fad35659..605f15071 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 ae7e9f285..e1a1a189f 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 392beec5e..680cd2b28 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 1ee003ffb..a54bdfe04 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 77df9ccf0..9b1b4d3e0 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 d695f5b18..3a7698218 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 ce1672eb7..b9761c633 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 116333ec1..0f374d6dd 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 d82895de4..6c4868771 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 2501630a0..4cdbf5435 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 c23f24623..91f713578 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 fb29eaad0..5e2832bb5 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 8e70a0d7f..d4869df63 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 9eb8aca0c..1cb198e69 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 3d481a9aa..d5e95eb4b 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)