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 6f278f762d..75eecaa31f 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 1e7e9d6016..40c902137a 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 7235b95e28..b4147266ff 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 0e690daa7e..99581e89f1 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 6657c06e71..37f3ae22d6 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 cafd05b188..1d82fc4e54 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 b2300174bf..e2b3da2b1a 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 c1390d7f87..ee4a109d96 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 8431895464..fbe190b566 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 f50b135e9a..07ca2b5a2a 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 309ebfef92..ce5c6bad1a 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 33bb760c88..57470172cf 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 459692ac54..a118033053 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 49fbb372dc..346e45edb1 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 8fd8e8523e..8bc53822e5 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 2ad6a75532..f0bda4a3d8 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 3474c9974a..1ec8ac1d68 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 2166fd1e05..28b6d316c9 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 32bb3a23be..8471203189 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 1d9b5bc0e1..df44602ee9 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 6123335ab5..4cbec1278b 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 8031c7964e..172984712d 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 fc52411f91..bea89f8ec5 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 4fe655f70d..2945f51f92 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 b4bdda0ebc..824052721f 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 8b65312e5e..c3edfdf74b 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 3a8d551640..329a329b80 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 74cf021c8d..4bc4fd2997 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 3e65666eb0..9a6ad2377d 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 5c699e1dc5..c853b5c5f6 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 fec30f57c8..99a60ba7c4 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 129bf83499..8fd05f2d04 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 5c72156e13..c3aed42fe2 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 ffdb53881f..13f42ca0b3 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 4528caa3b7..b27149966f 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 5247cbf81c..9f508306ca 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 8a710aa542..61ce15816e 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 0c39956856..f92b00cb86 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 f98abe1ece..b6259b52e6 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 5115aacda7..e470f0f40b 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 eea3a85cbc..62f48bd8a0 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 b64be214ce..a508e6a350 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 220a5a0588..943b1ec949 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 c35f37444a..24da7f1439 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 36f8b1838b..57270412df 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 f86f323f3b..6008b2a5fd 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 6a2e5ca02c..52963fbe03 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 5d9c92dfd9..848b5eb827 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 b6f6905393..b044b16946 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 6f39010bec..64d42a4da4 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 ae5e24c1bd..3ee26634c0 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 bbef1f62b7..5cac9b00d4 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 b3e0b29785..930b04dd7a 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 db077217dd..1274a64316 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 c92877435b..df07bd81d1 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 0f9ec03c78..8577056498 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 e020026562..3014018b9b 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 35ac53fcd2..a9916a70af 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 73fcc65410..9e22c33b6a 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 45a3c1b997..77275fea88 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 9a8cd30714..e21b1ca680 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 6dccfd87dd..2934951b44 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 16d9918a12..d429e7f52a 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 6caa44df1d..cf25b698d5 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 9851e0f804..58a9708771 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 b7f0cc863b..32c86554e5 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 e6a935b9fa..99313c5cd3 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 1fbdb4ab81..86305aa580 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 ac9b4178fa..e19909f351 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 08cf8af72a..f43dc295d2 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 6f756e824d..580ffedf67 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 97324b4bf2..a1351839c0 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 953ab2b98d..1a090c94d2 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 64573dfb9c..f20222532f 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 ec01d2e5bd..a53c574959 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 59582e8002..7b9a86b85f 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 e8cb4749f9..85b3bc0c70 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 9563b6c151..e56b57e617 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 2afe8ae17b..075a32b260 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 bc7bd3ae34..f8bf5cdcff 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 5f001f04d3..4030f9ce9d 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 c9feba68db..ee19a65100 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 8f8726ddcb..f33c94ed91 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 328ba20db9..c9ccca85b7 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 30ec75f008..d94532e8a8 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 33ea7e6053..b108c55749 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 533f0c78e3..574d444d22 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 90d6926264..5ee715e582 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 0b33939d5f..e2200c8135 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 de9471fcc9..ff6f84d90d 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 2ef092ebad..ab248db1c8 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 f93c3f4083..d11878a0e8 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 4db65c26f1..9c4de67c2e 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 57821d9842..0ec9d2b001 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 e56f82efa1..383057056c 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 4fd90c93b5..74e3caf476 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 4bb5834371..81f29bd662 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 87ea23027f..bfa7384fbf 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 60393a1d94..41ffd54f75 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 6a545ccbde..d51a82b817 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 ab2e80e878..1de2469236 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 ebfd007664..730c272577 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 a80898deb8..7bc0812f2f 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 875b1aa0ac..e3deba1fe8 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 53da07b77d..afdeb1e6d4 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 4b95739ca3..3486134fb9 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 f62a9c56ed..3a9c869dec 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 b0f599dd81..3d70426b98 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 f4aa4f805c..2c28d3a59a 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 ac226a66af..8f901cad3c 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 d607e5ed0c..ee8eadcc7b 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 372a98d729..e36c9d6f1e 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 cc12d769ba..f89fe3982a 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 2d8d6fac9f..1f8e01e57d 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 0cdcaf318c..0b33ded5bf 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 84b062a30a..20fc0dde66 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 d18d040e2f..de4af3550c 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 51c95cec82..354b8d5b86 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 16a727246c..857dd7d0bb 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 e486cf90a5..58b150645b 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 92781872f1..1bb4e9a154 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 869703c196..a7f6c09b2c 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 a298acd1b9..5da063ee8c 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 04de017daf..000c00b1fb 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 f9f3186305..c0b505eeda 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 fe7704d8c8..e055766b6e 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 e780db1101..d93759c420 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 0000000000..53f49e831d --- /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 3c695cc99e..63ba3c8d81 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 18a2f9956c..c76ba3681e 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 761ad88cd9..c23a21da9d 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 6bb48f193a..1f1581ba1c 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 b70639ea68..7e9a41e990 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 139e6a48a0..a96a32d3ce 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 876a26f24e..d5b84019fd 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 15bd2a3bb6..f6e2c9008c 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 2a0fbfaf30..7d485d95b3 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 72469abffc..06f06cb5df 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 7d5b3857bc..37e2d1e91b 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 b1ffc863d7..da220d0677 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 9f01657865..8e7f8f0fe3 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 a7ccbe9376..efef52d3fb 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 792bf3dded..40eee279c3 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 a0812ef670..36bcea3f73 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 707e64a9b5..d3fc01bb75 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 faa4096194..0aa1251e4c 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 14a5e2bfa8..71a62e756a 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 5d594aabdd..d24b2326dc 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 1bbfbe4446..b68d013208 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 cb5a446879..248433e56a 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 82c41213e4..6889b526d3 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 a09ac86192..715decc233 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 5539ebd329..4418e56de5 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 1697235180..6c6e6fe9db 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 229d659e76..6ec2cea9b4 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 eef2411639..cb1541fedb 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 e99f115ae4..d77e210b64 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 2955905ce2..3e687e50d7 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 284c8e9033..cf3961cb7f 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 c50a538497..da02d8dc1c 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 5e99297892..e65980b6e8 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 1b4fc86e50..4a2ce76280 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 b9d4c261e6..6d143cb48d 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 bd7d5eda3c..8365f1902e 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 ac3051c829..a93e47dd2b 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 1d705977fc..549c7fbe4e 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 77d6e2e8d3..395a5d3317 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 7bc30d0280..af4b05f7db 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 79df1234e6..5c9d258819 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 77a62ac2ac..7339de39dd 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 b997017979..e011b27114 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 a82f1be62d..f7109aafdc 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 79bb11a2ba..2b82410b67 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 f0a7cc426b..f6c5e65ca4 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 5781de29b2..16b37eb297 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 7f6fa5ae23..19d4fbcc07 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 3b99f21f5f..49e89b8d03 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 3145a079a5..d624f9e7be 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 533c0457c7..f6592693a2 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 8fdfe14da6..4c7084d8e8 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 f1badbd1e2..f04620fd53 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 4f749e5b83..5056191c1e 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 49618f59eb..22906cdfb6 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 ee3c438902..4ae28a70df 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 2d3fa4ac45..2f8ba2aaf7 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 01780c78e6..49869b43fe 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 515d7dfeaa..5f95fda4b7 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 9d6892977c..6a2555e5c9 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 9dcfd46d2c..db531b5c09 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 21078bfe8e..0ed9a9cf23 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 17277159e3..14f2848ba0 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 96889e7944..9d640a9b92 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 c6044e88d1..e55dfab7db 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 19919bed67..e4bbaba54c 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 2d6e37de23..3d88262c8f 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 372e1b6dc3..fa0e2d8a8f 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 79ffdbf469..819813e916 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 e50754db32..12c4742b6f 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 67cd29d7c5..e9577f8038 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 61bbb9847e..28028ce3ca 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 2be7a25748..29e14bdac0 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 b008d75951..882d7ca946 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 b72a6cd5a3..bbb4daf839 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 a909508a25..35bf69bf87 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 23c1d360b6..346f009777 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 3e072b7aea..c21960b72a 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 689903024d..b41322a875 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 522c0fbea8..47db84c419 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 daf25faa14..ae26eebab3 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 65b926d550..cc50279631 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 d76c09122c..b54bb7b53f 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 2c5815aed9..1014705305 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 8b11e3e9cc..45d9957772 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 76ed52c5a7..6018c50aae 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 df04d00a2a..12060296d6 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 2af2327ccf..b2a56c8089 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 87169b6ef4..965e4e46f6 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 ad8955fa8b..3a37e17445 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 19b131f82d..f8c686735c 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 cfdcf9527f..cea0af218e 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 0000000000..4512cdeb9b --- /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 b51be6105e..b17a132ebd 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 0f9cfad55e..f39578dd3d 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 c09295b62f..a5275ea719 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 9a76c3a941..ed4d86c4e2 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 a8df4119f7..a59c7b44a7 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 6ec8bdd74a..321fbd654b 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 77a44f1959..50d23a7172 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 d253008e77..009a0161d3 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 697d6bbc2e..bbaae7cda2 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 890d1471d2..31b54a74c6 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 9c39d63975..3919e4bf2a 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 9495e0eb4f..e1f14f3779 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 1f7e8dded6..bc1b7ef36c 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 ac67940a1a..5af0f25f3b 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 d11ee60814..c89d4e0a1d 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 0ffd395495..5da3aed3d6 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 e6c10c4746..2c881316c1 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 3677644560..83df5a5e01 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 648fe5af91..e60d29097d 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 a8418b2b18..84a3bf0d40 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 dd9d93085c..1ec6fcd047 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 305887de0e..65571b0bdb 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 d2c8de8004..4f8d4520df 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 ca37399f28..84021f371a 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 e035c2fe4c..0578623c18 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 4ccf6972a4..edb9b3c7ba 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 60398b039a..b0c606deda 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 927951d702..15289b7671 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 4462dcd27f..d57aa4ca3e 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 3c908bdf84..c7bf89bc14 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 2aadbb9e41..2195fd5bda 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 d6eab11f7c..60eb5d9a58 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 311b9d4808..c47dfa4334 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 3f26a4e86f..f0a55923e8 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 28ee5e664b..07de10690c 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 5229c88556..3f4b880e26 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 8d4d2de0cd..a623c89d70 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 25ba0e5983..061593969b 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 c3cf500b3e..6d68b4e56b 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 afaec0bf3a..0a8dc8c9b4 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 52ec64556a..12bc7af8bc 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 552d576997..67424b13d0 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 c61c7031e1..a15fdf7bb9 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 f8c64c867a..f9eff13b5f 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 09b9cba0de..7224378f36 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 ff9f43145d..1679005508 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 0916582fed..40d18ea9ed 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 278b3c7bbb..35d662c40a 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 0d5960e720..0000000000 --- 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 0d21780ae9..b926a25228 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 68dcbf661c..9616949656 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 be3c8b486e..7b65617c3a 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 8743aae804..49a194ba10 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 19ef69da08..15c72fa719 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 30e2e5cc60..299732a370 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 0000000000..fe02db6e9f --- /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 71e76163a8..3669f38504 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 98630922e0..113f6fc047 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 0000000000..2dd237e711 --- /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 952e856296..6f88319e67 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 2bd55e060f..a1f617fe3b 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 11a3d17414..b3ff85c81c 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 967a0dbb7d..7f4c0adb42 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 89d4ad0e19..633c95e511 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 f7e1bdd2f2..54096512fd 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 1b7a3697de..7a8721b8d0 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 de683a0890..f0f293ac16 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 26fcebaba3..d7e75fb7dd 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 fb7eeade65..8ef2514b34 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 1bfa6651a2..c10ca99d32 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 83eff7dcc6..45ecdbc34e 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 51ea8f8945..c70ea98bc8 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 82307c1006..65f6bada71 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 30c633ca24..aae9303f86 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 e78458d259..421e96a9da 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 98a0ec2932..9b70cce140 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 3b2ba3e4b2..f056caf337 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 21243fcedc..798b0df850 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 ab061f1697..7f4ca5ed1b 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 457085c68c..98cfbdcadf 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 6cb2e1217a..8c890581c4 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 1cbf2ad988..593c753b21 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 cd6a4fe786..ac4d316253 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 bb22376545..bdc95557ad 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 ba34e47e8b..63b2cb87bc 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 2a52378b5e..061e1a6597 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 8a478c547a..bdfdd387e8 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 43411e564f..3fb98201f9 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 039c2c41d5..3238c013cd 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 ad2f5e5039..1b8c311c19 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 3e2caf1ca6..066d81076f 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 e81972fd7a..649bee4898 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 d964e1d089..9ce30f45a6 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 a08610e189..c668480967 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 f1509d029d..b5abf00112 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 16c5673c9c..ed0f03af05 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 1b94a1522b..803544c916 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 ecd1d90020..4bede2bb9f 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 667dafa242..286244e934 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 9370105229..06793058a9 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 69a72c33ee..5eb701bc6d 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 077d76d6aa..a674e3af3a 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 6fccf78d96..ecfdaa4fb1 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 6b4f140350..9bdd7daf2d 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 d6e9700f8c..8384bc0183 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 2c2a1f3e9f..3ce1962411 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 64a43d4319..760f743719 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 8af398bb8a..a3400c70b8 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 d86ea00ae0..0fedf24c22 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 fd05c3db4e..d45b283b4a 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 435f49cd07..2802c0f9d0 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 8db63f04d6..0d8ae7cdc7 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 4cc61e30d4..969b9d1725 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 7d9f08f939..a544971d82 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 2123f29c43..d3531e9b51 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 40aea10bb1..9865a2afe2 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 cb4eb9557d..55e6e6b673 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 8fd8ed0c7b..97e47f3716 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 ceef044495..2c2c7e8635 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 c82708a73c..69f2d68a09 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 8ae54344eb..d94cc54696 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 be37f1693f..16761cc4d4 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 2012c4827e..28291c7eca 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 56b6250d66..5188892da1 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 e002ead4a6..b207116c83 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 7ae158b887..012b7c9df9 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 b7fb1fb45a..c9fbd36235 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 4319a9797d..4f885e6ebc 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 5e84296cd3..d90ceafd7e 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 6606595e82..86550179ac 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 01822ea160..a98e1a6e67 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 b9857cea0f..eb3b319b7c 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 3fa1cb23bc..d961ce256a 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 119c94091f..3374074d11 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 a7e9a4267a..6876bdf8cc 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 e8541a27d1..847a310670 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 14d39d38e3..41665c4cd0 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 84263e1e8e..67b72bb494 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 ac479c6cc1..c823d0d93c 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 ae46741d5f..47493a0223 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 a86ca1339b..e814418d47 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 b99fdb017e..201b6f53da 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 595e1cd88b..27ebdb31b1 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 1859ad4a29..7af2342e10 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 282282214d..7bb758e6e7 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 fd66756b15..0c783d78e1 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 83d6c2c539..7cfd81e602 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 b2e61fae12..18f8490b1e 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 b7d53af124..120f2c8848 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 56d01a55ee..d1acc2c518 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 87c571ce2b..f0ac0b5fd5 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 c3796d0b25..7ed3946a7d 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 377e47f133..2716bdf1ff 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 da0ba45cac..dab76286da 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 54b459b490..3dbc261011 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 6ef6439d50..bc3effdc36 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 7967039a70..8ec7ef7a75 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 fd2dbf8a4c..ee6d64dc7d 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 ec8b3634cb..57e972132e 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 d438e87214..6b5de12e1d 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 23903e30e4..550a192bc4 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 21776c156b..b849c07f9c 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 f1075e38ed..4eacee3b26 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 2936a4d57c..b43526efa4 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 66e276b122..edaaef3d49 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 8be10a4b61..2b653da221 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 336a422501..4435c6cce1 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 fd90f03927..68cf07bb92 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 e24b8b7740..9279cd127b 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 2a31852a98..597444d3bc 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 d9c586c6a8..5e54ed37fe 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 4ad834d150..458d51783f 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 71e0362512..e4b627fa00 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 530b586e50..73aead641e 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 beb5444854..b6a8cc5fea 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 e98dd9ee4a..9af6bb4414 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 19c062f363..e4b57cff04 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 7fad35659f..605f150717 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 ae7e9f2857..e1a1a189fc 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 392beec5e1..680cd2b289 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 1ee003ffb2..a54bdfe049 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 77df9ccf01..9b1b4d3e0c 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 d695f5b186..3a7698218f 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 ce1672eb7f..b9761c6334 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 116333ec10..0f374d6dd2 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 d82895de40..6c4868771a 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 2501630a06..4cdbf5435c 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 c23f246238..91f713578a 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 fb29eaad0f..5e2832bb59 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 8e70a0d7fe..d4869df63f 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 9eb8aca0c1..1cb198e696 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 3d481a9aa2..d5e95eb4b1 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)