diff options
| author | Barath Kannan <barathsotd@gmail.com> | 2018-01-17 19:00:43 +1100 |
|---|---|---|
| committer | Barath Kannan <barathsotd@gmail.com> | 2018-01-17 19:00:43 +1100 |
| commit | c30363d07b3f64b5f38531442ea92d9c1cf81d13 (patch) | |
| tree | 8a169a2a0aadf40dad50e73d226c3eca1e949327 | |
| parent | 47189e90d59459be69d4f6a0b039849913031c8e (diff) | |
| parent | 28c5c6ae4601c323cbd57a13da03b9047dc282ad (diff) | |
| download | vcpkg-c30363d07b3f64b5f38531442ea92d9c1cf81d13.tar.gz vcpkg-c30363d07b3f64b5f38531442ea92d9c1cf81d13.zip | |
Merge branch 'master' into qt5_modular
202 files changed, 2582 insertions, 2066 deletions
diff --git a/.gitignore b/.gitignore index e1954660f..18384e3da 100644 --- a/.gitignore +++ b/.gitignore @@ -279,6 +279,19 @@ downloads/ installed*/ packages/ scripts/buildsystems/tmp/ +#ignore custom triplets +triplets/* +#add vcpkg-designed triplets back in +!triplets/arm-uwp.cmake +!triplets/arm-windows.cmake +!triplets/x64-uwp.cmake +!triplets/x64-windows.cmake +!triplets/x64-windows-static.cmake +!triplets/x86-uwp.cmake +!triplets/x86-windows.cmake +!triplets/x86-windows-static.cmake +!triplets/arm64-uwp.cmake +!triplets/arm64-windows.cmake *.exe *.zip diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c07411a8..e2e2b42b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,251 @@ +vcpkg (0.0.101) +-------------- + * Add ports: + - alac-decoder 0.2 + - args d8905de + - boost-accumulators 1.66.0 + - boost-algorithm 1.66.0 + - boost-align 1.66.0 + - boost-any 1.66.0 + - boost-array 1.66.0 + - boost-asio 1.66.0 + - boost-assert 1.66.0 + - boost-assign 1.66.0 + - boost-atomic 1.66.0 + - boost-beast 1.66.0 + - boost-bimap 1.66.0 + - boost-bind 1.66.0 + - boost-build 1.66.0 + - boost-callable-traits 1.66.0 + - boost-chrono 1.66.0 + - boost-circular-buffer 1.66.0 + - boost-compatibility 1.66.0 + - boost-compute 1.66.0 + - boost-concept-check 1.66.0 + - boost-config 1.66.0 + - boost-container 1.66.0 + - boost-context 1.66.0 + - boost-conversion 1.66.0 + - boost-convert 1.66.0 + - boost-core 1.66.0 + - boost-coroutine 1.66.0 + - boost-coroutine2 1.66.0 + - boost-crc 1.66.0 + - boost-date-time 1.66.0 + - boost-detail 1.66.0 + - boost-disjoint-sets 1.66.0 + - boost-dll 1.66.0 + - boost-dynamic-bitset 1.66.0 + - boost-endian 1.66.0 + - boost-exception 1.66.0 + - boost-fiber 1.66.0 + - boost-filesystem 1.66.0 + - boost-flyweight 1.66.0 + - boost-foreach 1.66.0 + - boost-format 1.66.0 + - boost-function 1.66.0 + - boost-function-types 1.66.0 + - boost-functional 1.66.0 + - boost-fusion 1.66.0 + - boost-geometry 1.66.0 + - boost-gil 1.66.0 + - boost-graph 1.66.0 + - boost-graph-parallel 1.66.0 + - boost-hana 1.66.0 + - boost-heap 1.66.0 + - boost-icl 1.66.0 + - boost-integer 1.66.0 + - boost-interprocess 1.66.0 + - boost-interval 1.66.0 + - boost-intrusive 1.66.0 + - boost-io 1.66.0 + - boost-iostreams 1.66.0 + - boost-iterator 1.66.0 + - boost-lambda 1.66.0 + - boost-lexical-cast 1.66.0 + - boost-local-function 1.66.0 + - boost-locale 1.66.0 + - boost-lockfree 1.66.0 + - boost-log 1.66.0 + - boost-logic 1.66.0 + - boost-math 1.66.0 + - boost-metaparse 1.66.0 + - boost-move 1.66.0 + - boost-mp11 1.66.0 + - boost-mpi 1.66.0 + - boost-mpl 1.66.0 + - boost-msm 1.66.0 + - boost-multi-array 1.66.0 + - boost-multi-index 1.66.0 + - boost-multiprecision 1.66.0 + - boost-numeric-conversion 1.66.0 + - boost-odeint 1.66.0 + - boost-optional 1.66.0 + - boost-parameter 1.66.0 + - boost-phoenix 1.66.0 + - boost-poly-collection 1.66.0 + - boost-polygon 1.66.0 + - boost-pool 1.66.0 + - boost-predef 1.66.0 + - boost-preprocessor 1.66.0 + - boost-process 1.66.0 + - boost-program-options 1.66.0 + - boost-property-map 1.66.0 + - boost-property-tree 1.66.0 + - boost-proto 1.66.0 + - boost-ptr-container 1.66.0 + - boost-python 1.66.0-1 + - boost-qvm 1.66.0 + - boost-random 1.66.0 + - boost-range 1.66.0 + - boost-ratio 1.66.0 + - boost-rational 1.66.0 + - boost-regex 1.66.0 + - boost-scope-exit 1.66.0 + - boost-serialization 1.66.0 + - boost-signals 1.66.0 + - boost-signals2 1.66.0 + - boost-smart-ptr 1.66.0 + - boost-sort 1.66.0 + - boost-spirit 1.66.0 + - boost-stacktrace 1.66.0 + - boost-statechart 1.66.0 + - boost-static-assert 1.66.0 + - boost-system 1.66.0 + - boost-test 1.66.0-1 + - boost-thread 1.66.0 + - boost-throw-exception 1.66.0 + - boost-timer 1.66.0 + - boost-tokenizer 1.66.0 + - boost-tti 1.66.0 + - boost-tuple 1.66.0 + - boost-type-erasure 1.66.0 + - boost-type-index 1.66.0 + - boost-type-traits 1.66.0 + - boost-typeof 1.66.0 + - boost-ublas 1.66.0 + - boost-units 1.66.0 + - boost-unordered 1.66.0 + - boost-utility 1.66.0 + - boost-uuid 1.66.0 + - boost-variant 1.66.0 + - boost-vcpkg-helpers 3 + - boost-vmd 1.66.0 + - boost-wave 1.66.0 + - boost-winapi 1.66.0 + - boost-xpressive 1.66.0 + - brynet 0.9.0 + - chaiscript 6.0.0 + - cimg 2.1.8 + - crow 0.1 + - gainput 1.0.0 + - jack2 1.9.12.2 + - libdatrie 0.2.10-2 + - libgit2 0.26.0 + - libmupdf 1.11-1 + - libpqxx 6.0.0 + - libqrencode 4.0.0-1 + - libsamplerate 0.1.9.0 + - mbedtls 2.6.1 + - nghttp2 1.28.0 + - portmidi 0.217.1 + - re2 2017-12-01-1 + - rs-core-lib commit-1ed2dadbda3977b13e5e83cc1f3eeca76b36ebe5 + - sol 2.18.7 + - soundtouch 2.0.0.2 + - sqlitecpp 2.2 + - tinyexif 1.0.1-1 + - unicorn 2017-12-06-bc34c36eaeca0f4fc672015d24ce3efbcc81d6e4-1 + - unicorn-lib commit-3ffa7fe69a1d0c37fb52a4af61380c5fd84fa5aa + - yoga 1.7.0 + * Update ports: + - ace 6.4.5 -> 6.4.6 + - alembic 1.7.4-1 -> 1.7.5 + - arrow 0.6.0 -> 0.6.0-1 + - asio 1.10.8 -> 1.10.8-1 + - assimp 4.0.1-3 -> 4.1.0-1 + - aubio 0.46 -> 0.4.6 + - aws-sdk-cpp 1.2.4 -> 1.3.15 + - beast v84-1 -> 0 + - blaze 3.2-2 -> 3.2-3 + - bond 7.0.2 -> 7.0.2-1 + - boost 1.65.1-3 -> 1.66.0 + - brotli 1.0.2 -> 1.0.2-1 + - bullet3 2.86.1-1 -> 2.87 + - cgal 4.11 -> 4.11-2 + - cpp-redis 3.5.2-2 -> 4.3.0 + - cpprestsdk 2.10.0 -> 2.10.1-1 + - curl 7.55.1-1 -> 7.57.0-1 + - directxmesh oct2016 -> dec2017 + - directxtex dec2016 -> dec2017 + - directxtk dec2016-1 -> dec2017 + - dlib 19.7 -> 19.8 + - exiv2 4f4add2cdcbe73af7098122a509dff0739d15908 -> 8f5b795eaa4bc414d2d6041c1dbd1a7f7bf1fc99 + - fcl 0.5.0-2 -> 0.5.0-3 + - fftw3 3.3.7-1 -> 3.3.7-2 + - flatbuffers 1.7.1-1 -> 1.8.0 + - fmt 4.0.0-1 -> 4.1.0 + - folly 2017.11.27.00 -> 2017.11.27.00-2 + - gflags 2.2.0-5 -> 2.2.1 + - glm 0.9.8.5 -> 0.9.8.5-1 + - gmime 3.0.2 -> 3.0.5 + - grpc 1.7.2 -> 1.8.3 + - gsl-lite 0.24.0 -> 0.26.0 + - gtest 1.8-1 -> 1.8.0-5 + - harfbuzz 1.6.3-1 -> 1.7.4 + - hdf5 1.10.0-patch1-2 -> 1.10.1-1 + - hpx 1.0.0-5 -> 1.0.0-7 + - imgui 1.52 -> 1.53 + - itk 4.11.0 -> 4.13.0 + - libbson 1.6.2-2 -> 1.9.0 + - libconfig 1.6.0-1 -> 1.7.1 + - libiconv 1.15 -> 1.15-1 + - libkml 1.3.0-1 -> 1.3.0-2 + - librtmp 2.3 -> 2.4 + - libsodium 1.0.15 -> 1.0.15-1 + - libtorrent 1.1.5 -> 1.1.6 + - live555 2017.09.12 -> 2017.10.28 + - llvm 5.0.0-2 -> 5.0.1 + - mongo-c-driver 1.6.2-1 -> 1.9.0 + - mongo-cxx-driver 3.1.1-1 -> 3.1.1-2 + - mpg123 1.24.0-1 -> 1.25.8 + - mpir 3.0.0-3 -> 3.0.0-4 + - ms-gsl 20171104-d10ebc6555b627c9d1196076a78467e7be505987 -> 20171204-9d65e74400976b3509833f49b16d401600c7317d + - nlohmann-json 2.1.1-1 -> 3.0.1 + - opencv 3.3.1-9 -> 3.4.0 + - openimageio 1.7.15-1 -> 1.7.15-2 + - openssl 1.0.2m -> 1.0.2n-1 + - openvdb 5.0.0 -> 5.0.0-1 + - pcl 1.8.1-7 -> 1.8.1-9 + - pybind11 2.2.0 -> 2.2.1 + - python3 3.6.1 -> 3.6.4 + - range-v3 20151130-vcpkg4 -> 20151130-vcpkg5 + - realsense2 2.8.2 -> 2.9.0 + - sciter 4.0.6 -> 4.1.0 + - sdl2-image 2.0.1-3 -> 2.0.2-1 + - sdl2-mixer 2.0.2-1 -> 2.0.2-2 + - sdl2-net 2.0.1-3 -> 2.0.1-4 + - sdl2-ttf 2.0.14-3 -> 2.0.14-4 + - sobjectizer 5.5.19.2-1 -> 5.5.20 + - speex 1.2.0-2 -> 1.2.0-4 + - string-theory 1.6-1 -> 1.7 + - szip 2.1-2 -> 2.1.1 + - tacopie 2.4.1-2 -> 3.2.0 + - tbb 2017_U7 -> 2018_U2 + - tclap 1.2.1 -> 1.2.2 + - thrift 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-1 -> 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-2 + - tinyxml2 5.0.1-1 -> 6.0.0 + - vtk 8.0.1-5 -> 8.1.0-1 + - wt 3.3.7-2 -> 3.3.7-4 + - zeromq 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-1 -> 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-2 + - zstd 1.3.1-1 -> 1.3.3 + * Introduce `vcpkg upgrade` command. This command automatically rebuilds outdated libraries to the latest version. + * `vcpkg list`: Improve output for long triplets + * Update required version & auto-downloaded version of `cmake` to 3.10.1 + +-- vcpkg team <vcpkg@microsoft.com> WED, 10 Jan 2018 17:00:00 -0800 + + vcpkg (0.0.100) -------------- * Add ports: @@ -10,7 +10,7 @@ Prerequisites: - Windows 10, 8.1, or 7 - Visual Studio 2017 or Visual Studio 2015 Update 3 - Git -- *Optional: CMake 3.10.0* +- *Optional: CMake 3.10.1* Clone this repository, then run ``` diff --git a/docs/maintainers/vcpkg_download_distfile.md b/docs/maintainers/vcpkg_download_distfile.md index 7897610e3..80ea7559a 100644 --- a/docs/maintainers/vcpkg_download_distfile.md +++ b/docs/maintainers/vcpkg_download_distfile.md @@ -2,6 +2,8 @@ Download and cache a file needed for this port. +This helper should always be used instead of CMake's built-in `file(DOWNLOAD)` command. + ## Usage ```cmake vcpkg_download_distfile( @@ -26,12 +28,17 @@ The expected hash for the file. If this doesn't match the downloaded version, the build will be terminated with a message describing the mismatch. +### SKIP_SHA512 +Skip SHA512 hash check for file. + +This switch is only valid when building with the `--head` command line flag. + ## Notes -The command [`vcpkg_from_github`](vcpkg_from_github.md) should be used instead of this for downloading the main archive for GitHub projects. +The helper [`vcpkg_from_github`](vcpkg_from_github.md) should be used for downloading from GitHub projects. ## Examples -* [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake) +* [apr](https://github.com/Microsoft/vcpkg/blob/master/ports/apr/portfile.cmake) * [fontconfig](https://github.com/Microsoft/vcpkg/blob/master/ports/fontconfig/portfile.cmake) * [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake) diff --git a/ports/args/CONTROL b/ports/args/CONTROL new file mode 100644 index 000000000..975b0251e --- /dev/null +++ b/ports/args/CONTROL @@ -0,0 +1,3 @@ +Source: args +Version: d8905de +Description: A simple header-only C++ argument parser library. diff --git a/ports/args/portfile.cmake b/ports/args/portfile.cmake new file mode 100644 index 000000000..a5f4f1c85 --- /dev/null +++ b/ports/args/portfile.cmake @@ -0,0 +1,19 @@ +#header-only library +include(vcpkg_common_functions) +SET(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/args-master) +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/Taywee/args/archive/master.zip" + FILENAME "args.zip" + SHA512 81751bfc86e15db1e5f245baa7df0464027b22b577c9de359e22dc4fe1dd550acfb116801b47d88b56d61b69a640c55757206f6f84977ace2fb02742b60ff216 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +# Put the licence file where vcpkg expects it +file(COPY ${SOURCE_PATH}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/args) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/args/license ${CURRENT_PACKAGES_DIR}/share/args/copyright) + +# Copy the args header files +file(INSTALL ${SOURCE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.hxx") + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/args-master/examples ${CURRENT_PACKAGES_DIR}/include/args-master/test) +vcpkg_copy_pdbs() diff --git a/ports/asio/CONTROL b/ports/asio/CONTROL index 18d9692f5..021e20592 100644 --- a/ports/asio/CONTROL +++ b/ports/asio/CONTROL @@ -1,3 +1,3 @@ Source: asio
-Version: 1.10.8
+Version: 1.10.8-1
Description: Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.
diff --git a/ports/asio/portfile.cmake b/ports/asio/portfile.cmake index 39fefa012..88cddfbbc 100644 --- a/ports/asio/portfile.cmake +++ b/ports/asio/portfile.cmake @@ -1,16 +1,17 @@ #header-only library include(vcpkg_common_functions) -SET(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/asio-asio-1-10-8/asio/) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/chriskohlhoff/asio/archive/asio-1-10-8.zip" - FILENAME "asio-1-10-8.zip" - SHA512 bc9794a20fc7844a2a9d22bfa418005f61defbcecdd612daba0d317e6f8fc5a61d3a3b2d7d557b92584294b8adfccc3c47a8f0441f3e34a47a0f715ca1ba0e5b + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO chriskohlhoff/asio + REF asio-1-10-8 + SHA512 55c26a6daf893f6e91ec7e8b5d70f1e27f2c1886552b2c9cb5c47b7c3bb08f78c9d6cec0a3bc6edbfb657a5094a001f742db0f18f81f51d79661b01fafea293e + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) # Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/asio) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/asio/COPYING ${CURRENT_PACKAGES_DIR}/share/asio/copyright) +file(COPY ${SOURCE_PATH}/asio/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) # Copy the asio header files -file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp") +file(INSTALL ${SOURCE_PATH}/asio/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp") diff --git a/ports/aubio/CONTROL b/ports/aubio/CONTROL index 635d2a9c9..7261afd80 100644 --- a/ports/aubio/CONTROL +++ b/ports/aubio/CONTROL @@ -1,4 +1,4 @@ Source: aubio -Version: 0.46 +Version: 0.4.6 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 diff --git a/ports/boost-test/CONTROL b/ports/boost-test/CONTROL index e19d889b1..63b982ee4 100644 --- a/ports/boost-test/CONTROL +++ b/ports/boost-test/CONTROL @@ -1,5 +1,5 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-test
-Version: 1.66.0
+Version: 1.66.0-1
Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-io, boost-iterator, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-range, boost-smart-ptr, boost-static-assert, boost-timer, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost test module
diff --git a/ports/boost-test/portfile.cmake b/ports/boost-test/portfile.cmake index fd6606f0e..090542bc7 100644 --- a/ports/boost-test/portfile.cmake +++ b/ports/boost-test/portfile.cmake @@ -13,3 +13,12 @@ vcpkg_from_github( boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+
+file(GLOB MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/lib/*_exec_monitor*)
+file(COPY ${MONITOR_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(GLOB DEBUG_MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/debug/lib/*_exec_monitor*)
+file(COPY ${DEBUG_MONITOR_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+
+file(REMOVE ${DEBUG_MONITOR_LIBS} ${MONITOR_LIBS})
diff --git a/ports/boost-vcpkg-helpers/generate-ports.ps1 b/ports/boost-vcpkg-helpers/generate-ports.ps1 index 11f670c7a..09dcbca72 100644 --- a/ports/boost-vcpkg-helpers/generate-ports.ps1 +++ b/ports/boost-vcpkg-helpers/generate-ports.ps1 @@ -21,11 +21,17 @@ function Generate() $sanitizedName = $name -replace "_","-"
+ $versionsuffix = ""
+ if ($Name -eq "test")
+ {
+ $versionsuffix = "-1"
+ }
+
mkdir "$scriptsDir/../boost-$sanitizedName" -erroraction SilentlyContinue | out-null
$controlLines = @(
"# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1"
"Source: boost-$sanitizedName"
- "Version: $version"
+ "Version: $version$versionsuffix"
"Build-Depends: $controlDeps"
"Description: Boost $Name module"
)
@@ -143,6 +149,20 @@ function Generate() "endif()"
)
}
+ if ($Name -eq "test")
+ {
+ $portfileLines += @(
+ "file(MAKE_DIRECTORY `${CURRENT_PACKAGES_DIR}/lib/manual-link)"
+ "file(MAKE_DIRECTORY `${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)"
+ ""
+ "file(GLOB MONITOR_LIBS `${CURRENT_PACKAGES_DIR}/lib/*_exec_monitor*)"
+ "file(COPY `${MONITOR_LIBS} DESTINATION `${CURRENT_PACKAGES_DIR}/lib/manual-link)"
+ "file(GLOB DEBUG_MONITOR_LIBS `${CURRENT_PACKAGES_DIR}/debug/lib/*_exec_monitor*)"
+ "file(COPY `${DEBUG_MONITOR_LIBS} DESTINATION `${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)"
+ ""
+ "file(REMOVE `${DEBUG_MONITOR_LIBS} `${MONITOR_LIBS})"
+ )
+ }
$portfileLines | out-file -enc ascii "$scriptsDir/../boost-$sanitizedName/portfile.cmake"
}
diff --git a/ports/box2d/portfile.cmake b/ports/box2d/portfile.cmake index 122290251..b07dbc663 100644 --- a/ports/box2d/portfile.cmake +++ b/ports/box2d/portfile.cmake @@ -7,9 +7,6 @@ elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm") message(FATAL_ERROR "ARM not supported") endif(TRIPLET_SYSTEM_ARCH MATCHES "x86") -if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "Box2d only supports dynamic CRT linkage") -endif() include(vcpkg_common_functions) @@ -25,6 +22,14 @@ vcpkg_from_github( HEAD_REF master ) +if(VCPKG_CRT_LINKAGE STREQUAL "static") + vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/use-static-linkage.patch + ) +endif() + # Put the licence and readme files where vcpkg expects it message(STATUS "Packaging license") file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/box2d) diff --git a/ports/box2d/use-static-linkage.patch b/ports/box2d/use-static-linkage.patch new file mode 100644 index 000000000..4c3fccd53 --- /dev/null +++ b/ports/box2d/use-static-linkage.patch @@ -0,0 +1,40 @@ +diff --git a/Box2D/Build/vs2015/Box2D.vcxproj b/Box2D/Build/vs2015/Box2D.vcxproj +index 830803c..5dda519 100644 +--- a/Box2D/Build/vs2015/Box2D.vcxproj ++++ b/Box2D/Build/vs2015/Box2D.vcxproj +@@ -86,7 +86,7 @@ + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> +- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> ++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> +@@ -115,7 +115,7 @@ + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> +- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> ++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> +@@ -145,7 +145,7 @@ + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>false</MinimalRebuild> + <StringPooling>true</StringPooling> +- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> ++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> +@@ -176,7 +176,7 @@ + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>false</MinimalRebuild> + <StringPooling>true</StringPooling> +- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> ++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> diff --git a/ports/bullet3/CONTROL b/ports/bullet3/CONTROL index 92b55db2e..36f8b1838 100644 --- a/ports/bullet3/CONTROL +++ b/ports/bullet3/CONTROL @@ -1,3 +1,3 @@ Source: bullet3 -Version: 2.86.1-1 +Version: 2.87 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 17d6f8ea7..f86f323f3 100644 --- a/ports/bullet3/portfile.cmake +++ b/ports/bullet3/portfile.cmake @@ -1,11 +1,23 @@ +# 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 = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bullet3-2.86.1) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/bulletphysics/bullet3/archive/2.86.1.zip" - FILENAME "bullet3-2.86.1.zip" - SHA512 96c67bed63db4b7d46196cebda57b80543ea37bd19f013adcfe19ee6c2c3319ed007bcd1ebbe345d8c75b7e80588f4a7d85cb6a07e1a5eea759d97ce4d94f972 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bulletphysics/bullet3 + REF 2.87 + SHA512 649e470223295666eda6f7ff59d03097637c2645b5cd951977060ae14b89f56948ce03e437e83c986d26876f187d7ee34e790bc3882d5d66da9af89a4ab81c21 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -22,14 +34,14 @@ vcpkg_configure_cmake( -DINSTALL_LIBS=ON ) -vcpkg_build_cmake() vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/bullet3) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/bullet3/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/bullet3/copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/bullet/BulletInverseDynamics/details) 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 diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL index c2331f294..2fc86bd11 100644 --- a/ports/cgal/CONTROL +++ b/ports/cgal/CONTROL @@ -1,4 +1,4 @@ Source: cgal -Version: 4.11-1 +Version: 4.11-2 Build-Depends: mpfr, mpir, zlib, qt5, boost-format, boost-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry. diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake index 9ef8c189d..642e88920 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -11,11 +11,13 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DCGAL_INSTALL_CMAKE_DIR=share/cgal ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/CGAL") +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() diff --git a/ports/chaiscript/CONTROL b/ports/chaiscript/CONTROL new file mode 100644 index 000000000..7d6197531 --- /dev/null +++ b/ports/chaiscript/CONTROL @@ -0,0 +1,3 @@ +Source: chaiscript +Version: 6.0.0 +Description: Embedded Scripting Language Designed for C++ diff --git a/ports/chaiscript/portfile.cmake b/ports/chaiscript/portfile.cmake new file mode 100644 index 000000000..3103eb302 --- /dev/null +++ b/ports/chaiscript/portfile.cmake @@ -0,0 +1,25 @@ +# 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 = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ChaiScript/ChaiScript + REF v6.0.0 + SHA512 612c175b9ee357512addcbe9ce0e2b9c34c40a45b5be85a3f75e2c0d391bc845996e2559c401e4899088b3e641c6c5b34af233bf2fd48d4de4531ea2815e2a96 + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/chaiscript RENAME copyright) diff --git a/ports/cimg/CMakeLists.txt b/ports/cimg/CMakeLists.txt new file mode 100644 index 000000000..75ae59cd5 --- /dev/null +++ b/ports/cimg/CMakeLists.txt @@ -0,0 +1,21 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 3.9) +project(CImg) + +add_library(${PROJECT_NAME} INTERFACE) + +target_include_directories(${PROJECT_NAME} INTERFACE + $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> +) + +install(TARGETS ${PROJECT_NAME} + EXPORT CImgExport + INCLUDES DESTINATION include +) + +install(EXPORT CImgExport FILE ${PROJECT_NAME}Config.cmake NAMESPACE ${PROJECT_NAME}:: DESTINATION share/cimg) + +install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/CImg.h + DESTINATION include +) diff --git a/ports/cimg/CONTROL b/ports/cimg/CONTROL new file mode 100644 index 000000000..74f184270 --- /dev/null +++ b/ports/cimg/CONTROL @@ -0,0 +1,3 @@ +Source: cimg +Version: 2.1.8 +Description: The CImg Library is a small, open-source, and modern C++ toolkit for image processing diff --git a/ports/cimg/portfile.cmake b/ports/cimg/portfile.cmake new file mode 100644 index 000000000..6e5a86ad9 --- /dev/null +++ b/ports/cimg/portfile.cmake @@ -0,0 +1,23 @@ +include(vcpkg_common_functions) + +vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH + REPO "dtschump/CImg" + REF "v.218" + HEAD_REF master + SHA512 aa6267c9b425cb82aa3aeadea9f7c1ffdd975d01b4f64b8cd905ce11cf062ae22eea9b519c681f0fef239615a621dd3cae2a67e04e6cac96425776a4ac176a23) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +# Move cmake files, ensuring they will be 3 directories up the import prefix +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/cimg) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +file(INSTALL ${SOURCE_PATH}/Licence_CeCILL-C_V1-en.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cimg RENAME copyright) +file(INSTALL ${SOURCE_PATH}/Licence_CeCILL_V2-en.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cimg RENAME copyright2) diff --git a/ports/corrade/CONTROL b/ports/corrade/CONTROL index 2d262a0e0..a2d73fba8 100644 --- a/ports/corrade/CONTROL +++ b/ports/corrade/CONTROL @@ -1,3 +1,3 @@ Source: corrade -Version: jun2017-3 +Version: jan2018-1 Description: C++11/C++14 multiplatform utility library http://mosra.cz/blog/corrade.php diff --git a/ports/corrade/portfile.cmake b/ports/corrade/portfile.cmake index 88b27ab62..d08530ef4 100644 --- a/ports/corrade/portfile.cmake +++ b/ports/corrade/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mosra/corrade - REF c182fe636894a998f241212d0205d0c126b7926f - SHA512 d664c7884c0c6c7977261a851948b2b591ac0fbdbcfddab1d8e578e629a252f48fa786cf9f96525e10aa76c95919dfc3452ccbe5e930aa4a69e61269e4ee07ee + REF 2dd926d23f21042838d9244c00ddd1d2f09861ee + SHA512 085062a34c4fecc864d02f38d4d45e22f6de72f3599d67327a783c350e478fe943c5bb3f9cd5544953b55b7ffa78923b087bc0f40a54eb9ed9f5d580970b2f45 HEAD_REF master ) diff --git a/ports/cpp-redis/CONTROL b/ports/cpp-redis/CONTROL index 554755b57..53ed862c2 100644 --- a/ports/cpp-redis/CONTROL +++ b/ports/cpp-redis/CONTROL @@ -1,4 +1,4 @@ Source: cpp-redis -Version: 3.5.2-2 +Version: 4.3.0 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/fix-cmakelists.patch b/ports/cpp-redis/fix-cmakelists.patch new file mode 100644 index 000000000..2839ce56f --- /dev/null +++ b/ports/cpp-redis/fix-cmakelists.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ae20868..01bb84c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,6 +26,7 @@ + cmake_minimum_required(VERSION 2.8.7) + set(CMAKE_MACOSX_RPATH 1) + include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) ++include(${CMAKE_ROOT}/Modules/GenerateExportHeader.cmake) + + + ### +@@ -170,6 +171,8 @@ if(USE_CUSTOM_TCP_CLIENT) + set_target_properties(${PROJECT} PROPERTIES COMPILE_DEFINITIONS "__CPP_REDIS_USE_CUSTOM_TCP_CLIENT=${USE_CUSTOM_TCP_CLIENT}") + endif(USE_CUSTOM_TCP_CLIENT) + ++generate_export_header(${PROJECT} EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/cpp_redis/misc/${PROJECT}_export.hpp) ++target_include_directories(${PROJECT} PUBLIC ${CMAKE_BINARY_DIR}) + + ### + # install +@@ -181,6 +184,7 @@ install(DIRECTORY DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + install(DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} DESTINATION lib USE_SOURCE_PERMISSIONS) + install(DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DESTINATION bin USE_SOURCE_PERMISSIONS) + install(DIRECTORY ${CPP_REDIS_INCLUDES}/ DESTINATION include USE_SOURCE_PERMISSIONS) ++install (FILES ${CMAKE_BINARY_DIR}/cpp_redis/misc/${PROJECT}_export.hpp DESTINATION include/cpp_redis/misc) + + + ### diff --git a/ports/cpp-redis/fix-export.patch b/ports/cpp-redis/fix-export.patch new file mode 100644 index 000000000..1b071c511 --- /dev/null +++ b/ports/cpp-redis/fix-export.patch @@ -0,0 +1,22 @@ +diff --git a/includes/cpp_redis/misc/logger.hpp b/includes/cpp_redis/misc/logger.hpp +index d79a98f..bfb33b9 100644 +--- a/includes/cpp_redis/misc/logger.hpp ++++ b/includes/cpp_redis/misc/logger.hpp +@@ -26,6 +26,8 @@ + #include <mutex> + #include <string> + ++#include <cpp_redis/misc/cpp_redis_export.hpp> ++ + namespace cpp_redis { + + //! +@@ -161,7 +163,7 @@ private: + //! variable containing the current logger + //! by default, not set (no logs) + //! +-extern std::unique_ptr<logger_iface> active_logger; ++extern CPP_REDIS_EXPORT std::unique_ptr<logger_iface> active_logger; + + //! + //! debug logging diff --git a/ports/cpp-redis/portfile.cmake b/ports/cpp-redis/portfile.cmake index 3a560a047..ea0ea1194 100644 --- a/ports/cpp-redis/portfile.cmake +++ b/ports/cpp-redis/portfile.cmake @@ -1,17 +1,20 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "cpp-redis only supports static library linkage.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Cylix/cpp_redis - REF 3.5.2 - SHA512 d19445c93fad9fba39c7aed07b2d196ec0c96366324a2a2ee856c930683b5428fe8b5bc46de4b2b23112aae83f8229a4703c2355d1c74831602ec3a7f8dac315 + REF 4.3.0 + SHA512 d4a2865b72b4dfa80b6d3c004245014a77e74d4a3d254d6b0a9d50e890a22dc3d9ce54688a8c9185ecee9bbf8cdf76046a9788c70887ccf8a08d5cdcef298b46 HEAD_REF master ) +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch + ${CMAKE_CURRENT_LIST_DIR}/fix-export.patch +) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/tacopie/CMakeLists.txt DESTINATION ${SOURCE_PATH}/tacopie) if(VCPKG_CRT_LINKAGE STREQUAL dynamic) @@ -29,11 +32,12 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DMSVC_RUNTIME_LIBRARY_CONFIG=${MSVC_RUNTIME_LIBRARY_CONFIG} + -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE ) vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(GLOB_RECURSE FILES "${CURRENT_PACKAGES_DIR}/include/*") foreach(file ${FILES}) @@ -42,6 +46,14 @@ foreach(file ${FILES}) file(WRITE ${file} "${_contents}") endforeach() +file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/lib ${CURRENT_PACKAGES_DIR}/debug/bin/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug) +file(COPY ${CURRENT_PACKAGES_DIR}/lib/lib ${CURRENT_PACKAGES_DIR}/bin/bin DESTINATION ${CURRENT_PACKAGES_DIR}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/lib ${CURRENT_PACKAGES_DIR}/debug/bin/bin ${CURRENT_PACKAGES_DIR}/lib/lib ${CURRENT_PACKAGES_DIR}/bin/bin) + file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpp-redis RENAME copyright) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + vcpkg_copy_pdbs() diff --git a/ports/cpr/enable-install.patch b/ports/cpr/enable-install.patch index da8d3ee73..250199e5a 100644 --- a/ports/cpr/enable-install.patch +++ b/ports/cpr/enable-install.patch @@ -13,5 +13,5 @@ index a6db5bd..b4982d1 100644 + ARCHIVE DESTINATION lib +) +if(NOT DISABLE_INSTALL_HEADERS) -+ install(DIRECTORY ${CPR_INCLUDE_DIRS} DESTINATION include) ++ install(DIRECTORY ${CPR_INCLUDE_DIRS}/cpr DESTINATION include) +endif() diff --git a/ports/date/CMakeLists.txt b/ports/date/CMakeLists.txt index c1efc4e2a..4c38e4a87 100644 --- a/ports/date/CMakeLists.txt +++ b/ports/date/CMakeLists.txt @@ -14,8 +14,6 @@ add_library(tz src/tz.cpp) if(BUILD_SHARED_LIBS) target_compile_definitions(tz PRIVATE -DDATE_BUILD_DLL) -else() - target_compile_definitions(tz PRIVATE -DDATE_BUILD_LIB) endif() install( diff --git a/ports/date/CONTROL b/ports/date/CONTROL index 68fb435b6..8c1797072 100644 --- a/ports/date/CONTROL +++ b/ports/date/CONTROL @@ -1,3 +1,3 @@ Source: date -Version: 2.3-c286981b3bf83c79554769df68b27415cee68d77 +Version: 2.4 Description: A date and time library based on the C++11/14/17 <chrono> header diff --git a/ports/date/portfile.cmake b/ports/date/portfile.cmake index a5270554f..e060edb87 100644 --- a/ports/date/portfile.cmake +++ b/ports/date/portfile.cmake @@ -8,8 +8,8 @@ message(WARNING vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HowardHinnant/date - REF c286981b3bf83c79554769df68b27415cee68d77 - SHA512 226e2cbc2598fbbe3a451664b017ab5b4314a682a9303268bd531931ea23baa4c9677c4433a87dbbc4a7d960dcfad1fcb632ac430d5d81c9909bcc567cf7eadf + REF v2.4 + SHA512 01bcc021ebf9ca0ac88c797896a291ff81834e7fae37323ad20881d3a172963c04d3c7bea0dd37cd945b756ab7f70f0a02edb18a085bf9abf8d8f10056f73f3c HEAD_REF master ) @@ -28,11 +28,8 @@ vcpkg_copy_pdbs() set(HEADER "${CURRENT_PACKAGES_DIR}/include/date/tz.h") file(READ "${HEADER}" _contents) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - string(REPLACE "DATE_BUILD_DLL" "1" _contents "${_contents}") -else() - string(REPLACE "DATE_BUILD_LIB" "1" _contents "${_contents}") + string(REPLACE "ifdef DATE_BUILD_DLL" "if 1" _contents "${_contents}") endif() file(WRITE "${HEADER}" "${_contents}") - file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/date RENAME copyright) diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL index 13401f80d..0348b1939 100644 --- a/ports/directxmesh/CONTROL +++ b/ports/directxmesh/CONTROL @@ -1,3 +1,3 @@ Source: directxmesh
-Version: oct2016
+Version: dec2017
Description: DirectXMesh geometry processing library
\ No newline at end of file diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake index 51840b68f..26fda2210 100644 --- a/ports/directxmesh/portfile.cmake +++ b/ports/directxmesh/portfile.cmake @@ -1,10 +1,16 @@ # Common Ambient Variables:
-# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
-# 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}
+# 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 = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
#
+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)
@@ -14,14 +20,15 @@ if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") message(FATAL_ERROR "DirectXMesh only supports dynamic CRT linkage")
endif()
-include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXMesh-oct2016)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/Microsoft/DirectXMesh/archive/oct2016.tar.gz"
- FILENAME "DirectXMesh-oct2016.tar.gz"
- SHA512 8aaf9749766afd23709ce6c6f8d74b008fe9f96789e4d97cb387633dad34b4132ef28dfe028d13c779ea366428d53076a881c0d63c4f0c2c74d552293c8d6bf1
+set(DIRECTXMESH_VERSION dec2017)
+set(DIRECTXMESH_ARCHIVE_HASH 82468f1fcf0d51cf614921b1bd2dd06a05b120f84531d59429042951a39d1e978b5395cdf75269fe1767789ce487bfc6e544c54df4b1b9bec9adb1c853dc8497)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Microsoft/DirectXMesh
+ REF ${DIRECTXMESH_VERSION}
+ SHA512 ${DIRECTXMESH_ARCHIVE_HASH}
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
SET(BUILD_ARCH "Win32")
@@ -30,7 +37,7 @@ ELSE() ENDIF()
vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/DirectXMesh_Desktop_2015.sln
+ PROJECT_PATH ${SOURCE_PATH}/DirectXMesh_Desktop_2017.sln
PLATFORM ${BUILD_ARCH}
)
@@ -40,15 +47,15 @@ file(INSTALL DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
file(INSTALL
- ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DirectXMesh.lib
+ ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2017/${BUILD_ARCH}/Debug/DirectXMesh.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(INSTALL
- ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2015/${BUILD_ARCH}/Release/DirectXMesh.lib
+ ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2017/${BUILD_ARCH}/Release/DirectXMesh.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools)
file(INSTALL
- ${SOURCE_PATH}/Meshconvert/Bin/Desktop_2015/${BUILD_ARCH}/Release/Meshconvert.exe
+ ${SOURCE_PATH}/Meshconvert/Bin/Desktop_2017/${BUILD_ARCH}/Release/Meshconvert.exe
DESTINATION ${TOOL_PATH})
# Handle copyright
diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL index b11daa8d4..57de4eea1 100644 --- a/ports/directxtex/CONTROL +++ b/ports/directxtex/CONTROL @@ -1,3 +1,3 @@ Source: directxtex
-Version: dec2016
+Version: dec2017
Description: DirectXTex texture processing library
\ No newline at end of file diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake index 392290c06..c1127fea7 100644 --- a/ports/directxtex/portfile.cmake +++ b/ports/directxtex/portfile.cmake @@ -1,10 +1,16 @@ # Common Ambient Variables:
-# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
-# 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}
+# 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 = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
#
+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)
@@ -14,14 +20,15 @@ if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") message(FATAL_ERROR "DirectXTex only supports dynamic CRT linkage")
endif()
-include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/directxtex-dec2016)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/Microsoft/DirectXTex/archive/dec2016.tar.gz"
- FILENAME "directxtex-dec2016.tar.gz"
- SHA512 87797340c40a98a7b11b6eb7da17d0b93bc01ba48deed50e99ce74e0e33387cac2ec18f2f14d0148c2a79f97ca98d6b2a228dad2f16010b6dcf03c0d24a79d20
+set(DIRECTXTEX_VERSION dec2017)
+set(DIRECTXTEX_ARCHIVE_HASH f4154c820059893ce0a42a1224d14adc0f8b54f36aa7f687f29aba0358488da9eb83cbdbf682499c5b210e99607d74209595153d4ed86eb30c43b775c5d8a72f)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Microsoft/DirectXTex
+ REF ${DIRECTXTEX_VERSION}
+ SHA512 ${DIRECTXTEX_ARCHIVE_HASH}
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
SET(BUILD_ARCH "Win32")
@@ -30,7 +37,7 @@ ELSE() ENDIF()
vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/DirectXTex_Desktop_2015.sln
+ PROJECT_PATH ${SOURCE_PATH}/DirectXTex_Desktop_2017.sln
PLATFORM ${BUILD_ARCH}
)
@@ -40,22 +47,22 @@ file(INSTALL DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
file(INSTALL
- ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DirectXTex.lib
+ ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2017/${BUILD_ARCH}/Debug/DirectXTex.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(INSTALL
- ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2015/${BUILD_ARCH}/Release/DirectXTex.lib
+ ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2017/${BUILD_ARCH}/Release/DirectXTex.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools)
file(MAKE_DIRECTORY ${TOOL_PATH})
file(INSTALL
- ${SOURCE_PATH}/Texdiag/Bin/Desktop_2015/${BUILD_ARCH}/Release/texdiag.exe
+ ${SOURCE_PATH}/Texdiag/Bin/Desktop_2017/${BUILD_ARCH}/Release/texdiag.exe
DESTINATION ${TOOL_PATH})
file(INSTALL
- ${SOURCE_PATH}/Texconv/Bin/Desktop_2015/${BUILD_ARCH}/Release/Texconv.exe
+ ${SOURCE_PATH}/Texconv/Bin/Desktop_2017/${BUILD_ARCH}/Release/Texconv.exe
DESTINATION ${TOOL_PATH})
file(INSTALL
- ${SOURCE_PATH}/Texassemble/Bin/Desktop_2015/${BUILD_ARCH}/Release/Texassemble.exe
+ ${SOURCE_PATH}/Texassemble/Bin/Desktop_2017/${BUILD_ARCH}/Release/Texassemble.exe
DESTINATION ${TOOL_PATH})
# Handle copyright
diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL index 97f97ecd9..4e565f799 100644 --- a/ports/directxtk/CONTROL +++ b/ports/directxtk/CONTROL @@ -1,3 +1,3 @@ Source: directxtk -Version: dec2016-1 +Version: dec2017 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 5a751446c..31fa82011 100644 --- a/ports/directxtk/portfile.cmake +++ b/ports/directxtk/portfile.cmake @@ -1,20 +1,34 @@ +# 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 = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# +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() if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "DirectXTk only supports dynamic CRT linkage") + message(FATAL_ERROR "DirectXTK only supports dynamic CRT linkage") endif() -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXTK-dec2016) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Microsoft/DirectXTK/archive/dec2016.tar.gz" - FILENAME "DirectXTK-dec2016.tar.gz" - SHA512 efb8a98d0872bf1835b274ba88615e88c4a58ab753c5ebef5a407c54d5f9a2197d1521f14651c60ea16c047918db6f54bf2ac58a6eb7330490b9bae619e8dad3 +set(DIRECTXTK_VERSION dec2017) +set(DIRECTXTK_ARCHIVE_HASH 30df95c17d6d61bdeb372d3ba112995ad76753e23ddaf7fb104d2384e3b26e22a383355d2a411fdfce866d4a98205e4ed039a8f34a9e1d9bc1ee90b4064bcd15) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Microsoft/DirectXTK + REF ${DIRECTXTK_VERSION} + SHA512 ${DIRECTXTK_ARCHIVE_HASH} + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) IF (TRIPLET_SYSTEM_ARCH MATCHES "x86") SET(BUILD_ARCH "Win32") @@ -23,16 +37,16 @@ ELSE() ENDIF() vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/DirectXTK_Desktop_2015.sln + PROJECT_PATH ${SOURCE_PATH}/DirectXTK_Desktop_2017.sln PLATFORM ${BUILD_ARCH} ) file(INSTALL - ${SOURCE_PATH}/Bin/Desktop_2015/${BUILD_ARCH}/Release/DirectXTK.lib + ${SOURCE_PATH}/Bin/Desktop_2017/${BUILD_ARCH}/Release/DirectXTK.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) file(INSTALL - ${SOURCE_PATH}/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DirectXTK.lib + ${SOURCE_PATH}/Bin/Desktop_2017/${BUILD_ARCH}/Debug/DirectXTK.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) set(DXTK_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/directxtk) @@ -43,7 +57,7 @@ file(INSTALL DESTINATION ${DXTK_TOOL_PATH}) file(INSTALL - ${SOURCE_PATH}/XWBTool/Bin/Desktop_2015/${BUILD_ARCH}/Release/XWBTool.exe + ${SOURCE_PATH}/XWBTool/Bin/Desktop_2017/${BUILD_ARCH}/Release/XWBTool.exe DESTINATION ${DXTK_TOOL_PATH}) file(INSTALL diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL index 4d0a72f50..51f4d1e03 100644 --- a/ports/dlib/CONTROL +++ b/ports/dlib/CONTROL @@ -1,11 +1,8 @@ Source: dlib Version: 19.8 -Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3 +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: blas -Description: BLAS support for dlib - Feature: cuda Build-Depends: cuda Description: CUDA support for dlib diff --git a/ports/dlib/portfile.cmake b/ports/dlib/portfile.cmake index 9d82cbf19..99784551a 100644 --- a/ports/dlib/portfile.cmake +++ b/ports/dlib/portfile.cmake @@ -17,11 +17,6 @@ file(READ "${SOURCE_PATH}/dlib/CMakeLists.txt" DLIB_CMAKE) string(REPLACE "PNG_LIBRARY" "PNG_LIBRARIES" DLIB_CMAKE "${DLIB_CMAKE}") file(WRITE "${SOURCE_PATH}/dlib/CMakeLists.txt" "${DLIB_CMAKE}") -set(WITH_BLAS OFF) -if("blas" IN_LIST FEATURES) - set(WITH_BLAS ON) -endif() - set(WITH_CUDA OFF) if("cuda" IN_LIST FEATURES) set(WITH_CUDA ON) @@ -35,8 +30,8 @@ vcpkg_configure_cmake( -DDLIB_USE_FFTW=ON -DDLIB_PNG_SUPPORT=ON -DDLIB_JPEG_SUPPORT=ON - -DDLIB_USE_BLAS=${WITH_BLAS} - -DDLIB_USE_LAPACK=OFF + -DDLIB_USE_BLAS=ON + -DDLIB_USE_LAPACK=ON -DDLIB_USE_CUDA=${WITH_CUDA} -DDLIB_GIF_SUPPORT=OFF -DDLIB_USE_MKL_FFT=OFF diff --git a/ports/fftw3/CONTROL b/ports/fftw3/CONTROL index ccdc0e7ee..fd9e59766 100644 --- a/ports/fftw3/CONTROL +++ b/ports/fftw3/CONTROL @@ -1,3 +1,3 @@ Source: fftw3
-Version: 3.3.7-1
+Version: 3.3.7-2
Description: FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST).
diff --git a/ports/fftw3/portfile.cmake b/ports/fftw3/portfile.cmake index d5fc1bf0b..2cf78f44c 100644 --- a/ports/fftw3/portfile.cmake +++ b/ports/fftw3/portfile.cmake @@ -17,34 +17,33 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive(${ARCHIVE})
-option(BUILD_SINGLE "Additionally build single precision library" ON)
-option(BUILD_LONG_DOUBLE "Additionally build long-double precision library" ON)
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS -DBUILD_SINGLE=${BUILD_SINGLE} -DBUILD_LONG_DOUBLE=${BUILD_LONG_DOUBLE}
-)
-
-vcpkg_install_cmake()
-vcpkg_copy_pdbs()
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(COPY ${SOURCE_PATH}/api/fftw3.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/fftw3)
-file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/fftw3)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
-
-
-if (VCPKG_CRT_LINKAGE STREQUAL dynamic)
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/fix-dynamic.patch)
-endif()
-
+foreach(PRECISION ENABLE_DEFAULT_PRECISION ENABLE_FLOAT ENABLE_LONG_DOUBLE)
+ vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -D${PRECISION}=ON
+ )
+
+ vcpkg_install_cmake()
+ vcpkg_copy_pdbs()
+
+ file(COPY ${SOURCE_PATH}/api/fftw3.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+
+ if (VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-dynamic.patch)
+ endif()
+
+ # Cleanup
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+endforeach()
+
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fftw3)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/fftw3/COPYING ${CURRENT_PACKAGES_DIR}/share/fftw3/copyright)
diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL index 5611e4945..a1efcdd39 100644 --- a/ports/flatbuffers/CONTROL +++ b/ports/flatbuffers/CONTROL @@ -1,4 +1,4 @@ Source: flatbuffers -Version: 1.7.1-1 +Version: 1.8.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. diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake index 4df390de0..2e3ab983c 100644 --- a/ports/flatbuffers/portfile.cmake +++ b/ports/flatbuffers/portfile.cmake @@ -7,8 +7,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/flatbuffers - REF v1.7.1 - SHA512 57732fc352c216c4be6d3237f93b872abf9dd2b62361d7d2856f99804a178760e4665ead2e33d5acdd00984ad03a746f581c9784ece583e1b2df1a10776f967a + REF v1.8.0 + SHA512 8f6c84caa6456418fc751ea9de456dd37378b3239d1a41d2205140e7b19a5b8b2e342a22dc8d7fdd0c36878455e9d7401cc6438d3b771f7875e8fcfe7bbd52f1 HEAD_REF master ) @@ -33,6 +33,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/flatbuffers") if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) diff --git a/ports/gainput/CONTROL b/ports/gainput/CONTROL new file mode 100644 index 000000000..45b7b6afb --- /dev/null +++ b/ports/gainput/CONTROL @@ -0,0 +1,3 @@ +Source: gainput +Version: 1.0.0 +Description: Gainput is a multiplatform C++ input library, supporting mouse, keyboard and controllers diff --git a/ports/gainput/portfile.cmake b/ports/gainput/portfile.cmake new file mode 100644 index 000000000..c1f1f6158 --- /dev/null +++ b/ports/gainput/portfile.cmake @@ -0,0 +1,47 @@ +# 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 = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# + +include(vcpkg_common_functions) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gainput-1.0.0) +vcpkg_download_distfile(ARCHIVE + URLS "http://github.com/jkuhlmann/gainput/archive/v1.0.0.zip" + FILENAME "gainput-1.0.0.zip" + SHA512 dab221290560298693f54bebced1da5ec3dfae2d2adbfd6ceb17b5b28dc2a637a49e479d49fe98680915b29beb5dd2d5c74258598233a053230696186593c88e +) +vcpkg_extract_source_archive(${ARCHIVE}) + + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DGAINPUT_TESTS=OFF + -DGAINPUT_SAMPLES=OFF + # Disable this option if project cannot be built with Ninja + # 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() +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gainput RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/gainputstatic.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gainputstatic.lib ${CURRENT_PACKAGES_DIR}/lib/gainput.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gainputstaticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gainputd.lib) + endif() +endif() diff --git a/ports/gflags/CONTROL b/ports/gflags/CONTROL index c673815f9..c41d49217 100644 --- a/ports/gflags/CONTROL +++ b/ports/gflags/CONTROL @@ -1,3 +1,3 @@ Source: gflags -Version: 2.2.0-5 +Version: 2.2.1 Description: A C++ library that implements commandline flags processing diff --git a/ports/gflags/fix-install.patch b/ports/gflags/fix-install.patch index a2e6061f8..eda5b7f98 100644 --- a/ports/gflags/fix-install.patch +++ b/ports/gflags/fix-install.patch @@ -1,46 +1,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3fd9d70..0debb89 100644 +index 922a038..7d6af45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -397,11 +397,11 @@ endif () - # ---------------------------------------------------------------------------- - # installation directories - if (OS_WINDOWS) -- set (RUNTIME_INSTALL_DIR Bin) -- set (LIBRARY_INSTALL_DIR Lib) -- set (INCLUDE_INSTALL_DIR Include) -- set (CONFIG_INSTALL_DIR CMake) +@@ -410,8 +410,8 @@ if (OS_WINDOWS) + set (RUNTIME_INSTALL_DIR "bin") + set (LIBRARY_INSTALL_DIR "lib") + set (INCLUDE_INSTALL_DIR "include") +- set (CONFIG_INSTALL_DIR "lib/cmake/${PACKAGE_NAME}") - set (PKGCONFIG_INSTALL_DIR) -+ set (RUNTIME_INSTALL_DIR "bin") -+ set (LIBRARY_INSTALL_DIR "lib") -+ set (INCLUDE_INSTALL_DIR "include") + set (CONFIG_INSTALL_DIR "share/${PACKAGE_NAME}") + set (PKGCONFIG_INSTALL_DIR "") else () set (RUNTIME_INSTALL_DIR bin) # The LIB_INSTALL_DIR and LIB_SUFFIX variables are used by the Fedora -@@ -501,14 +501,22 @@ configure_file (cmake/version.cmake.in "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-co - if (BUILD_SHARED_LIBS AND INSTALL_SHARED_LIBS) - foreach (opts IN ITEMS "" _nothreads) - if (BUILD_gflags${opts}_LIB) -- install (TARGETS gflags${opts}_shared DESTINATION ${LIBRARY_INSTALL_DIR} EXPORT ${EXPORT_NAME}) -+ install (TARGETS gflags${opts}_shared -+ EXPORT ${EXPORT_NAME} -+ RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} -+ LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} -+ ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR}) - endif () - endforeach () - endif () - if (BUILD_STATIC_LIBS AND INSTALL_STATIC_LIBS) - foreach (opts IN ITEMS "" _nothreads) - if (BUILD_gflags${opts}_LIB) -- install (TARGETS gflags${opts}_static DESTINATION ${LIBRARY_INSTALL_DIR} EXPORT ${EXPORT_NAME}) -+ install (TARGETS gflags${opts}_static -+ EXPORT ${EXPORT_NAME} -+ RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR} -+ LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} -+ ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR}) - endif () - endforeach () - endif () diff --git a/ports/gflags/fix-static-linking.patch b/ports/gflags/fix-static-linking.patch deleted file mode 100644 index 0cefed2e3..000000000 --- a/ports/gflags/fix-static-linking.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/gflags.h.in b/src/gflags.h.in -index 43b3f7a..82e640f 100644 ---- a/src/gflags.h.in -+++ b/src/gflags.h.in -@@ -86,7 +86,7 @@ - - // We always want to export variables defined in user code - #ifndef GFLAGS_DLL_DEFINE_FLAG --# ifdef _MSC_VER -+# if GFLAGS_IS_A_DLL && defined(_MSC_VER) - # define GFLAGS_DLL_DEFINE_FLAG __declspec(dllexport) - # else - # define GFLAGS_DLL_DEFINE_FLAG diff --git a/ports/gflags/portfile.cmake b/ports/gflags/portfile.cmake index 13d9a831b..59811f487 100644 --- a/ports/gflags/portfile.cmake +++ b/ports/gflags/portfile.cmake @@ -7,15 +7,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gflags/gflags - REF v2.2.0 - SHA512 e2106ca70ff539024f888bca12487b3bf7f4f51928acf5ae3e1022f6bbd5e3b7882196ec50b609fd52f739e1f7b13eec7d4b3535d8216ec019a3577de6b4228d + REF v2.2.1 + SHA512 e919cbdcff1f993ddbfa9c06d8e595566a4717c27ff62f388a64c0e6b4683a93211c24ce78485eae84c2c76053341574064e6c56af185fc2782e2816b26e1fc9 HEAD_REF master ) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-install.patch" - PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-static-linking.patch" ) vcpkg_configure_cmake( diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL index 8eb7093e1..83a44f869 100644 --- a/ports/grpc/CONTROL +++ b/ports/grpc/CONTROL @@ -1,4 +1,4 @@ Source: grpc -Version: 1.7.2 +Version: 1.8.3 Build-Depends: zlib, openssl, protobuf, c-ares Description: An RPC library and framework diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index 45126f05f..4d9b692ab 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -12,8 +12,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc - REF v1.7.2 - SHA512 54cb4165878fb3361cd7a81b631f1b20e991eadd286c0f6020542a8aa464cf30bdd1479dc413b767a1585bdc730e465a64c45e9e805723f38bd54521e1c4f942 + REF v1.8.3 + SHA512 9bf308252221488840fad7669b8f10143c6e2130585b350b31b8d9f362f55cb1d16e5ee79d9d02ce13521e9471a8d55e8fd6c1ae0b710e22e3f918fb9fdc4d40 HEAD_REF master ) diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL index 9dad59be5..235a05045 100644 --- a/ports/harfbuzz/CONTROL +++ b/ports/harfbuzz/CONTROL @@ -1,4 +1,4 @@ Source: harfbuzz -Version: 1.6.3-1 +Version: 1.7.4 Description: HarfBuzz OpenType text shaping engine -Build-Depends: freetype, glib (windows) +Build-Depends: freetype, ragel, glib (windows) diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index f9fa05555..6e58997c1 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -1,11 +1,12 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/harfbuzz-1.6.3) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/behdad/harfbuzz/releases/download/1.6.3/harfbuzz-1.6.3.tar.bz2" - FILENAME "harfbuzz-1.6.3.tar.bz2" - SHA512 37d1a161d9074e9898d9ef6cca6dffffc725005828d700744553b0145373b69bcd3b08f507d49f4c2e05850d9275a54f15983356c547c86e5e3c202cc7cbfbe8 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO behdad/harfbuzz + REF 1.7.4 + SHA512 9d96017ba980280fa2e741dc2c7197e1f4b62b1bbb1e17b57806dc594ed905f52f08136830aafc995420eb709e3c927b2a6ea396fecb3b4a33473c0e0f345dee + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL index 38a0b8382..b9744407a 100644 --- a/ports/hdf5/CONTROL +++ b/ports/hdf5/CONTROL @@ -1,4 +1,8 @@ Source: hdf5 -Version: 1.10.0-patch1-2 +Version: 1.10.1-1 Description: HDF5 is a data model, library, and file format for storing and managing data -Build-Depends: zlib, szip, msmpi +Build-Depends: zlib, szip + +Feature: parallel +Description: parallel support for HDF5 +Build-Depends: msmpi diff --git a/ports/hdf5/disable-static-libs.patch b/ports/hdf5/disable-static-libs.patch index 4b7b440ec..4d33c5e45 100644 --- a/ports/hdf5/disable-static-libs.patch +++ b/ports/hdf5/disable-static-libs.patch @@ -1,12 +1,10 @@ -diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt -index 872e42d..146d0a9 100644 ---- a/hl/src/CMakeLists.txt -+++ b/hl/src/CMakeLists.txt -@@ -29,16 +29,20 @@ set (HL_HEADERS +--- a/hl/src/CMakeLists.txt Thu Apr 13 18:26:10 2017 ++++ b/hl/src/CMakeLists.txt Wed Jan 03 13:13:06 2018 +@@ -29,16 +29,20 @@ ${HDF5_HL_SRC_SOURCE_DIR}/hdf5_hl.h ) --add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SRCS} ${HL_HEADERS}) +-add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SOURCES} ${HL_HEADERS}) -TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} STATIC " " " ") -target_link_libraries (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET}) -H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} STATIC) @@ -19,7 +17,7 @@ index 872e42d..146d0a9 100644 +set (install_targets) + +if (NOT DISABLE_STATIC_LIBS) -+ add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SRCS} ${HL_HEADERS}) ++ add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SOURCES} ${HL_HEADERS}) + TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} STATIC " " " ") + target_link_libraries (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET}) + H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} STATIC) @@ -28,16 +26,25 @@ index 872e42d..146d0a9 100644 + INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>" + ) + set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIB_TARGET}") -+ set (install_targets ${install_targets} ${HDF5_HL_LIB_TARGET}) -+endif (NOT DISABLE_STATIC_LIBS) ++ set (install_targets ${HDF5_HL_LIB_TARGET}) ++endif () if (BUILD_SHARED_LIBS) - add_library (${HDF5_HL_LIBSH_TARGET} SHARED ${HL_SRCS} ${HL_HEADERS}) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index d93612b..a63cc3a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -851,30 +851,33 @@ add_custom_command ( + add_library (${HDF5_HL_LIBSH_TARGET} SHARED ${HL_SOURCES} ${HL_HEADERS}) +@@ -73,8 +77,9 @@ + if (HDF5_EXPORTED_TARGETS) + if (BUILD_SHARED_LIBS) + INSTALL_TARGET_PDB (${HDF5_HL_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries) ++ else () ++ INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries) + endif () +- INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries) + + install ( + TARGETS +--- a/src/CMakeLists.txt Thu Apr 13 18:26:11 2017 ++++ b/src/CMakeLists.txt Wed Jan 03 13:03:05 2018 +@@ -876,30 +876,33 @@ #----------------------------------------------------------------------------- set (gen_SRCS ${HDF5_BINARY_DIR}/H5Tinit.c ${HDF5_BINARY_DIR}/H5lib_settings.c) @@ -45,46 +52,62 @@ index d93612b..a63cc3a 100644 -TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ") -target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS}) -if (NOT WIN32) -+set (install_targets) -+if (NOT DISABLE_STATIC_LIBS) -+ add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS}) -+ TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ") -+ target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS}) -+ if (NOT WIN32) - target_link_libraries (${HDF5_LIB_TARGET} dl) --endif (NOT WIN32) +- target_link_libraries (${HDF5_LIB_TARGET} dl) +-endif () -if (H5_HAVE_PARALLEL AND MPI_C_FOUND) -+ endif (NOT WIN32) -+ if (H5_HAVE_PARALLEL AND MPI_C_FOUND) - target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES}) --endif (H5_HAVE_PARALLEL AND MPI_C_FOUND) +- target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES}) +-endif () -set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET}) -H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC) -set_target_properties (${HDF5_LIB_TARGET} PROPERTIES - FOLDER libraries - INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>" -) -+ endif (H5_HAVE_PARALLEL AND MPI_C_FOUND) +- +-option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF) +-if (HDF5_ENABLE_DEBUG_APIS) ++set (install_targets) ++if (NOT DISABLE_STATIC_LIBS) ++ add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS}) ++ TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ") ++ target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS}) ++ if (NOT WIN32) ++ target_link_libraries (${HDF5_LIB_TARGET} dl) ++ endif () ++ if (H5_HAVE_PARALLEL AND MPI_C_FOUND) ++ target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES}) ++ endif () + set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET}) + H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC) -+ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES + set_target_properties (${HDF5_LIB_TARGET} PROPERTIES +- COMPILE_DEFINITIONS +- "H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG" + FOLDER libraries + INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>" -+ ) - --option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF) --if (HDF5_ENABLE_DEBUG_APIS) + ) ++ + option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF) + if (HDF5_ENABLE_DEBUG_APIS) - set_target_properties (${HDF5_LIB_TARGET} PROPERTIES - COMPILE_DEFINITIONS - "H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG" - ) --endif (HDF5_ENABLE_DEBUG_APIS) ++ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES ++ COMPILE_DEFINITIONS ++ "H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG" ++ ) ++ endif () ++ set (install_targets ${HDF5_LIB_TARGET}) + endif () -set (install_targets ${HDF5_LIB_TARGET}) -+ endif (HDF5_ENABLE_DEBUG_APIS) -+ set (install_targets ${install_targets} ${HDF5_LIB_TARGET}) -+endif (NOT DISABLE_STATIC_LIBS) if (BUILD_SHARED_LIBS) file (MAKE_DIRECTORY "${HDF5_BINARY_DIR}/shared") +@@ -975,8 +978,10 @@ + if (HDF5_EXPORTED_TARGETS) + if (BUILD_SHARED_LIBS) + INSTALL_TARGET_PDB (${HDF5_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries) ++ else () ++ INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries) + endif () +- INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries) ++ + + install ( + TARGETS diff --git a/ports/hdf5/link-libraries-private.patch b/ports/hdf5/link-libraries-private.patch index 15db78a2d..df423b8bb 100644 --- a/ports/hdf5/link-libraries-private.patch +++ b/ports/hdf5/link-libraries-private.patch @@ -1,8 +1,6 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index a63cc3a..aea963d 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -900,12 +900,12 @@ if (BUILD_SHARED_LIBS) +--- a/src/CMakeLists.txt Wed Jan 03 13:16:33 2018 ++++ b/src/CMakeLists.txt Wed Jan 03 13:16:56 2018 +@@ -925,12 +925,12 @@ set (shared_gen_SRCS ${HDF5_BINARY_DIR}/shared/H5Tinit.c ${HDF5_BINARY_DIR}/shared/H5lib_settings.c) add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} ${shared_gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS}) TARGET_C_PROPERTIES (${HDF5_LIBSH_TARGET} SHARED " " " ") @@ -11,19 +9,19 @@ index a63cc3a..aea963d 100644 if (NOT WIN32) - target_link_libraries (${HDF5_LIBSH_TARGET} dl) + target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE dl) - endif (NOT WIN32) + endif () if (H5_HAVE_PARALLEL AND MPI_C_FOUND) - target_link_libraries (${HDF5_LIBSH_TARGET} ${MPI_C_LIBRARIES}) + target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE ${MPI_C_LIBRARIES}) - endif (H5_HAVE_PARALLEL AND MPI_C_FOUND) + endif () set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_LIBSH_TARGET}") H5_SET_LIB_OPTIONS (${HDF5_LIBSH_TARGET} ${HDF5_LIB_NAME} SHARED ${HDF5_PACKAGE_SOVERSION}) -@@ -920,7 +920,7 @@ if (BUILD_SHARED_LIBS) +@@ -945,7 +945,7 @@ APPEND PROPERTY COMPILE_DEFINITIONS "H5_HAVE_THREADSAFE" ) - target_link_libraries (${HDF5_LIBSH_TARGET} Threads::Threads) + target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE Threads::Threads) - endif (HDF5_ENABLE_THREADSAFE) + endif () if (HDF5_ENABLE_DEBUG_APIS) diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 000ed6a31..15f2399f2 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -3,11 +3,11 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.0-patch1/hdf5-1.10.0-patch1) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.1/hdf5-1.10.1) vcpkg_download_distfile(ARCHIVE - URLS "http://hdf4.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.0-patch1/src/CMake-hdf5-1.10.0-patch1.zip" - FILENAME "CMake-hdf5-1.10.0-patch1.zip" - SHA512 ec2edb43438661323be5998ecf64c4dd537ddc7451e31f89390260d16883e60a1ccc1bf745bcb809af22f2bf7157d50331a33910b8ebf5c59cd50693dfb2ef8f + URLS "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/CMake-hdf5-1.10.1.zip" + FILENAME "CMake-hdf5-1.10.1.zip" + SHA512 0045a6301c6e3479be70f025d8690297ff33b9e6e99ec217a33e9b916d9410fb3f7110b7361fbeaec163c35b8e6bd948ac8d5fdace80930c98c6a0b27c6fd5c4 ) vcpkg_extract_source_archive(${ARCHIVE}) @@ -21,6 +21,12 @@ vcpkg_apply_patches( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DISABLE_STATIC_LIBS) +if ("parallel" IN_LIST FEATURES) + set(ENABLE_PARALLEL ON) +else() + set(ENABLE_PARALLEL OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -30,7 +36,7 @@ vcpkg_configure_cmake( -DHDF5_BUILD_EXAMPLES=OFF -DHDF5_BUILD_TOOLS=OFF -DHDF5_BUILD_CPP_LIB=OFF - -DHDF5_ENABLE_PARALLEL=ON + -DHDF5_ENABLE_PARALLEL=${ENABLE_PARALLEL} -DHDF5_ENABLE_Z_LIB_SUPPORT=ON -DHDF5_ENABLE_SZIP_SUPPORT=ON -DHDF5_ENABLE_SZIP_ENCODING=ON diff --git a/ports/imgui/CMakeLists.txt b/ports/imgui/CMakeLists.txt index 3658c5cae..5bcf278f7 100644 --- a/ports/imgui/CMakeLists.txt +++ b/ports/imgui/CMakeLists.txt @@ -19,18 +19,23 @@ set(IMGUI_SOURCES imgui_draw.cpp ) -add_library(imgui +add_library(${PROJECT_NAME} ${IMGUI_INCLUDES_PUBLIC} ${IMGUI_INCLUDES_PRIVATE} ${IMGUI_SOURCES} ) -install(TARGETS imgui +target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>) + +install(TARGETS ${PROJECT_NAME} + EXPORT IMGUIExport RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) +install(EXPORT IMGUIExport FILE ${PROJECT_NAME}Config.cmake NAMESPACE ${PROJECT_NAME}:: DESTINATION share/${PROJECT_NAME}) + if(NOT IMGUI_SKIP_HEADERS) install( FILES ${IMGUI_INCLUDES_PUBLIC} diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL index 4428d0d45..6b6a82476 100644 --- a/ports/imgui/CONTROL +++ b/ports/imgui/CONTROL @@ -1,3 +1,3 @@ Source: imgui -Version: 1.52 +Version: 1.53 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 385a2396b..1ca99841d 100644 --- a/ports/imgui/portfile.cmake +++ b/ports/imgui/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ocornut/imgui - REF v1.52 - SHA512 8ada897ae33bcffa222dab4e9ff602611fa27d43f26085b8f96c313fea917d3149f1e3f4640f6156cfb7bc39bcb116106ccb4e8da1409d467e78c93bf9f7ea03 + REF v1.53 + SHA512 3e1ebf3844eaca3471064fa3d5792525c696b39f502c75235fae469038b73ae0eff198f13d5e1a35f86c011903cd379066afe1e22b6df769b9b16dc390f8b0c3 HEAD_REF master ) @@ -19,6 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/imgui) file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/imgui) file(RENAME ${CURRENT_PACKAGES_DIR}/share/imgui/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/imgui/copyright) diff --git a/ports/jack2/CMakeLists.txt b/ports/jack2/CMakeLists.txt new file mode 100644 index 000000000..2fb25edb8 --- /dev/null +++ b/ports/jack2/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.8) +project(jack2 C) + +include_directories(common) + +add_library(jack2 STATIC common/JackWeakAPI.c) + +install(TARGETS jack2 + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install(DIRECTORY common/jack DESTINATION include) diff --git a/ports/jack2/CONTROL b/ports/jack2/CONTROL new file mode 100644 index 000000000..ccf49a118 --- /dev/null +++ b/ports/jack2/CONTROL @@ -0,0 +1,4 @@ +Source: jack2 +Version: 1.9.12.2 +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 new file mode 100644 index 000000000..a82f1be62 --- /dev/null +++ b/ports/jack2/portfile.cmake @@ -0,0 +1,29 @@ +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_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jackaudio/jack2 + REF v1.9.12 + SHA512 f0271dfc8f8e2f2489ca52f431ad4fa420665816d6c67a01a76da1d4b5ae91f6dad8c4e3309ec5e0c159c9d312ed56021ab323d74bce828ace26f1b8d477ddfa + HEAD_REF master +) + +# Install headers and a statically built JackWeakAPI.c +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_install_cmake() + +# Remove duplicate headers +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/jack2 RENAME copyright) diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL index 263608bf6..bc99eb9a3 100644 --- a/ports/libbson/CONTROL +++ b/ports/libbson/CONTROL @@ -1,3 +1,3 @@ Source: libbson -Version: 1.6.2-2 +Version: 1.9.0 Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents. diff --git a/ports/libbson/fix-uwp.patch b/ports/libbson/fix-uwp.patch index abe11f8a4..ad916373f 100644 --- a/ports/libbson/fix-uwp.patch +++ b/ports/libbson/fix-uwp.patch @@ -2,27 +2,63 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 553f13b..03dc546 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -194,6 +194,8 @@ set (HEADERS +@@ -230,6 +230,9 @@ ${SOURCE_DIR}/src/bson/bson-writer.h ) +add_definitions(-D_CRT_SECURE_NO_WARNINGS) + ++if (NOT BSON_ENABLE_STATIC) add_library(bson_shared SHARED ${SOURCES} ${HEADERS}) - add_library(bson_static STATIC ${SOURCES} ${HEADERS}) + set(CMAKE_CXX_VISIBILITY_PRESET hidden) + set_target_properties(bson_shared PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;JSONSL_PARSE_NAN") +@@ -263,16 +266,21 @@ + # must be handled specially since we can't resolve them + set(BSON_SYSTEM_LIBS ${BSON_SYSTEM_LIBS} ws2_32) + endif() ++endif() -@@ -272,8 +274,10 @@ if (ENABLE_TESTS) - DESTINATION ${PROJECT_BINARY_DIR}/tests) - endif () # ENABLE_TESTS + if (BSON_ENABLE_STATIC) + add_library(bson_static STATIC ${SOURCES} ${HEADERS}) ++ set(CMAKE_CXX_VISIBILITY_PRESET hidden) + set_target_properties(bson_static PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;BSON_STATIC;JSONSL_PARSE_NAN") + set_target_properties(bson_static PROPERTIES VERSION ${BSON_VERSION}) + set_target_properties(bson_static PROPERTIES OUTPUT_NAME "bson-static-${BSON_API_VERSION}") ++ set(THREADS_PREFER_PTHREAD_FLAG 1) ++ find_package (Threads REQUIRED) + target_link_libraries(bson_static Threads::Threads) + if (RT_LIBRARY) + target_link_libraries (bson_static ${RT_LIBRARY}) + endif() ++ find_library(M_LIBRARY m) + if (M_LIBRARY) + target_link_libraries (bson_static ${M_LIBRARY}) + endif() +@@ -332,7 +340,7 @@ + add_executable (${bin} ${BSON_EXAMPLE_SOURCES}) -+set(INSTALL_TARGETS bson_shared bson_static CACHE INTERNAL "List of library targets to install") -+ + # Link against the shared lib like normal apps +- target_link_libraries(${bin} bson_shared) ++ target_link_libraries(${bin} bson_shared bson_static) + + set (EXAMPLES ${EXAMPLES} ${bin}) + endfunction () +@@ -349,6 +357,7 @@ + endif () # ENABLE_EXAMPLES + + set (BSON_HEADER_INSTALL_DIR "include/libbson-${BSON_API_VERSION}") ++if (NOT BSON_ENABLE_STATIC) install( -- TARGETS bson_shared bson_static -+ TARGETS ${INSTALL_TARGETS} + TARGETS bson_shared ${EXAMPLES} LIBRARY DESTINATION lib +@@ -355,6 +364,7 @@ ARCHIVE DESTINATION lib RUNTIME DESTINATION bin + ) ++endif () + if (BSON_ENABLE_STATIC) + install( + TARGETS bson_static ${EXAMPLES} diff --git a/src/bson/bson-compat.h b/src/bson/bson-compat.h index 05fc614..e8e2214 100644 --- a/src/bson/bson-compat.h @@ -31,21 +67,21 @@ index 05fc614..e8e2214 100644 #ifdef BSON_OS_WIN32 --# if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0600) -+# if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0602) - # undef _WIN32_WINNT - # endif - # ifndef _WIN32_WINNT --# define _WIN32_WINNT 0x0600 -+# define _WIN32_WINNT 0x0602 - # endif - # ifndef NOMINMAX - # define NOMINMAX +-#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0600) ++#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0602) + #undef _WIN32_WINNT + #endif + #ifndef _WIN32_WINNT +-#define _WIN32_WINNT 0x0600 ++#define _WIN32_WINNT 0x0602 + #endif + #ifndef NOMINMAX + #define NOMINMAX diff --git a/src/bson/bson-iso8601.c b/src/bson/bson-iso8601.c index 8beea90..cb4b531 100644 --- a/src/bson/bson-iso8601.c +++ b/src/bson/bson-iso8601.c -@@ -117,8 +117,8 @@ _bson_iso8601_date_parse (const char *str, +@@ -115,8 +115,8 @@ _bson_iso8601_date_parse (const char *str, const char *day_ptr; const char *hour_ptr; const char *min_ptr; diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake index 1a86128a4..956e39ff0 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -1,10 +1,10 @@ include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libbson-1.6.2)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libbson-1.9.0)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/mongodb/libbson/archive/1.6.2.tar.gz"
- FILENAME "libbson-1.6.2.tar.gz"
- SHA512 c5848984d5db5ab62e698a0185139b20834d83fd7befef72336997097f639ef13e81053531385e96c7ba1fe3f3fe4ded517f5b8ee58f0914c5c807a9cb43766d
+ URLS "https://github.com/mongodb/libbson/archive/1.9.0.tar.gz"
+ FILENAME "libbson-1.9.0.tar.gz"
+ SHA512 ced5e20a043096bbb2bd97f179c50fa105498fd089a54fcf7c0e3edda52030e7a6363ff1ab75c885649590a7d8846fa8adf880026cc059772cdfd87da23a244d
)
vcpkg_extract_source_archive(${ARCHIVE})
@@ -14,9 +14,9 @@ vcpkg_apply_patches( )
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- set(TARGET_TO_INSTALL bson_static)
+ set(ENABLE_STATIC ON)
else()
- set(TARGET_TO_INSTALL bson_shared)
+ set(ENABLE_STATIC OFF)
endif()
vcpkg_configure_cmake(
@@ -24,7 +24,7 @@ vcpkg_configure_cmake( PREFER_NINJA
OPTIONS
-DENABLE_TESTS=OFF
- -DINSTALL_TARGETS=${TARGET_TO_INSTALL}
+ -DENABLE_STATIC=${ENABLE_STATIC}
)
vcpkg_install_cmake()
@@ -60,4 +60,27 @@ endif() file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson RENAME copyright)
file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-static-1.0/libbson-static-1.0-config.cmake LIBBSON_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+string(REPLACE "/include/libbson-1.0" "/include" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+string(REPLACE "bson-static-1.0" "bson-1.0" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config.cmake "${LIBBSON_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson-static-1.0/libbson-static-1.0-config.cmake "${LIBBSON_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-static-1.0/libbson-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-static-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-static-1.0/libbson-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-static-1.0)
+else()
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-1.0/libbson-1.0-config.cmake LIBBSON_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+string(REPLACE "/include/libbson-1.0" "/include" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config.cmake "${LIBBSON_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-1.0-config.cmake "${LIBBSON_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-1.0/libbson-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-1.0/libbson-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-1.0)
+endif()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake ${CURRENT_PACKAGES_DIR}/lib/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
+
vcpkg_copy_pdbs()
\ No newline at end of file diff --git a/ports/libbson/static.patch b/ports/libbson/static.patch index adb52fa4f..e92286aed 100644 --- a/ports/libbson/static.patch +++ b/ports/libbson/static.patch @@ -2,12 +2,12 @@ diff --git a/bson-macros.h b/bson-macros.h index 909bf6c..0a1f612 100644 --- a/bson-macros.h +++ b/bson-macros.h -@@ -69,7 +69,7 @@ - # ifdef BSON_COMPILATION - # define BSON_API __declspec(dllexport) - # else --# define BSON_API __declspec(dllimport) -+# define BSON_API - # endif - #elif defined(__GNUC__) - # define BSON_API __attribute__ ((visibility ("default"))) +@@ -87,7 +87,7 @@ + #elif defined(BSON_COMPILATION) + #define BSON_API __declspec(dllexport) + #else +-#define BSON_API __declspec(dllimport) ++#define BSON_API + #endif + #define BSON_CALL __cdecl + diff --git a/ports/libconfig/CMakeLists.txt b/ports/libconfig/CMakeLists.txt index 8762917ef..fe70cb9dd 100644 --- a/ports/libconfig/CMakeLists.txt +++ b/ports/libconfig/CMakeLists.txt @@ -3,26 +3,26 @@ project(libconfig C CXX) if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) - add_definitions(-Dscandir=libconfig_scandir) endif() set(C_SOURCES lib/grammar.c lib/libconfig.c lib/scanctx.c - lib/win32/scandir.c lib/scanner.c lib/strbuf.c + lib/strvec.c + lib/util.c + lib/wincompat.c ) set(CPP_SOURCES lib/libconfigcpp.cc ) -find_path(DIRENT_H dirent.h) find_path(STDINT_H stdint.h) -include_directories(lib ${DIRENT_H} ${STDINT_H}) +include_directories(lib ${STDINT_H}) add_definitions(-DYY_NO_UNISTD_H -DYY_USE_CONST) @@ -37,6 +37,7 @@ else() target_compile_definitions(libconfig++ PUBLIC -DLIBCONFIGXX_STATIC) endif() +target_link_libraries(libconfig shlwapi) target_link_libraries(libconfig++ PRIVATE libconfig) install( diff --git a/ports/libconfig/CONTROL b/ports/libconfig/CONTROL index cd0469369..fceb37bd3 100644 --- a/ports/libconfig/CONTROL +++ b/ports/libconfig/CONTROL @@ -1,4 +1,3 @@ Source: libconfig -Version: 1.6.0-1 +Version: 1.7.2 Description: C/C++ library for processing configuration files -Build-Depends: dirent diff --git a/ports/libconfig/fix-scanner-header-msvc-patch.patch b/ports/libconfig/fix-scanner-header-msvc-patch.patch deleted file mode 100644 index c2e13c2ff..000000000 --- a/ports/libconfig/fix-scanner-header-msvc-patch.patch +++ /dev/null @@ -1,108 +0,0 @@ -diff --git a/lib/scanner.h b/lib/scanner.h -index cdca3bb..1fc0509 100644 ---- a/lib/scanner.h -+++ b/lib/scanner.h -@@ -13,7 +13,7 @@ - #define FLEX_SCANNER - #define YY_FLEX_MAJOR_VERSION 2 - #define YY_FLEX_MINOR_VERSION 5 --#define YY_FLEX_SUBMINOR_VERSION 39 -+#define YY_FLEX_SUBMINOR_VERSION 35 - #if YY_FLEX_SUBMINOR_VERSION > 0 - #define FLEX_BETA - #endif -@@ -132,7 +132,15 @@ typedef void* yyscan_t; - - /* Size of default input buffer. */ - #ifndef YY_BUF_SIZE -+#ifdef __ia64__ -+/* On IA-64, the buffer size is 16k, not 8k. -+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. -+ * Ditto for the __ia64__ case accordingly. -+ */ -+#define YY_BUF_SIZE 32768 -+#else - #define YY_BUF_SIZE 16384 -+#endif /* __ia64__ */ - #endif - - #ifndef YY_TYPEDEF_YY_BUFFER_STATE -@@ -162,7 +170,7 @@ struct yy_buffer_state - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ -- yy_size_t yy_n_chars; -+ int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to -@@ -206,13 +214,13 @@ void libconfig_yypop_buffer_state (yyscan_t yyscanner ); - - YY_BUFFER_STATE libconfig_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); - YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); --YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); -+YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); - - void *libconfig_yyalloc (yy_size_t ,yyscan_t yyscanner ); - void *libconfig_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); - void libconfig_yyfree (void * ,yyscan_t yyscanner ); - --#define libconfig_yywrap(yyscanner) 1 -+#define libconfig_yywrap(n) 1 - #define YY_SKIP_YYWRAP - - #define yytext_ptr yytext_r -@@ -221,7 +229,8 @@ void libconfig_yyfree (void * ,yyscan_t yyscanner ); - #define INITIAL 0 - #define COMMENT 1 - #define STRING 2 --#define INCLUDE 3 -+#define INCLUDE_F 3 -+#define INCLUDE_D 4 - - #endif - -@@ -260,7 +269,7 @@ FILE *libconfig_yyget_out (yyscan_t yyscanner ); - - void libconfig_yyset_out (FILE * out_str ,yyscan_t yyscanner ); - --yy_size_t libconfig_yyget_leng (yyscan_t yyscanner ); -+int libconfig_yyget_leng (yyscan_t yyscanner ); - - char *libconfig_yyget_text (yyscan_t yyscanner ); - -@@ -268,10 +277,6 @@ int libconfig_yyget_lineno (yyscan_t yyscanner ); - - void libconfig_yyset_lineno (int line_number ,yyscan_t yyscanner ); - --int libconfig_yyget_column (yyscan_t yyscanner ); -- --void libconfig_yyset_column (int column_no ,yyscan_t yyscanner ); -- - YYSTYPE * libconfig_yyget_lval (yyscan_t yyscanner ); - - void libconfig_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); -@@ -302,7 +307,12 @@ static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); - - /* Amount of stuff to slurp up with each read. */ - #ifndef YY_READ_BUF_SIZE -+#ifdef __ia64__ -+/* On IA-64, the buffer size is 16k, not 8k */ -+#define YY_READ_BUF_SIZE 16384 -+#else - #define YY_READ_BUF_SIZE 8192 -+#endif /* __ia64__ */ - #endif - - /* Number of entries by which start-condition stack grows. */ -@@ -337,8 +347,8 @@ extern int libconfig_yylex \ - #undef YY_DECL - #endif - --#line 207 "scanner.l" -+#line 315 "scanner.l" - --#line 343 "scanner.h" -+#line 353 "scanner.h" - #undef libconfig_yyIN_HEADER - #endif /* libconfig_yyHEADER_H */ diff --git a/ports/libconfig/fix-scanner-source-msvc-patch.patch b/ports/libconfig/fix-scanner-source-msvc-patch.patch deleted file mode 100644 index e8f24e638..000000000 --- a/ports/libconfig/fix-scanner-source-msvc-patch.patch +++ /dev/null @@ -1,1122 +0,0 @@ -diff --git a/lib/scanner.c b/lib/scanner.c -index dc07eb0..efb6730 100644 ---- a/lib/scanner.c -+++ b/lib/scanner.c -@@ -9,7 +9,7 @@ - #define FLEX_SCANNER - #define YY_FLEX_MAJOR_VERSION 2 - #define YY_FLEX_MINOR_VERSION 5 --#define YY_FLEX_SUBMINOR_VERSION 39 -+#define YY_FLEX_SUBMINOR_VERSION 35 - #if YY_FLEX_SUBMINOR_VERSION > 0 - #define FLEX_BETA - #endif -@@ -159,7 +159,15 @@ typedef void* yyscan_t; - - /* Size of default input buffer. */ - #ifndef YY_BUF_SIZE -+#ifdef __ia64__ -+/* On IA-64, the buffer size is 16k, not 8k. -+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. -+ * Ditto for the __ia64__ case accordingly. -+ */ -+#define YY_BUF_SIZE 32768 -+#else - #define YY_BUF_SIZE 16384 -+#endif /* __ia64__ */ - #endif - - /* The state buf must be large enough to hold one state per character in the main buffer. -@@ -171,11 +179,6 @@ typedef void* yyscan_t; - typedef struct yy_buffer_state *YY_BUFFER_STATE; - #endif - --#ifndef YY_TYPEDEF_YY_SIZE_T --#define YY_TYPEDEF_YY_SIZE_T --typedef size_t yy_size_t; --#endif -- - #define EOB_ACT_CONTINUE_SCAN 0 - #define EOB_ACT_END_OF_FILE 1 - #define EOB_ACT_LAST_MATCH 2 -@@ -194,13 +197,6 @@ typedef size_t yy_size_t; - if ( yytext[yyl] == '\n' )\ - --yylineno;\ - }while(0) -- #define YY_LINENO_REWIND_TO(dst) \ -- do {\ -- const char *p;\ -- for ( p = yy_cp-1; p >= (dst); --p)\ -- if ( *p == '\n' )\ -- --yylineno;\ -- }while(0) - - /* Return all but the first "n" matched characters back to the input stream. */ - #define yyless(n) \ -@@ -218,6 +214,11 @@ typedef size_t yy_size_t; - - #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) - -+#ifndef YY_TYPEDEF_YY_SIZE_T -+#define YY_TYPEDEF_YY_SIZE_T -+typedef size_t yy_size_t; -+#endif -+ - #ifndef YY_STRUCT_YY_BUFFER_STATE - #define YY_STRUCT_YY_BUFFER_STATE - struct yy_buffer_state -@@ -235,7 +236,7 @@ struct yy_buffer_state - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ -- yy_size_t yy_n_chars; -+ int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to -@@ -314,7 +315,7 @@ static void libconfig_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yys - - YY_BUFFER_STATE libconfig_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); - YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); --YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); -+YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); - - void *libconfig_yyalloc (yy_size_t ,yyscan_t yyscanner ); - void *libconfig_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); -@@ -344,7 +345,7 @@ void libconfig_yyfree (void * ,yyscan_t yyscanner ); - - #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) - --#define libconfig_yywrap(yyscanner) 1 -+#define libconfig_yywrap(n) 1 - #define YY_SKIP_YYWRAP - - typedef unsigned char YY_CHAR; -@@ -368,8 +369,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); - *yy_cp = '\0'; \ - yyg->yy_c_buf_p = yy_cp; - --#define YY_NUM_RULES 42 --#define YY_END_OF_BUFFER 43 -+#define YY_NUM_RULES 47 -+#define YY_END_OF_BUFFER 48 - /* This struct is not used in this scanner, - but its presence is necessary. */ - struct yy_trans_info -@@ -377,20 +378,21 @@ struct yy_trans_info - flex_int32_t yy_verify; - flex_int32_t yy_nxt; - }; --static yyconst flex_int16_t yy_accept[103] = -+static yyconst flex_int16_t yy_accept[117] = - { 0, -- 0, 0, 0, 0, 0, 0, 0, 0, 43, 41, -- 22, 21, 21, 5, 41, 37, 38, 29, 41, 24, -- 30, 41, 31, 31, 23, 39, 29, 29, 35, 36, -- 25, 26, 22, 41, 3, 4, 3, 6, 15, 14, -- 17, 20, 42, 22, 0, 40, 29, 30, 31, 30, -- 0, 1, 0, 30, 0, 32, 0, 29, 29, 22, -- 0, 0, 2, 6, 12, 0, 11, 10, 7, 8, -- 9, 17, 19, 18, 0, 30, 30, 0, 0, 30, -- 32, 33, 29, 29, 0, 0, 0, 30, 34, 29, -- 27, 0, 13, 34, 28, 0, 0, 0, 0, 0, -- -- 16, 0 -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ 48, 46, 27, 26, 26, 5, 46, 42, 43, 34, -+ 46, 29, 35, 46, 36, 36, 28, 44, 34, 34, -+ 40, 41, 30, 31, 27, 46, 3, 4, 3, 6, -+ 15, 14, 17, 20, 47, 22, 25, 47, 27, 0, -+ 45, 34, 35, 36, 35, 0, 1, 0, 35, 0, -+ 37, 0, 34, 34, 27, 0, 0, 2, 6, 12, -+ 0, 11, 10, 7, 8, 9, 17, 19, 18, 22, -+ 24, 23, 0, 35, 35, 0, 0, 35, 37, 38, -+ 34, 34, 0, 0, 0, 35, 39, 34, 32, 0, -+ -+ 13, 39, 33, 0, 0, 0, 0, 0, 0, 16, -+ 0, 0, 0, 0, 21, 0 - } ; - - static yyconst flex_int32_t yy_ec[256] = -@@ -434,110 +436,116 @@ static yyconst flex_int32_t yy_meta[49] = - 3, 3, 3, 3, 3, 3, 1, 1 - } ; - --static yyconst flex_int16_t yy_base[113] = -+static yyconst flex_int16_t yy_base[129] = - { 0, -- 0, 47, 47, 48, 46, 47, 48, 49, 203, 204, -- 200, 204, 204, 204, 198, 204, 204, 0, 45, 204, -- 47, 50, 60, 74, 204, 204, 178, 28, 204, 204, -- 204, 204, 64, 158, 204, 204, 183, 0, 204, 63, -- 0, 204, 83, 195, 193, 204, 0, 88, 102, 98, -- 62, 204, 190, 104, 119, 162, 0, 67, 65, 121, -- 127, 124, 204, 0, 204, 0, 204, 204, 204, 204, -- 204, 0, 204, 204, 108, 117, 122, 134, 132, 136, -- 204, 139, 136, 116, 126, 0, 140, 142, 135, 130, -- 0, 102, 204, 204, 0, 85, 72, 63, 98, 158, -- -- 204, 204, 169, 173, 177, 181, 183, 187, 191, 89, -- 66, 63 -+ 0, 47, 47, 48, 46, 47, 48, 49, 50, 53, -+ 223, 224, 220, 224, 224, 224, 218, 224, 224, 0, -+ 46, 224, 49, 54, 62, 76, 224, 224, 198, 33, -+ 224, 224, 224, 224, 70, 178, 224, 224, 203, 0, -+ 224, 64, 0, 224, 61, 0, 224, 65, 215, 213, -+ 224, 0, 89, 100, 94, 109, 224, 212, 113, 125, -+ 187, 0, 70, 88, 100, 172, 169, 224, 0, 224, -+ 0, 224, 224, 224, 224, 224, 0, 224, 224, 0, -+ 224, 224, 58, 115, 127, 137, 129, 139, 224, 184, -+ 181, 123, 172, 0, 141, 143, 181, 125, 0, 165, -+ -+ 224, 224, 0, 160, 167, 165, 133, 159, 163, 224, -+ 156, 149, 166, 161, 224, 224, 169, 173, 177, 181, -+ 185, 187, 191, 195, 199, 136, 119, 81 - } ; - --static yyconst flex_int16_t yy_def[113] = -+static yyconst flex_int16_t yy_def[129] = - { 0, -- 102, 1, 103, 103, 104, 104, 105, 105, 102, 102, -- 102, 102, 102, 102, 106, 102, 102, 107, 102, 102, -- 102, 102, 102, 102, 102, 102, 107, 107, 102, 102, -- 102, 102, 102, 102, 102, 102, 102, 108, 102, 102, -- 109, 102, 102, 102, 106, 102, 107, 102, 102, 102, -- 102, 102, 106, 102, 102, 102, 110, 107, 107, 102, -- 102, 102, 102, 108, 102, 111, 102, 102, 102, 102, -- 102, 109, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 110, 107, 107, 102, 112, 102, 102, 102, 107, -- 107, 102, 102, 102, 107, 102, 102, 102, 102, 102, -- -- 102, 0, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 102 -+ 116, 1, 117, 117, 118, 118, 119, 119, 120, 120, -+ 116, 116, 116, 116, 116, 116, 121, 116, 116, 122, -+ 116, 116, 116, 116, 116, 116, 116, 116, 122, 122, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 123, -+ 116, 116, 124, 116, 116, 125, 116, 116, 116, 121, -+ 116, 122, 116, 116, 116, 116, 116, 121, 116, 116, -+ 116, 126, 122, 122, 116, 116, 116, 116, 123, 116, -+ 127, 116, 116, 116, 116, 116, 124, 116, 116, 125, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 126, -+ 122, 122, 116, 128, 116, 116, 116, 122, 122, 116, -+ -+ 116, 116, 122, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 0, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 116, 116, 116 - } ; - --static yyconst flex_int16_t yy_nxt[253] = -+static yyconst flex_int16_t yy_nxt[273] = - { 0, -- 10, 11, 12, 13, 13, 14, 15, 16, 17, 18, -- 19, 20, 19, 21, 22, 23, 24, 25, 26, 25, -- 10, 18, 18, 18, 27, 18, 18, 18, 18, 28, -- 18, 18, 29, 10, 30, 10, 18, 18, 18, 27, -- 18, 18, 18, 18, 28, 18, 31, 32, 33, 36, -- 36, 39, 39, 42, 42, 59, 37, 37, 48, 52, -- 49, 49, 50, 50, 53, 60, 93, 34, 65, 86, -- 51, 59, 75, 54, 75, 49, 49, 76, 76, 40, -- 40, 43, 43, 55, 61, 51, 56, 54, 73, 49, -- 49, 57, 82, 83, 66, 84, 67, 55, 55, 100, -- -- 56, 99, 68, 50, 50, 69, 70, 71, 83, 98, -- 84, 51, 55, 50, 50, 54, 74, 49, 49, 77, -- 77, 51, 60, 76, 76, 55, 51, 78, 56, 79, -- 97, 79, 76, 76, 80, 80, 51, 77, 77, 91, -- 55, 61, 78, 96, 87, 78, 87, 80, 80, 88, -- 88, 80, 80, 95, 91, 88, 88, 88, 88, 100, -- 78, 94, 92, 101, 90, 89, 85, 62, 95, 35, -- 35, 35, 35, 38, 38, 38, 38, 41, 41, 41, -- 41, 45, 45, 45, 45, 47, 47, 64, 81, 64, -- 64, 72, 46, 72, 72, 46, 44, 63, 62, 58, -- -- 46, 44, 102, 9, 102, 102, 102, 102, 102, 102, -- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 102 -+ 12, 13, 14, 15, 15, 16, 17, 18, 19, 20, -+ 21, 22, 21, 23, 24, 25, 26, 27, 28, 27, -+ 12, 20, 20, 20, 29, 20, 20, 20, 20, 30, -+ 20, 20, 31, 12, 32, 12, 20, 20, 20, 29, -+ 20, 20, 20, 20, 30, 20, 33, 34, 35, 38, -+ 38, 41, 41, 44, 44, 47, 39, 39, 47, 53, -+ 64, 54, 54, 57, 55, 55, 78, 36, 58, 70, -+ 81, 65, 56, 84, 84, 59, 64, 54, 54, 42, -+ 42, 45, 45, 48, 101, 60, 48, 56, 61, 59, -+ 66, 54, 54, 62, 79, 71, 91, 72, 82, 60, -+ -+ 60, 65, 61, 73, 55, 55, 74, 75, 76, 55, -+ 55, 91, 56, 59, 60, 54, 54, 56, 92, 83, -+ 66, 83, 94, 60, 84, 84, 61, 56, 85, 85, -+ 84, 84, 56, 92, 108, 87, 86, 87, 60, 90, -+ 88, 88, 85, 85, 88, 88, 99, 95, 103, 95, -+ 86, 86, 96, 96, 88, 88, 96, 96, 96, 96, -+ 108, 99, 114, 103, 110, 86, 115, 114, 109, 37, -+ 37, 37, 37, 40, 40, 40, 40, 43, 43, 43, -+ 43, 46, 46, 46, 46, 50, 50, 50, 50, 52, -+ 52, 69, 113, 69, 69, 77, 112, 77, 77, 80, -+ -+ 111, 80, 80, 107, 106, 105, 104, 102, 100, 98, -+ 97, 93, 67, 89, 51, 51, 49, 68, 67, 63, -+ 51, 49, 116, 11, 116, 116, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116 - } ; - --static yyconst flex_int16_t yy_chk[253] = -+static yyconst flex_int16_t yy_chk[273] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, -- 4, 5, 6, 7, 8, 28, 3, 4, 19, 22, -- 19, 19, 21, 21, 22, 33, 112, 2, 40, 111, -- 21, 28, 51, 23, 51, 23, 23, 51, 51, 5, -- 6, 7, 8, 23, 33, 21, 23, 24, 43, 24, -- 24, 23, 110, 58, 40, 59, 40, 24, 23, 99, -- -- 24, 98, 40, 48, 48, 40, 40, 40, 58, 97, -- 59, 48, 24, 50, 50, 49, 43, 49, 49, 54, -- 54, 50, 60, 75, 75, 49, 48, 54, 49, 55, -- 96, 55, 76, 76, 55, 55, 50, 77, 77, 84, -- 49, 60, 54, 92, 78, 77, 78, 79, 79, 78, -- 78, 80, 80, 90, 84, 87, 87, 88, 88, 100, -- 77, 89, 85, 100, 83, 82, 62, 61, 90, 103, -- 103, 103, 103, 104, 104, 104, 104, 105, 105, 105, -- 105, 106, 106, 106, 106, 107, 107, 108, 56, 108, -- 108, 109, 53, 109, 109, 45, 44, 37, 34, 27, -- -- 15, 11, 9, 102, 102, 102, 102, 102, 102, 102, -- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, -- 102, 102 -+ 4, 5, 6, 7, 8, 9, 3, 4, 10, 21, -+ 30, 21, 21, 24, 23, 23, 45, 2, 24, 42, -+ 48, 35, 23, 83, 83, 25, 30, 25, 25, 5, -+ 6, 7, 8, 9, 128, 25, 10, 23, 25, 26, -+ 35, 26, 26, 25, 45, 42, 63, 42, 48, 26, -+ -+ 25, 65, 26, 42, 53, 53, 42, 42, 42, 55, -+ 55, 63, 53, 54, 26, 54, 54, 55, 64, 56, -+ 65, 56, 127, 54, 56, 56, 54, 53, 59, 59, -+ 84, 84, 55, 64, 107, 60, 59, 60, 54, 126, -+ 60, 60, 85, 85, 87, 87, 92, 86, 98, 86, -+ 85, 59, 86, 86, 88, 88, 95, 95, 96, 96, -+ 108, 92, 114, 98, 108, 85, 114, 113, 107, 117, -+ 117, 117, 117, 118, 118, 118, 118, 119, 119, 119, -+ 119, 120, 120, 120, 120, 121, 121, 121, 121, 122, -+ 122, 123, 112, 123, 123, 124, 111, 124, 124, 125, -+ -+ 109, 125, 125, 106, 105, 104, 100, 97, 93, 91, -+ 90, 67, 66, 61, 58, 50, 49, 39, 36, 29, -+ 17, 13, 11, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, -+ 116, 116 - } ; - - /* Table of booleans, true if rule could match eol. */ --static yyconst flex_int32_t yy_rule_can_match_eol[43] = -+static yyconst flex_int32_t yy_rule_can_match_eol[48] = - { 0, - 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, }; -+ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ 0, 0, 0, 0, 0, 0, 0, 0, }; - - /* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. -@@ -550,7 +558,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[43] = - /* -*- mode: C -*- */ - /* -------------------------------------------------------------------------- - libconfig - A library for processing structured configuration files -- Copyright (C) 2005-2014 Mark A Lindner -+ Copyright (C) 2005-2015 Mark A Lindner - - This file is part of libconfig. - -@@ -577,9 +585,11 @@ static yyconst flex_int32_t yy_rule_can_match_eol[43] = - #endif - - #include <stdlib.h> -+#include <errno.h> - #include <ctype.h> - #include <string.h> - #include <limits.h> -+#include <dirent.h> - #include "parsectx.h" - #include "scanctx.h" - #include "grammar.h" -@@ -621,13 +631,30 @@ static unsigned long long fromhex(const char *s) - #endif /* __MINGW32__ */ - } - -+static int filter_dotfiles(const struct dirent *de) -+{ -+ const char *fname = de->d_name; -+ -+#ifdef _DIRENT_HAVE_D_TYPE -+ /* filter out non-files and non-symlinks */ -+ if((de->d_type != DT_REG) && (de->d_type != DT_LNK) && (de->d_type != DT_UNKNOWN)) -+ return 0; -+#endif -+ -+ return (fname /* != NULL */ -+ && ('\0' != fname[0]) /* can't really happen */ -+ && ('.' != fname[0]) -+ ) ? 1 : 0 ; -+} - --#line 626 "scanner.c" -+ -+#line 652 "scanner.c" - - #define INITIAL 0 - #define COMMENT 1 - #define STRING 2 --#define INCLUDE 3 -+#define INCLUDE_F 3 -+#define INCLUDE_D 4 - - #ifndef YY_NO_UNISTD_H - /* Special case for "unistd.h", since it is non-ANSI. We include it way -@@ -652,8 +679,8 @@ struct yyguts_t - size_t yy_buffer_stack_max; /**< capacity of stack. */ - YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ - char yy_hold_char; -- yy_size_t yy_n_chars; -- yy_size_t yyleng_r; -+ int yy_n_chars; -+ int yyleng_r; - char *yy_c_buf_p; - int yy_init; - int yy_start; -@@ -706,7 +733,7 @@ FILE *libconfig_yyget_out (yyscan_t yyscanner ); - - void libconfig_yyset_out (FILE * out_str ,yyscan_t yyscanner ); - --yy_size_t libconfig_yyget_leng (yyscan_t yyscanner ); -+int libconfig_yyget_leng (yyscan_t yyscanner ); - - char *libconfig_yyget_text (yyscan_t yyscanner ); - -@@ -714,10 +741,6 @@ int libconfig_yyget_lineno (yyscan_t yyscanner ); - - void libconfig_yyset_lineno (int line_number ,yyscan_t yyscanner ); - --int libconfig_yyget_column (yyscan_t yyscanner ); -- --void libconfig_yyset_column (int column_no ,yyscan_t yyscanner ); -- - YYSTYPE * libconfig_yyget_lval (yyscan_t yyscanner ); - - void libconfig_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); -@@ -754,7 +777,12 @@ static int input (yyscan_t yyscanner ); - - /* Amount of stuff to slurp up with each read. */ - #ifndef YY_READ_BUF_SIZE -+#ifdef __ia64__ -+/* On IA-64, the buffer size is 16k, not 8k */ -+#define YY_READ_BUF_SIZE 16384 -+#else - #define YY_READ_BUF_SIZE 8192 -+#endif /* __ia64__ */ - #endif - - /* Copy whatever the last rule matched to the standard output. */ -@@ -861,6 +889,11 @@ YY_DECL - register int yy_act; - struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - -+#line 121 "scanner.l" -+ -+ -+#line 896 "scanner.c" -+ - yylval = yylval_param; - - if ( !yyg->yy_init ) -@@ -889,12 +922,6 @@ YY_DECL - libconfig_yy_load_buffer_state(yyscanner ); - } - -- { --#line 102 "scanner.l" -- -- --#line 897 "scanner.c" -- - while ( 1 ) /* loops until end-of-file is reached */ - { - yy_cp = yyg->yy_c_buf_p; -@@ -912,7 +939,7 @@ YY_DECL - yy_match: - do - { -- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; -+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - if ( yy_accept[yy_current_state] ) - { - yyg->yy_last_accepting_state = yy_current_state; -@@ -921,13 +948,13 @@ yy_match: - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; -- if ( yy_current_state >= 103 ) -+ if ( yy_current_state >= 117 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; - } -- while ( yy_current_state != 102 ); -+ while ( yy_current_state != 116 ); - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - -@@ -938,7 +965,7 @@ yy_find_action: - - if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) - { -- yy_size_t yyl; -+ int yyl; - for ( yyl = 0; yyl < yyleng; ++yyl ) - if ( yytext[yyl] == '\n' ) - -@@ -961,69 +988,69 @@ do_action: /* This label is used only to access EOF actions. */ - - case 1: - YY_RULE_SETUP --#line 104 "scanner.l" -+#line 123 "scanner.l" - { BEGIN COMMENT; } - YY_BREAK - case 2: - YY_RULE_SETUP --#line 105 "scanner.l" -+#line 124 "scanner.l" - { BEGIN INITIAL; } - YY_BREAK - case 3: - YY_RULE_SETUP --#line 106 "scanner.l" -+#line 125 "scanner.l" - { /* ignore */ } - YY_BREAK - case 4: - /* rule 4 can match eol */ - YY_RULE_SETUP --#line 107 "scanner.l" -+#line 126 "scanner.l" - { /* ignore */ } - YY_BREAK - case 5: - YY_RULE_SETUP --#line 109 "scanner.l" -+#line 128 "scanner.l" - { BEGIN STRING; } - YY_BREAK - case 6: - /* rule 6 can match eol */ - YY_RULE_SETUP --#line 110 "scanner.l" -+#line 129 "scanner.l" - { scanctx_append_string(yyextra, yytext); } - YY_BREAK - case 7: - YY_RULE_SETUP --#line 111 "scanner.l" -+#line 130 "scanner.l" - { scanctx_append_string(yyextra, "\n"); } - YY_BREAK - case 8: - YY_RULE_SETUP --#line 112 "scanner.l" -+#line 131 "scanner.l" - { scanctx_append_string(yyextra, "\r"); } - YY_BREAK - case 9: - YY_RULE_SETUP --#line 113 "scanner.l" -+#line 132 "scanner.l" - { scanctx_append_string(yyextra, "\t"); } - YY_BREAK - case 10: - YY_RULE_SETUP --#line 114 "scanner.l" -+#line 133 "scanner.l" - { scanctx_append_string(yyextra, "\f"); } - YY_BREAK - case 11: - YY_RULE_SETUP --#line 115 "scanner.l" -+#line 134 "scanner.l" - { scanctx_append_string(yyextra, "\\"); } - YY_BREAK - case 12: - YY_RULE_SETUP --#line 116 "scanner.l" -+#line 135 "scanner.l" - { scanctx_append_string(yyextra, "\""); } - YY_BREAK - case 13: - YY_RULE_SETUP --#line 117 "scanner.l" -+#line 136 "scanner.l" - { - char c[2] = { (char)(strtol(yytext + 2, NULL, 16) & 0xFF), - 0 }; -@@ -1032,12 +1059,12 @@ YY_RULE_SETUP - YY_BREAK - case 14: - YY_RULE_SETUP --#line 122 "scanner.l" -+#line 141 "scanner.l" - { scanctx_append_string(yyextra, "\\"); } - YY_BREAK - case 15: - YY_RULE_SETUP --#line 123 "scanner.l" -+#line 142 "scanner.l" - { - yylval->sval = scanctx_take_string(yyextra); - BEGIN INITIAL; -@@ -1046,198 +1073,304 @@ YY_RULE_SETUP - YY_BREAK - case 16: - YY_RULE_SETUP --#line 129 "scanner.l" --{ BEGIN INCLUDE; } -+#line 148 "scanner.l" -+{ BEGIN INCLUDE_F; } - YY_BREAK - case 17: - /* rule 17 can match eol */ - YY_RULE_SETUP --#line 130 "scanner.l" -+#line 149 "scanner.l" - { scanctx_append_string(yyextra, yytext); } - YY_BREAK - case 18: - YY_RULE_SETUP --#line 131 "scanner.l" -+#line 150 "scanner.l" - { scanctx_append_string(yyextra, "\\"); } - YY_BREAK - case 19: - YY_RULE_SETUP --#line 132 "scanner.l" -+#line 151 "scanner.l" - { scanctx_append_string(yyextra, "\""); } - YY_BREAK - case 20: - YY_RULE_SETUP --#line 133 "scanner.l" -+#line 152 "scanner.l" - { -- const char *error; -- FILE *fp = scanctx_push_include(yyextra, -- (void *)YY_CURRENT_BUFFER, -- &error); -- if(fp) -- { -- yyin = fp; -- libconfig_yy_switch_to_buffer(libconfig_yy_create_buffer(yyin,YY_BUF_SIZE,yyscanner),yyscanner); -- } -- else -- { -- yyextra->config->error_text = error; -- yyextra->config->error_file = scanctx_current_filename( -- yyextra); -- yyextra->config->error_line = libconfig_yyget_lineno( -- yyscanner); -- return TOK_ERROR; -- } -- BEGIN INITIAL; -- } -+ const char *error; -+ FILE *fp = scanctx_push_include(yyextra, -+ (void *)YY_CURRENT_BUFFER, -+ scanctx_getpath(yyextra), -+ &error); -+ if(fp) -+ { -+ yyin = fp; -+ libconfig_yy_switch_to_buffer(libconfig_yy_create_buffer(yyin,YY_BUF_SIZE,yyscanner),yyscanner -+ ); -+ } -+ else -+ { -+ yyextra->config->error_text = error; -+ yyextra->config->error_file = scanctx_current_filename( -+ yyextra); -+ yyextra->config->error_line = libconfig_yyget_lineno(yyscanner); -+ return TOK_ERROR; -+ } -+ BEGIN INITIAL; -+ } - YY_BREAK - case 21: --/* rule 21 can match eol */ - YY_RULE_SETUP --#line 157 "scanner.l" --{ /* ignore */ } -+#line 177 "scanner.l" -+{ BEGIN INCLUDE_D; } - YY_BREAK - case 22: -+/* rule 22 can match eol */ - YY_RULE_SETUP --#line 158 "scanner.l" --{ /* ignore */ } -+#line 178 "scanner.l" -+{ scanctx_append_string(yyextra, yytext); } - YY_BREAK - case 23: - YY_RULE_SETUP --#line 160 "scanner.l" --{ return(TOK_EQUALS); } -+#line 179 "scanner.l" -+{ scanctx_append_string(yyextra, "\\"); } - YY_BREAK - case 24: - YY_RULE_SETUP --#line 161 "scanner.l" --{ return(TOK_COMMA); } -+#line 180 "scanner.l" -+{ scanctx_append_string(yyextra, "\""); } - YY_BREAK - case 25: - YY_RULE_SETUP --#line 162 "scanner.l" --{ return(TOK_GROUP_START); } -+#line 181 "scanner.l" -+{ -+ const char *error; -+ const char* basedir; -+ FILE *fp = NULL; -+ -+ basedir = scanctx_getpath(yyextra); -+ if(scanctx_dirscan(yyextra, basedir, filter_dotfiles, NULL) < 0) -+ { -+ if(basedir) -+ free((void*)basedir); -+ return TOK_ERROR; -+ } -+ -+ if(scanctx_inloop(yyextra)) -+ { -+ fp = scanctx_push_include(yyextra, -+ (void *)YY_CURRENT_BUFFER, -+ scanctx_filename(yyextra, NULL, scanctx_dirnext(yyextra)), -+ &error -+ ); -+ -+ if(fp) -+ { -+ yyin = fp; -+ libconfig_yy_switch_to_buffer(libconfig_yy_create_buffer(yyin,YY_BUF_SIZE,yyscanner),yyscanner -+ ); -+ } -+ else -+ { -+ yyextra->config->error_text = error; -+ yyextra->config->error_file = scanctx_current_filename(yyextra); -+ yyextra->config->error_line = libconfig_yyget_lineno(yyscanner); -+ } -+ } -+ else -+ scanctx_dirend(yyextra); /* avoid leaks */ -+ -+ BEGIN INITIAL; -+ } - YY_BREAK - case 26: -+/* rule 26 can match eol */ - YY_RULE_SETUP --#line 163 "scanner.l" --{ return(TOK_GROUP_END); } -+#line 223 "scanner.l" -+{ /* ignore */ } - YY_BREAK - case 27: - YY_RULE_SETUP --#line 164 "scanner.l" --{ yylval->ival = 1; return(TOK_BOOLEAN); } -+#line 224 "scanner.l" -+{ /* ignore */ } - YY_BREAK - case 28: - YY_RULE_SETUP --#line 165 "scanner.l" --{ yylval->ival = 0; return(TOK_BOOLEAN); } -+#line 226 "scanner.l" -+{ return(TOK_EQUALS); } - YY_BREAK - case 29: - YY_RULE_SETUP --#line 166 "scanner.l" --{ yylval->sval = yytext; return(TOK_NAME); } -+#line 227 "scanner.l" -+{ return(TOK_COMMA); } - YY_BREAK - case 30: - YY_RULE_SETUP --#line 167 "scanner.l" --{ yylval->fval = atof(yytext); return(TOK_FLOAT); } -+#line 228 "scanner.l" -+{ return(TOK_GROUP_START); } - YY_BREAK - case 31: - YY_RULE_SETUP --#line 168 "scanner.l" -+#line 229 "scanner.l" -+{ return(TOK_GROUP_END); } -+ YY_BREAK -+case 32: -+YY_RULE_SETUP -+#line 230 "scanner.l" -+{ yylval->ival = 1; return(TOK_BOOLEAN); } -+ YY_BREAK -+case 33: -+YY_RULE_SETUP -+#line 231 "scanner.l" -+{ yylval->ival = 0; return(TOK_BOOLEAN); } -+ YY_BREAK -+case 34: -+YY_RULE_SETUP -+#line 232 "scanner.l" -+{ yylval->sval = yytext; return(TOK_NAME); } -+ YY_BREAK -+case 35: -+YY_RULE_SETUP -+#line 233 "scanner.l" -+{ yylval->fval = atof(yytext); return(TOK_FLOAT); } -+ YY_BREAK -+case 36: -+YY_RULE_SETUP -+#line 234 "scanner.l" - { - long long llval; -- llval = atoll(yytext); -+ char *endptr; -+ int errsave = errno; -+ errno = 0; -+ llval = strtoll(yytext, &endptr, 0); /* base 10 or base 8 */ -+ if(*endptr || errno) -+ { -+ errno = 0; -+ return(TOK_ERROR); /* some error occured ... */ -+ } -+ errno = errsave; -+ if((*yytext == '0') && (*(yytext+1) != '\0')) -+ { /* it's octal... so INT we go */ -+ yylval->ival = (int)(llval); -+ return(TOK_INTEGER); -+ } -+ - if((llval < INT_MIN) || (llval > INT_MAX)) - { -- yylval->llval = llval; -- return(TOK_INTEGER64); -+ yylval->llval = llval; -+ return(TOK_INTEGER64); - } - else - { -- yylval->ival = llval; -- return(TOK_INTEGER); -+ yylval->ival = llval; -+ return(TOK_INTEGER); - } - } - YY_BREAK --case 32: -+case 37: - YY_RULE_SETUP --#line 182 "scanner.l" -+#line 263 "scanner.l" - { yylval->llval = atoll(yytext); return(TOK_INTEGER64); } - YY_BREAK --case 33: -+case 38: - YY_RULE_SETUP --#line 183 "scanner.l" -+#line 264 "scanner.l" - { - yylval->ival = strtoul(yytext, NULL, 16); - return(TOK_HEX); - } - YY_BREAK --case 34: -+case 39: - YY_RULE_SETUP --#line 187 "scanner.l" -+#line 268 "scanner.l" - { yylval->llval = fromhex(yytext); return(TOK_HEX64); } - YY_BREAK --case 35: -+case 40: - YY_RULE_SETUP --#line 188 "scanner.l" -+#line 269 "scanner.l" - { return(TOK_ARRAY_START); } - YY_BREAK --case 36: -+case 41: - YY_RULE_SETUP --#line 189 "scanner.l" -+#line 270 "scanner.l" - { return(TOK_ARRAY_END); } - YY_BREAK --case 37: -+case 42: - YY_RULE_SETUP --#line 190 "scanner.l" -+#line 271 "scanner.l" - { return(TOK_LIST_START); } - YY_BREAK --case 38: -+case 43: - YY_RULE_SETUP --#line 191 "scanner.l" -+#line 272 "scanner.l" - { return(TOK_LIST_END); } - YY_BREAK --case 39: -+case 44: - YY_RULE_SETUP --#line 192 "scanner.l" -+#line 273 "scanner.l" - { return(TOK_SEMICOLON); } - YY_BREAK --case 40: -+case 45: - *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */ - yyg->yy_c_buf_p = yy_cp -= 1; - YY_DO_BEFORE_ACTION; /* set up yytext again */ - YY_RULE_SETUP --#line 193 "scanner.l" -+#line 274 "scanner.l" - { /* ignore */ } - YY_BREAK --case 41: -+case 46: - YY_RULE_SETUP --#line 194 "scanner.l" -+#line 275 "scanner.l" - { return(TOK_GARBAGE); } - YY_BREAK - case YY_STATE_EOF(INITIAL): - case YY_STATE_EOF(COMMENT): - case YY_STATE_EOF(STRING): --case YY_STATE_EOF(INCLUDE): --#line 196 "scanner.l" -+case YY_STATE_EOF(INCLUDE_F): -+case YY_STATE_EOF(INCLUDE_D): -+#line 277 "scanner.l" - { -- YY_BUFFER_STATE buf = (YY_BUFFER_STATE)scanctx_pop_include( -- yyextra); -- if(buf) -- { -- libconfig_yy_delete_buffer(YY_CURRENT_BUFFER,yyscanner); -- libconfig_yy_switch_to_buffer(buf,yyscanner); -- } -- else -- yyterminate(); -- } -+ const char* error; -+ FILE *fp; -+ YY_BUFFER_STATE buf = (YY_BUFFER_STATE)scanctx_pop_include(yyextra); -+ if(buf) -+ { -+ libconfig_yy_delete_buffer(YY_CURRENT_BUFFER,yyscanner); -+ libconfig_yy_switch_to_buffer(buf,yyscanner); -+ } -+ else /* if no more buffers, we are done */ -+ yyterminate(); -+ -+ if(scanctx_inloop(yyextra)) -+ { -+ /* gotta keep looping.... */ -+ fp = scanctx_push_include(yyextra, -+ (void *)YY_CURRENT_BUFFER, -+ scanctx_filename(yyextra, NULL, scanctx_dirnext(yyextra)), -+ &error -+ ); -+ if(fp) -+ { -+ yyin = fp; -+ libconfig_yy_switch_to_buffer(libconfig_yy_create_buffer(yyin,YY_BUF_SIZE,yyscanner),yyscanner -+ ); -+ } -+ else -+ { -+ yyextra->config->error_text = error; -+ yyextra->config->error_file = scanctx_current_filename(yyextra); -+ yyextra->config->error_line = libconfig_yyget_lineno(yyscanner); -+ } -+ } -+ else /* not on loop, or just finished */ -+ scanctx_dirend(yyextra); -+ } - YY_BREAK --case 42: -+case 47: - YY_RULE_SETUP --#line 207 "scanner.l" -+#line 315 "scanner.l" - ECHO; - YY_BREAK --#line 1241 "scanner.c" -+#line 1374 "scanner.c" - - case YY_END_OF_BUFFER: - { -@@ -1367,7 +1500,6 @@ ECHO; - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ -- } /* end of user's declarations */ - } /* end of libconfig_yylex */ - - /* yy_get_next_buffer - try to read in a new buffer -@@ -1424,21 +1556,21 @@ static int yy_get_next_buffer (yyscan_t yyscanner) - - else - { -- yy_size_t num_to_read = -+ int num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ - - /* just a shorter name for the current buffer */ -- YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; -+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER; - - int yy_c_buf_p_offset = - (int) (yyg->yy_c_buf_p - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { -- yy_size_t new_size = b->yy_buf_size * 2; -+ int new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; -@@ -1469,7 +1601,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) - - /* Read in more data. */ - YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), -- yyg->yy_n_chars, num_to_read ); -+ yyg->yy_n_chars, (size_t) num_to_read ); - - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; - } -@@ -1532,7 +1664,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; -- if ( yy_current_state >= 103 ) -+ if ( yy_current_state >= 117 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; -@@ -1561,13 +1693,12 @@ static int yy_get_next_buffer (yyscan_t yyscanner) - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; -- if ( yy_current_state >= 103 ) -+ if ( yy_current_state >= 117 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; -- yy_is_jam = (yy_current_state == 102); -+ yy_is_jam = (yy_current_state == 116); - -- (void)yyg; - return yy_is_jam ? 0 : yy_current_state; - } - -@@ -1596,7 +1727,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) - - else - { /* need more input */ -- yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; -+ int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; - ++yyg->yy_c_buf_p; - - switch ( yy_get_next_buffer( yyscanner ) ) -@@ -1884,7 +2015,7 @@ void libconfig_yypop_buffer_state (yyscan_t yyscanner) - */ - static void libconfig_yyensure_buffer_stack (yyscan_t yyscanner) - { -- yy_size_t num_to_alloc; -+ int num_to_alloc; - struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - - if (!yyg->yy_buffer_stack) { -@@ -1982,12 +2113,12 @@ YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char * yystr , yyscan_t yyscan - * @param yyscanner The scanner object. - * @return the newly allocated buffer state object. - */ --YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) -+YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) - { - YY_BUFFER_STATE b; - char *buf; - yy_size_t n; -- yy_size_t i; -+ int i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; -@@ -2097,7 +2228,7 @@ FILE *libconfig_yyget_out (yyscan_t yyscanner) - /** Get the length of the current token. - * @param yyscanner The scanner object. - */ --yy_size_t libconfig_yyget_leng (yyscan_t yyscanner) -+int libconfig_yyget_leng (yyscan_t yyscanner) - { - struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - return yyleng; -@@ -2133,7 +2264,7 @@ void libconfig_yyset_lineno (int line_number , yyscan_t yyscanner) - - /* lineno is only valid if an input buffer exists. */ - if (! YY_CURRENT_BUFFER ) -- YY_FATAL_ERROR( "libconfig_yyset_lineno called with no buffer" ); -+ yy_fatal_error( "libconfig_yyset_lineno called with no buffer" , yyscanner); - - yylineno = line_number; - } -@@ -2148,7 +2279,7 @@ void libconfig_yyset_column (int column_no , yyscan_t yyscanner) - - /* column is only valid if an input buffer exists. */ - if (! YY_CURRENT_BUFFER ) -- YY_FATAL_ERROR( "libconfig_yyset_column called with no buffer" ); -+ yy_fatal_error( "libconfig_yyset_column called with no buffer" , yyscanner); - - yycolumn = column_no; - } -@@ -2372,4 +2503,4 @@ void libconfig_yyfree (void * ptr , yyscan_t yyscanner) - - #define YYTABLES_NAME "yytables" - --#line 207 "scanner.l" -+#line 315 "scanner.l" diff --git a/ports/libconfig/portfile.cmake b/ports/libconfig/portfile.cmake index 73028de7c..9456636a9 100644 --- a/ports/libconfig/portfile.cmake +++ b/ports/libconfig/portfile.cmake @@ -3,20 +3,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hyperrealm/libconfig - REF v1.6 - SHA512 6222110851970fda11d21e73bc322be95fb1ce62c513e2f4cc7875d7b32d1d211860971692db679edf8ac46151033a132fc669bd16590fec56360ef3a6e584f8 + REF v1.7.2 + SHA512 9df57355c2d08381b4a0a6366f0db3633fbe8f73c2bb8c370c040b0bae96ce89ee4ac6c17a5a247fed855d890fa383e5b70cb5573fc9cfc62194d5b94e161cee HEAD_REF master ) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/fix-scanner-source-msvc-patch.patch" - "${CMAKE_CURRENT_LIST_DIR}/fix-scanner-header-msvc-patch.patch" -) - file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/scandir.c DESTINATION ${SOURCE_PATH}/lib/win32) vcpkg_configure_cmake( diff --git a/ports/libconfig/scandir.c b/ports/libconfig/scandir.c deleted file mode 100644 index cab75716e..000000000 --- a/ports/libconfig/scandir.c +++ /dev/null @@ -1,112 +0,0 @@ -// "$Id: scandir.c 1339 2006-04-03 22:47:29Z spitzak $" -// -// Copyright 1998-2006 by Bill Spitzak and others. -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Library General Public -// License as published by the Free Software Foundation; either -// version 2 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Library General Public License for more details. -// -// You should have received a copy of the GNU Library General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -// USA. -// -// Please report all bugs and problems to "fltk-bugs@fltk.org". - -// Emulation of posix scandir() call -// This source file is #include'd by scandir.c -// THIS IS A C FILE! DO NOT CHANGE TO C++!!! -// See @http://www.fltk.org/strfiles/1779/scandir.c - -#include <string.h> -#include <windows.h> -#include <stdlib.h> -#include <io.h> -#include <dirent.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef FILENAME_MAX -#define FILENAME_MAX 2048 -#endif - -/** - * The scandir() function reads the directory dirname and builds an array of - * pointers to directory entries. It returns the number of entries in the array. - * A pointer to the array of directory entries is stored in the location - * referenced by namelist. - */ -int libconfig_scandir(const char *dirname, struct dirent ***namelist, - int (*select)(struct dirent *), - int (*compar)(struct dirent **, struct dirent **)) { - char *d; - WIN32_FIND_DATA find; - HANDLE h; - int nDir = 0, NDir = 0; - struct dirent **dir = 0, *selectDir; - unsigned long ret; - char findIn[MAX_PATH*4]; - - //utf8tomb(dirname, strlen(dirname), findIn, _MAX_PATH); - strcpy(findIn, dirname); - - d = findIn+strlen(findIn); - if (d==findIn) *d++ = '.'; - if (*(d-1)!='/' && *(d-1)!='\\') *d++ = '/'; - *d++ = '*'; - *d++ = 0; - - if ((h=FindFirstFile(findIn, &find))==INVALID_HANDLE_VALUE) { - ret = GetLastError(); - if (ret != ERROR_NO_MORE_FILES) { - // TODO: return some error code - } - *namelist = dir; - return nDir; - } - do { - selectDir=(struct dirent*)malloc(sizeof(struct dirent)); - strcpy(selectDir->d_name, find.cFileName); - if (!select || (*select)(selectDir)) { - if (nDir==NDir) { - struct dirent **tempDir = (struct dirent **)calloc(sizeof(struct dirent*), NDir+33); - if (NDir) memcpy(tempDir, dir, sizeof(struct dirent*)*NDir); - if (dir) free(dir); - dir = tempDir; - NDir += 32; - } - dir[nDir] = selectDir; - nDir++; - dir[nDir] = 0; - } else { - free(selectDir); - } - } while (FindNextFile(h, &find)); - ret = GetLastError(); - if (ret != ERROR_NO_MORE_FILES) { - // TODO: return some error code - } - FindClose(h); - - if (compar) qsort (dir, nDir, sizeof(*dir), - (int(*)(const void*, const void*))compar); - - *namelist = dir; - return nDir; -} - -#ifdef __cplusplus -} -#endif - -// -// End of "$Id: scandir.c 1339 2006-04-03 22:47:29Z spitzak $". -// diff --git a/ports/libdatrie/CMakeLists.txt b/ports/libdatrie/CMakeLists.txt new file mode 100644 index 000000000..bdc1c21ea --- /dev/null +++ b/ports/libdatrie/CMakeLists.txt @@ -0,0 +1,94 @@ +cmake_minimum_required(VERSION 3.0) +project(libdatrie LANGUAGES C) + +option(SKIP_HEADERS "Skip headers" OFF) +option(SKIP_TOOL "Skip tool" OFF) +option(BUILD_SHARED_LIBS "Build shared libs" OFF) + +set(LIB_SRCS + datrie/alpha-map.c + datrie/darray.c + datrie/dstring.c + datrie/fileutils.c + datrie/tail.c + datrie/trie.c + datrie/trie-string.c +) + +set(LIB_HDRS + datrie/alpha-map.h + datrie/trie.h + datrie/triedefs.h + datrie/typedefs.h +) + +if(WIN32) + list(APPEND LIB_SRCS datrie/libdatrie.def) +endif() + +include(CheckIncludeFile) +include(CheckFunctionExists) + +set(STDC_HEADERS 1) +check_include_file(dlfcn.h HAVE_DLFCN_H) +check_include_file(inttypes.h HAVE_INTTYPES_H) +check_include_file(limits.h HAVE_LIMITS_H) +check_include_file(memory.h HAVE_MEMORY_H) +check_include_file(stdint.h HAVE_STDINT_H) +check_include_file(stdio.h HAVE_STDIO_H) +check_include_file(stdlib.h HAVE_STDLIB_H) +check_include_file(strings.h HAVE_STRINGS_H) +check_include_file(string.h HAVE_STRING_H) +check_include_file(sys/stat.h HAVE_SYS_STAT_H) +check_include_file(sys/types.h HAVE_SYS_TYPES_H) +check_include_file(unistd.h HAVE_UNISTD_H) + +check_function_exists(nl_langinfo HAVE_LANGINFO_CODESET) +check_function_exists(locale_charset HAVE_LOCALE_CHARSET) +check_function_exists(malloc HAVE_MALLOC) + +configure_file(config.h.cmake config.h) + +add_library(libdatrie ${LIB_SRCS}) +target_include_directories(libdatrie PRIVATE ".") +target_include_directories(libdatrie PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +set_target_properties(libdatrie PROPERTIES PREFIX "") +set_target_properties(libdatrie PROPERTIES DEBUG_POSTFIX "d") + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) +endif() + + +if (NOT SKIP_TOOL) + add_executable(trietool "tools/trietool.c" ) + target_include_directories(trietool PRIVATE ".") + target_include_directories(trietool PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) + target_link_libraries(trietool libdatrie) + + find_path(ICONV_INCLUDE_DIR iconv.h) + find_library(ICONV_LIBRARY NAMES iconv libiconv) + find_library(CHARSET_LIBRARY NAMES charset libcharset) + target_include_directories(trietool PRIVATE ${ICONV_INCLUDE_DIR}) + target_link_libraries(trietool ${ICONV_LIBRARY} ${CHARSET_LIBRARY}) + + install( + TARGETS trietool + RUNTIME DESTINATION bin + ) +endif() + +install( + TARGETS libdatrie + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +if (NOT SKIP_HEADERS) + install( + FILES ${LIB_HDRS} + DESTINATION "include/datrie" + ) +endif() diff --git a/ports/libdatrie/CONTROL b/ports/libdatrie/CONTROL new file mode 100644 index 000000000..8b9747fd7 --- /dev/null +++ b/ports/libdatrie/CONTROL @@ -0,0 +1,4 @@ +Source: libdatrie +Version: 0.2.10-2 +Description: implementation of double-array structure for representing trie +Build-Depends: libiconv diff --git a/ports/libdatrie/config.h.cmake b/ports/libdatrie/config.h.cmake new file mode 100644 index 000000000..9d575d6e5 --- /dev/null +++ b/ports/libdatrie/config.h.cmake @@ -0,0 +1,87 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#cmakedefine HAVE_DLFCN_H + +/* Define to 1 if you have the <inttypes.h> header file. */ +#cmakedefine HAVE_INTTYPES_H + +/* Have nl_langinfo (CODESET) */ +#cmakedefine HAVE_LANGINFO_CODESET + +/* Define to 1 if you have the <limits.h> header file. */ +#cmakedefine HAVE_LIMITS_H + +/* Have locale_charset() */ +#cmakedefine HAVE_LOCALE_CHARSET + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#cmakedefine HAVE_MALLOC + +/* Define to 1 if you have the <memory.h> header file. */ +#cmakedefine HAVE_MEMORY_H + +/* Define to 1 if you have the <stdint.h> header file. */ +#cmakedefine HAVE_STDINT_H + +/* Define to 1 if you have the <stdio.h> header file. */ +#cmakedefine HAVE_STDIO_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#cmakedefine HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#cmakedefine HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#cmakedefine HAVE_STRING_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#cmakedefine HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#cmakedefine HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#cmakedefine HAVE_UNISTD_H + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#cmakedefine LT_OBJDIR + +/* Name of package */ +#define PACKAGE "libdatrie" + +/* Define to the address where bug reports for this package should be sent. */ +#cmakedefine PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdatrie" + +/* Define to the full name and version of this package. */ +#cmakedefine PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#cmakedefine PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#define PACKAGE_URL "https://linux.thai.net/~thep/datrie/datrie.html" + +/* Define to the version of this package. */ +#cmakedefine PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#cmakedefine STDC_HEADERS 1 + +/* Version number of package */ +#cmakedefine VERSION "@VERSION@" + +/* Define to empty if `const' does not conform to ANSI C. */ +#cmakedefine const + +/* Define to rpl_malloc if the replacement function should be used. */ +#cmakedefine malloc + +/* Define to `unsigned int' if <sys/types.h> does not define. */ +#cmakedefine size_t diff --git a/ports/libdatrie/fix-exports.patch b/ports/libdatrie/fix-exports.patch new file mode 100644 index 000000000..3c407c21b --- /dev/null +++ b/ports/libdatrie/fix-exports.patch @@ -0,0 +1,8 @@ +diff -Naur ./a/libdatrie.def ./b/libdatrie.def +--- a/datrie/libdatrie.def 2013-10-17 06:27:57.000000000 +0300 ++++ b/datrie/libdatrie.def 2017-12-21 02:42:39.873879000 +0300 +@@ -1,3 +1,4 @@ ++EXPORTS + alpha_map_new + alpha_map_clone + alpha_map_free diff --git a/ports/libdatrie/fix-trietool.patch b/ports/libdatrie/fix-trietool.patch new file mode 100644 index 000000000..bcecee26e --- /dev/null +++ b/ports/libdatrie/fix-trietool.patch @@ -0,0 +1,31 @@ +From 086a76ad7c17060d504371ea724cf5d651d43eb3 Mon Sep 17 00:00:00 2001 +From: Mikhail Paulyshka <me@mixaill.tk> +Date: Thu, 28 Dec 2017 16:07:51 +0300 +Subject: [PATCH] fix trietool for MSVC runtime + +--- + tools/trietool.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/trietool.c b/tools/trietool.c +index 4cfde2a..7c90905 100644 +--- a/tools/trietool.c ++++ b/tools/trietool.c +@@ -589,12 +589,12 @@ string_trim (char *s) + char *p; + + /* skip leading white spaces */ +- while (*s && isspace (*s)) ++ while (*s && isspace ((unsigned char)*s)) + ++s; + + /* trim trailing white spaces */ + p = s + strlen (s) - 1; +- while (isspace (*p)) ++ while (isspace ((unsigned char)*p)) + --p; + *++p = '\0'; + +-- +2.14.1.windows.1 + diff --git a/ports/libdatrie/portfile.cmake b/ports/libdatrie/portfile.cmake new file mode 100644 index 000000000..f7fefd248 --- /dev/null +++ b/ports/libdatrie/portfile.cmake @@ -0,0 +1,55 @@ +set(LIBDATRIE_VERSION 0.2.10) + +include(vcpkg_common_functions) + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libdatrie-${LIBDATRIE_VERSION}) +vcpkg_download_distfile(ARCHIVE + URLS "https://linux.thai.net/pub/ThaiLinux/software/libthai/libdatrie-${LIBDATRIE_VERSION}.tar.xz" + FILENAME "libdatrie-${LIBDATRIE_VERSION}.tar.xz" + SHA512 ee68ded9d6e06c562da462d42e7e56098a82478d7b8547506200c3018b72536c4037a4e518924f779dc77d3ab139d93216bdb29ab4116b9dc9efd1a5d1eb9e31 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/fix-exports.patch" + "${CMAKE_CURRENT_LIST_DIR}/fix-trietool.patch" +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.cmake DESTINATION ${SOURCE_PATH}) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(SKIP_TOOL ON) +else() + set(SKIP_TOOL OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DVERSION=${LIBDATRIE_VERSION} + OPTIONS_RELEASE + -DSKIP_TOOL=${SKIP_TOOL} + -DSKIP_HEADERS=OFF + OPTIONS_DEBUG + -DSKIP_TOOL=ON + -DSKIP_HEADERS=ON +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/trietool.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/trietool.exe) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libdatrie RENAME copyright) diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL new file mode 100644 index 000000000..779bf10c9 --- /dev/null +++ b/ports/libgit2/CONTROL @@ -0,0 +1,3 @@ +Source: libgit2
+Version: 0.26.0
+Description: Git linkable library
diff --git a/ports/libgit2/portfile.cmake b/ports/libgit2/portfile.cmake new file mode 100644 index 000000000..e624e37eb --- /dev/null +++ b/ports/libgit2/portfile.cmake @@ -0,0 +1,30 @@ +# libgit2 uses winapi functions not available in WindowsStore
+if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
+ message(FATAL_ERROR "Error: UWP builds are not supported.")
+endif()
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libgit2/libgit2
+ REF v0.26.0
+ SHA512 b6e51f2216c7c23f352572b780ea1325a25a517396709f036bb573295c2bd02aa505ba616846ac7e07863e99e640e7d47fefc5727478a257b283da99060ee47c
+ HEAD_REF master)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_CLAR=OFF
+ OPTIONS_DEBUG
+ -DBUILD_CLAR=OFF
+)
+
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libgit2)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libgit2/COPYING ${CURRENT_PACKAGES_DIR}/share/libgit2/copyright)
diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL index 980763980..aabc4a953 100644 --- a/ports/libiconv/CONTROL +++ b/ports/libiconv/CONTROL @@ -1,3 +1,3 @@ Source: libiconv -Version: 1.15 +Version: 1.15-1 Description: GNU Unicode text conversion diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake index a79d7c074..79c30987c 100644 --- a/ports/libiconv/portfile.cmake +++ b/ports/libiconv/portfile.cmake @@ -23,6 +23,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_copy_pdbs() # Handle copyright file(COPY ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/libiconv) diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake index 1d45087b0..a3e882b1f 100644 --- a/ports/libjpeg-turbo/portfile.cmake +++ b/ports/libjpeg-turbo/portfile.cmake @@ -12,18 +12,19 @@ vcpkg_apply_patches( PATCHES "${CMAKE_CURRENT_LIST_DIR}/add-options-for-exes-docs-headers.patch" ) -vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}") +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(LIBJPEGTURBO_SIMD -DWITH_SIMD=OFF) +else() + set(LIBJPEGTURBO_SIMD -DWITH_SIMD=ON) + vcpkg_find_acquire_program(NASM) + get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) + set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}") +endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" WITH_CRT_DLL) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(LIBJPEGTURBO_SIMD -DWITH_SIMD=OFF) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/libpqxx/CMakeLists.txt b/ports/libpqxx/CMakeLists.txt new file mode 100644 index 000000000..c33d8863f --- /dev/null +++ b/ports/libpqxx/CMakeLists.txt @@ -0,0 +1,68 @@ +cmake_minimum_required(VERSION 3.5) +project(libpqxx VERSION 6.0.0 LANGUAGES CXX) +set(CMAKE_DEBUG_POSTFIX "D") + +find_library(LIBPQD libpqd) +find_library(LIBPQ libpq) +find_path(LIBPQ_FE_H libpq-fe.h) +find_path(POSTGRES_EXT_H postgres_ext.h) + +include(CheckIncludeFileCXX) + +check_include_file_cxx(poll.h HAVE_POLL) +check_include_file_cxx(sys/select.h HAVE_SYS_SELECT_H) +check_include_file_cxx(sys/time.h HAVE_SYS_TIME_H) +check_include_file_cxx(sys/types.h HAVE_SYS_TYPES_H) +check_include_file_cxx(unistd.h HAVE_UNISTD_H) + +include(CheckCXXSourceCompiles) + +check_cxx_source_compiles("[[deprecated]] void f(); +int main() { return 0; }" PQXX_HAVE_DEPRECATED) +check_cxx_source_compiles("#include <optional> +int main() { return std::optional<int>(0).value(); }" PQXX_HAVE_OPTIONAL) +check_cxx_source_compiles("#include <experimental/optional> +int main() { return std::experimental::optional<int>(0).value(); }" PQXX_HAVE_EXP_OPTIONAL) + +configure_file(config-internal-compiler.h.in pqxx/config-internal-compiler.h) +configure_file(config-public-compiler.h.in pqxx/config-public-compiler.h) + +file(GLOB SRCS "${PROJECT_SOURCE_DIR}/src/*.cxx") + +if(BUILD_SHARED_LIBS) + set(TARGET libpqxx) + set(SHARED_DEFINITION -DPQXX_SHARED) + list(APPEND SRCS "${PROJECT_SOURCE_DIR}/win32/libpqxx.cxx") +else() + set(TARGET libpqxx_static) + set(SHARED_DEFINITION "") +endif() + +add_library(${TARGET} ${SRCS}) +target_compile_definitions(${TARGET} PRIVATE -DPQXX_INTERNAL -DNOMINMAX ${SHARED_DEFINITION}) +target_include_directories(${TARGET} PRIVATE include ${LIBPQ_FE_H} ${POSTGRES_EXT_H} ${CMAKE_BINARY_DIR}) +target_link_libraries(${TARGET} PRIVATE ws2_32) +if(LIBPQD AND LIBPQ) + target_link_libraries(${TARGET} PRIVATE debug ${LIBPQD} optimized ${LIBPQ}) +elseif(LIBPQD) + target_link_libraries(${TARGET} PRIVATE ${LIBPQD}) +else() + target_link_libraries(${TARGET} PRIVATE ${LIBPQ}) +endif() + +install(TARGETS ${TARGET} + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + ) +install(DIRECTORY include/ DESTINATION include + CONFIGURATIONS Release + PATTERN "doc" EXCLUDE + PATTERN "*.am" EXCLUDE + PATTERN "*.in" EXCLUDE + PATTERN "*.template" EXCLUDE + ) +install(DIRECTORY ${CMAKE_BINARY_DIR}/pqxx/ DESTINATION include/pqxx + CONFIGURATIONS Release + FILES_MATCHING PATTERN "*.h" + ) diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL new file mode 100644 index 000000000..8860ddaf9 --- /dev/null +++ b/ports/libpqxx/CONTROL @@ -0,0 +1,4 @@ +Source: libpqxx +Version: 6.0.0 +Description: The official C++ client API for PostgreSQL +Build-Depends: libpq diff --git a/ports/libpqxx/config-internal-compiler.h.in b/ports/libpqxx/config-internal-compiler.h.in new file mode 100644 index 000000000..6a5f07fbe --- /dev/null +++ b/ports/libpqxx/config-internal-compiler.h.in @@ -0,0 +1,14 @@ +/* System supports poll(). */ +#cmakedefine HAVE_POLL 1 + +/* Define to 1 if you have the <sys/select.h> header file. */ +#cmakedefine HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the <sys/time.h> header file. */ +#cmakedefine HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#cmakedefine HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#cmakedefine HAVE_UNISTD_H 1 diff --git a/ports/libpqxx/config-public-compiler.h.in b/ports/libpqxx/config-public-compiler.h.in new file mode 100644 index 000000000..24479707a --- /dev/null +++ b/ports/libpqxx/config-public-compiler.h.in @@ -0,0 +1,8 @@ +/* Define if compiler supports [[deprecated]] attribute */ +#cmakedefine PQXX_HAVE_DEPRECATED 1 + +/* Define if the compiler supports std::experimental::optional. */ +#cmakedefine PQXX_HAVE_EXP_OPTIONAL 1 + +/* Define if the compiler supports std::optional. */ +#cmakedefine PQXX_HAVE_OPTIONAL 1 diff --git a/ports/libpqxx/portfile.cmake b/ports/libpqxx/portfile.cmake new file mode 100644 index 000000000..2ba92b1cb --- /dev/null +++ b/ports/libpqxx/portfile.cmake @@ -0,0 +1,23 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jtv/libpqxx + REF 6.0.0 + SHA512 f237cc03c01a8262eee44a9428206c1cc11b6034dddf540afef145f58eee5c32b880d84832563480d73d834c24311170e2ef6789e100793afbe0b6e393bd4169 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config-public-compiler.h.in DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config-internal-compiler.h.in DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpqxx RENAME copyright) diff --git a/ports/librtmp/CMakeLists.txt b/ports/librtmp/CMakeLists.txt index c12ddc0ef..f0f78e5f1 100644 --- a/ports/librtmp/CMakeLists.txt +++ b/ports/librtmp/CMakeLists.txt @@ -36,7 +36,6 @@ set(SRCS librtmp/amf.c librtmp/log.c librtmp/parseurl.c librtmp/rtmp.c - librtmp/librtmp.def ) if(MSVC) @@ -54,4 +53,4 @@ install(TARGETS librtmp LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -install(FILES librtmp/rtmp.h librtmp/amf.h DESTINATION include/librtmp)
\ No newline at end of file +install(DIRECTORY ${PROJECT_SOURCE_DIR}/librtmp DESTINATION include FILES_MATCHING PATTERN "*.h") diff --git a/ports/librtmp/CONTROL b/ports/librtmp/CONTROL index d26541d91..9a93c8b47 100644 --- a/ports/librtmp/CONTROL +++ b/ports/librtmp/CONTROL @@ -1,4 +1,4 @@ Source: librtmp -Version: 2.3 +Version: 2.4 Build-Depends: zlib, openssl Description: RTMPDump Real-Time Messaging Protocol API diff --git a/ports/librtmp/fix_strncasecmp.patch b/ports/librtmp/fix_strncasecmp.patch index c1cadc4ac..3e0c7ea96 100644 --- a/ports/librtmp/fix_strncasecmp.patch +++ b/ports/librtmp/fix_strncasecmp.patch @@ -1,16 +1,20 @@ diff --git a/librtmp/rtmp_sys.h b/librtmp/rtmp_sys.h -index 0874cbe..b43d587 100644 +index 6a3f215..1b5ac2a 100644 --- a/librtmp/rtmp_sys.h +++ b/librtmp/rtmp_sys.h -@@ -37,6 +37,11 @@ +@@ -28,11 +28,13 @@ #include <ws2tcpip.h> - #endif -+#ifdef _MSC_VER -+#define strncasecmp _strnicmp + #ifdef _MSC_VER /* MSVC */ ++#if _MSC_VER < 1900 + #define snprintf _snprintf +-#define strcasecmp stricmp +-#define strncasecmp strnicmp + #define vsnprintf _vsnprintf + #endif +#define strcasecmp _stricmp ++#define strncasecmp _strnicmp +#endif -+ + #define GetSockError() WSAGetLastError() #define SetSockError(e) WSASetLastError(e) - #define setsockopt(a,b,c,d,e) (setsockopt)(a,b,c,(const char *)d,(int)e) diff --git a/ports/librtmp/hide_netstackdump.patch b/ports/librtmp/hide_netstackdump.patch index e2a5e4207..391bbdc39 100644 --- a/ports/librtmp/hide_netstackdump.patch +++ b/ports/librtmp/hide_netstackdump.patch @@ -1,8 +1,8 @@ diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c -index f152648..0bf3f7d 100644 +index 5ef3ae9..e559c6e 100644 --- a/librtmp/rtmp.c +++ b/librtmp/rtmp.c -@@ -1316,7 +1316,7 @@ ReadN(RTMP *r, char *buffer, int n) +@@ -1333,7 +1333,7 @@ ReadN(RTMP *r, char *buffer, int n) SendBytesReceived(r); } /*RTMP_Log(RTMP_LOGDEBUG, "%s: %d bytes\n", __FUNCTION__, nBytes); */ @@ -11,7 +11,7 @@ index f152648..0bf3f7d 100644 fwrite(ptr, 1, nBytes, netstackdump_read); #endif -@@ -3527,7 +3527,7 @@ RTMPSockBuf_Send(RTMPSockBuf *sb, const char *buf, int len) +@@ -3553,7 +3553,7 @@ RTMPSockBuf_Send(RTMPSockBuf *sb, const char *buf, int len) { int rc; diff --git a/ports/librtmp/librtmp.def b/ports/librtmp/librtmp.def index d9f8b9136..837e6a355 100644 --- a/ports/librtmp/librtmp.def +++ b/ports/librtmp/librtmp.def @@ -1,4 +1,11 @@ EXPORTS + AMF3_Decode + AMF3CD_AddProp + AMF3CD_GetProp + AMF3Prop_Decode + AMF3ReadInteger + AMF3ReadString + AMF_AddProp AMF_CountProp AMF_Decode @@ -24,13 +31,6 @@ EXPORTS AMF_GetProp AMF_Reset - AMF3_Decode - AMF3CD_AddProp - AMF3CD_GetProp - AMF3Prop_Decode - AMF3ReadInteger - AMF3ReadString - AMFProp_Decode AMFProp_Dump AMFProp_Encode @@ -51,9 +51,7 @@ EXPORTS RTMP_Connect0 RTMP_Connect1 RTMP_ConnectStream - RTMP_ctrlC RTMP_debuglevel - RTMP_DefaultFlashVer RTMP_DeleteStream RTMP_DropRequest RTMP_EnableWrite @@ -97,9 +95,15 @@ EXPORTS RTMP_SetupStream RTMP_SetupURL RTMP_Socket - RTMP_TLS_ctx RTMP_TLS_Init RTMP_ToggleStream RTMP_UpdateBufferMS RTMP_UserInterrupt RTMP_Write + RTMPPacket_Alloc + RTMPPacket_Dump + RTMPPacket_Free + RTMPPacket_Reset + RTMPSockBuf_Close + RTMPSockBuf_Fill + RTMPSockBuf_Send diff --git a/ports/librtmp/portfile.cmake b/ports/librtmp/portfile.cmake index 18423f152..25e41bbf7 100644 --- a/ports/librtmp/portfile.cmake +++ b/ports/librtmp/portfile.cmake @@ -1,13 +1,13 @@ include(vcpkg_common_functions) -set(RTMPDUMP_VERSION 2.3) -set(RTMPDUMP_FILENAME rtmpdump-${RTMPDUMP_VERSION}.tgz) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/rtmpdump-${RTMPDUMP_VERSION}) +set(RTMPDUMP_VERSION 2.4) +set(RTMPDUMP_FILENAME rtmpdump-${RTMPDUMP_VERSION}.tar.gz) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/rtmpdump) vcpkg_download_distfile(ARCHIVE URLS "http://rtmpdump.mplayerhq.hu/download/${RTMPDUMP_FILENAME}" FILENAME "${RTMPDUMP_FILENAME}" - SHA512 d8240ba372a704231286b81bbf75716d8b76874840538c4e1527f7f8b6ca66eeaba6b03167fe6fab06bf80f20f07d89ecb84cc428b3196234174a43f3328ec2a + SHA512 a6253af95492739366dce620a2a6cc6f4f18d7f12f9ef2c747240259066ca135beeb02091d0f3dd8380c0c294a30d3f702ad3fad1dee1db4e70473078fb81609 ) vcpkg_extract_source_archive(${ARCHIVE}) @@ -23,6 +23,7 @@ vcpkg_apply_patches( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/libsamplerate/CMakeLists.txt b/ports/libsamplerate/CMakeLists.txt new file mode 100644 index 000000000..44ba2277a --- /dev/null +++ b/ports/libsamplerate/CMakeLists.txt @@ -0,0 +1,14 @@ +add_library(libsamplerate-0 + samplerate.c + src_sinc.c + src_zoh.c + src_linear.c + ../Win32/libsamplerate-0.def +) + +install(TARGETS libsamplerate-0 + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + +install(FILES samplerate.h DESTINATION include) diff --git a/ports/libsamplerate/CONTROL b/ports/libsamplerate/CONTROL new file mode 100644 index 000000000..d8a8f5f4e --- /dev/null +++ b/ports/libsamplerate/CONTROL @@ -0,0 +1,3 @@ +Source: libsamplerate +Version: 0.1.9.0 +Description: Sample Rate Converter for audio diff --git a/ports/libsamplerate/portfile.cmake b/ports/libsamplerate/portfile.cmake new file mode 100644 index 000000000..87712f6d2 --- /dev/null +++ b/ports/libsamplerate/portfile.cmake @@ -0,0 +1,26 @@ +include(vcpkg_common_functions) + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libsamplerate-0.1.9) + +vcpkg_download_distfile(ARCHIVE + URLS "http://www.mega-nerd.com/SRC/libsamplerate-0.1.9.tar.gz" + FILENAME "libsamplerate-0.1.9.tar.gz" + SHA512 78596657963cbf06785e3e6e1190b093df71da52ca340e75bd8246a962cd79dd1c90fa5527c607cebcb296e2c1ee605015278b274e3b768f2f3fbeb0eadfb728 +) + +vcpkg_extract_source_archive(${ARCHIVE}) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src) +file(COPY ${SOURCE_PATH}/Win32/config.h DESTINATION ${SOURCE_PATH}/src) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/src +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsamplerate RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/libtorrent/CONTROL b/ports/libtorrent/CONTROL index f6dde66ee..e0de70962 100644 --- a/ports/libtorrent/CONTROL +++ b/ports/libtorrent/CONTROL @@ -1,4 +1,4 @@ Source: libtorrent -Version: 94f4e88e05f92a1 +Version: 1.1.6 Description: An efficient feature complete C++ BitTorrent implementation Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config diff --git a/ports/libtorrent/add-dbghelp-to-win32-libs.patch b/ports/libtorrent/add-dbghelp-to-win32-libs.patch deleted file mode 100644 index 35df3bc2b..000000000 --- a/ports/libtorrent/add-dbghelp-to-win32-libs.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1963d90..99698a2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -267,7 +267,7 @@ target_link_libraries(torrent-rasterbar ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_I - #add_definitions(-DBOOST_ASIO_HASH_MAP_BUCKETS=1021 -D__USE_W32_SOCKETS -DWIN32_LEAN_AND_MEAN ) - - if (WIN32) -- target_link_libraries(torrent-rasterbar wsock32 ws2_32 Iphlpapi) -+ target_link_libraries(torrent-rasterbar wsock32 ws2_32 Iphlpapi dbghelp) - add_definitions(-D_WIN32_WINNT=0x0600) - # prevent winsock1 to be included - add_definitions(-DWIN32_LEAN_AND_MEAN) diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake index 3101bab29..bf0d851b9 100644 --- a/ports/libtorrent/portfile.cmake +++ b/ports/libtorrent/portfile.cmake @@ -3,15 +3,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arvidn/libtorrent - REF 94f4e88e05f92a1b07551598a4bedb2c16af0f2f - SHA512 1b4876a471a62813c97519ebf54fc06286b7ee43005e436c7139c6a6ac39fd40fefd5c9b7424e65509ec8deb95dfe1427544b686b6b9cd51cf3d3f133ba7a701 + REF libtorrent-1_1_6 + SHA512 528034e63330d3c6910ab9db34a2a543618961c0095ecb8f865065516c341d063cba92aed2904b80aa0d0ef65df1b91c400f69d16defad787ff1ffb5edd09e37 HEAD_REF master ) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-datetime-to-boost-libs.patch - ${CMAKE_CURRENT_LIST_DIR}/add-dbghelp-to-win32-libs.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTORRENT_SHARED) diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL index c50dc8cb8..ecc6346ca 100644 --- a/ports/llvm/CONTROL +++ b/ports/llvm/CONTROL @@ -1,4 +1,4 @@ Source: llvm -Version: 5.0.0-2 +Version: 5.0.1 Description: The LLVM Compiler Infrastructure Build-Depends: atlmfc diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index d2a82cf0b..60580947e 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -7,14 +7,25 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-5.0.0.src) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-5.0.1.src) vcpkg_download_distfile(ARCHIVE - URLS "http://releases.llvm.org/5.0.0/llvm-5.0.0.src.tar.xz" - FILENAME "llvm-5.0.0.src.tar.xz" - SHA512 e6d8fdcb5bf27bded814d02f39f69c6171bc3a512d5957c03e5ac2e231f903b7de87634b059bd5c5da670f7c3a8f7a538f6299225799f15f921857f1452f6b3a + URLS "http://releases.llvm.org/5.0.1/llvm-5.0.1.src.tar.xz" + FILENAME "llvm-5.0.1.src.tar.xz" + SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb ) vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_download_distfile(CLANG_ARCHIVE + URLS "http://releases.llvm.org/5.0.1/cfe-5.0.1.src.tar.xz" + FILENAME "cfe-5.0.1.src.tar.xz" + SHA512 6619177a2ff9934fe8b15d6aa229abb8e34d0b1a75228d9efba9393daf71d6419a7256de57b31e2f9f829f71f842118556f996e86ee076f1e0a7cd394dfd31a2 +) +vcpkg_extract_source_archive(${CLANG_ARCHIVE} ${SOURCE_PATH}/tools) + +if(NOT EXISTS ${SOURCE_PATH}/tools/clang) + file(RENAME ${SOURCE_PATH}/tools/cfe-5.0.1.src ${SOURCE_PATH}/tools/clang) +endif() + vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES ${CMAKE_CURRENT_LIST_DIR}/install-cmake-modules-to-share.patch @@ -29,7 +40,7 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DLLVM_TARGETS_TO_BUILD=X86 - -DLLVM_INCLUDE_TOOLS=OFF + -DLLVM_INCLUDE_TOOLS=ON -DLLVM_INCLUDE_UTILS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF @@ -39,6 +50,14 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*) +file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*) +file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/llvm) +file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/llvm) +file(REMOVE ${EXE}) +file(REMOVE ${DEBUG_EXE}) + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clang TARGET_PATH share/clang) vcpkg_fixup_cmake_targets(CONFIG_PATH share/llvm) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/llvm) @@ -46,6 +65,11 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/tools ${CURRENT_PACKAGES_DIR}/debug/share + ${CURRENT_PACKAGES_DIR}/debug/bin + ${CURRENT_PACKAGES_DIR}/debug/msbuild-bin + ${CURRENT_PACKAGES_DIR}/bin + ${CURRENT_PACKAGES_DIR}/msbuild-bin + ${CURRENT_PACKAGES_DIR}/tools/msbuild-bin ) # Remove one empty include subdirectory if it is indeed empty diff --git a/ports/log4cplus/portfile.cmake b/ports/log4cplus/portfile.cmake index db694315b..acd101c9b 100644 --- a/ports/log4cplus/portfile.cmake +++ b/ports/log4cplus/portfile.cmake @@ -7,19 +7,20 @@ vcpkg_from_github( HEAD_REF master ) +set(THREADPOOL_REF dda9e3d40502e85ce082c05d2c05c1bc94348b6a) vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/log4cplus/ThreadPool/archive/dda9e3d40502e85ce082c05d2c05c1bc94348b6a.tar.gz" - FILENAME "log4cplus-threadpool-97b5877b9c49d02abf.tar.gz" - SHA512 97b5877b9c49d02abfcba4ca1312b833b58e4f0e9884fdcf57c20b7ec58801ed24742c8316512b4de8ab29bae42cc1e34058c0d2443c3a5950a2fb3434f86662 + URLS "https://github.com/log4cplus/ThreadPool/archive/${THREADPOOL_REF}.tar.gz" + FILENAME "log4cplus-threadpool-${THREADPOOL_REF}.tar.gz" + SHA512 225adb11f447495a00e401d32f63d9a7eb3a8191d477a21bfa3c39f1ff5cbe8bfb7770a740e840c5748f816137cdef1a5915b17d16b3dd4c3399d1a67ab0f381 ) vcpkg_extract_source_archive(${ARCHIVE}) file( COPY - ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/COPYING - ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/example.cpp - ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/README.md - ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/ThreadPool.h + ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-${THREADPOOL_REF}/COPYING + ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-${THREADPOOL_REF}/example.cpp + ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-${THREADPOOL_REF}/README.md + ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-${THREADPOOL_REF}/ThreadPool.h DESTINATION ${SOURCE_PATH}/threadpool ) diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL index 6c187f423..5c76b45ae 100644 --- a/ports/magnum-plugins/CONTROL +++ b/ports/magnum-plugins/CONTROL @@ -1,4 +1,4 @@ Source: magnum-plugins -Version: jun2017-5 +Version: jan2018-1 Build-Depends: stb, magnum Description: Plugins for C++11/C++14 and OpenGL graphics engine http://mosra.cz/blog/magnum.php diff --git a/ports/magnum-plugins/portfile.cmake b/ports/magnum-plugins/portfile.cmake index 289816b94..b2b574b06 100644 --- a/ports/magnum-plugins/portfile.cmake +++ b/ports/magnum-plugins/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mosra/magnum-plugins - REF 34a3bc34335ca05097e735db19fe1fae81dbfbb5 - SHA512 8d8998ed0f5a9361fd8a322f0c9ee8bb36b2255487e7198603f316a383a5dcb38160dcfa92759a2e2aa6d13d45f5fdae8f1165e39428d516823bc931d3097b83 + REF f0ddc63385e30c3bae362789855a95de7c46f8a7 + SHA512 d0afda7be75efd2dec731e9435732220a76e735ef58d860f7119f206b1d5828af6e70aca3517b0f930c83440930ed62cb03e6c123e37771b72c50ddb44676945 HEAD_REF master ) diff --git a/ports/magnum/CONTROL b/ports/magnum/CONTROL index 382e39075..a54adc118 100644 --- a/ports/magnum/CONTROL +++ b/ports/magnum/CONTROL @@ -1,4 +1,4 @@ Source: magnum -Version: jun2017-6 +Version: jan2018-1 Build-Depends: corrade, sdl2, openal-soft Description: C++11/C++14 and OpenGL graphics engine http://mosra.cz/blog/magnum.php diff --git a/ports/magnum/portfile.cmake b/ports/magnum/portfile.cmake index 67d96bf5b..57c62431e 100644 --- a/ports/magnum/portfile.cmake +++ b/ports/magnum/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mosra/magnum - REF ed7eac0b42a598dff8984830e7f943dd6af07deb - SHA512 843e209b82b4f6f7c3f9612aec2641a28cb09361eefefe435bb7d2c06d0e4df65b6b9adf5893222cf31ddc3ccec967eb343da1da6180e9fbfef1b26234e145d5 + REF 68953f8c872b7c08f792c6082b8ab152f2119560 + SHA512 00b507b85ed3454f81fe7098e1fc349d4048a2372e3b2aceabccc0c4287540ed3850f8dd9cdcd9cfb9542ba9af741e30e43e2b03bbc5490b552f862da34369b1 HEAD_REF master ) diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL index 4b100879a..6391682c4 100644 --- a/ports/mongo-c-driver/CONTROL +++ b/ports/mongo-c-driver/CONTROL @@ -1,4 +1,4 @@ Source: mongo-c-driver -Version: 1.6.2-1 +Version: 1.9.0 Build-Depends: libbson, openssl (uwp) Description: Client library written in C for MongoDB. diff --git a/ports/mongo-c-driver/bson.patch b/ports/mongo-c-driver/bson.patch deleted file mode 100644 index 6ef5451b8..000000000 --- a/ports/mongo-c-driver/bson.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/build/cmake/FindBSON.cmake b/build/cmake/FindBSON.cmake -index 06fd82e..3ac549d 100644 ---- a/build/cmake/FindBSON.cmake -+++ b/build/cmake/FindBSON.cmake -@@ -11,15 +11,15 @@ endif () - - find_path(BSON_INCLUDE_DIR - NAMES -- libbson-1.0/bson.h -+ bson.h - HINTS - ${BSON_ROOT_DIR} - PATH_SUFFIXES - include -+ libbson-1.0 -+ include/libbson-1.0 - ) - --set(BSON_INCLUDE_DIR "${BSON_INCLUDE_DIR}/libbson-1.0") -- - find_library(BSON - NAMES - "bson-1.0" diff --git a/ports/mongo-c-driver/fix-uwp.patch b/ports/mongo-c-driver/fix-uwp.patch index 13c0a2299..59d67c6be 100644 --- a/ports/mongo-c-driver/fix-uwp.patch +++ b/ports/mongo-c-driver/fix-uwp.patch @@ -1,8 +1,72 @@ -diff --git a/src/mongoc/mongoc-gridfs-file.c b/src/mongoc/mongoc-gridfs-file.c +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5beb610..7e74ff7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,6 +55,7 @@ + + include(MaintainerFlags) + ++if ((NOT ENABLE_STATIC STREQUAL ON) AND (NOT ENABLE_STATIC STREQUAL AUTO)) + # The input variable BSON_ROOT_DIR is respected for backwards compatibility, + # but you should use the standard CMAKE_PREFIX_PATH instead. + message (STATUS "Searching for libbson CMake packages") +@@ -67,12 +68,14 @@ + message ("-- libbson found version \"${BSON_VERSION}\"") + message ("-- libbson include path \"${BSON_INCLUDE_DIRS}\"") + message ("-- libbson libraries \"${BSON_LIBRARIES}\"") ++endif () + + if (ENABLE_STATIC STREQUAL ON OR ENABLE_STATIC STREQUAL AUTO) + find_package (libbson-static-1.0 + "${MONGOC_MAJOR_VERSION}.${MONGOC_MINOR_VERSION}.${MONGOC_MICRO_VERSION}" + HINTS +- ${BSON_ROOT_DIR}) ++ ${BSON_ROOT_DIR} ++ REQUIRED) + + if (ENABLE_STATIC STREQUAL ON AND NOT BSON_STATIC_LIBRARY) + message (FATAL_ERROR "Static libbson not found. Pass -DENABLE_STATIC=OFF") +@@ -627,6 +630,7 @@ + set (LIBS ${LIBS} ws2_32) + endif() + ++if (NOT MONGOC_ENABLE_STATIC) + add_library(mongoc_shared SHARED ${SOURCES} ${HEADERS}) + set_target_properties(mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) + target_link_libraries (mongoc_shared ${LIBS} ${BSON_LIBRARIES}) +@@ -638,6 +642,7 @@ + # This hack sets up standard symlink, libmongoc-1.0.so -> libmongoc-1.0.0.so + set_target_properties(mongoc_shared PROPERTIES VERSION 0 SOVERSION ${MONGOC_MAJOR_VERSION}) + set_target_properties(mongoc_shared PROPERTIES OUTPUT_NAME "mongoc-${MONGOC_API_VERSION}" PREFIX "lib") ++endif () + + if (MONGOC_ENABLE_STATIC) + add_library(mongoc_static STATIC ${SOURCES} ${HEADERS}) +@@ -804,6 +809,7 @@ + file(COPY ${SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR}/tests) + file(COPY ${SOURCE_DIR}/tests/release_files DESTINATION ${PROJECT_BINARY_DIR}/tests) + ++if (NOT MONGOC_ENABLE_STATIC) + install( + TARGETS mongoc_shared ${EXAMPLES} + LIBRARY DESTINATION lib +@@ -810,10 +816,11 @@ + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin + ) ++endif () + + if (MONGOC_ENABLE_STATIC) + install( +- TARGETS mongoc_shared mongoc_static ${EXAMPLES} ++ TARGETS mongoc_static ${EXAMPLES} + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin index 5beb610..7e74ff7 100644 --- a/src/mongoc/mongoc-gridfs-file.c +++ b/src/mongoc/mongoc-gridfs-file.c -@@ -734,7 +734,7 @@ _mongoc_gridfs_file_refresh_page (mongoc_gridfs_file_t *file) +@@ -753,7 +753,7 @@ _mongoc_gridfs_file_refresh_page (mongoc_gridfs_file_t *file) bson_t query; bson_t child; bson_t opts; @@ -15,7 +79,7 @@ diff --git a/src/mongoc/mongoc-handshake.c b/src/mongoc/mongoc-handshake.c index 4e181bd..b274fc1 100644 --- a/src/mongoc/mongoc-handshake.c +++ b/src/mongoc/mongoc-handshake.c -@@ -195,7 +195,8 @@ _get_os_version (void) +@@ -243,7 +243,8 @@ _get_os_version (void) char *ret = bson_malloc (HANDSHAKE_OS_VERSION_MAX); bool found = false; @@ -29,7 +93,7 @@ diff --git a/src/mongoc/mongoc-util.c b/src/mongoc/mongoc-util.c index 6dbb26d..7f33780 100644 --- a/src/mongoc/mongoc-util.c +++ b/src/mongoc/mongoc-util.c -@@ -46,7 +46,11 @@ _mongoc_hex_md5 (const char *input) +@@ -69,7 +69,11 @@ _mongoc_hex_md5 (const char *input) void _mongoc_usleep (int64_t usec) { diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index 4376f324a..3b3b1f863 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -1,21 +1,24 @@ include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mongo-c-driver-1.6.2)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mongo-c-driver-1.9.0)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/mongodb/mongo-c-driver/archive/1.6.2.tar.gz"
- FILENAME "mongo-c-driver-1.6.2.tar.gz"
- SHA512 3533fed665c70b71f0e9473156bab1575f60b0b3db412f19c0a625e1e35683a3077f96b8a0ba337fd755675029f47b68dc3a5fc8f39254bb0be589da57cffad3
+ URLS "https://github.com/mongodb/mongo-c-driver/archive/1.9.0.tar.gz"
+ FILENAME "mongo-c-driver-1.9.0.tar.gz"
+ SHA512 e7785f336c38bbf7dd519351bba2facab025b4d2bcd1eef82e98606a21510af7f799edaf4b4f074bd4c5a17ad63176c276f8c57e499b8d9afd098bce274da4ae
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/bson.patch
- ${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch
)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(ENABLE_STATIC ON)
+else()
+ set(ENABLE_STATIC OFF)
+endif()
+
set(ENABLE_SSL "WINDOWS")
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(ENABLE_SSL "OPENSSL")
@@ -23,11 +26,13 @@ endif() vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DBSON_ROOT_DIR=${CURRENT_INSTALLED_DIR}
-DENABLE_TESTS=OFF
-DENABLE_EXAMPLES=OFF
-DENABLE_SSL=${ENABLE_SSL}
+ -DENABLE_STATIC=${ENABLE_STATIC}
)
vcpkg_install_cmake()
@@ -43,23 +48,47 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mongoc-1.0.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-1.0.lib)
-
file(RENAME
${CURRENT_PACKAGES_DIR}/lib/mongoc-static-1.0.lib
${CURRENT_PACKAGES_DIR}/lib/mongoc-1.0.lib)
file(RENAME
${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-static-1.0.lib
${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-1.0.lib)
-else()
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mongoc-static-1.0.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-static-1.0.lib)
+
+ # drop the __declspec(dllimport) when building static
+ vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/static.patch
+ )
+
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin)
endif()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver RENAME copyright)
file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config.cmake LIBMONGOC_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "/include/libmongoc-1.0" "/include" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "mongoc-static-1.0" "mongoc-1.0" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libmongoc-static-1.0/libmongoc-static-1.0-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-static-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-static-1.0)
+else()
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-1.0/libmongoc-1.0-config.cmake LIBMONGOC_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "/include/libmongoc-1.0" "/include" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-1.0/libmongoc-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-1.0/libmongoc-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0)
+endif()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake ${CURRENT_PACKAGES_DIR}/lib/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
+
vcpkg_copy_pdbs()
diff --git a/ports/mongo-c-driver/static.patch b/ports/mongo-c-driver/static.patch new file mode 100644 index 000000000..7f348ba82 --- /dev/null +++ b/ports/mongo-c-driver/static.patch @@ -0,0 +1,13 @@ +diff --git a/mongoc-macros.h b/mongoc-macros.h +index 909bf6c..0a1f612 100644 +--- a/mongoc-macros.h ++++ b/mongoc-macros.h +@@ -40,7 +40,7 @@ + #elif defined(MONGOC_COMPILATION) + #define MONGOC_API __declspec(dllexport) + #else +-#define MONGOC_API __declspec(dllimport) ++#define MONGOC_API + #endif + #define MONGOC_CALL __cdecl + diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake index 0a192f168..689b075fc 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpfr-3.1.6) vcpkg_download_distfile(ARCHIVE - URLS "http://www.mpfr.org/mpfr-current/mpfr-3.1.6.tar.xz" + URLS "http://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.xz" FILENAME "mpfr-3.1.6.tar.xz" SHA512 746ee74d5026f267f74ab352d850ed30ff627d530aa840c71b24793e44875f8503946bd7399905dea2b2dd5744326254d7889337fe94cfe58d03c4066e9d8054 ) diff --git a/ports/mpg123/0002-fix-x86-build.patch b/ports/mpg123/0002-fix-x86-build.patch new file mode 100644 index 000000000..d7d3887b7 --- /dev/null +++ b/ports/mpg123/0002-fix-x86-build.patch @@ -0,0 +1,24 @@ +diff --git a/src/libmpg123/mangle.h b/src/libmpg123/mangle.h +index 6012ccc..bf37cd7 100644 +--- a/src/libmpg123/mangle.h ++++ b/src/libmpg123/mangle.h +@@ -85,6 +85,10 @@ + #define ASM_VALUE(a) MANGLE_MACROCAT($,a) + #endif + ++#if defined(_WIN32) && !defined(_WIN64) ++#define OPT_X86 ++#endif ++ + /* Enable position-independent code for certain platforms. */ + + #if defined(OPT_X86) +@@ -130,7 +134,7 @@ Lpic_base: \ + /* Dummies for everyone else. */ + #define LOCAL_VAR(a) a + #define GLOBAL_VAR ASM_NAME +-#define GLOBAL_VAR_PTR(a) #error Cannot use indirect addressing in non-PIC object. ++#define GLOBAL_VAR_PTR(a) // #error Cannot use indirect addressing in non-PIC object. + #define FUNC ASM_NAME + #define EXTERNAL_FUNC ASM_NAME + #define GET_GOT diff --git a/ports/mpg123/CONTROL b/ports/mpg123/CONTROL index e4652e52d..f64ae5c56 100644 --- a/ports/mpg123/CONTROL +++ b/ports/mpg123/CONTROL @@ -1,3 +1,3 @@ Source: mpg123 -Version: 1.24.0-1 +Version: 1.25.8-1 Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3).
\ No newline at end of file diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake index cac518cb2..891542f00 100644 --- a/ports/mpg123/portfile.cmake +++ b/ports/mpg123/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) -set(MPG123_VERSION 1.24.0) -set(MPG123_HASH e7c0d7a103daf496e75a6aa6aca861cfc0ad391f242335990c2360305e567039d24ca3b37a35f79b75749055e255f4692b8b43d2fec332b119223b00e12b0cb7) +set(MPG123_VERSION 1.25.8) +set(MPG123_HASH f226317dddb07841a13753603fa13c0a867605a5a051626cb30d45cfba266d3d4296f5b8254f65b403bb5eef6addce1784ae8829b671a746854785cda1bad203) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpg123-${MPG123_VERSION}) #architecture detection @@ -31,7 +31,9 @@ set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}") vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CURRENT_PORT_DIR}/0001-fix-crt-linking.patch") + PATCHES + "${CURRENT_PORT_DIR}/0001-fix-crt-linking.patch" + "${CURRENT_PORT_DIR}/0002-fix-x86-build.patch") vcpkg_build_msbuild( PROJECT_PATH ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj diff --git a/ports/mpir/CONTROL b/ports/mpir/CONTROL index b9d1b2d74..22216d41d 100644 --- a/ports/mpir/CONTROL +++ b/ports/mpir/CONTROL @@ -1,3 +1,3 @@ Source: mpir -Version: 3.0.0-3 +Version: 3.0.0-4 Description: Multiple Precision Integers and Rationals. diff --git a/ports/mpir/portfile.cmake b/ports/mpir/portfile.cmake index c56cfa545..c352b657a 100644 --- a/ports/mpir/portfile.cmake +++ b/ports/mpir/portfile.cmake @@ -8,16 +8,13 @@ if(VCPKG_CRT_LINKAGE STREQUAL "static" AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynam message(FATAL_ERROR "MPIR currently can only be built using the dynamic CRT when building DLLs") endif() -set(MPIR_VERSION 3.0.0) -set(MPIR_HASH "c735105db8b86db739fd915bf16064e6bc82d0565ad8858059e4e93f62c9d72d9a1c02a5ca9859b184346a8dc64fa714d4d61404cff1e405dc548cbd54d0a88e") -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpir-${MPIR_VERSION}) - -vcpkg_download_distfile(ARCHIVE_FILE - URLS "http://mpir.org/mpir-${MPIR_VERSION}.tar.bz2" - FILENAME "mpir-${MPIR_VERSION}.tar.bz2" - SHA512 ${MPIR_HASH} +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wbhart/mpir + REF mpir-3.0.0 + SHA512 7d37f60645c533a6638dde5d9c48f5535022fa0ea02bafd5b714649c70814e88c5e5e3b0bef4c5a749aaf8772531de89c331716ee00ba1c2f9521c2cc8f3c61b + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL index 1b268b456..1666f8ebd 100644 --- a/ports/nlohmann-json/CONTROL +++ b/ports/nlohmann-json/CONTROL @@ -1,3 +1,3 @@ Source: nlohmann-json -Version: 3.0.0 +Version: 3.0.1 Description: JSON for Modern C++ diff --git a/ports/nlohmann-json/portfile.cmake b/ports/nlohmann-json/portfile.cmake index d03c5b395..d47298dd9 100644 --- a/ports/nlohmann-json/portfile.cmake +++ b/ports/nlohmann-json/portfile.cmake @@ -1,11 +1,11 @@ include(vcpkg_common_functions) -set(SOURCE_VERSION 3.0.0) +set(SOURCE_VERSION 3.0.1) vcpkg_download_distfile(HEADER URLS "https://github.com/nlohmann/json/releases/download/v${SOURCE_VERSION}/json.hpp" FILENAME "nlohmann-json-${SOURCE_VERSION}.hpp" - SHA512 0983320160900e7dbb1241d10f5be6eb0c1be39f2af3f153f488533c381e909f4af0d60c25c6a2e4bb7b69ad1ff0033651c52fe36886f917324f355281e99c05 + SHA512 95c0f0ca2e0eddfa462e732055ac6ede208929120bbe5c5d6e1035a7263900590bfeaddcbc4e1043aaa9255906cb0f038af64abf9a8da9fc98a7dc61356e2fef ) vcpkg_download_distfile(LICENSE diff --git a/ports/portmidi/CONTROL b/ports/portmidi/CONTROL new file mode 100644 index 000000000..3534c1856 --- /dev/null +++ b/ports/portmidi/CONTROL @@ -0,0 +1,3 @@ +Source: portmidi +Version: 0.217.1 +Description: Free, cross-platform, open-source I/O library for MIDI diff --git a/ports/portmidi/portfile.cmake b/ports/portmidi/portfile.cmake new file mode 100644 index 000000000..557f4a1ca --- /dev/null +++ b/ports/portmidi/portfile.cmake @@ -0,0 +1,49 @@ +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "WindowsStore not supported") +endif() + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/portmidi) +vcpkg_download_distfile(ARCHIVE + URLS "https://downloads.sourceforge.net/project/portmedia/portmidi/217/portmidi-src-217.zip" + FILENAME "portmidi-src-217.zip" + SHA512 d08d4d57429d26d292b5fe6868b7c7a32f2f1d2428f6695cd403a697e2d91629bd4380242ab2720e8f21c895bb75cb56b709fb663a20e8e623120e50bfc5d90b +) +vcpkg_extract_source_archive(${ARCHIVE}) + +# Mark portmidi-static as static, disable pmjni library depending on the Java SDK + +file(READ "${SOURCE_PATH}/pm_common/CMakeLists.txt" PM_CMAKE) +string(REPLACE "add_library(portmidi-static \${LIBSRC})" "add_library(portmidi-static STATIC \${LIBSRC})" PM_CMAKE "${PM_CMAKE}") +string(REPLACE "add_library(pmjni SHARED \${JNISRC})" "# Removed pmjni" PM_CMAKE "${PM_CMAKE}") +string(REPLACE "target_link_libraries(pmjni \${JNI_EXTRA_LIBS})" "# Removed pmjni" PM_CMAKE "${PM_CMAKE}") +string(REPLACE "set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION \"jnilib\")" "# Removed pmjni" PM_CMAKE "${PM_CMAKE}") +file(WRITE "${SOURCE_PATH}/pm_common/CMakeLists.txt" "${PM_CMAKE}") + +# Run cmake configure step +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DJAVA_INCLUDE_PATH= + -DJAVA_INCLUDE_PATH2= + -DJAVA_JVM_LIBRARY= +) + +# Run cmake build step, nothing is installed on Windows +vcpkg_build_cmake() + +file(INSTALL ${SOURCE_PATH}/pm_common/portmidi.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SOURCE_PATH}/porttime/porttime.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/portmidi_s.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/portmidi_s.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +else() + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/portmidi.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/portmidi.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/portmidi.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/portmidi.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +endif() + +file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/portmidi RENAME copyright) diff --git a/ports/pybind11/CONTROL b/ports/pybind11/CONTROL index 94ed66368..66157db1d 100644 --- a/ports/pybind11/CONTROL +++ b/ports/pybind11/CONTROL @@ -1,4 +1,4 @@ Source: pybind11 -Version: 2.2.0 +Version: 2.2.1 Description: pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code. Build-Depends: python3 diff --git a/ports/pybind11/portfile.cmake b/ports/pybind11/portfile.cmake index 3e5802059..9425baae6 100644 --- a/ports/pybind11/portfile.cmake +++ b/ports/pybind11/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pybind/pybind11 - REF v2.2.0 - SHA512 65d8c2c9ba77b25577dd330356ef9cc8f9af924b1d578c28176f230c6f6a88cfd335cc01cc5e010bb8e641a000a78cfcaa1a1367b438e7c6e0d40ea511494a5a + REF v2.2.1 + SHA512 1bc0646862fabef1111c05403a7238965ce5661a6f53945a1b7c4faad33f039d2ea278de64190099a8ae4fd66487a070de59334a7f32e187060bbbc7e0c3060e HEAD_REF master ) diff --git a/ports/python3/0001-Static-library.patch b/ports/python3/0001-Static-library.patch index 4bc10af41..b5666ba40 100644 --- a/ports/python3/0001-Static-library.patch +++ b/ports/python3/0001-Static-library.patch @@ -1,13 +1,5 @@ -diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index 6ea1848..4134d7b 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj -@@ -1,4 +1,4 @@ --<?xml version="1.0" encoding="utf-8"?> -+<?xml version="1.0" encoding="utf-8"?> - <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> @@ -41,7 +41,7 @@ <Import Project="python.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> @@ -17,7 +9,7 @@ index 6ea1848..4134d7b 100644 <UseOfMfc>false</UseOfMfc> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> -@@ -66,12 +66,24 @@ +@@ -67,13 +67,25 @@ <ClCompile> <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions> <AdditionalIncludeDirectories>$(PySourcePath)Python;$(PySourcePath)Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> @@ -26,6 +18,7 @@ index 6ea1848..4134d7b 100644 </ClCompile> <Link> <AdditionalDependencies>version.lib;shlwapi.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(PySourcePath)PC\external\$(PlatformToolset)\$(ArchName)</AdditionalLibraryDirectories> <BaseAddress>0x1e000000</BaseAddress> </Link> + <Lib> diff --git a/ports/python3/0002-Static-CRT.patch b/ports/python3/0002-Static-CRT.patch index 267d03d75..8f63aa092 100644 --- a/ports/python3/0002-Static-CRT.patch +++ b/ports/python3/0002-Static-CRT.patch @@ -1,8 +1,6 @@ -diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index 4134d7b..ecbccf0 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj -@@ -67,6 +67,10 @@ +@@ -68,6 +68,10 @@ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions> <AdditionalIncludeDirectories>$(PySourcePath)Python;$(PySourcePath)Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_NO_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions)</PreprocessorDefinitions> diff --git a/ports/python3/CONTROL b/ports/python3/CONTROL index 6cef24232..0a730e517 100644 --- a/ports/python3/CONTROL +++ b/ports/python3/CONTROL @@ -1,3 +1,3 @@ Source: python3 -Version: 3.6.1 +Version: 3.6.4 Description: The Python programming language as an embeddable library
\ No newline at end of file diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake index 19f04a15d..9bb50b70c 100644 --- a/ports/python3/portfile.cmake +++ b/ports/python3/portfile.cmake @@ -16,19 +16,23 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic AND VCPKG_CRT_LINKAGE STREQUAL static set(VCPKG_LIBRARY_LINKAGE static) endif() +set(PYTHON_VERSION_MAJOR 3) +set(PYTHON_VERSION_MINOR 6) +set(PYTHON_VERSION_PATCH 4) +set(PYTHON_VERSION ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH}) include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}) vcpkg_from_github( OUT_SOURCE_PATH TEMP_SOURCE_PATH REPO python/cpython - REF v3.6.1 - SHA512 1fdc1dc44d82762a793093fa19d6401c99fbc05375d8d7e378274ed5555a25dfb3537f93ef04e52ebbf95b42fda74303293dd37aba81ce0c4296a675ab75fa62 + REF v${PYTHON_VERSION} + SHA512 32cca5e344ee66f08712ab5533e5518f724f978ec98d985f7612d0bd8d7f5cac25625363c9eead192faf1806d4ea3393515f72ba962a2a0bed26261e56d8c637 HEAD_REF master ) # We need per-triplet directories because we need to patch the project files differently based on the linkage file(COPY ${TEMP_SOURCE_PATH} DESTINATION ${SOURCE_PATH}) -set(SOURCE_PATH ${SOURCE_PATH}/cpython-3.6.1) +set(SOURCE_PATH ${SOURCE_PATH}/cpython-${PYTHON_VERSION}) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) vcpkg_apply_patches( @@ -68,19 +72,19 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() file(GLOB HEADERS ${SOURCE_PATH}/Include/*.h) -file(COPY ${HEADERS} ${SOURCE_PATH}/PC/pyconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/python3.6) +file(COPY ${HEADERS} ${SOURCE_PATH}/PC/pyconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) -file(COPY ${SOURCE_PATH}/Lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/python3) +file(COPY ${SOURCE_PATH}/Lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}) -file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python36.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python36_d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python36.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python36_d.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) endif() # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/python3) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/python3/LICENSE ${CURRENT_PACKAGES_DIR}/share/python3/copyright) +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/copyright) vcpkg_copy_pdbs()
\ No newline at end of file diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL index 9153402c7..244fe200f 100644 --- a/ports/realsense2/CONTROL +++ b/ports/realsense2/CONTROL @@ -1,3 +1,3 @@ Source: realsense2 -Version: 2.8.2 +Version: 2.9.0 Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300). diff --git a/ports/realsense2/crt-linkage-restriction.patch b/ports/realsense2/crt-linkage-restriction.patch index ae4acc834..772978616 100644 --- a/ports/realsense2/crt-linkage-restriction.patch +++ b/ports/realsense2/crt-linkage-restriction.patch @@ -1,8 +1,10 @@ ---- a/CMakeLists.txt 2017-11-07 14:30:02.270145100 +0800 -+++ b/CMakeLists.txt 2017-11-07 14:26:42.306208800 +0800 -@@ -402,16 +402,6 @@ - source_group("Header Files\\Processing Blocks" FILES - src/colorizer.h +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d6717b19..3fb373be 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -453,16 +453,6 @@ if(WIN32) + src/proc/syncer-processing-block.h + src/proc/disparity-transform.h ) - - foreach(flag_var diff --git a/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake index 609b1c660..ccbc664ef 100644 --- a/ports/realsense2/portfile.cmake +++ b/ports/realsense2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO IntelRealSense/librealsense - REF v2.8.2 - SHA512 a2622ff241e939fad74f6d0224b5f9b505e971935bb8f27dc10159a5853bc5d55870c312c0f43014c8c7ec5a1c824e659ee9ee9a574b2d7c9b8e484c1a4918a1 + REF v2.9.0 + SHA512 10b4d165e5763567517fc2320b7094af5a078d1b5da2374cfa8480cab0715303ea29a87f04876cbc39b5d22ac72cba7d13711c0b46fa125fbd2cf13fcb1a28e6 HEAD_REF master ) @@ -19,12 +19,12 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS - -DENFORCE_METADATA=on - -DBUILD_EXAMPLES=off - -DBUILD_GRAPHICAL_EXAMPLES=off - -DBUILD_PYTHON_BINDINGS=off - -DBUILD_UNIT_TESTS=off - -DBUILD_WITH_OPENMP=off # keep OpenMP off until librealsense issue #744 is patched + -DENFORCE_METADATA=ON + -DBUILD_EXAMPLES=OFF + -DBUILD_GRAPHICAL_EXAMPLES=OFF + -DBUILD_PYTHON_BINDINGS=OFF + -DBUILD_UNIT_TESTS=OFF + -DBUILD_WITH_OPENMP=OFF # keep OpenMP off until librealsense issue #744 is patched -DBUILD_SHARED_LIBS=${BUILD_SHARED} OPTIONS_DEBUG "-DCMAKE_PDB_OUTPUT_DIRECTORY=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" diff --git a/ports/rs-core-lib/CONTROL b/ports/rs-core-lib/CONTROL new file mode 100644 index 000000000..f19aa7914 --- /dev/null +++ b/ports/rs-core-lib/CONTROL @@ -0,0 +1,4 @@ +Source: rs-core-lib +Version: commit-1ed2dadbda3977b13e5e83cc1f3eeca76b36ebe5 +Description: Minimal common utilities by Ross Smith + diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake new file mode 100644 index 000000000..78ad34335 --- /dev/null +++ b/ports/rs-core-lib/portfile.cmake @@ -0,0 +1,25 @@ +# 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 = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO CaptainCrowbar/rs-core-lib + REF 1ed2dadbda3977b13e5e83cc1f3eeca76b36ebe5 + SHA512 f84803fdd26f36b2a3748b9668253f058376e19740bc85e009726142b0b1f5906423729d9b71b224a995869a428a7e1e7b1f8afae897d416d9dfc1708b41975a + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/rs-core DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.hpp") + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/rs-core-lib RENAME copyright)
\ No newline at end of file diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL index 1c43b1720..65dd215ac 100644 --- a/ports/sciter/CONTROL +++ b/ports/sciter/CONTROL @@ -1,4 +1,4 @@ Source: sciter -Version: 4.0.7 +Version: 4.1.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 55b99d296..4aec0c397 100644 --- a/ports/sciter/portfile.cmake +++ b/ports/sciter/portfile.cmake @@ -12,8 +12,8 @@ include(vcpkg_common_functions) # header-only library set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) -set(SCITER_REVISION e5e612ae914233d2436240cdd7730fb739461f8e) -set(SCITER_SHA 8d4412e6e9047bbcc5fa0dae4b49844367f3b621b0edca2544f907dc651a1be7fddbedf5004ddbcb5b9bbe26abca0259c78c89febab6778806c4a62a50908bf2) +set(SCITER_REVISION c6f5f5e826160920dd7409481c1d064bde995cde) +set(SCITER_SHA 47c634dc5ad5907d7f21207d1d4bfe4df06910417ce53169020466afcebe94f1cae9a0cccbf3fc105eab16315da65c74eed7af5efc9ca438b9cbb5d6e9bb09e1) if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) set(SCITER_ARCH 64) diff --git a/ports/sdl2-image/CMakeLists.txt b/ports/sdl2-image/CMakeLists.txt index d04b3f7b6..0df7e7d36 100644 --- a/ports/sdl2-image/CMakeLists.txt +++ b/ports/sdl2-image/CMakeLists.txt @@ -5,7 +5,7 @@ project(SDL2_image C) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") # enable all file formats which are supported natively -set(SUPPORTED_FORMATS BMP GIF LBM PCX PNM TGA XPM XCF XV) +set(SUPPORTED_FORMATS BMP GIF LBM PCX PNM TGA XPM XCF XV SVG) # enable all file formats which are supported through external dependencies # first try to load them statically (lib file in vcpkg installation) @@ -34,6 +34,7 @@ add_library(SDL2_image IMG_pcx.c IMG_png.c IMG_pnm.c + IMG_svg.c IMG_tga.c IMG_tif.c IMG_webp.c @@ -41,6 +42,7 @@ add_library(SDL2_image IMG_xpm.c IMG_xv.c IMG_xxx.c + version.rc ) set_target_properties(SDL2_image PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS) diff --git a/ports/sdl2-image/CONTROL b/ports/sdl2-image/CONTROL index aff048d9a..f9d5e14ed 100644 --- a/ports/sdl2-image/CONTROL +++ b/ports/sdl2-image/CONTROL @@ -1,5 +1,5 @@ Source: sdl2-image -Version: 2.0.1-3 +Version: 2.0.2-1 Build-Depends: sdl2, libpng, libjpeg-turbo, tiff, libwebp Description: SDL_image is an image file loading library. It loads images as SDL surfaces and textures, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, XV diff --git a/ports/sdl2-image/correct-sdl-headers-dir.patch b/ports/sdl2-image/correct-sdl-headers-dir.patch deleted file mode 100644 index 4addc155d..000000000 --- a/ports/sdl2-image/correct-sdl-headers-dir.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git "a/SDL_image.h" "b/SDL_image.h" -index f654483..1bd4f62 100644 ---- "a/SDL_image.h" -+++ "b/SDL_image.h" -@@ -24,9 +24,9 @@ - #ifndef _SDL_IMAGE_H - #define _SDL_IMAGE_H - --#include "SDL.h" --#include "SDL_version.h" --#include "begin_code.h" -+#include <SDL2/SDL.h> -+#include <SDL2/SDL_version.h> -+#include <SDL2/begin_code.h> - - /* Set up for C function definitions, even when using C++ */ - #ifdef __cplusplus -@@ -140,6 +140,6 @@ extern DECLSPEC int SDLCALL IMG_SavePNG_RW(SDL_Surface *surface, SDL_RWops *dst, - #ifdef __cplusplus - } - #endif --#include "close_code.h" -+#include <SDL2/close_code.h> - - #endif /* _SDL_IMAGE_H */ diff --git a/ports/sdl2-image/portfile.cmake b/ports/sdl2-image/portfile.cmake index ad3f1a2d5..10567a131 100644 --- a/ports/sdl2-image/portfile.cmake +++ b/ports/sdl2-image/portfile.cmake @@ -7,19 +7,15 @@ # include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2_image-2.0.1) +set(SDL2_IMAGE_VERSION "2.0.2") +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2_image-${SDL2_IMAGE_VERSION}) vcpkg_download_distfile(ARCHIVE - URLS "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.zip" - FILENAME "SDL2_image-2.0.1.zip" - SHA512 37d12f4fae71c586bec73262bddb9207ab2f9a2ca6001d2cbfde646e268a950ba5cd4cff53d75e2da8959ae6da6e9cadc6eca88fa7bd9aa2758395d64c84a307 + URLS "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-${SDL2_IMAGE_VERSION}.zip" + FILENAME "SDL2_image-${SDL2_IMAGE_VERSION}.zip" + SHA512 bf143bdbd3cb7cfad61b8dcc35950584304deac802bad6c0c8144e914401a5ddef01f674d2dc1214371d0f371f76e87a45873e2655947e8e1da83fb44d8285f4 ) vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/correct-sdl-headers-dir.patch) - file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindWEBP.cmake DESTINATION ${SOURCE_PATH}/cmake) diff --git a/ports/sdl2-mixer/CMakeLists.txt b/ports/sdl2-mixer/CMakeLists.txt index 3a2aa0780..1df35c44a 100644 --- a/ports/sdl2-mixer/CMakeLists.txt +++ b/ports/sdl2-mixer/CMakeLists.txt @@ -68,7 +68,8 @@ add_library(SDL2_mixer music_timidity.c music_wav.c native_midi/native_midi_common.c - native_midi/native_midi_win32.c) + native_midi/native_midi_win32.c + version.rc) set_target_properties(SDL2_mixer PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS) target_compile_definitions(SDL2_mixer PRIVATE ${SDL_MIXER_DEFINES}) diff --git a/ports/sdl2-mixer/CONTROL b/ports/sdl2-mixer/CONTROL index 978b87d13..e66081fc7 100644 --- a/ports/sdl2-mixer/CONTROL +++ b/ports/sdl2-mixer/CONTROL @@ -1,4 +1,4 @@ Source: sdl2-mixer -Version: 2.0.2-1 +Version: 2.0.2-2 Description: Multi-channel audio mixer library for SDL. Build-Depends: sdl2, libflac, mpg123, libmodplug, libvorbis diff --git a/ports/sdl2-net/CMakeLists.txt b/ports/sdl2-net/CMakeLists.txt index 4127262d7..aea5f005e 100644 --- a/ports/sdl2-net/CMakeLists.txt +++ b/ports/sdl2-net/CMakeLists.txt @@ -6,7 +6,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4244 /wd4996") find_path(SDL_INCLUDE_DIR SDL2/SDL.h) find_library(SDL_LIBRARY NAMES SDL2d SDL2) -add_library(SDL2_net SDLnet.c SDLnetselect.c SDLnetTCP.c SDLnetUDP.c) +add_library(SDL2_net SDLnet.c SDLnetselect.c SDLnetTCP.c SDLnetUDP.c version.rc) set_target_properties(SDL2_net PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS) target_compile_definitions(SDL2_net PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS) diff --git a/ports/sdl2-net/CONTROL b/ports/sdl2-net/CONTROL index 6b2793449..ff239d5a4 100644 --- a/ports/sdl2-net/CONTROL +++ b/ports/sdl2-net/CONTROL @@ -1,4 +1,4 @@ Source: sdl2-net -Version: 2.0.1-3 +Version: 2.0.1-4 Description: Networking library for SDL Build-Depends: sdl2 diff --git a/ports/sdl2-ttf/CMakeLists.txt b/ports/sdl2-ttf/CMakeLists.txt index 7e3a180f9..7c3e8fc77 100644 --- a/ports/sdl2-ttf/CMakeLists.txt +++ b/ports/sdl2-ttf/CMakeLists.txt @@ -5,7 +5,7 @@ find_path(SDL_INCLUDE_DIR SDL2/SDL.h) find_library(SDL_LIBRARY NAMES SDL2d SDL2) find_package(FreeType REQUIRED) -add_library(SDL2_ttf SDL_ttf.c) +add_library(SDL2_ttf SDL_ttf.c version.rc) set_target_properties(SDL2_ttf PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS) target_include_directories(SDL2_ttf PRIVATE ${SDL_INCLUDE_DIR}/SDL2 ${FREETYPE_INCLUDE_DIR_ft2build}) diff --git a/ports/sdl2-ttf/CONTROL b/ports/sdl2-ttf/CONTROL index 18773dd21..362daf221 100644 --- a/ports/sdl2-ttf/CONTROL +++ b/ports/sdl2-ttf/CONTROL @@ -1,4 +1,4 @@ Source: sdl2-ttf -Version: 2.0.14-3 +Version: 2.0.14-4 Description: A library for rendering TrueType fonts with SDL Build-Depends: sdl2, freetype diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL index 44ea3ce3c..f349dc2d4 100644 --- a/ports/sdl2/CONTROL +++ b/ports/sdl2/CONTROL @@ -1,3 +1,3 @@ Source: sdl2 -Version: 2.0.7-3 +Version: 2.0.7-4 Description: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake index 17f96748e..7aa17b261 100644 --- a/ports/sdl2/portfile.cmake +++ b/ports/sdl2/portfile.cmake @@ -1,15 +1,12 @@ include(vcpkg_common_functions) -set(SDL2_VERSION 2.0.7) -set(SDL2_HASH eed5477843086a0e66552eb197a5c4929134522bc366d873732361ea0df5fb841ef7e2b1913e21d1bae69e6fd3152ee630492e615c58cbe903e7d6e47b587410) - -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2-${SDL2_VERSION}) -vcpkg_download_distfile(ARCHIVE_FILE - URLS "http://libsdl.org/release/SDL2-${SDL2_VERSION}.tar.gz" - FILENAME "SDL2-${SDL2_VERSION}.tar.gz" - SHA512 ${SDL2_HASH} +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO SDL-Mirror/SDL + REF release-2.0.7 + SHA512 3667c7299d007e0438de90c6dd1f19ad9f30cf155c35792c40267bc74f8fe8acd1046ac918a104690ccba3faa2dbd86b37821a38c6c389179359b903209e2eb7 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/sol/CONTROL b/ports/sol/CONTROL new file mode 100644 index 000000000..f1bd57fa3 --- /dev/null +++ b/ports/sol/CONTROL @@ -0,0 +1,3 @@ +Source: sol +Version: 2.18.7 +Description: Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great diff --git a/ports/sol/portfile.cmake b/ports/sol/portfile.cmake new file mode 100644 index 000000000..83d59becc --- /dev/null +++ b/ports/sol/portfile.cmake @@ -0,0 +1,25 @@ +# 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 = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ThePhD/sol2 + REF v2.18.7 + SHA512 747dbcba2da4e44bfb365c0fd0c8df916d0e5d0ddbaa9df514838d84a8fd4261c87db7d14d9683b708b874cd6a73586e7854d9a784743a737858b73acdd78f1c + HEAD_REF develop +) + +file(INSTALL ${SOURCE_PATH}/single/sol/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sol RENAME copyright) diff --git a/ports/soundtouch/CONTROL b/ports/soundtouch/CONTROL new file mode 100644 index 000000000..c4bc8df52 --- /dev/null +++ b/ports/soundtouch/CONTROL @@ -0,0 +1,4 @@ +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 new file mode 100644 index 000000000..42c055312 --- /dev/null +++ b/ports/soundtouch/portfile.cmake @@ -0,0 +1,70 @@ +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_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "WindowsStore not supported") +endif() + +set(VERSION 2.0.0) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/soundtouch) + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.surina.net/soundtouch/soundtouch-${VERSION}.zip" + FILENAME "soundtouch-${VERSION}.zip" + SHA512 50ef36b6cd21c16e235b908c5518e29b159b11f658a014c47fe767d3d8acebaefefec0ce253b4ed322cbd26387c69c0ed464ddace0c098e61d56d55c198117a5 +) + +vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_execute_required_process( + COMMAND "devenv.exe" + "SoundTouchDLL.sln" + /Upgrade + WORKING_DIRECTORY ${SOURCE_PATH}/source/SoundTouchDLL + LOGNAME upgrade-Packet-${TARGET_TRIPLET} +) + +IF (TRIPLET_SYSTEM_ARCH MATCHES "x64") + # There is no x64 Debug target + SET(BUILD_RELEASE_CONFIGURATION "ReleaseX64") + SET(BUILD_DEBUG_CONFIGURATION "ReleaseX64") +ELSE() + SET(BUILD_RELEASE_CONFIGURATION "Release") + SET(BUILD_DEBUG_CONFIGURATION "Debug") +ENDIF() + +SET(BUILD_ARCH "Win32") + +vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/source/SoundTouchDLL/SoundTouchDLL.sln + PLATFORM ${BUILD_ARCH} + RELEASE_CONFIGURATION ${BUILD_RELEASE_CONFIGURATION} + DEBUG_CONFIGURATION ${BUILD_DEBUG_CONFIGURATION} +) + +file(INSTALL ${SOURCE_PATH}/source/SoundTouchDLL/SoundTouchDLL.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle libraries +IF (BUILD_RELEASE_CONFIGURATION STREQUAL ReleaseX64) + file(INSTALL ${SOURCE_PATH}/lib/SoundTouch_x64.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDll_x64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +ELSE() + file(INSTALL ${SOURCE_PATH}/lib/SoundTouch.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDll.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +ENDIF() + +IF (BUILD_DEBUG_CONFIGURATION STREQUAL ReleaseX64) + file(INSTALL ${SOURCE_PATH}/lib/SoundTouch_x64.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDll_x64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +ELSE() + file(INSTALL ${SOURCE_PATH}/lib/SoundTouchD.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDllD.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +ENDIF() + +file(COPY ${SOURCE_PATH}/COPYING.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/soundtouch) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/soundtouch/COPYING.TXT ${CURRENT_PACKAGES_DIR}/share/soundtouch/copyright) diff --git a/ports/sqlitecpp/0001-Find-external-sqlite3.patch b/ports/sqlitecpp/0001-Find-external-sqlite3.patch new file mode 100644 index 000000000..ef6700e14 --- /dev/null +++ b/ports/sqlitecpp/0001-Find-external-sqlite3.patch @@ -0,0 +1,26 @@ +From 495f0f8bf2caf158ffed78e479d68359f51289a2 Mon Sep 17 00:00:00 2001 +From: Stanislav Ershov <digital.stream.of.mind@gmail.com> +Date: Sat, 6 Jan 2018 11:26:55 +0300 +Subject: [PATCH] Find external sqlite3 + +--- + CMakeLists.txt | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4a3e492..f7e22a5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -193,7 +193,8 @@ install(EXPORT ${PROJECT_NAME}Config DESTINATION lib/cmake/${PROJECT_NAME}) + ## Build provided copy of SQLite3 C library ## + + # TODO NOCOMMIT +-#find_package(sqlite3) ++find_package(sqlite3 REQUIRED) ++target_link_libraries(SQLiteCpp PRIVATE sqlite3) + #if(sqlite3_VERSION VERSION_LESS "3.19") + # set_target_properties(SQLiteCpp PROPERTIES COMPILE_FLAGS "-DSQLITECPP_HAS_MEM_STRUCT") + #endif() +-- +2.15.0.windows.1 + diff --git a/ports/sqlitecpp/CONTROL b/ports/sqlitecpp/CONTROL new file mode 100644 index 000000000..133ac6703 --- /dev/null +++ b/ports/sqlitecpp/CONTROL @@ -0,0 +1,4 @@ +Source: sqlitecpp +Version: 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 new file mode 100644 index 000000000..2af9c8cfa --- /dev/null +++ b/ports/sqlitecpp/portfile.cmake @@ -0,0 +1,33 @@ +include(vcpkg_common_functions) +vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH + REPO "SRombauts/SQLiteCpp" + REF "2.2.0" + HEAD_REF master + SHA512 769857c50cc24596cbd7c6f057ca1e158a3bfecf00d7865d6ef0b90a2ff8ecb9ccb9e1d0e660bb9df8ecd50075a94a9bc9e3a71b96f2ef1c30780c6da9446cf0) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + 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 + OPTIONS + -DSQLITECPP_RUN_CPPLINT=OFF + -DSQLITECPP_RUN_CPPCHECK=OFF + -DSQLITECPP_INTERNAL_SQLITE=OFF + -DSQLITE_ENABLE_COLUMN_METADATA=OFF +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SQLiteCpp) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sqlitecpp RENAME copyright) diff --git a/ports/szip/CONTROL b/ports/szip/CONTROL index c775581ad..37923213a 100644 --- a/ports/szip/CONTROL +++ b/ports/szip/CONTROL @@ -1,3 +1,3 @@ Source: szip -Version: 2.1-2 +Version: 2.1.1 Description: Szip compression software, providing lossless compression of scientific data diff --git a/ports/szip/disable-static-lib-in-shared-build.patch b/ports/szip/disable-static-lib-in-shared-build.patch index f06e6dcf6..02110cb2a 100644 --- a/ports/szip/disable-static-lib-in-shared-build.patch +++ b/ports/szip/disable-static-lib-in-shared-build.patch @@ -1,5 +1,5 @@ ---- a/src/CMakeLists.txt Mon Aug 03 17:10:33 2015 -+++ b/src/CMakeLists.txt Fri Jan 13 09:38:07 2017 +--- a/src/CMakeLists.txt Fri Feb 03 20:42:43 2017 ++++ b/src/CMakeLists.txt Wed Jan 03 11:42:51 2018 @@ -22,20 +22,22 @@ ${SZIP_SRC_SOURCE_DIR}/szlib.h ) @@ -37,3 +37,14 @@ if (BUILD_SHARED_LIBS) add_library (${SZIP_LIBSH_TARGET} SHARED ${SZIP_SRCS} ${SZIP_PUBLIC_HEADERS}) +@@ -62,8 +64,9 @@ + if (SZIP_EXPORTED_TARGETS) + if (BUILD_SHARED_LIBS) + INSTALL_TARGET_PDB (${SZIP_LIBSH_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries) ++ else() ++ INSTALL_TARGET_PDB (${SZIP_LIB_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries) + endif (BUILD_SHARED_LIBS) +- INSTALL_TARGET_PDB (${SZIP_LIB_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries) + + install ( + TARGETS diff --git a/ports/szip/portfile.cmake b/ports/szip/portfile.cmake index 957d91ea1..39d5646ee 100644 --- a/ports/szip/portfile.cmake +++ b/ports/szip/portfile.cmake @@ -1,25 +1,12 @@ include(vcpkg_common_functions) -# set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/szip-2.1) -# vcpkg_download_distfile(ARCHIVE -# URLS "https://support.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz" -# FILENAME "szip-2.1.tar.gz" -# SHA512 ea91b877bb061fe6c96988a3c4b705e101a6950e34e9be53d6a57455c6a625be0afa60f4a3cfdd09649205b9f8586cc25ea60fe07a8131579acf3826b35fb749 -# ) -# vcpkg_extract_source_archive(${ARCHIVE}) - -# NOTE: We use Szip from the HDF5 cmake package dir, because it includes a lot of fixes for the CMake build files - -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.0-patch1) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/szip-2.1.1) vcpkg_download_distfile(ARCHIVE - URLS "http://hdf4.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.0-patch1/src/CMake-hdf5-1.10.0-patch1.zip" - FILENAME "CMake-hdf5-1.10.0-patch1.zip" - SHA512 ec2edb43438661323be5998ecf64c4dd537ddc7451e31f89390260d16883e60a1ccc1bf745bcb809af22f2bf7157d50331a33910b8ebf5c59cd50693dfb2ef8f + URLS "https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz" + FILENAME "szip-2.1.1.tar.gz" + SHA512 ada6406efb096cd8a2daf8f9217fe9111a96dcae87e29d1c31f58ddd2ad2aa7bac03f23c7205dc9360f3b62d259461759330c7189ef0c2fe559704b1ea9d40dd ) vcpkg_extract_source_archive(${ARCHIVE}) -set(ARCHIVE ${SOURCE_PATH}/SZip.tar.gz) -vcpkg_extract_source_archive(${ARCHIVE}) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/Szip) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/tacopie/CONTROL b/ports/tacopie/CONTROL index c0464c02b..ae46741d5 100644 --- a/ports/tacopie/CONTROL +++ b/ports/tacopie/CONTROL @@ -1,3 +1,3 @@ Source: tacopie -Version: 2.4.1-2 +Version: 3.2.0 Description: Tacopie is a TCP Client & Server C++11 library diff --git a/ports/tacopie/fix-cmakelists.patch b/ports/tacopie/fix-cmakelists.patch new file mode 100644 index 000000000..48ba317bd --- /dev/null +++ b/ports/tacopie/fix-cmakelists.patch @@ -0,0 +1,27 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,6 +26,7 @@ + cmake_minimum_required(VERSION 2.8.7) + set(CMAKE_MACOSX_RPATH 1) + include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) ++include(${CMAKE_ROOT}/Modules/GenerateExportHeader.cmake) + + + ### +@@ -153,6 +154,8 @@ IF (SELECT_TIMEOUT) + set_target_properties(${PROJECT} PROPERTIES COMPILE_DEFINITIONS "__TACOPIE_TIMEOUT=${SELECT_TIMEOUT}") + ENDIF(SELECT_TIMEOUT) + ++generate_export_header(${PROJECT} EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/tacopie/utils/${PROJECT}_export.hpp) ++target_include_directories(${PROJECT} PUBLIC ${CMAKE_BINARY_DIR}) + + ### + # install +@@ -164,6 +167,7 @@ install(DIRECTORY DESTINATION ${CMAKE_BINARY_DIR}/bin/) + install (DIRECTORY ${CMAKE_BINARY_DIR}/lib/ DESTINATION lib USE_SOURCE_PERMISSIONS) + install (DIRECTORY ${CMAKE_BINARY_DIR}/bin/ DESTINATION bin USE_SOURCE_PERMISSIONS) + install (DIRECTORY ${TACOPIE_INCLUDES}/ DESTINATION include USE_SOURCE_PERMISSIONS) ++install (FILES ${CMAKE_BINARY_DIR}/tacopie/utils/${PROJECT}_export.hpp DESTINATION include/tacopie/utils) + + + ### diff --git a/ports/tacopie/fix-export.patch b/ports/tacopie/fix-export.patch new file mode 100644 index 000000000..d971b8338 --- /dev/null +++ b/ports/tacopie/fix-export.patch @@ -0,0 +1,20 @@ +--- a/includes/tacopie/utils/logger.hpp ++++ b/includes/tacopie/utils/logger.hpp +@@ -26,6 +26,8 @@ + #include <mutex> + #include <string> + ++#include <tacopie/utils/tacopie_export.hpp> ++ + namespace tacopie { + + //! +@@ -161,7 +163,7 @@ private: + //! variable containing the current logger + //! by default, not set (no logs) + //! +-extern std::unique_ptr<logger_iface> active_logger; ++extern TACOPIE_EXPORT std::unique_ptr<logger_iface> active_logger; + + //! + //! debug logging diff --git a/ports/tacopie/portfile.cmake b/ports/tacopie/portfile.cmake index dac3cf858..d1e30e67e 100644 --- a/ports/tacopie/portfile.cmake +++ b/ports/tacopie/portfile.cmake @@ -1,17 +1,20 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "cpp-redis only supports static library linkage.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Cylix/tacopie - REF 2.4.1 - SHA512 a1579080412114d3899492cd9559bb0eadd6048c1f84ac66ec8ca47bd6fbb35306f0d203d789bd1b7ed0a0a5ab27434dfe6583a1c67873c85bca4b6e2a186d77 + REF 3.2.0 + SHA512 079b294b537aaffe3bcf43a485c3be5b15f633c3f7c70140032d60cb010d35b76e76ef4ddd7596f6bfaf3f7edca7cb086c67552efffbf65846e725d7be54ce72 HEAD_REF master ) +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch + ${CMAKE_CURRENT_LIST_DIR}/fix-export.patch +) + if(VCPKG_CRT_LINKAGE STREQUAL dynamic) set(MSVC_RUNTIME_LIBRARY_CONFIG "/MD") else() @@ -27,11 +30,16 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DMSVC_RUNTIME_LIBRARY_CONFIG=${MSVC_RUNTIME_LIBRARY_CONFIG} + -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE ) vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tacopie RENAME copyright) diff --git a/ports/tclap/CONTROL b/ports/tclap/CONTROL index 1e086a845..e4276ca03 100644 --- a/ports/tclap/CONTROL +++ b/ports/tclap/CONTROL @@ -1,3 +1,3 @@ Source: tclap -Version: 1.2.1 +Version: 1.2.2 Description: Templatized command-line argument parser for C++ diff --git a/ports/tclap/portfile.cmake b/ports/tclap/portfile.cmake index 8f41d076f..96337418a 100644 --- a/ports/tclap/portfile.cmake +++ b/ports/tclap/portfile.cmake @@ -1,10 +1,10 @@ #header-only library include(vcpkg_common_functions) -set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/tclap-1.2.1") +set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/tclap-1.2.2") vcpkg_download_distfile(ARCHIVE - URLS "http://downloads.sourceforge.net/project/tclap/tclap-1.2.1.tar.gz" - FILENAME "tclap-1.2.1.tar.gz" - SHA512 8bd6ee724600880840048c7b36f02d31b1aa4910b17f80fb04aef89b1f1917856d9979ec488edbd457b66d9d689aea97540abb842a8b902bbd75c66a6e07b9b1 + URLS "http://downloads.sourceforge.net/project/tclap/tclap-1.2.2.tar.gz" + FILENAME "tclap-1.2.2.tar.gz" + SHA512 516ec17f82a61277922bc8c0ed66973300bf42a738847fbbd2912c6405c34f94a13e47dc964854a5b26a9a9f1f518cce682ca54e769d6016851656c647866107 ) vcpkg_extract_source_archive(${ARCHIVE}) diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake index bfa1c3853..292389350 100644 --- a/ports/tiff/portfile.cmake +++ b/ports/tiff/portfile.cmake @@ -18,6 +18,10 @@ vcpkg_apply_patches( ${CMAKE_CURRENT_LIST_DIR}/crt-secure-no-deprecate.patch ) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set (TIFF_CXX_TARGET -Dcxx=OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -28,6 +32,7 @@ vcpkg_configure_cmake( -DBUILD_TESTS=OFF -Djbig=OFF # This is disabled by default due to GPL/Proprietary licensing. -Djpeg12=OFF + ${TIFF_CXX_TARGET} ) vcpkg_install_cmake() diff --git a/ports/tre/CMakeLists.txt b/ports/tre/CMakeLists.txt new file mode 100644 index 000000000..09113fca1 --- /dev/null +++ b/ports/tre/CMakeLists.txt @@ -0,0 +1,37 @@ +cmake_minimum_required (VERSION 3.9) +project (tre) + +set (HEADERS + lib/regex.h + include/tre/tre.h + include/tre/tre-config.h +) + +set (SRCS + lib/regcomp.c + lib/regerror.c + lib/regexec.c + lib/tre-ast.c + lib/tre-compile.c + lib/tre-match-approx.c + lib/tre-match-backtrack.c + lib/tre-match-parallel.c + lib/tre-mem.c + lib/tre-parse.c + lib/tre-stack.c + lib/xmalloc.c + win32/tre.def +) + +include_directories(win32 include/tre) +add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -DHAVE_CONFIG_H) +add_library(tre ${SRCS}) + +install( + TARGETS tre + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install(FILES ${HEADERS} DESTINATION include/tre) diff --git a/ports/tre/CONTROL b/ports/tre/CONTROL new file mode 100644 index 000000000..a5df8cd11 --- /dev/null +++ b/ports/tre/CONTROL @@ -0,0 +1,3 @@ +Source: tre +Version: 0.8.0-1 +Description: TRE is a lightweight, robust, and efficient POSIX compliant regexp matching library with some exciting features such as approximate (fuzzy) matching. diff --git a/ports/tre/portfile.cmake b/ports/tre/portfile.cmake new file mode 100644 index 000000000..0cf993082 --- /dev/null +++ b/ports/tre/portfile.cmake @@ -0,0 +1,26 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO laurikari/tre + REF 6fb7206b935b35814c5078c20046dbe065435363 + SHA512 f1d664719eab23b665d71e34ca3d11f8ba49da23ff20dc28f46d4ce30fe155c12208ba7fd212dbeb20a7037e069909f0c2120ce1fc01074656399805e3289a90 + HEAD_REF master +) + +file(READ ${SOURCE_PATH}/win32/config.h CONFIG_H) +string(REPLACE "#define snprintf sprintf_s" "" CONFIG_H ${CONFIG_H}) +file(WRITE ${SOURCE_PATH}/win32/config.h "${CONFIG_H}") + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tre RENAME copyright) diff --git a/ports/unicorn-lib/CMakeLists.txt b/ports/unicorn-lib/CMakeLists.txt new file mode 100644 index 000000000..b34e04f23 --- /dev/null +++ b/ports/unicorn-lib/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.10) + +project(Unicorn_Lib LANGUAGES CXX DESCRIPTION "Unicode library for C++ by Ross Smith") +set(CMAKE_CXX_STANDARD 17) +option(UNICORN_LIB_SKIP_HEADERS "If the headers installation is skipped or not." OFF) + +find_path(RS_CORE_LIB_INCLUDE_DIR rs-core/common.hpp) +#find_library(RW_UTILITIES_LIBRARY NAMES rw_utilities) + +file(GLOB_RECURSE UNICORN_LIB_SOURCES ${PROJECT_SOURCE_DIR}/unicorn/*.cpp) +foreach(ITR ${UNICORN_LIB_SOURCES}) + if(ITR MATCHES "(.*)-test.cpp(.*)") + list(REMOVE_ITEM UNICORN_LIB_SOURCES ${ITR}) + endif() +endforeach() +add_library(unicorn-lib ${UNICORN_LIB_SOURCES}) +target_include_directories( + unicorn-lib + PUBLIC ${PROJECT_SOURCE_DIR} + PUBLIC ${RS_CORE_LIB_INCLUDE_DIR} +) +target_compile_definitions( + unicorn-lib + PRIVATE -DUNICODE -D_UNICODE _CRT_SECURE_NO_WARNINGS +) + +if(NOT UNICORN_LIB_SKIP_HEADERS) + install(DIRECTORY ${PROJECT_SOURCE_DIR}/unicorn DESTINATION include FILES_MATCHING PATTERN "*.hpp") +endif() +install(TARGETS unicorn-lib DESTINATION lib)
\ No newline at end of file diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL new file mode 100644 index 000000000..ac8a96114 --- /dev/null +++ b/ports/unicorn-lib/CONTROL @@ -0,0 +1,4 @@ +Source: unicorn-lib +Version: commit-3ffa7fe69a1d0c37fb52a4af61380c5fd84fa5aa +Description: Unicode library for C++ by Ross Smith +Build-Depends: rs-core-lib, pcre, zlib, libiconv diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake new file mode 100644 index 000000000..5067bcf8c --- /dev/null +++ b/ports/unicorn-lib/portfile.cmake @@ -0,0 +1,34 @@ +# 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 = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO CaptainCrowbar/unicorn-lib + REF 3ffa7fe69a1d0c37fb52a4af61380c5fd84fa5aa + SHA512 5e942cf111746ef430c8a3488e7f2e554fa374ff16111439274dec376396a950e49bf816a10d6a8d97d6008edbd14350568d00664f15c1a0bd09c93450ed0554 + HEAD_REF master +) + +file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_DEBUG + -DUNICORN_LIB_SKIP_HEADERS=ON +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/unicorn-lib RENAME copyright)
\ No newline at end of file diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index 3919619ef..8b9ae8f6b 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,5 +1,5 @@ Source: vtk -Version: 8.0.1-5 +Version: 8.1.0-1 Description: Software system for 3D computer graphics, image processing, and visualization Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora @@ -13,7 +13,7 @@ Build-Depends: qt5 Feature: mpi Description: MPI functionality for VTK -Build-Depends: msmpi +Build-Depends: msmpi, hdf5[parallel] Feature: python Description: Python functionality for VTK diff --git a/ports/vtk/FindHDF5.cmake b/ports/vtk/FindHDF5.cmake index 4a8c4a166..f3c6bd30f 100644 --- a/ports/vtk/FindHDF5.cmake +++ b/ports/vtk/FindHDF5.cmake @@ -2,22 +2,26 @@ find_package(HDF5 NO_MODULE REQUIRED) set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
-add_library(vtk::hdf5::hdf5 INTERFACE IMPORTED GLOBAL)
-if(TARGET hdf5-static)
- set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5-static")
-elseif(TARGET hdf5-shared)
- set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5-shared")
-else()
- message(FATAL_ERROR "could not find target hdf5-*")
+if(NOT TARGET vtk::hdf5::hdf5)
+ add_library(vtk::hdf5::hdf5 INTERFACE IMPORTED GLOBAL)
+ if(TARGET hdf5::hdf5-static)
+ set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5-static")
+ elseif(TARGET hdf5::hdf5-shared)
+ set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5-shared")
+ else()
+ message(FATAL_ERROR "could not find target hdf5-*")
+ endif()
endif()
-add_library(vtk::hdf5::hdf5_hl INTERFACE IMPORTED GLOBAL)
-if(TARGET hdf5_hl-static)
- set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5_hl-static")
-elseif(TARGET hdf5_hl-shared)
- set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5_hl-shared")
-else()
- message(FATAL_ERROR "could not find target hdf5_hl-*")
+if(NOT TARGET vtk::hdf5::hdf5_hl)
+ add_library(vtk::hdf5::hdf5_hl INTERFACE IMPORTED GLOBAL)
+ if(TARGET hdf5::hdf5_hl-static)
+ set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5_hl-static")
+ elseif(TARGET hdf5::hdf5_hl-shared)
+ set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5_hl-shared")
+ else()
+ message(FATAL_ERROR "could not find target hdf5_hl-*")
+ endif()
endif()
set(HDF5_LIBRARIES "$<BUILD_INTERFACE:vtk::hdf5::hdf5>" "$<BUILD_INTERFACE:vtk::hdf5::hdf5_hl>")
diff --git a/ports/vtk/fix-find-libharu.patch b/ports/vtk/fix-find-libharu.patch index 683f7bae6..1c66408c6 100644 --- a/ports/vtk/fix-find-libharu.patch +++ b/ports/vtk/fix-find-libharu.patch @@ -4,7 +4,7 @@ find_path(LIBHARU_INCLUDE_DIR hpdf.h) --find_library(LIBHARU_LIBRARY NAMES hpdf) +-find_library(LIBHARU_LIBRARY NAMES hpdf hpdfs) +find_library(LIBHARU_LIBRARY_RELEASE NAMES hpdf libhpdf) +find_library(LIBHARU_LIBRARY_DEBUG NAMES hpdfd libhpdfd) diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index f46b47cbf..be344f8bf 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -1,39 +1,39 @@ include(vcpkg_common_functions) -set(VTK_SHORT_VERSION "8.0") -set(VTK_LONG_VERSION "${VTK_SHORT_VERSION}.1") +set(VTK_SHORT_VERSION "8.1") +set(VTK_LONG_VERSION "${VTK_SHORT_VERSION}.0") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "Kitware/VTK" REF "v${VTK_LONG_VERSION}" - SHA512 3a70fa704d791d21a1e2421e6799ccc8238da5bc1fc0ab1925fb7956ccaebb7748c452faba1e7f4a2eafbc8612ed644f46f84b0cb3fe16ce539a823165feb29f + SHA512 09e110cba4ad9a6684e9b2af0cbb5b9053e3596ccb62aab96cd9e71aa4a96c809d96e13153ff44c28ad83015a61ba5195f7d34056707b62654c1bc057f9b9edf HEAD_REF "master" ) # ============================================================================= -# Options: These should be set by feature-packages when they become available +# Options: if ("qt" IN_LIST FEATURES) - set(VTK_WITH_QT ON ) # IMPORTANT: if ON make sure `qt5` is listed as dependency in the CONTROL file + set(VTK_WITH_QT ON ) else() - set(VTK_WITH_QT OFF ) # IMPORTANT: if ON make sure `qt5` is listed as dependency in the CONTROL file + set(VTK_WITH_QT OFF ) endif() if ("mpi" IN_LIST FEATURES) - set(VTK_WITH_MPI ON ) # IMPORTANT: if ON make sure `mpi` is listed as dependency in the CONTROL file + set(VTK_WITH_MPI ON ) else() - set(VTK_WITH_MPI OFF ) # IMPORTANT: if ON make sure `mpi` is listed as dependency in the CONTROL file + set(VTK_WITH_MPI OFF ) endif() if ("python" IN_LIST FEATURES) - set(VTK_WITH_PYTHON ON) # IMPORTANT: if ON make sure `python3` is listed as dependency in the CONTROL file + set(VTK_WITH_PYTHON ON) else() - set(VTK_WITH_PYTHON OFF) # IMPORTANT: if ON make sure `python3` is listed as dependency in the CONTROL file + set(VTK_WITH_PYTHON OFF) endif() if("openvr" IN_LIST FEATURES) - set(VTK_WITH_OPENVR ON) # IMPORTANT: if ON make sure `OpenVR` is listed as dependency in the CONTROL file + set(VTK_WITH_OPENVR ON) else() set(VTK_WITH_OPENVR OFF) endif() diff --git a/ports/yoga/CONTROL b/ports/yoga/CONTROL new file mode 100644 index 000000000..c8ff36c24 --- /dev/null +++ b/ports/yoga/CONTROL @@ -0,0 +1,3 @@ +Source: yoga +Version: 1.7.0 +Description: Yoga is a cross-platform layout engine which implements Flexbox diff --git a/ports/yoga/portfile.cmake b/ports/yoga/portfile.cmake new file mode 100644 index 000000000..ba13192c8 --- /dev/null +++ b/ports/yoga/portfile.cmake @@ -0,0 +1,42 @@ +# 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 = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# +include(vcpkg_common_functions) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + message(FATAL_ERROR "Error: Dynamic building not supported yet.") +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) + message(FATAL_ERROR "Error: UWP builds not supported yet.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO facebook/yoga + REF 1.7.0 + SHA512 3472a6db429e1fd0365321b2e663935741c4c97331f3936ea7b590b8218ada567ef7517fb20b1c843c1aad393e2b564e9626170a3d6c25e85450f9e8eb7ffdcc + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_build_cmake() +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/yoga DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h") +file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/yoga RENAME copyright)
\ No newline at end of file diff --git a/ports/zeromq/CONTROL b/ports/zeromq/CONTROL index b850b71b9..2e876f6e1 100644 --- a/ports/zeromq/CONTROL +++ b/ports/zeromq/CONTROL @@ -1,3 +1,3 @@ Source: zeromq -Version: 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-1 +Version: 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-2 Description: The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products diff --git a/ports/zeromq/portfile.cmake b/ports/zeromq/portfile.cmake index 77d0da23d..e5a5d567b 100644 --- a/ports/zeromq/portfile.cmake +++ b/ports/zeromq/portfile.cmake @@ -8,11 +8,6 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${ARCHIVE} -) - string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) @@ -38,6 +33,16 @@ vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/ZeroMQ) +file(READ ${CURRENT_PACKAGES_DIR}/share/zeromq/ZeroMQConfig.cmake _contents) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + string(REPLACE "get_target_property(ZeroMQ_STATIC_LIBRARY libzmq-static LOCATION)" "add_library(libzmq-static INTERFACE IMPORTED)\nset_target_properties(libzmq-static PROPERTIES INTERFACE_LINK_LIBRARIES libzmq)" _contents "${_contents}") + set(_contents "${_contents}\nset(ZeroMQ_STATIC_LIBRARY \${ZeroMQ_LIBRARY})\n") +else() + string(REPLACE "get_target_property(ZeroMQ_LIBRARY libzmq LOCATION)" "add_library(libzmq INTERFACE IMPORTED)\nset_target_properties(libzmq PROPERTIES INTERFACE_LINK_LIBRARIES libzmq-static)" _contents "${_contents}") + set(_contents "${_contents}\nset(ZeroMQ_LIBRARY \${ZeroMQ_STATIC_LIBRARY})\n") +endif() +file(WRITE ${CURRENT_PACKAGES_DIR}/share/zeromq/ZeroMQConfig.cmake "${_contents}") + # Handle copyright file(RENAME ${CURRENT_PACKAGES_DIR}/share/zmq/COPYING.LESSER.txt ${CURRENT_PACKAGES_DIR}/share/zeromq/copyright) diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL index c6c5cc8e3..fa139d868 100644 --- a/ports/zstd/CONTROL +++ b/ports/zstd/CONTROL @@ -1,3 +1,3 @@ Source: zstd -Version: 1.3.1-1 +Version: 1.3.3 Description: Zstandard - Fast real-time compression algorithm http://www.zstd.net diff --git a/ports/zstd/portfile.cmake b/ports/zstd/portfile.cmake index 1f93cac74..874b5ec93 100644 --- a/ports/zstd/portfile.cmake +++ b/ports/zstd/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/zstd - REF v1.3.1 - SHA512 cc2ace7b2dd19a2bbf4c43a89d64a7ce121309f712bfb4940ccfd6f9353f1466612ef7096adcd852f54eaea8663d884acf681c83ae5b274b24c9b85f21367b7c + REF v1.3.3 + SHA512 72b63f96f65ca987cdc82c24354f7665c7dc3b2563cb0646f355c34bf8f090d8a0759729f8beaba8317272bdab34749f934055707b25cfd69c98a9fdcfbc59ae HEAD_REF dev) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets index 092e013b5..499052e4d 100644 --- a/scripts/buildsystems/msbuild/vcpkg.targets +++ b/scripts/buildsystems/msbuild/vcpkg.targets @@ -24,6 +24,16 @@ <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x64-windows</VcpkgTriplet> </PropertyGroup> + <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm||'"> + <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> + <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm-windows</VcpkgTriplet> + </PropertyGroup> + + <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm64||'"> + <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> + <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm64-windows</VcpkgTriplet> + </PropertyGroup> + <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'x64|Windows Store|10.0'"> <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x64-uwp</VcpkgTriplet> @@ -34,6 +44,11 @@ <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm-uwp</VcpkgTriplet> </PropertyGroup> + <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm64|Windows Store|10.0'"> + <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled> + <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm64-uwp</VcpkgTriplet> + </PropertyGroup> + <PropertyGroup Condition="'$(VcpkgEnabled)' == 'true'"> <VcpkgConfiguration Condition="'$(VcpkgConfiguration)' == ''">$(Configuration)</VcpkgConfiguration> <VcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Debug'))">Debug</VcpkgNormalizedConfiguration> diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index b8d3fbdbb..f157d3236 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -22,6 +22,8 @@ elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Xx]64$") set(_VCPKG_TARGET_TRIPLET_ARCH x64) elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]$") set(_VCPKG_TARGET_TRIPLET_ARCH arm) +elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]64$") + set(_VCPKG_TARGET_TRIPLET_ARCH arm64) else() if(CMAKE_GENERATOR MATCHES "^Visual Studio 14 2015 Win64$") set(_VCPKG_TARGET_TRIPLET_ARCH x64) @@ -41,6 +43,8 @@ else() set(_VCPKG_TARGET_TRIPLET_ARCH x64) elseif(_VCPKG_CL MATCHES "arm/cl.exe$") set(_VCPKG_TARGET_TRIPLET_ARCH arm) + elseif(_VCPKG_CL MATCHES "arm64/cl.exe$") + set(_VCPKG_TARGET_TRIPLET_ARCH arm64) elseif(_VCPKG_CL MATCHES "bin/cl.exe$" OR _VCPKG_CL MATCHES "x86/cl.exe$") set(_VCPKG_TARGET_TRIPLET_ARCH x86) elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") @@ -105,6 +109,7 @@ if (NOT DEFINED CMAKE_SYSTEM_VERSION AND _VCPKG_TARGET_TRIPLET_PLAT MATCHES "win vcpkg_get_windows_sdk(WINDOWS_SDK_VERSION) unset(VCPKG_ROOT_DIR) set(CMAKE_SYSTEM_VERSION ${WINDOWS_SDK_VERSION} CACHE STRING "Windows SDK version") + message(STATUS "Found Windows SDK ${WINDOWS_SDK_VERSION}") endif() file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles) @@ -207,17 +212,6 @@ macro(find_package name) add_library(tinyxml2 INTERFACE IMPORTED) set_target_properties(tinyxml2 PROPERTIES INTERFACE_LINK_LIBRARIES "tinyxml2_static") endif() - elseif("${name}" STREQUAL "MPI") - if(MPI_C_LIB_NAMES) - set(MPI_C_WORKS TRUE) - set(MPI_C_WRAPPER_FOUND TRUE) - endif() - if(MPI_CXX_LIB_NAMES) - set(MPI_CXX_WORKS TRUE) - set(MPI_CXX_WRAPPER_FOUND TRUE) - set(MPI_CXX_VALIDATE_SKIP_MPICXX TRUE) - endif() - _find_package(${ARGV}) else() _find_package(${ARGV}) endif() diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake index 0b4bbd211..8bafee4d4 100644 --- a/scripts/cmake/vcpkg_build_cmake.cmake +++ b/scripts/cmake/vcpkg_build_cmake.cmake @@ -33,19 +33,18 @@ function(vcpkg_build_cmake) set(_bc_LOGFILE_ROOT "build") endif() + set(PARALLEL_ARG) + set(NO_PARALLEL_ARG) + if(_VCPKG_CMAKE_GENERATOR MATCHES "Ninja") set(BUILD_ARGS "-v") # verbose output - if (_bc_DISABLE_PARALLEL) - list(APPEND BUILD_ARGS "-j1") - endif() + set(NO_PARALLEL_ARG "-j1") elseif(_VCPKG_CMAKE_GENERATOR MATCHES "Visual Studio") set(BUILD_ARGS "/p:VCPkgLocalAppDataDisabled=true" "/p:UseIntelMKL=No" ) - if (NOT _bc_DISABLE_PARALLEL) - list(APPEND BUILD_ARGS "/m") - endif() + set(PARALLEL_ARG "/m") elseif(_VCPKG_CMAKE_GENERATOR MATCHES "NMake") # No options are currently added for nmake builds else() @@ -58,23 +57,83 @@ function(vcpkg_build_cmake) set(TARGET_PARAM) endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Build ${TARGET_TRIPLET}-rel") - vcpkg_execute_required_process( - COMMAND ${CMAKE_COMMAND} --build . --config Release ${TARGET_PARAM} -- ${BUILD_ARGS} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME ${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-rel - ) - message(STATUS "Build ${TARGET_TRIPLET}-rel done") + if(_bc_DISABLE_PARALLEL) + set(PARALLEL_ARG ${NO_PARALLEL_ARG}) endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Build ${TARGET_TRIPLET}-dbg") - vcpkg_execute_required_process( - COMMAND ${CMAKE_COMMAND} --build . --config Debug ${TARGET_PARAM} -- ${BUILD_ARGS} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME ${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-dbg - ) - message(STATUS "Build ${TARGET_TRIPLET}-dbg done") - endif() + foreach(BUILDTYPE "release" "debug") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL BUILDTYPE) + if(BUILDTYPE STREQUAL "debug") + set(SHORT_BUILDTYPE "dbg") + else() + set(SHORT_BUILDTYPE "rel") + endif() + + message(STATUS "Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE}") + set(LOGPREFIX "${CURRENT_BUILDTREES_DIR}/${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-${SHORT_BUILDTYPE}") + set(LOGS) + + if(BUILDTYPE STREQUAL "release") + set(CONFIG "Release") + else() + set(CONFIG "Debug") + endif() + + execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG} + OUTPUT_FILE "${LOGPREFIX}-out.log" + ERROR_FILE "${LOGPREFIX}-err.log" + RESULT_VARIABLE error_code + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) + if(error_code) + file(READ "${LOGPREFIX}-out.log" out_contents) + file(READ "${LOGPREFIX}-err.log" err_contents) + + if(out_contents) + list(APPEND LOGS "${LOGPREFIX}-out.log") + endif() + if(err_contents) + list(APPEND LOGS "${LOGPREFIX}-err.log") + endif() + + if(out_contents MATCHES "LINK : fatal error LNK1102:" OR out_contents MATCHES " fatal error C1060: ") + # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled. + execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG} + OUTPUT_FILE "${LOGPREFIX}-out-1.log" + ERROR_FILE "${LOGPREFIX}-err-1.log" + RESULT_VARIABLE error_code + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) + + if(error_code) + file(READ "${LOGPREFIX}-out-1.log" out_contents) + file(READ "${LOGPREFIX}-err-1.log" err_contents) + + if(out_contents) + list(APPEND LOGS "${LOGPREFIX}-out-1.log") + endif() + if(err_contents) + list(APPEND LOGS "${LOGPREFIX}-err-1.log") + endif() + endif() + endif() + + if(error_code) + set(STRINGIFIED_LOGS) + foreach(LOG ${LOGS}) + file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG) + list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n") + endforeach() + set(_eb_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG}) + set(_eb_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) + message(FATAL_ERROR + " Command failed: ${_eb_COMMAND}\n" + " Working Directory: ${_eb_WORKING_DIRECTORY}\n" + " See logs for more information:\n" + ${STRINGIFIED_LOGS}) + endif() + endif() + message(STATUS "Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} done") + endif() + endforeach() endfunction() diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index 4bcf3d2c9..6e2ec4ef5 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -57,40 +57,39 @@ function(vcpkg_configure_cmake) set(_csc_HOST_ARCHITECTURE $ENV{PROCESSOR_ARCHITECTURE}) endif() + set(NINJA_CAN_BE_USED ON) + if(_csc_HOST_ARCHITECTURE STREQUAL "x86") + # Prebuilt ninja binaries are only provided for x64 hosts + set(NINJA_CAN_BE_USED OFF) + elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + # Ninja and MSBuild have many differences when targetting UWP, so use MSBuild to maximize existing compatibility + set(NINJA_CAN_BE_USED OFF) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + # Arm64 usage should be allowed once github issue #2375 is resolved + set(NINJA_CAN_BE_USED OFF) + endif() + if(_csc_GENERATOR) set(GENERATOR ${_csc_GENERATOR}) - elseif(_csc_PREFER_NINJA AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT _csc_HOST_ARCHITECTURE STREQUAL "x86") + elseif(_csc_PREFER_NINJA AND NINJA_CAN_BE_USED) + set(GENERATOR "Ninja") + elseif(VCPKG_CHAINLOAD_TOOLCHAIN_FILE) set(GENERATOR "Ninja") + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") set(GENERATOR "Visual Studio 12 2013") elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") set(GENERATOR "Visual Studio 12 2013 Win64") elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") set(GENERATOR "Visual Studio 12 2013 ARM") - elseif(VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - set(GENERATOR "Ninja") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") - set(GENERATOR "Visual Studio 14 2015") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") - set(GENERATOR "Visual Studio 14 2015 Win64") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") - set(GENERATOR "Visual Studio 14 2015 ARM") + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") set(GENERATOR "Visual Studio 14 2015") elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") set(GENERATOR "Visual Studio 14 2015 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") set(GENERATOR "Visual Studio 14 2015 ARM") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(GENERATOR "Visual Studio 15 2017") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(GENERATOR "Visual Studio 15 2017 Win64") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(GENERATOR "Visual Studio 15 2017 ARM") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(GENERATOR "Visual Studio 15 2017") - set(ARCH "ARM64") elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") set(GENERATOR "Visual Studio 15 2017") elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index 24503338a..28276f47c 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -2,6 +2,8 @@ ## ## Download and cache a file needed for this port. ## +## This helper should always be used instead of CMake's built-in `file(DOWNLOAD)` command. +## ## ## Usage ## ```cmake ## vcpkg_download_distfile( @@ -26,18 +28,24 @@ ## ## If this doesn't match the downloaded version, the build will be terminated with a message describing the mismatch. ## +## ### SKIP_SHA512 +## Skip SHA512 hash check for file. +## +## This switch is only valid when building with the `--head` command line flag. +## ## ## Notes -## The command [`vcpkg_from_github`](vcpkg_from_github.md) should be used instead of this for downloading the main archive for GitHub projects. +## The helper [`vcpkg_from_github`](vcpkg_from_github.md) should be used for downloading from GitHub projects. ## ## ## Examples ## -## * [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake) +## * [apr](https://github.com/Microsoft/vcpkg/blob/master/ports/apr/portfile.cmake) ## * [fontconfig](https://github.com/Microsoft/vcpkg/blob/master/ports/fontconfig/portfile.cmake) ## * [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake) function(vcpkg_download_distfile VAR) + set(options SKIP_SHA512) set(oneValueArgs FILENAME SHA512) set(multipleValuesArgs URLS) - cmake_parse_arguments(vcpkg_download_distfile "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) + cmake_parse_arguments(vcpkg_download_distfile "${options}" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) if(NOT DEFINED vcpkg_download_distfile_URLS) message(FATAL_ERROR "vcpkg_download_distfile requires a URLS argument.") @@ -45,8 +53,16 @@ function(vcpkg_download_distfile VAR) if(NOT DEFINED vcpkg_download_distfile_FILENAME) message(FATAL_ERROR "vcpkg_download_distfile requires a FILENAME argument.") endif() - if(NOT DEFINED vcpkg_download_distfile_SHA512) - message(FATAL_ERROR "vcpkg_download_distfile requires a SHA512 argument.") + if(NOT _VCPKG_INTERNAL_NO_HASH_CHECK) + if(vcpkg_download_distfile_SKIP_SHA512 AND NOT VCPKG_USE_HEAD_VERSION) + message(FATAL_ERROR "vcpkg_download_distfile only allows SKIP_SHA512 when building with --head") + endif() + if(NOT vcpkg_download_distfile_SKIP_SHA512 AND NOT DEFINED vcpkg_download_distfile_SHA512) + message(FATAL_ERROR "vcpkg_download_distfile requires a SHA512 argument. If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") + endif() + if(vcpkg_download_distfile_SKIP_SHA512 AND DEFINED vcpkg_download_distfile_SHA512) + message(FATAL_ERROR "vcpkg_download_distfile must not be passed both SHA512 and SKIP_SHA512.") + endif() endif() set(downloaded_file_path ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}) @@ -56,7 +72,12 @@ function(vcpkg_download_distfile VAR) file(MAKE_DIRECTORY "${DOWNLOADS}/temp") function(test_hash FILE_KIND CUSTOM_ERROR_ADVICE) - if (_VCPKG_INTERNAL_NO_HASH_CHECK) + if(_VCPKG_INTERNAL_NO_HASH_CHECK) + # When using the internal hash skip, do not output an explicit message. + return() + endif() + if(vcpkg_download_distfile_SKIP_SHA512) + message(STATUS "Skipping hash check for ${downloaded_file_path}.") return() endif() @@ -103,7 +124,7 @@ function(vcpkg_download_distfile VAR) " Failed to download file.\n" " Add mirrors or submit an issue at https://github.com/Microsoft/vcpkg/issues\n") else() - test_hash("downloaded file" "The file may be corrupted.") + test_hash("downloaded file" "The file may have been corrupted in transit.") endif() endif() set(${VAR} ${downloaded_file_path} PARENT_SCOPE) diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake index 7c4907016..5b8922c14 100644 --- a/scripts/cmake/vcpkg_execute_required_process.cmake +++ b/scripts/cmake/vcpkg_execute_required_process.cmake @@ -30,22 +30,34 @@ ## * [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake) function(vcpkg_execute_required_process) cmake_parse_arguments(vcpkg_execute_required_process "" "WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN}) - #debug_message("vcpkg_execute_required_process(${vcpkg_execute_required_process_COMMAND})") + set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log") + set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-err.log") execute_process( COMMAND ${vcpkg_execute_required_process_COMMAND} - OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log - ERROR_FILE ${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-err.log + OUTPUT_FILE ${LOG_OUT} + ERROR_FILE ${LOG_ERR} RESULT_VARIABLE error_code WORKING_DIRECTORY ${vcpkg_execute_required_process_WORKING_DIRECTORY}) - #debug_message("error_code=${error_code}") if(error_code) - file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log" NATIVE_LOG_OUT) - file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-err.log" NATIVE_LOG_ERR) + set(LOGS) + file(READ "${LOG_OUT}" out_contents) + file(READ "${LOG_ERR}" err_contents) + if(out_contents) + list(APPEND LOGS "${LOG_OUT}") + endif() + if(err_contents) + list(APPEND LOGS "${LOG_ERR}") + endif() + set(STRINGIFIED_LOGS) + foreach(LOG ${LOGS}) + file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG) + list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n") + endforeach() message(FATAL_ERROR " Command failed: ${vcpkg_execute_required_process_COMMAND}\n" " Working Directory: ${vcpkg_execute_required_process_WORKING_DIRECTORY}\n" " See logs for more information:\n" - " ${NATIVE_LOG_OUT}\n" - " ${NATIVE_LOG_ERR}\n") + ${STRINGIFIED_LOGS} + ) endif() endfunction() diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index f86ad0661..fead64d15 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -14,14 +14,18 @@ # function(vcpkg_fixup_cmake_targets) - cmake_parse_arguments(_vfct "" "CONFIG_PATH" "" ${ARGN}) + cmake_parse_arguments(_vfct "" "CONFIG_PATH;TARGET_PATH" "" ${ARGN}) if(_vfct_UNPARSED_ARGUMENTS) message(FATAL_ERROR "vcpkg_fixup_cmake_targets was passed extra arguments: ${_vfct_UNPARSED_ARGUMENTS}") endif() - set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/share/${PORT}) - set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/share/${PORT}) + if(NOT _vfct_TARGET_PATH) + set(_vfct_TARGET_PATH share/${PORT}) + endif() + + set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/${_vfct_TARGET_PATH}) + set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/${_vfct_TARGET_PATH}) if(_vfct_CONFIG_PATH AND NOT RELEASE_SHARE STREQUAL "${CURRENT_PACKAGES_DIR}/${_vfct_CONFIG_PATH}") set(DEBUG_CONFIG ${CURRENT_PACKAGES_DIR}/debug/${_vfct_CONFIG_PATH}) @@ -114,7 +118,7 @@ function(vcpkg_fixup_cmake_targets) string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" _contents "${_contents}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/${DEBUG_TARGET_NAME} "${_contents}") + file(WRITE ${CURRENT_PACKAGES_DIR}/${_vfct_TARGET_PATH}/${DEBUG_TARGET_NAME} "${_contents}") file(REMOVE ${DEBUG_TARGET}) endforeach() @@ -148,7 +152,7 @@ function(vcpkg_fixup_cmake_targets) file(WRITE ${MAIN_CONFIG} "${_contents}") endforeach() - # Remove /debug/share/<port>/ if it's empty. + # Remove /debug/<target_path>/ if it's empty. file(GLOB_RECURSE REMAINING_FILES "${DEBUG_SHARE}/*") if(NOT REMAINING_FILES) file(REMOVE_RECURSE ${DEBUG_SHARE}) diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake index b71ab3838..c6a23cff6 100644 --- a/scripts/cmake/vcpkg_from_github.cmake +++ b/scripts/cmake/vcpkg_from_github.cmake @@ -137,17 +137,17 @@ function(vcpkg_from_github) endif() # Try to download the file and version information from github. - set(_VCPKG_INTERNAL_NO_HASH_CHECK "TRUE") vcpkg_download_distfile(ARCHIVE_VERSION URLS "https://api.github.com/repos/${ORG_NAME}/${REPO_NAME}/git/refs/heads/${_vdud_HEAD_REF}" FILENAME ${downloaded_file_name}.version + SKIP_SHA512 ) vcpkg_download_distfile(ARCHIVE URLS ${URL} FILENAME ${downloaded_file_name} + SKIP_SHA512 ) - set(_VCPKG_INTERNAL_NO_HASH_CHECK "FALSE") endif() vcpkg_extract_source_archive_ex( @@ -162,7 +162,10 @@ function(vcpkg_from_github) string(REGEX REPLACE "\"sha\": \"([a-f0-9]+)\"" "\\1" _version ${x}) # exports VCPKG_HEAD_VERSION to the caller. This will get picked up by ports.cmake after the build. - set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE) + # When multiple vcpkg_from_github's are used after each other, only use the version from the first (hopefully the primary one). + if(NOT DEFINED VCPKG_HEAD_VERSION) + set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE) + endif() set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF}) endfunction() diff --git a/scripts/fetchDependency.ps1 b/scripts/fetchDependency.ps1 index f62fe450c..168c2359e 100644 --- a/scripts/fetchDependency.ps1 +++ b/scripts/fetchDependency.ps1 @@ -20,12 +20,12 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency) if($Dependency -eq "cmake") { - $requiredVersion = "3.10.0" - $downloadVersion = "3.10.0" - $url = "https://cmake.org/files/v3.10/cmake-3.10.0-win32-x86.zip" - $downloadPath = "$downloadsDir\cmake-3.10.0-win32-x86.zip" - $expectedDownloadedFileHash = "dce666e897f95a88d3eed6cddd1faa3f44179d519b33ca6065b385bbc7072419" - $executableFromDownload = "$downloadsDir\cmake-3.10.0-win32-x86\bin\cmake.exe" + $requiredVersion = "3.10.1" + $downloadVersion = "3.10.1" + $url = "https://cmake.org/files/v3.10/cmake-3.10.1-win32-x86.zip" + $downloadPath = "$downloadsDir\cmake-3.10.1-win32-x86.zip" + $expectedDownloadedFileHash = "6fe010cce1201d884cd7a9535db8a1f16d98b8965341251fde8f1c5069ee58c0" + $executableFromDownload = "$downloadsDir\cmake-3.10.1-win32-x86\bin\cmake.exe" $extractionType = $ExtractionType_ZIP } elseif($Dependency -eq "nuget") diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt index e45ea373f..d78a54a5e 100644 --- a/toolsrc/VERSION.txt +++ b/toolsrc/VERSION.txt @@ -1 +1 @@ -"0.0.100"
\ No newline at end of file +"0.0.101"
\ No newline at end of file diff --git a/toolsrc/include/vcpkg/commands.h b/toolsrc/include/vcpkg/commands.h index c82f504e0..31c750b38 100644 --- a/toolsrc/include/vcpkg/commands.h +++ b/toolsrc/include/vcpkg/commands.h @@ -119,7 +119,7 @@ namespace vcpkg::Commands namespace Hash { - void perform_and_exit(const VcpkgCmdArguments& args); + void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths); } template<class T> diff --git a/toolsrc/include/vcpkg/triplet.h b/toolsrc/include/vcpkg/triplet.h index 2cfc2d02a..10464dc2c 100644 --- a/toolsrc/include/vcpkg/triplet.h +++ b/toolsrc/include/vcpkg/triplet.h @@ -18,6 +18,9 @@ namespace vcpkg static const Triplet X86_UWP; static const Triplet X64_UWP; static const Triplet ARM_UWP; + static const Triplet ARM64_UWP; + static const Triplet ARM_WINDOWS; + static const Triplet ARM64_WINDOWS; const std::string& canonical_name() const; const std::string& to_string() const; diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index 625ee6ce0..84721bf6e 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -220,7 +220,7 @@ namespace vcpkg::System nullptr, nullptr, FALSE, - BELOW_NORMAL_PRIORITY_CLASS | CREATE_UNICODE_ENVIRONMENT, + IDLE_PRIORITY_CLASS | CREATE_UNICODE_ENVIRONMENT, env_cstr.data(), nullptr, &startup_info, diff --git a/toolsrc/src/vcpkg/commands.cpp b/toolsrc/src/vcpkg/commands.cpp index ccf6fa729..d9c0e54cd 100644 --- a/toolsrc/src/vcpkg/commands.cpp +++ b/toolsrc/src/vcpkg/commands.cpp @@ -41,7 +41,9 @@ namespace vcpkg::Commands {"import", &Import::perform_and_exit}, {"cache", &Cache::perform_and_exit}, {"portsdiff", &PortsDiff::perform_and_exit}, - {"autocomplete", &Autocomplete::perform_and_exit}}; + {"autocomplete", &Autocomplete::perform_and_exit}, + {"hash", &Hash::perform_and_exit}, + }; return t; } @@ -49,8 +51,7 @@ namespace vcpkg::Commands { static std::vector<PackageNameAndFunction<CommandTypeC>> t = { {"version", &Version::perform_and_exit}, - {"contact", &Contact::perform_and_exit}, - {"hash", &Hash::perform_and_exit}, + {"contact", &Contact::perform_and_exit} }; return t; } diff --git a/toolsrc/src/vcpkg/commands.hash.cpp b/toolsrc/src/vcpkg/commands.hash.cpp index a5940ea1e..1e3e5b23d 100644 --- a/toolsrc/src/vcpkg/commands.hash.cpp +++ b/toolsrc/src/vcpkg/commands.hash.cpp @@ -7,15 +7,17 @@ namespace vcpkg::Commands::Hash { - static void do_file_hash(fs::path const& path, std::string const& hash_type) + static void do_file_hash(fs::path const &cmake_exe_path, fs::path const& path, std::string const& hash_type) { - const auto cmd_line = Strings::format(R"(CertUtil.exe -hashfile "%s" %s)", path.u8string().c_str(), hash_type); + const std::string cmd_line = Strings::format( + R"("%s" -E %ssum %s)", cmake_exe_path.u8string(), Strings::ascii_to_lowercase(hash_type), path.u8string()); + const auto ec_data = System::cmd_execute_and_capture_output(cmd_line); Checks::check_exit(VCPKG_LINE_INFO, ec_data.exit_code == 0, "Running command:\n %s\n failed", cmd_line); std::string const& output = ec_data.output; - const auto start = output.find_first_of("\r\n"); + const auto start = output.find_first_of(" "); Checks::check_exit( VCPKG_LINE_INFO, start != std::string::npos, "Unexpected output format from command: %s", cmd_line); @@ -23,7 +25,7 @@ namespace vcpkg::Commands::Hash Checks::check_exit( VCPKG_LINE_INFO, end != std::string::npos, "Unexpected output format from command: %s", cmd_line); - auto hash = output.substr(start, end - start); + auto hash = output.substr(0, start); Util::erase_remove_if(hash, isspace); System::println(hash); } @@ -37,17 +39,17 @@ namespace vcpkg::Commands::Hash nullptr, }; - void perform_and_exit(const VcpkgCmdArguments& args) + void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths) { args.parse_arguments(COMMAND_STRUCTURE); if (args.command_arguments.size() == 1) { - do_file_hash(args.command_arguments[0], "SHA512"); + do_file_hash(paths.get_cmake_exe(), args.command_arguments[0], "SHA512"); } if (args.command_arguments.size() == 2) { - do_file_hash(args.command_arguments[0], args.command_arguments[1]); + do_file_hash(paths.get_cmake_exe(), args.command_arguments[0], args.command_arguments[1]); } Checks::exit_success(VCPKG_LINE_INFO); diff --git a/toolsrc/src/vcpkg/triplet.cpp b/toolsrc/src/vcpkg/triplet.cpp index 4cba1523d..ef0fab183 100644 --- a/toolsrc/src/vcpkg/triplet.cpp +++ b/toolsrc/src/vcpkg/triplet.cpp @@ -36,6 +36,9 @@ namespace vcpkg const Triplet Triplet::X86_UWP = from_canonical_name("x86-uwp"); const Triplet Triplet::X64_UWP = from_canonical_name("x64-uwp"); const Triplet Triplet::ARM_UWP = from_canonical_name("arm-uwp"); + const Triplet Triplet::ARM64_UWP = from_canonical_name("arm64-uwp"); + const Triplet Triplet::ARM_WINDOWS = from_canonical_name("arm-windows"); + const Triplet Triplet::ARM64_WINDOWS = from_canonical_name("arm64-windows"); bool Triplet::operator==(const Triplet& other) const { return this->m_instance == other.m_instance; } diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp index e64a681e2..fa5fb128c 100644 --- a/toolsrc/src/vcpkg/vcpkgpaths.cpp +++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp @@ -115,7 +115,7 @@ namespace vcpkg static fs::path get_cmake_path(const fs::path& downloads_folder, const fs::path& scripts_folder) { #if defined(_WIN32) - static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 10, 0}; + static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 10, 1}; #else static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 5, 1}; #endif @@ -124,7 +124,7 @@ namespace vcpkg const std::vector<fs::path> from_path = Files::find_from_PATH("cmake"); std::vector<fs::path> candidate_paths; - const fs::path downloaded_copy = downloads_folder / "cmake-3.10.0-win32-x86" / "bin" / "cmake.exe"; + const fs::path downloaded_copy = downloads_folder / "cmake-3.10.1-win32-x86" / "bin" / "cmake.exe"; #if defined(_WIN32) candidate_paths.push_back(downloaded_copy); #endif @@ -583,7 +583,7 @@ namespace vcpkg candidates, [&](const Toolset* t) { return *tsv == t->version && *vsp == t->visual_studio_root_path; }); Checks::check_exit(VCPKG_LINE_INFO, !candidates.empty(), - "Could not find Visual Studio instace at %s with %s toolset.", + "Could not find Visual Studio instance at %s with %s toolset.", vsp->u8string(), *tsv); @@ -595,7 +595,7 @@ namespace vcpkg { Util::stable_keep_if(candidates, [&](const Toolset* t) { return *tsv == t->version; }); Checks::check_exit( - VCPKG_LINE_INFO, !candidates.empty(), "Could not find Visual Studio instace with %s toolset.", *tsv); + VCPKG_LINE_INFO, !candidates.empty(), "Could not find Visual Studio instance with %s toolset.", *tsv); } if (vsp) @@ -605,7 +605,7 @@ namespace vcpkg [&](const Toolset* t) { return vs_root_path == t->visual_studio_root_path; }); Checks::check_exit(VCPKG_LINE_INFO, !candidates.empty(), - "Could not find Visual Studio instace at %s.", + "Could not find Visual Studio instance at %s.", vs_root_path.generic_string()); } diff --git a/triplets/arm-windows.cmake b/triplets/arm-windows.cmake new file mode 100644 index 000000000..3aa75933f --- /dev/null +++ b/triplets/arm-windows.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE arm)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+
+
diff --git a/triplets/arm64-windows.cmake b/triplets/arm64-windows.cmake new file mode 100644 index 000000000..ac911c476 --- /dev/null +++ b/triplets/arm64-windows.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+
+
|
