mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-25 05:52:04 +08:00
Merge branch 'master' into openssl-unix-dynamic
This commit is contained in:
commit
34d19da9ff
@ -37,7 +37,7 @@ The best way to use installed libraries with CMake is via the toolchain file `sc
|
||||
|
||||
In Visual Studio, you can create a New Project (or open an existing one). All installed libraries are immediately ready to be `#include`'d and used in your project without additional configuration.
|
||||
|
||||
For more information, see our [using a package](docs/examples/installing-and-using-packages.md) example for the specifics.
|
||||
For more information, see our [using a package](docs/examples/installing-and-using-packages.md) example for the specifics. If your library is not present in vcpkg catalog, you can open an [issue on the GitHub repo](https://github.com/microsoft/vcpkg/issues) where the dev team and the community can see it and potentially create the port file for this library.
|
||||
|
||||
Additional notes on macOS and Linux support can be found in the [official announcement](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/).
|
||||
|
||||
|
@ -56,7 +56,7 @@ Version: 2019-3-21
|
||||
```
|
||||
|
||||
#### Description
|
||||
A description of the library
|
||||
A description of the library.
|
||||
|
||||
By convention the first line of the description is a summary of the library. An optional detailed description follows. The detailed description can be multiple lines, all starting with whitespace.
|
||||
|
||||
@ -70,6 +70,14 @@ Description: Mosquitto is an open source message broker that implements the MQ T
|
||||
to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.
|
||||
````
|
||||
|
||||
#### Homepage
|
||||
The URL of the homepage for the library where a user is able to find additional documentation or the original source code.
|
||||
|
||||
Example:
|
||||
```no-highlight
|
||||
Homepage: https://github.com/Microsoft/vcpkg
|
||||
```
|
||||
|
||||
#### Build-Depends
|
||||
Comma separated list of vcpkg ports the library has a dependency on.
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: alembic
|
||||
Version: 1.7.10-1
|
||||
Version: 1.7.11
|
||||
Build-Depends: ilmbase, hdf5
|
||||
Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. http://alembic.io/
|
||||
Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications.
|
||||
Homepage: http://alembic.io/
|
||||
|
@ -12,8 +12,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO alembic/alembic
|
||||
REF 1.7.10
|
||||
SHA512 e98ffaedb98dbc5c53fe9703d3063bb118d32c83c47e3af04c8fc96237034b02fe0fc2c628ca82bdd0e0ef17d9375f4f48e0022ce33380b9ad91970539611ced
|
||||
REF 1.7.11
|
||||
SHA512 94b9c218a2fe6e2e24205aff4a2f6bab784851c2aa15592fb60ea91f0e8038b0c0656a118f3a5cba0d3de8917dd90b74d0e2d1c4ac034b9ee3f5d0741d9f6b70
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
fix-hdf5link.patch
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: allegro5
|
||||
Version: 5.2.4.0
|
||||
Version: 5.2.5.0
|
||||
Description: Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform. However, Allegro is not a game engine: you are free to design and structure your program as you like.
|
||||
Build-Depends: opengl, zlib, freetype, libogg, libvorbis, libflac, openal-soft, libpng, bzip2, physfs, libtheora, opus, opusfile
|
||||
|
@ -14,8 +14,8 @@ include(vcpkg_common_functions)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO liballeg/allegro5
|
||||
REF 5.2.4.0
|
||||
SHA512 46a7c7b65ffb49ae5c81e5a33d850b4ae94b59135fc9b15174ffe86133445ff328c623c2c48298d3f631cc6310d51f4f3f07b8b952ecbd360755001292cbda8b
|
||||
REF 5.2.5.0
|
||||
SHA512 9b97a46f0fd146c3958a5f8333822665ae06b984b3dbedc1356afdac8fe3248203347cb08b30ebda049a7320948c7844e9d00dc055c317836c2557b5bfc2ab04
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: amqpcpp
|
||||
Version: 4.1.2
|
||||
Version: 4.1.4
|
||||
Description: AMQP-CPP is a C++ library for communicating with a RabbitMQ message broker
|
||||
Build-Depends: openssl (linux)
|
||||
|
@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO CopernicaMarketingSoftware/AMQP-CPP
|
||||
REF v4.1.2
|
||||
SHA512 e2015d3958d434532591f9a304c625bdebb9bb075af1e2b684c9b8b061df8a2fd6a407200c802ad7b88ee954bcdad854f44a43512f76adf225addf145fc0fb44
|
||||
REF v4.1.4
|
||||
SHA512 d589756ad8e27ce6b6772128479083293c4dbb8c7aa79b7b08f0036ced9ab76ecb75e55458f04de8e2745c9732a6322f4e910f3f8611633c5cd5c35fb7dcaed1
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
find-openssl.patch
|
||||
|
@ -1,3 +1,4 @@
|
||||
Source: anax
|
||||
Version: 2.1.0-5
|
||||
Description: An open source C++ entity system. <https://github.com/miguelmartin75/anax>
|
||||
Description: An open source C++ entity system.
|
||||
Homepage: https://github.com/miguelmartin75/anax
|
||||
|
3
ports/any-lite/CONTROL
Normal file
3
ports/any-lite/CONTROL
Normal file
@ -0,0 +1,3 @@
|
||||
Source: any-lite
|
||||
Version: 0.2.0
|
||||
Description: A C++17-like any, a type-safe container for single values of any type for C++98, C++11 and later in a single-file header-only library
|
31
ports/any-lite/portfile.cmake
Normal file
31
ports/any-lite/portfile.cmake
Normal file
@ -0,0 +1,31 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO martinmoene/any-lite
|
||||
REF v0.2.0
|
||||
SHA512 703900d7bac96d41f903b6cabba4bce15ef3cf7ef0a6a66de76230498ededff110e43d68d4a3fd6996869b2edd001f69bd53039a214d06b774ce99518f384a68
|
||||
)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DANY_LITE_OPT_BUILD_TESTS=OFF
|
||||
-DANY_LITE_OPT_BUILD_EXAMPLES=OFF
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
vcpkg_fixup_cmake_targets(
|
||||
CONFIG_PATH lib/cmake/${PORT}
|
||||
)
|
||||
|
||||
file( REMOVE_RECURSE
|
||||
${CURRENT_PACKAGES_DIR}/debug
|
||||
${CURRENT_PACKAGES_DIR}/lib
|
||||
)
|
||||
|
||||
file( INSTALL
|
||||
${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
|
||||
)
|
@ -1,4 +1,4 @@
|
||||
Source: apr-util
|
||||
Version: 1.6.0-2
|
||||
Version: 1.6.0-3
|
||||
Description: Apache Portable Runtime (APR) project mission is to create and maintain software libraries that provide a predictable and consistent interface to underlying platform-specific implementation
|
||||
Build-Depends: expat, apr, openssl
|
||||
|
13
ports/apr-util/apr.patch
Normal file
13
ports/apr-util/apr.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 69e45541..19b86129 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -35,7 +35,7 @@ IF(NOT EXISTS "${APR_INCLUDE_DIR}/apr.h")
|
||||
MESSAGE(FATAL_ERROR "APR include directory ${APR_INCLUDE_DIR} is not correct.")
|
||||
ENDIF()
|
||||
FOREACH(onelib ${APR_LIBRARIES})
|
||||
- IF(NOT EXISTS ${onelib})
|
||||
+ IF(${onelib} MATCHES "NOTFOUND")
|
||||
MESSAGE(FATAL_ERROR "APR library ${onelib} was not found.")
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
@ -10,7 +10,9 @@ vcpkg_extract_source_archive(${ARCHIVE})
|
||||
|
||||
vcpkg_apply_patches(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PATCHES "${CMAKE_CURRENT_LIST_DIR}/use-vcpkg-expat.patch"
|
||||
PATCHES
|
||||
use-vcpkg-expat.patch
|
||||
apr.patch
|
||||
)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: arb
|
||||
Version: 2.11.1-2
|
||||
Version: 2.16.0
|
||||
Description: a C library for arbitrary-precision interval arithmetic
|
||||
Build-Depends: flint
|
||||
|
24
ports/arb/fix-build-error.patch
Normal file
24
ports/arb/fix-build-error.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff --git a/acb_dirichlet/stieltjes.c b/acb_dirichlet/stieltjes.c
|
||||
index ad6937b..4ca9690 100644
|
||||
--- a/acb_dirichlet/stieltjes.c
|
||||
+++ b/acb_dirichlet/stieltjes.c
|
||||
@@ -340,16 +340,16 @@ stieltjes_mag(double n)
|
||||
return t;
|
||||
}
|
||||
|
||||
-static double _hypot(double x, double y) { return sqrt(x * x + y * y); }
|
||||
+static double __hypot(double x, double y) { return sqrt(x * x + y * y); }
|
||||
|
||||
/* log2 magnitude of integrand at z = x+yi; alpha = a+bi */
|
||||
static double
|
||||
integrand_mag(double n, double x, double y, double a, double b)
|
||||
{
|
||||
double t, u;
|
||||
- t = log(_hypot(a - y, b + x));
|
||||
+ t = log(__hypot(a - y, b + x));
|
||||
u = atan2(b + x, a - y);
|
||||
- t = log(_hypot(t,u)) * (n+1) - 2.0 * 3.1415926535897932 * x;
|
||||
+ t = log(__hypot(t,u)) * (n+1) - 2.0 * 3.1415926535897932 * x;
|
||||
return t * 1.44269504088896341;
|
||||
}
|
||||
|
@ -5,9 +5,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO fredrik-johansson/arb
|
||||
REF 2.11.1
|
||||
SHA512 7a014da5208b55f20c7a3cd3eb51070b09ae107b04cbbd6329925780c2ab4d7c38e1fb3619f21456fa806939818370fcae921f59eb013661b6bdd3d0971e3353
|
||||
REF 2.16.0
|
||||
SHA512 171c965aeb03cd2830df8a53990403c6da480a94d44385dadfbb2d02697f7c03e8b9a217094b0ad93f796d889a1564f4b9ae9db35ef9de90f61bb2e3220911be
|
||||
HEAD_REF master
|
||||
PATCHES fix-build-error.patch
|
||||
)
|
||||
|
||||
file(REMOVE ${SOURCE_PATH}/CMakeLists.txt)
|
||||
@ -21,9 +22,8 @@ vcpkg_configure_cmake(
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
# Remove duplicate headers
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/arb RENAME copyright)
|
||||
|
||||
# Remove duplicate headers
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
3
ports/argagg/CONTROL
Normal file
3
ports/argagg/CONTROL
Normal file
@ -0,0 +1,3 @@
|
||||
Source: argagg
|
||||
Version: 2019-01-25
|
||||
Description: A simple C++11 command line argument parser
|
27
ports/argagg/portfile.cmake
Normal file
27
ports/argagg/portfile.cmake
Normal file
@ -0,0 +1,27 @@
|
||||
# header-only library
|
||||
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO vietjtnguyen/argagg
|
||||
REF e678cebf90d8f132f5e54f19c6b95b75e655226c
|
||||
SHA512 10085caaf9bfb507ae7117b61bfe6174dc2af91c347393c3cbb994fe5b824d4b439e1e0d2e2580dc34568d8046529acc211f76863be047d05d3845e9ff19ccbf
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DARGAGG_BUILD_EXAMPLES=OFF
|
||||
-DARGAGG_BUILD_TESTS=OFF
|
||||
-DARGAGG_BUILD_DOCS=OFF
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
|
||||
|
||||
# Handle copyright
|
||||
configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
|
@ -1,3 +1,4 @@
|
||||
Source: armadillo
|
||||
Version: 2019-04-16-f00d3225
|
||||
Version: 2019-04-16-1
|
||||
Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use
|
||||
Build-Depends: openblas (!osx), clapack (!osx)
|
||||
|
@ -9,8 +9,14 @@ vcpkg_from_gitlab(
|
||||
REF f00d3225b1c005775044369723f31cecc3cd6569
|
||||
SHA512 ca3574edf5de8c752867403c3856ed9569fbed2ce9729585cae59be5751493c2e71121319b0a812e2ea56baada6b6f62fbc84ce6f1efb362347e5fd4141ccf1b
|
||||
HEAD_REF 9.400.x
|
||||
PATCHES
|
||||
remove_custom_modules.patch
|
||||
)
|
||||
|
||||
file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindBLAS.cmake)
|
||||
file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindLAPACK.cmake)
|
||||
file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindOpenBLAS.cmake)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
@ -19,11 +25,11 @@ vcpkg_configure_cmake(
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH share/Armadillo/CMake TARGET_PATH share/armadillo)
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH share/armadillo/CMake TARGET_PATH share/armadillo)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/Armadillo RENAME copyright)
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/armadillo RENAME copyright)
|
||||
|
17
ports/armadillo/remove_custom_modules.patch
Normal file
17
ports/armadillo/remove_custom_modules.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0959127..9fea721 100755
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -176,10 +176,9 @@ else()
|
||||
include(ARMA_FindMKL)
|
||||
include(ARMA_FindACMLMP)
|
||||
include(ARMA_FindACML)
|
||||
- include(ARMA_FindOpenBLAS)
|
||||
include(ARMA_FindATLAS)
|
||||
- include(ARMA_FindBLAS)
|
||||
- include(ARMA_FindLAPACK)
|
||||
+ find_package(BLAS)
|
||||
+ find_package(LAPACK)
|
||||
|
||||
message(STATUS " MKL_FOUND = ${MKL_FOUND}" )
|
||||
message(STATUS " ACMLMP_FOUND = ${ACMLMP_FOUND}" )
|
@ -1,4 +1,4 @@
|
||||
Source: arrow
|
||||
Version: 0.13.0-1
|
||||
Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog
|
||||
Version: 0.13.0-3
|
||||
Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog, uriparser
|
||||
Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations.
|
||||
|
78
ports/arrow/findzstd.patch
Normal file
78
ports/arrow/findzstd.patch
Normal file
@ -0,0 +1,78 @@
|
||||
diff --git a/cpp/cmake_modules/FindZSTD.cmake b/cpp/cmake_modules/FindZSTD.cmake
|
||||
index 21b4981ec..818e4b5e1 100644
|
||||
--- a/cpp/cmake_modules/FindZSTD.cmake
|
||||
+++ b/cpp/cmake_modules/FindZSTD.cmake
|
||||
@@ -19,44 +19,60 @@ if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX)
|
||||
set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static")
|
||||
endif()
|
||||
|
||||
-if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
||||
- set(ZSTD_LIB_NAME_DEBUG_SUFFIX d)
|
||||
-endif()
|
||||
-
|
||||
+set(ZSTD_LIB_NAME_DEBUG_SUFFIX d)
|
||||
set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set(ZSTD_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}zstd${ZSTD_STATIC_LIB_SUFFIX})
|
||||
|
||||
+set(ZSTD_LIB_NAMES_RELEASE zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
|
||||
+ "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
+set(ZSTD_LIB_NAMES_DEBUG)
|
||||
+foreach(_zstd_name ${ZSTD_LIB_NAMES_RELEASE})
|
||||
+ list(APPEND ZSTD_LIB_NAMES_DEBUG ${_zstd_name}${ZSTD_LIB_NAME_DEBUG_SUFFIX})
|
||||
+ if(DEFINED CMAKE_DEBUG_POSTFIX)
|
||||
+ list(APPEND ZSTD_LIB_NAMES_DEBUG ${_zstd_name}${CMAKE_DEBUG_POSTFIX})
|
||||
+ endif()
|
||||
+endforeach()
|
||||
+
|
||||
pkg_check_modules(ZSTD_PC libzstd)
|
||||
if(ZSTD_PC_FOUND)
|
||||
set(ZSTD_INCLUDE_DIR "${ZSTD_PC_INCLUDEDIR}")
|
||||
|
||||
list(APPEND ZSTD_PC_LIBRARY_DIRS "${ZSTD_PC_LIBDIR}")
|
||||
- find_library(ZSTD_LIB zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}
|
||||
+ find_library(ZSTD_LIBRARY_RELEASE ${ZSTD_LIB_NAMES_RELEASE}
|
||||
PATHS ${ZSTD_PC_LIBRARY_DIRS}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}")
|
||||
+ find_library(ZSTD_LIBRARY_DEBUG ${ZSTD_LIB_NAMES_DEBUG}
|
||||
+ PATHS ${ZSTD_PC_LIBRARY_DIRS}
|
||||
+ NO_DEFAULT_PATH
|
||||
+ PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}")
|
||||
+
|
||||
elseif(ZSTD_ROOT)
|
||||
message(STATUS "Using ZSTD_ROOT: ${ZSTD_ROOT}")
|
||||
- find_library(ZSTD_LIB
|
||||
- NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
|
||||
- "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
+ find_library(ZSTD_LIBRARY_RELEASE
|
||||
+ NAMES ${ZSTD_LIB_NAMES_RELEASE})
|
||||
+ find_library(ZSTD_LIBRARY_DEBUG
|
||||
+ NAMES ${ZSTD_LIB_NAMES_DEBUG})
|
||||
find_path(ZSTD_INCLUDE_DIR
|
||||
NAMES zstd.h
|
||||
PATHS ${ZSTD_ROOT} "${ZSTD_ROOT}/Library"
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES "include")
|
||||
else()
|
||||
- find_library(ZSTD_LIB
|
||||
- NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
|
||||
- "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
+ find_library(ZSTD_LIBRARY_RELEASE
|
||||
+ NAMES ${ZSTD_LIB_NAMES_RELEASE})
|
||||
+ find_library(ZSTD_LIBRARY_DEBUG
|
||||
+ NAMES ${ZSTD_LIB_NAMES_DEBUG})
|
||||
find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES "include")
|
||||
endif()
|
||||
-
|
||||
+select_library_configurations(ZSTD)
|
||||
+set(ZSTD_LIB ${ZSTD_LIBRARY})
|
||||
find_package_handle_standard_args(ZSTD REQUIRED_VARS ZSTD_LIB ZSTD_INCLUDE_DIR)
|
||||
|
||||
if(ZSTD_FOUND)
|
||||
add_library(ZSTD::zstd UNKNOWN IMPORTED)
|
||||
set_target_properties(ZSTD::zstd
|
||||
- PROPERTIES IMPORTED_LOCATION "${ZSTD_LIB}"
|
||||
+ PROPERTIES IMPORTED_LOCATION_RELEASE "${ZSTD_LIBRARY_RELEASE}"
|
||||
+ IMPORTED_LOCATION_DEBUG "${ZSTD_LIBRARY_DEBUG}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_INCLUDE_DIR}")
|
||||
endif()
|
@ -13,6 +13,7 @@ vcpkg_from_github(
|
||||
PATCHES
|
||||
all.patch
|
||||
msvc-libname.patch
|
||||
findzstd.patch
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED)
|
||||
@ -23,6 +24,7 @@ vcpkg_configure_cmake(
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DARROW_DEPENDENCY_SOURCE=SYSTEM
|
||||
-Duriparser_SOURCE=SYSTEM
|
||||
-DARROW_BUILD_TESTS=off
|
||||
-DARROW_PARQUET=ON
|
||||
-DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC}
|
||||
|
33
ports/asio/CMakeLists.txt
Normal file
33
ports/asio/CMakeLists.txt
Normal file
@ -0,0 +1,33 @@
|
||||
cmake_minimum_required(VERSION 3.8)
|
||||
project(asio)
|
||||
|
||||
add_library(asio INTERFACE)
|
||||
|
||||
# Always use "ASIO_STANDALONE" to avoid boost dependency
|
||||
file(READ "asio/include/asio/detail/config.hpp" _contents)
|
||||
string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}")
|
||||
file(WRITE "asio/include/asio/detail/config.hpp" "${_contents}")
|
||||
|
||||
# Export target
|
||||
install(TARGETS asio
|
||||
EXPORT asio
|
||||
INCLUDES DESTINATION include/
|
||||
)
|
||||
|
||||
install(EXPORT asio
|
||||
DESTINATION "share/asio"
|
||||
FILE asio-targets.cmake
|
||||
)
|
||||
|
||||
install(DIRECTORY
|
||||
asio/include/asio
|
||||
DESTINATION include/
|
||||
FILES_MATCHING
|
||||
PATTERN "*.hpp"
|
||||
PATTERN "*.ipp"
|
||||
)
|
||||
|
||||
install(FILES
|
||||
asio/include/asio.hpp
|
||||
DESTINATION include/
|
||||
)
|
@ -1,3 +1,3 @@
|
||||
Source: asio
|
||||
Version: 1.12.2
|
||||
Version: 1.12.2-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.
|
||||
|
6
ports/asio/asio-config.cmake
Normal file
6
ports/asio/asio-config.cmake
Normal file
@ -0,0 +1,6 @@
|
||||
include ("${CMAKE_CURRENT_LIST_DIR}/asio-targets.cmake")
|
||||
add_library(asio::asio INTERFACE IMPORTED)
|
||||
target_link_libraries(asio::asio INTERFACE asio)
|
||||
|
||||
get_target_property(_ASIO_INCLUDE_DIR asio INTERFACE_INCLUDE_DIRECTORIES)
|
||||
set(ASIO_INCLUDE_DIR "${_ASIO_INCLUDE_DIR}")
|
@ -9,13 +9,21 @@ vcpkg_from_github(
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
# CMake install
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
)
|
||||
vcpkg_install_cmake()
|
||||
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH "share/asio")
|
||||
file(INSTALL
|
||||
${CMAKE_CURRENT_LIST_DIR}/asio-config.cmake
|
||||
DESTINATION ${CURRENT_PACKAGES_DIR}/share/asio/
|
||||
)
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/asio/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
||||
# Copy the asio header files
|
||||
file(INSTALL ${SOURCE_PATH}/asio/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp")
|
||||
|
||||
# Always use "ASIO_STANDALONE" to avoid boost dependency
|
||||
file(READ "${CURRENT_PACKAGES_DIR}/include/asio/detail/config.hpp" _contents)
|
||||
string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}")
|
||||
file(WRITE "${CURRENT_PACKAGES_DIR}/include/asio/detail/config.hpp" "${_contents}")
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: assimp
|
||||
Version: 4.1.0-4
|
||||
Version: 4.1.0-5
|
||||
Description: The Open Asset import library
|
||||
Build-Depends: zlib, rapidjson
|
||||
|
@ -9,6 +9,7 @@ vcpkg_from_github(
|
||||
PATCHES
|
||||
dont-overwrite-prefix-path.patch
|
||||
uninitialized-variable.patch
|
||||
remove-useless-path.patch
|
||||
)
|
||||
|
||||
file(REMOVE ${SOURCE_PATH}/cmake-modules/FindZLIB.cmake)
|
||||
@ -26,14 +27,7 @@ vcpkg_configure_cmake(
|
||||
-DASSIMP_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
|
||||
-DASSIMP_BUILD_ASSIMP_TOOLS=OFF
|
||||
-DASSIMP_INSTALL_PDB=OFF
|
||||
-DZLIB_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include
|
||||
-DZLIB_FOUND=1
|
||||
OPTIONS_RELEASE
|
||||
-DZLIB_LIBRARIES=${CURRENT_INSTALLED_DIR}/lib/zlib.lib
|
||||
-DZLIB_LIBRARY=${CURRENT_INSTALLED_DIR}/lib/zlib.lib
|
||||
OPTIONS_DEBUG
|
||||
-DZLIB_LIBRARIES=${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib
|
||||
-DZLIB_LIBRARY=${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib
|
||||
#-DSYSTEM_IRRXML=ON # Wait for the built-in irrxml to synchronize with port irrlich, add dependencies and enable this macro
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
@ -51,8 +45,13 @@ string(REPLACE "get_filename_component(ASSIMP_ROOT_DIR \"\${_PREFIX}\" PATH)"
|
||||
"set(ASSIMP_ROOT_DIR \${_PREFIX})" ASSIMP_CONFIG ${ASSIMP_CONFIG})
|
||||
|
||||
if(WIN32)
|
||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
||||
string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})"
|
||||
"set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG})
|
||||
else()
|
||||
string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})"
|
||||
"set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib \${ASSIMP_LIBRARY_DIRS}/IrrXML.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib \${ASSIMP_LIBRARY_DIRS}/../debug/lib/IrrXMLd.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG})
|
||||
endif()
|
||||
else()
|
||||
string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})"
|
||||
"set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/lib\${ASSIMP_LIBRARIES}.a \${ASSIMP_LIBRARY_DIRS}/libIrrXML.a \${ASSIMP_LIBRARY_DIRS}/libz.a debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/lib\${ASSIMP_LIBRARIES}d.a \${ASSIMP_LIBRARY_DIRS}/../debug/lib/libIrrXMLd.a \${ASSIMP_LIBRARY_DIRS}/../debug/lib/libz.a)" ASSIMP_CONFIG ${ASSIMP_CONFIG})
|
||||
|
12
ports/assimp/remove-useless-path.patch
Normal file
12
ports/assimp/remove-useless-path.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 4a20cee..4fcb8dd 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -108,7 +108,6 @@ if (WIN32)
|
||||
endif()
|
||||
|
||||
IF(MSVC)
|
||||
- SET (CMAKE_PREFIX_PATH "D:\\libs\\devil")
|
||||
OPTION( ASSIMP_INSTALL_PDB
|
||||
"Install MSVC debug files."
|
||||
ON
|
@ -1,4 +1,4 @@
|
||||
Source: aubio
|
||||
Version: 0.4.8-1
|
||||
Version: 0.4.9
|
||||
Description: Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.
|
||||
Build-Depends: ffmpeg, libsndfile, libogg, libflac, libvorbis, bzip2, liblzma
|
||||
|
@ -6,8 +6,8 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/aubio-3c230fae309e9ea3298783368dd7
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO aubio/aubio
|
||||
REF 0.4.8
|
||||
SHA512 0422ec9ceb645dd5cdb1ca8b17f552edf9197dbf9c929ca75aacfb89f092c02db8b6d2b8aec567ddc1df5b310770de77cd941b45ed74700c3d3584924f39b576
|
||||
REF 0.4.9
|
||||
SHA512 a22c7c581ce1f428270021591649273396e6dc222b3c7b3d46f5c4abf94a98be1ab89320cdbf1b6b60d4330eef23976439e3fc9e0f8d3cdd867dac4542fa48c9
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: autobahn
|
||||
Version: 18.4.1
|
||||
Build-Depends: websocketpp, msgpack, boost-asio, boost-thread
|
||||
Description: WAMP for C++ in Boost/Asio https://crossbar.io/autobahn
|
||||
Description: WAMP for C++ in Boost/Asio
|
||||
Homepage: https://crossbar.io/autobahn
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: avro-c
|
||||
Version: 1.8.2-1
|
||||
Version: 1.8.2-2
|
||||
Description: Apache Avro is a data serialization system
|
||||
Build-Depends: jansson, liblzma, zlib
|
||||
|
20
ports/avro-c/fix-build-error.patch
Normal file
20
ports/avro-c/fix-build-error.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff --git a/lang/c/src/CMakeLists.txt b/lang/c/src/CMakeLists.txt
|
||||
index c21f1ce..accb0e3 100644
|
||||
--- a/lang/c/src/CMakeLists.txt
|
||||
+++ b/lang/c/src/CMakeLists.txt
|
||||
@@ -85,13 +85,13 @@ source_group(Avro FILES ${AVRO_SRC})
|
||||
string(REPLACE ":" "." LIBAVRO_DOT_VERSION ${LIBAVRO_VERSION})
|
||||
|
||||
add_library(avro-static STATIC ${AVRO_SRC})
|
||||
-target_link_libraries(avro-static ${JANSSON_LIBRARIES} ${CODEC_LIBRARIES} ${THREADS_LIBRARIES})
|
||||
+target_link_libraries(avro-static jansson::jansson ${CODEC_LIBRARIES} ${THREADS_LIBRARIES})
|
||||
set_target_properties(avro-static PROPERTIES OUTPUT_NAME avro)
|
||||
|
||||
if (NOT WIN32)
|
||||
# TODO: Create Windows DLLs. See http://www.cmake.org/Wiki/BuildingWinDLL
|
||||
add_library(avro-shared SHARED ${AVRO_SRC})
|
||||
-target_link_libraries(avro-shared ${JANSSON_LIBRARIES} ${CODEC_LIBRARIES} ${THREADS_LIBRARIES})
|
||||
+target_link_libraries(avro-shared jansson::jansson ${CODEC_LIBRARIES} ${THREADS_LIBRARIES})
|
||||
set_target_properties(avro-shared PROPERTIES
|
||||
OUTPUT_NAME avro
|
||||
SOVERSION ${LIBAVRO_DOT_VERSION})
|
@ -13,13 +13,11 @@ vcpkg_from_github(
|
||||
REF release-1.8.2
|
||||
SHA512 a48cc353aadd45ad2c8593bf89ec3f1ddb0fcd364b79dd002a60a54d49cab714b46eee8bd6dc47b13588b9eead49c754dfe05f6aff735752fca8d2cd35ae8649
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
vcpkg_apply_patches(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PATCHES
|
||||
${CMAKE_CURRENT_LIST_DIR}/avro.patch
|
||||
${CMAKE_CURRENT_LIST_DIR}/avro-pr-217.patch)
|
||||
avro.patch
|
||||
avro-pr-217.patch
|
||||
fix-build-error.patch # Since jansson updated, use jansson::jansson instead of the macro ${JANSSON_LIBRARIES}
|
||||
)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}/lang/c
|
||||
|
@ -1,3 +1,3 @@
|
||||
Source: aws-c-common
|
||||
Version: 0.3.0
|
||||
Version: 0.3.11
|
||||
Description: AWS common library for C
|
20
ports/aws-c-common/disable-internal-crt-option.patch
Normal file
20
ports/aws-c-common/disable-internal-crt-option.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff --git a/cmake/AwsCFlags.cmake b/cmake/AwsCFlags.cmake
|
||||
index 5ceb11c..9d0aa12 100644
|
||||
--- a/cmake/AwsCFlags.cmake
|
||||
+++ b/cmake/AwsCFlags.cmake
|
||||
@@ -38,15 +38,6 @@ function(aws_set_common_properties target)
|
||||
# Disable unknown pragma warnings
|
||||
list(APPEND AWS_C_FLAGS /wd4068)
|
||||
|
||||
- string(TOUPPER "${CMAKE_BUILD_TYPE}" _CMAKE_BUILD_TYPE)
|
||||
- if(STATIC_CRT)
|
||||
- string(REPLACE "/MD" "/MT" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}")
|
||||
- else()
|
||||
- string(REPLACE "/MT" "/MD" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}")
|
||||
- endif()
|
||||
- string(REPLACE " " ";" _FLAGS "${_FLAGS}")
|
||||
- list(APPEND AWS_C_FLAGS "${_FLAGS}")
|
||||
-
|
||||
else()
|
||||
list(APPEND AWS_C_FLAGS -Wall -Werror -Wstrict-prototypes)
|
||||
|
13
ports/aws-c-common/fix-dependencey-build-error.patch
Normal file
13
ports/aws-c-common/fix-dependencey-build-error.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/include/aws/common/byte_buf.h b/include/aws/common/byte_buf.h
|
||||
index 545b06d..c579c82 100644
|
||||
--- a/include/aws/common/byte_buf.h
|
||||
+++ b/include/aws/common/byte_buf.h
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
+#pragma warning(disable: 4068)
|
||||
+
|
||||
/**
|
||||
* Represents a length-delimited binary string or buffer. If byte buffer points
|
||||
* to constant memory or memory that should otherwise not be freed by this
|
@ -3,9 +3,12 @@ include(vcpkg_common_functions)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO awslabs/aws-c-common
|
||||
REF v0.3.0
|
||||
SHA512 604b4289f19be662f15dc5ba80c20b78856975332b485796f979580e45f8d778eb8ce0cc2c02dcbaf27bc1159f473e02676cd951b674b7c8478ed26438a04541
|
||||
REF v0.3.11
|
||||
SHA512 da845f748aecfff61209f542f4eac8d46738af52ce980d5c8315397f859429dfd9e4bf989ddf2fbe938d1efb33dce9c531c92cbe53388b1d1082d5caa97e8750
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
fix-dependencey-build-error.patch # This patch fixes dependency port compilation failure
|
||||
disable-internal-crt-option.patch # Disable internal crt option because vcpkg contains crt processing flow
|
||||
)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
|
@ -1,5 +1,5 @@
|
||||
Source: aws-sdk-cpp
|
||||
Version: 1.7.100
|
||||
Version: 1.7.106
|
||||
Description: AWS SDK for C++
|
||||
Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream
|
||||
Default-Features: dynamodb, s3, kinesis
|
||||
|
@ -10,8 +10,8 @@ endif()
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO aws/aws-sdk-cpp
|
||||
REF 1.7.100
|
||||
SHA512 543eee9c0367131756b274ab9f8f42e3c889f3f54c5f0b7cd6fa68cab5fd009ba9cb87f8029a81d260b1ea2adfb7c3b3ab07a989054e2480e47b41c15887f0f8
|
||||
REF 1.7.106
|
||||
SHA512 58b03f25468ee5c57c47cf92fe6e1d9228754464af83a1253fdd14f2a6dabb6f5f49f1f003597c29cd1ce96649afae0560953d1f1d2c478c575b0d4c0f918635
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
Source: azure-c-shared-utility
|
||||
Version: 2019-03-18
|
||||
Version: 2019-05-16.1
|
||||
Description: Azure C SDKs common code
|
||||
Build-Depends: curl (linux), openssl (linux)
|
||||
Build-Depends: curl (linux), openssl (linux), azure-macro-utils-c, umock-c
|
||||
|
||||
Feature: public-preview
|
||||
Description: Azure C SDKs common code (public preview)
|
||||
|
@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-c-shared-utility
|
||||
REF bc83cba1230e98988ae5cd2328f4dcf8c49d5866
|
||||
SHA512 48947709f9c07c8a910d40066a52b746f9ab15543837f44207b787674efd2b11e7a7eb849c88e20984f0e2141e5611f6d6edea39c8b82687f371c08ab274bd7b
|
||||
REF f0642196af85aeb4f2717d9cc11176290f321fb8
|
||||
SHA512 fd8ee6e2be11c13f7388e57eb9c98397b6cb026ca370131db55b6118908701cdff2a1eaabb89bfe84591d6ee17163d06b7b86ad615216203bcbf0c8595d45452
|
||||
HEAD_REF master
|
||||
PATCHES no-double-expand-cmake.patch
|
||||
)
|
||||
@ -15,8 +15,8 @@ else()
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-c-shared-utility
|
||||
REF bc83cba1230e98988ae5cd2328f4dcf8c49d5866
|
||||
SHA512 48947709f9c07c8a910d40066a52b746f9ab15543837f44207b787674efd2b11e7a7eb849c88e20984f0e2141e5611f6d6edea39c8b82687f371c08ab274bd7b
|
||||
REF f0642196af85aeb4f2717d9cc11176290f321fb8
|
||||
SHA512 fd8ee6e2be11c13f7388e57eb9c98397b6cb026ca370131db55b6118908701cdff2a1eaabb89bfe84591d6ee17163d06b7b86ad615216203bcbf0c8595d45452
|
||||
HEAD_REF master
|
||||
PATCHES no-double-expand-cmake.patch
|
||||
)
|
||||
|
@ -1,8 +1,8 @@
|
||||
Source: azure-iot-sdk-c
|
||||
Version: 2019-03-18
|
||||
Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson, azure-uhttp-c
|
||||
Version: 2019-05-16.1
|
||||
Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson, azure-uhttp-c, azure-macro-utils-c, umock-c
|
||||
Description: A C99 SDK for connecting devices to Microsoft Azure IoT services
|
||||
|
||||
Feature: public-preview
|
||||
Description: A version of the azure-iot-sdk-c containing public-preview features.
|
||||
Build-Depends: azure-uamqp-c[public-preview], azure-umqtt-c[public-preview], azure-c-shared-utility[public-preview], azure-uhttp-c[public-preview]
|
||||
Build-Depends: azure-uamqp-c[public-preview], azure-umqtt-c[public-preview], azure-c-shared-utility[public-preview], azure-uhttp-c[public-preview], azure-macro-utils-c, umock-c
|
||||
|
@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-iot-sdk-c
|
||||
REF 68d9964daa3e6754f6f8d98bbbd637b0967d4d29
|
||||
SHA512 5492ab06ae3686c7a167d63620d6ca00024dd52d46627d7958569f1ec0cfca1b56151d54b8c7975f127f655018c10e830747ef84a0cdc66a44e903e25b2dc985
|
||||
REF f3f9538960d9b29033e52522dd63e985ba970504
|
||||
SHA512 f8ce98d62425da4bec1c9e99b7b662a615d90a9407e03f7ce31a56fb8848f6bda1a39156bbabf351383e490dc3438d842136220dcf08efb1560e21d9ac76a0ba
|
||||
HEAD_REF public-preview
|
||||
PATCHES improve-external-deps.patch
|
||||
)
|
||||
@ -15,14 +15,15 @@ else()
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-iot-sdk-c
|
||||
REF 8c331e8552f754bb6e0502486ceee698625eb468
|
||||
SHA512 cc6f34e04f237bb5e8e5445e033eefab00373d53a4847ab6089c9b8eb400ab87ced6905f1c78ea7d0da3e9a56145e86a58d2f226fcf38f08659330a33d68f82e
|
||||
REF 11d5150aeb26635862cf50484af9c7e8badd52a0
|
||||
SHA512 d2cf40bca9db2c66d78f889763af3a1d06abc0e9fce19542599daec56b092e03f01f892ff420a7b107a96e0eb533579ee7eccf249b56cf6600896c77ca619fc3
|
||||
HEAD_REF master
|
||||
PATCHES improve-external-deps.patch
|
||||
)
|
||||
endif()
|
||||
|
||||
file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/)
|
||||
file(COPY ${SOURCE_PATH}/configs/azure_iot_sdksFunctions.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/cmake/azure_iot_sdks/)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
|
5
ports/azure-macro-utils-c/CONTROL
Normal file
5
ports/azure-macro-utils-c/CONTROL
Normal file
@ -0,0 +1,5 @@
|
||||
Source: azure-macro-utils-c
|
||||
Version: 2019-05-16.1
|
||||
Description: A library of macros for the Azure IoT SDK Suite
|
||||
Build-Depends:
|
||||
|
32
ports/azure-macro-utils-c/portfile.cmake
Normal file
32
ports/azure-macro-utils-c/portfile.cmake
Normal file
@ -0,0 +1,32 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-macro-utils-c
|
||||
REF 38729b4b7ac3ea8b7d71e394782b861ecb25193e
|
||||
SHA512 c9c820e74aee403d45f257359318d3435e5d6534afe821da5679bc462e26ad256dd01ed253a80ba1c58343f850ef1026280533a152c4b0465527f6537b3092d3
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-Drun_int_tests=OFF
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/azure_macro_utils_c)
|
||||
|
||||
file(COPY ${SOURCE_PATH}/inc/azure_macro_utils/macro_utils.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure_macro_utils_c/include/azure_macro_utils)
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug)
|
||||
|
||||
configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/azure-macro-utils-c/copyright COPYONLY)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
|
@ -2,4 +2,5 @@ Source: azure-storage-cpp
|
||||
Version: 6.1.0
|
||||
Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp&!osx), gettext
|
||||
Description: Microsoft Azure Storage Client SDK for C++
|
||||
A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. Microsoft Azure Storage team's blog - http://blogs.msdn.com/b/windowsazurestorage/
|
||||
A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client.
|
||||
Homepage: http://blogs.msdn.com/b/windowsazurestorage/
|
@ -1,8 +1,8 @@
|
||||
Source: azure-uamqp-c
|
||||
Version: 2019-03-18
|
||||
Build-Depends: azure-c-shared-utility
|
||||
Version: 2019-05-16.1
|
||||
Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c
|
||||
Description: AMQP library for C
|
||||
|
||||
Feature: public-preview
|
||||
Description: AMQP library for C (public preview)
|
||||
Build-Depends: azure-c-shared-utility[public-preview]
|
||||
Build-Depends: azure-c-shared-utility[public-preview], azure-macro-utils-c, umock-c
|
||||
|
@ -6,16 +6,16 @@ if("public-preview" IN_LIST FEATURES)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-uamqp-c
|
||||
REF 13f009ddd50a2837f651b0237de17db5f24c3af9
|
||||
SHA512 649e1826c02a25c57031e1cf1ae92ff15f7caadd064d1dff4aa4ee579598af58ae03f778138cdf26918c1500ca1b8678a6f88c0ae24fd6fca37dab7b81b34984
|
||||
REF 5ceebf6ec8d1973cfa80804077c7cef23d3b36af
|
||||
SHA512 6dc7ffc386339db54ff387760119ae5ffd564642cd18d0dc177e6302167cc3b40bdd0f4d9e50478db8d2760166b15058b53b9eb2d1c160f234693a59ac762a75
|
||||
HEAD_REF master
|
||||
)
|
||||
else()
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-uamqp-c
|
||||
REF 13f009ddd50a2837f651b0237de17db5f24c3af9
|
||||
SHA512 649e1826c02a25c57031e1cf1ae92ff15f7caadd064d1dff4aa4ee579598af58ae03f778138cdf26918c1500ca1b8678a6f88c0ae24fd6fca37dab7b81b34984
|
||||
REF 5ceebf6ec8d1973cfa80804077c7cef23d3b36af
|
||||
SHA512 6dc7ffc386339db54ff387760119ae5ffd564642cd18d0dc177e6302167cc3b40bdd0f4d9e50478db8d2760166b15058b53b9eb2d1c160f234693a59ac762a75
|
||||
HEAD_REF master
|
||||
)
|
||||
endif()
|
||||
|
@ -1,8 +1,8 @@
|
||||
Source: azure-uhttp-c
|
||||
Version: 2019-03-18
|
||||
Build-Depends: azure-c-shared-utility
|
||||
Version: 2019-05-16.1
|
||||
Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c
|
||||
Description: Azure HTTP Library written in C
|
||||
|
||||
Feature: public-preview
|
||||
Description: Azure HTTP Library written in C (public preview)
|
||||
Build-Depends: azure-c-shared-utility[public-preview]
|
||||
Build-Depends: azure-c-shared-utility[public-preview], azure-macro-utils-c, umock-c
|
||||
|
@ -6,16 +6,16 @@ if("public-preview" IN_LIST FEATURES)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-uhttp-c
|
||||
REF 43dce924b32818f8ab851f972cffebc204edc5c4
|
||||
SHA512 0e5e9e7dac0c8a1a01cea2fd9ef068f988ad3453f978957cbcb009126637fe5810001e273e7b300b4540914705a89250d96df652c4bb2c7f5348cd8ce7240d70
|
||||
REF b8976adff02e543fc00e7db59eae9ce78dd014fe
|
||||
SHA512 65ddccc07831309c4f3f8546bb1a45a6eff84674013311a15c99389d4fc33eaf2ef3da6c7c8e4bb03d32955d12c978190e7badb597379a9fefda4ebcf18827ec
|
||||
HEAD_REF master
|
||||
)
|
||||
else()
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-uhttp-c
|
||||
REF 43dce924b32818f8ab851f972cffebc204edc5c4
|
||||
SHA512 0e5e9e7dac0c8a1a01cea2fd9ef068f988ad3453f978957cbcb009126637fe5810001e273e7b300b4540914705a89250d96df652c4bb2c7f5348cd8ce7240d70
|
||||
REF b8976adff02e543fc00e7db59eae9ce78dd014fe
|
||||
SHA512 65ddccc07831309c4f3f8546bb1a45a6eff84674013311a15c99389d4fc33eaf2ef3da6c7c8e4bb03d32955d12c978190e7badb597379a9fefda4ebcf18827ec
|
||||
HEAD_REF master
|
||||
)
|
||||
endif()
|
||||
|
@ -1,8 +1,8 @@
|
||||
Source: azure-umqtt-c
|
||||
Version: 2019-03-18
|
||||
Build-Depends: azure-c-shared-utility
|
||||
Version: 2019-05-16.1
|
||||
Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c
|
||||
Description: General purpose library for communication over the mqtt protocol
|
||||
|
||||
Feature: public-preview
|
||||
Description: General purpose library for communication over the mqtt protocol (public preview)
|
||||
Build-Depends: azure-c-shared-utility[public-preview]
|
||||
Build-Depends: azure-c-shared-utility[public-preview], azure-macro-utils-c, umock-c
|
||||
|
@ -6,16 +6,16 @@ if("public-preview" IN_LIST FEATURES)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-umqtt-c
|
||||
REF ea9f6112d002bdff55c94df327bc7effc8393c78
|
||||
SHA512 68fdc22eb07d32cb9cf489d878db3be8326225e3a067153af7b9e29eabc8ee25162507b7e8921b71b83d42703d5a3d8e040f4a9e61a19540789432e2cecb782f
|
||||
REF c37883fbb05218fd940b87899a116af240f90c40
|
||||
SHA512 21bbe6dfafcc96d35775ab83a75334fbfd41a55a82a7da483d5ff179aa3792424851f250007c9603ef17c789d8b23b1a8b81580fc2cf793fd00b487c321fdba3
|
||||
HEAD_REF master
|
||||
)
|
||||
else()
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Azure/azure-umqtt-c
|
||||
REF ea9f6112d002bdff55c94df327bc7effc8393c78
|
||||
SHA512 68fdc22eb07d32cb9cf489d878db3be8326225e3a067153af7b9e29eabc8ee25162507b7e8921b71b83d42703d5a3d8e040f4a9e61a19540789432e2cecb782f
|
||||
REF c37883fbb05218fd940b87899a116af240f90c40
|
||||
SHA512 21bbe6dfafcc96d35775ab83a75334fbfd41a55a82a7da483d5ff179aa3792424851f250007c9603ef17c789d8b23b1a8b81580fc2cf793fd00b487c321fdba3
|
||||
HEAD_REF master
|
||||
)
|
||||
endif()
|
||||
|
257
ports/bdwgc/001-install-libraries.patch
Normal file
257
ports/bdwgc/001-install-libraries.patch
Normal file
@ -0,0 +1,257 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 8d386ca5..b94d6358 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -27,6 +27,10 @@ include(CTest)
|
||||
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
|
||||
+# Customize CMake options by passing "-D<OPTION_NAME>=ON|OFF" in your command line
|
||||
+option(build_cord "Install cord" ON)
|
||||
+option(build_tests "Install library tests" ON)
|
||||
+option(install_headers "Install header files" ON)
|
||||
option(enable_threads "TODO" OFF) #TODO Support it
|
||||
option(enable_parallel_mark "Parallelize marking and free list construction" ON)
|
||||
option(enable_thread_local_alloc "Turn on thread-local allocation optimization" ON)
|
||||
@@ -52,22 +56,13 @@ add_definitions("-DALL_INTERIOR_POINTERS -DNO_EXECUTE_PERMISSION")
|
||||
|
||||
if (APPLE)
|
||||
if ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
|
||||
- set(CMAKE_OSX_ARCHITECTURES "ppc;i386;x86_64"
|
||||
+ set(CMAKE_OSX_ARCHITECTURES "x86_64;i386"
|
||||
CACHE STRING "Build architectures for Mac OS X" FORCE)
|
||||
endif()
|
||||
-elseif (WIN32)
|
||||
+elseif (MSVC)
|
||||
add_definitions("-D_CRT_SECURE_NO_DEPRECATE")
|
||||
endif()
|
||||
|
||||
-#LIBATOMIC #TODO
|
||||
-#ADD_LIBRARY(atomic_ops STATIC )
|
||||
-#SET_TARGET_PROPERTIES(atomic_ops PROPERTIES COMPILE_FLAGS -DNO_DEBUGGING)
|
||||
-
|
||||
-
|
||||
-#LIBGC
|
||||
-
|
||||
-include_directories(include)
|
||||
-include_directories(libatomic_ops/src)
|
||||
|
||||
set(SRC alloc.c reclaim.c allchblk.c misc.c mach_dep.c os_dep.c
|
||||
mark_rts.c headers.c mark.c obj_map.c blacklst.c finalize.c
|
||||
@@ -82,12 +77,6 @@ if (enable_threads)
|
||||
set(LIBS ${LIBS} ${Threads_LIBRARIES})
|
||||
endif()
|
||||
|
||||
-#IF(Threads_FOUND)
|
||||
-# ADD_DEFINITIONS("")
|
||||
-#ELSE
|
||||
-# MESSAGE("Parallel mark requires enable_threads ON" )
|
||||
-#ENDIF(Threads_FOUND)
|
||||
-
|
||||
if (enable_cplusplus)
|
||||
set(SRC ${SRC} gc_cpp.cc)
|
||||
endif()
|
||||
@@ -141,7 +130,7 @@ if (CMAKE_USE_PTHREADS_INIT)
|
||||
if (enable_parallel_mark)
|
||||
add_definitions("-DHANDLE_FORK")
|
||||
endif()
|
||||
- endif(enable_handle_fork)
|
||||
+ endif()
|
||||
set(SRC ${SRC} darwin_stop_world.c)
|
||||
#TODO darwin_threads=true
|
||||
endif()
|
||||
@@ -158,10 +147,10 @@ if (CMAKE_USE_WIN32_THREADS_INIT)
|
||||
add_definitions("-DTHREAD_LOCAL_ALLOC")
|
||||
set(SRC ${SRC} thread_local_alloc.c)
|
||||
endif()
|
||||
- endif(enable_parallel_mark)
|
||||
+ endif()
|
||||
add_definitions("-DEMPTY_GETENV_RESULTS")
|
||||
set(SRC ${SRC} win32_threads.c)
|
||||
-endif(CMAKE_USE_WIN32_THREADS_INIT)
|
||||
+endif()
|
||||
|
||||
if (enable_gcj_support)
|
||||
add_definitions("-DGC_GCJ_SUPPORT")
|
||||
@@ -169,7 +158,7 @@ if (enable_gcj_support)
|
||||
add_definitions("-DGC_ENABLE_SUSPEND_THREAD")
|
||||
endif()
|
||||
set(SRC ${SRC} gcj_mlc.c)
|
||||
-endif(enable_gcj_support)
|
||||
+endif()
|
||||
|
||||
if (enable_disclaim)
|
||||
add_definitions("-DENABLE_DISCLAIM")
|
||||
@@ -195,7 +184,7 @@ if (enable_gc_debug)
|
||||
add_definitions("-DMAKE_BACK_GRAPH")
|
||||
set(SRC ${SRC} backgraph.c)
|
||||
endif()
|
||||
-endif(enable_gc_debug)
|
||||
+endif()
|
||||
|
||||
if (enable_redirect_malloc)
|
||||
if (enable_gc_debug)
|
||||
@@ -206,7 +195,7 @@ if (enable_redirect_malloc)
|
||||
add_definitions("-DREDIRECT_MALLOC=GC_malloc")
|
||||
endif()
|
||||
add_definitions("-DGC_USE_DLOPEN_WRAP")
|
||||
-endif(enable_redirect_malloc)
|
||||
+endif()
|
||||
|
||||
if (enable_munmap)
|
||||
add_definitions("-DUSE_MMAP -DUSE_MUNMAP")
|
||||
@@ -240,19 +229,44 @@ if (enable_checksums)
|
||||
endif()
|
||||
add_definitions("-DCHECKSUMS")
|
||||
set(SRC ${SRC} checksums.c)
|
||||
-endif(enable_checksums)
|
||||
-
|
||||
-add_library(gc-lib STATIC ${SRC})
|
||||
-set_target_properties(gc-lib PROPERTIES
|
||||
- COMPILE_DEFINITIONS GC_NOT_DLL)
|
||||
-#TODO TARGET_LINK_LIBRARIES(... ... ${LIBS})
|
||||
+endif()
|
||||
|
||||
-add_library(gcmt-lib STATIC ${SRC})
|
||||
-set_target_properties(gcmt-lib PROPERTIES
|
||||
- COMPILE_DEFINITIONS GC_NOT_DLL)
|
||||
+# Create target
|
||||
+add_library(gc ${SRC})
|
||||
+target_include_directories(gc
|
||||
+ PUBLIC
|
||||
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
+ $<INSTALL_INTERFACE:include>
|
||||
+)
|
||||
+if (NOT BUILD_SHARED_LIBS)
|
||||
+ target_compile_definitions(gc PRIVATE GC_NOT_DLL)
|
||||
+else()
|
||||
+ target_compile_definitions(gc PRIVATE GC_DLL)
|
||||
+endif()
|
||||
|
||||
-add_library(gcmt-dll SHARED ${SRC})
|
||||
+# Install library
|
||||
+install(
|
||||
+ TARGETS gc
|
||||
+ EXPORT gcExports
|
||||
+ LIBRARY DESTINATION lib
|
||||
+ ARCHIVE DESTINATION lib
|
||||
+ RUNTIME DESTINATION bin
|
||||
+ INCLUDES DESTINATION include
|
||||
+)
|
||||
+
|
||||
+# Install headers
|
||||
+if (install_headers)
|
||||
+ file(GLOB BDWGC_HEADERS "include/*.h")
|
||||
+ install(FILES ${BDWGC_HEADERS} DESTINATION include/gc)
|
||||
+
|
||||
+ file(GLOB BDWGC_EXTRA_HEADERS "include/extra/*.h")
|
||||
+ install(FILES ${BDWGC_EXTRA_HEADERS} DESTINATION include)
|
||||
+endif()
|
||||
|
||||
-add_subdirectory(cord)
|
||||
+if (build_cord)
|
||||
+ add_subdirectory(cord)
|
||||
+endif()
|
||||
|
||||
-add_subdirectory(tests)
|
||||
+if (build_tests)
|
||||
+ add_subdirectory(tests)
|
||||
+endif()
|
||||
diff --git a/cord/CMakeLists.txt b/cord/CMakeLists.txt
|
||||
index 17077370..21818d4e 100644
|
||||
--- a/cord/CMakeLists.txt
|
||||
+++ b/cord/CMakeLists.txt
|
||||
@@ -11,11 +11,11 @@
|
||||
# modified is included with the above copyright notice.
|
||||
##
|
||||
|
||||
+add_executable(cord cordbscs.c cordxtra.c tests/de.c tests/de_win.c)
|
||||
+set_target_properties(cord PROPERTIES COMPILE_DEFINITIONS GC_NOT_DLL)
|
||||
+target_link_libraries(cord PRIVATE gc)
|
||||
+
|
||||
if (WIN32)
|
||||
- add_executable(cord cordbscs.c cordxtra.c
|
||||
- tests/de.c tests/de_win.c)
|
||||
set_target_properties(cord PROPERTIES WIN32_EXECUTABLE TRUE)
|
||||
- set_target_properties(cord PROPERTIES COMPILE_DEFINITIONS GC_NOT_DLL)
|
||||
- target_link_libraries(cord gc-lib)
|
||||
- target_link_libraries(cord gdi32)
|
||||
+ target_link_libraries(cord PRIVATE gdi32)
|
||||
endif()
|
||||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||||
index c6bcc7d7..32a021e7 100644
|
||||
--- a/tests/CMakeLists.txt
|
||||
+++ b/tests/CMakeLists.txt
|
||||
@@ -14,8 +14,6 @@
|
||||
# modified is included with the above copyright notice.
|
||||
##
|
||||
|
||||
-add_definitions("-DGC_NOT_DLL")
|
||||
-
|
||||
# Compile some tests as C++ to test extern "C" in header files.
|
||||
if (enable_cplusplus)
|
||||
set_source_files_properties(leak_test.c test.c
|
||||
@@ -23,51 +21,51 @@ if (enable_cplusplus)
|
||||
endif()
|
||||
|
||||
add_executable(gctest WIN32 test.c)
|
||||
-target_link_libraries(gctest gc-lib)
|
||||
+target_link_libraries(gctest PRIVATE gc)
|
||||
add_test(NAME gctest COMMAND gctest)
|
||||
|
||||
add_executable(hugetest huge_test.c)
|
||||
-target_link_libraries(hugetest gc-lib)
|
||||
+target_link_libraries(hugetest PRIVATE gc)
|
||||
add_test(NAME hugetest COMMAND hugetest)
|
||||
|
||||
add_executable(leaktest leak_test.c)
|
||||
-target_link_libraries(leaktest gc-lib)
|
||||
+target_link_libraries(leaktest PRIVATE gc)
|
||||
add_test(NAME leaktest COMMAND leaktest)
|
||||
|
||||
add_executable(middletest middle.c)
|
||||
-target_link_libraries(middletest gc-lib)
|
||||
+target_link_libraries(middletest PRIVATE gc)
|
||||
add_test(NAME middletest COMMAND middletest)
|
||||
|
||||
add_executable(realloc_test realloc_test.c)
|
||||
-target_link_libraries(realloc_test gc-lib)
|
||||
+target_link_libraries(realloc_test PRIVATE gc)
|
||||
add_test(NAME realloc_test COMMAND realloc_test)
|
||||
|
||||
add_executable(smashtest smash_test.c)
|
||||
-target_link_libraries(smashtest gc-lib)
|
||||
+target_link_libraries(smashtest PRIVATE gc)
|
||||
add_test(NAME smashtest COMMAND smashtest)
|
||||
|
||||
if (enable_gc_debug)
|
||||
add_executable(tracetest trace_test.c)
|
||||
- target_link_libraries(tracetest gc-lib)
|
||||
+ target_link_libraries(tracetest PRIVATE gc)
|
||||
add_test(NAME tracetest COMMAND tracetest)
|
||||
endif()
|
||||
|
||||
if (enable_cplusplus)
|
||||
# TODO add_executable(test_cpp test_cpp.cc)
|
||||
- # target_link_libraries(test_cpp gc-lib)
|
||||
+ # target_link_libraries(test_cpp PRIVATE gc)
|
||||
# add_test(NAME test_cpp COMMAND test_cpp)
|
||||
endif()
|
||||
|
||||
if (enable_disclaim)
|
||||
add_executable(disclaim_bench disclaim_bench.c)
|
||||
- target_link_libraries(disclaim_bench gc-lib)
|
||||
+ target_link_libraries(disclaim_bench PRIVATE gc)
|
||||
add_test(NAME disclaim_bench COMMAND disclaim_bench)
|
||||
|
||||
add_executable(disclaim_test disclaim_test.c)
|
||||
- target_link_libraries(disclaim_test gc-lib)
|
||||
+ target_link_libraries(disclaim_test PRIVATE gc)
|
||||
add_test(NAME disclaim_test COMMAND disclaim_test)
|
||||
|
||||
add_executable(disclaim_weakmap_test disclaim_weakmap_test.c)
|
||||
- target_link_libraries(disclaim_weakmap_test gc-lib)
|
||||
+ target_link_libraries(disclaim_weakmap_test PRIVATE gc)
|
||||
add_test(NAME disclaim_weakmap_test COMMAND disclaim_weakmap_test)
|
||||
endif()
|
||||
|
3
ports/bdwgc/CONTROL
Normal file
3
ports/bdwgc/CONTROL
Normal file
@ -0,0 +1,3 @@
|
||||
Source: bdwgc
|
||||
Version: 8.0.4-1
|
||||
Description: The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehm-gc)
|
31
ports/bdwgc/portfile.cmake
Normal file
31
ports/bdwgc/portfile.cmake
Normal file
@ -0,0 +1,31 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO ivmai/bdwgc
|
||||
# REF v8.0.4
|
||||
# SHA512 f3c178c9cab9d9df9ecdad5ac5661c916518d29b0eaca24efe569cb757c386c118ad4389851107597d99ff1bbe99b46383cce73dfd01be983196aa57c9626a4a
|
||||
REF 0c8905e84d16bd5e14ed91e21904fd7ab9d197e2
|
||||
SHA512 b38fe86d0dfaacd502971e39ea7df83a3dbf5542711f6b0462b7a6d48dbcf43da07a41a60ee96bca6403a2d2adaac0815a64667f3c80549ca57c5ebbe0e9672d
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
001-install-libraries.patch
|
||||
)
|
||||
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-Dbuild_tests=OFF
|
||||
-Dbuild_cord=OFF
|
||||
OPTIONS_DEBUG
|
||||
-Dinstall_headers=OFF
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/README.QUICK DESTINATION ${CURRENT_PACKAGES_DIR}/share/bdwgc RENAME copyright)
|
@ -1,3 +1,3 @@
|
||||
Source: benchmark
|
||||
Version: 1.4.1-1
|
||||
Version: 1.5
|
||||
Description: A library to support the benchmarking of functions, similar to unit-tests.
|
||||
|
@ -9,8 +9,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO google/benchmark
|
||||
REF v1.4.1
|
||||
SHA512 e9d71b4679cb4e4d755f7bb4101e131b37e209b6aebd0853e0c63eb11c42b75faa5da4ff8c265149808a475f3a1cfb140c5b49f877acfda908a4bb7add983aae
|
||||
REF v1.5.0
|
||||
SHA512 a0df9aa3d03f676e302c76d83b436de36eea0a8517ab50a8f5a11c74ccc68a1f5128fa02474901002d8e6b5a4d290ef0272a798ff4670eab3e2d78dc86bb6cd3
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
Source: berkeleydb
|
||||
Version: 4.8.30-2
|
||||
Description: A high-performance embedded database for key/value data.
|
||||
Description: BDB - A high-performance embedded database for key/value data.
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: blaze
|
||||
Version: 3.5
|
||||
Build-Depends: clapack, boost-exception
|
||||
Build-Depends: clapack (!osx), boost-exception
|
||||
Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic.
|
||||
|
10
ports/blend2d/CONTROL
Normal file
10
ports/blend2d/CONTROL
Normal file
@ -0,0 +1,10 @@
|
||||
Source: blend2d
|
||||
Version: beta_2019-04-30
|
||||
Description: Beta 2D Vector Graphics Powered by a JIT Compiler
|
||||
Default-Features: jit, logging
|
||||
|
||||
Feature: jit
|
||||
Description: asmjit is used to jit compile pipelines
|
||||
|
||||
Feature: logging
|
||||
Description: enables logging
|
60
ports/blend2d/portfile.cmake
Normal file
60
ports/blend2d/portfile.cmake
Normal file
@ -0,0 +1,60 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO blend2d/blend2d
|
||||
REF 69141350b5a654f328c8529ae301aa1e6bad5342
|
||||
SHA512 d9bdd234f443c0ef8793dba1a76cc567bab3f9cf32d835d9e285f7ad946a56e0bc03eab30f61bbce51318e18a74ecfcfc965ac94e1ff6cef21e9b3ccc6a42120
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BLEND2D_BUILD_STATIC)
|
||||
|
||||
if(NOT ("jit" IN_LIST FEATURES))
|
||||
set(BLEND2D_BUILD_NO_JIT TRUE)
|
||||
endif()
|
||||
if(NOT ("logging" IN_LIST FEATURES))
|
||||
set(BLEND2D_BUILD_NO_LOGGING TRUE)
|
||||
endif()
|
||||
|
||||
|
||||
if(NOT BLEND2D_BUILD_NO_JIT)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH ASMJIT_SOURCE_PATH
|
||||
REPO asmjit/asmjit
|
||||
REF f4e685cef003c40ad0d348d0c9eb2a1fe63d8521
|
||||
SHA512 77981fc32e746fc88f5707b4a8e8557283261b2657248f0d4900f47bd500de4efe47619a53f32413ea3c6f116e084cac6fdb48b6b92d75e824585d94c785d2b1
|
||||
HEAD_REF next-wip
|
||||
)
|
||||
|
||||
file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty/asmjit)
|
||||
|
||||
get_filename_component(ASMJIT_SOURCE_DIR_NAME ${ASMJIT_SOURCE_PATH} NAME)
|
||||
file(COPY ${ASMJIT_SOURCE_PATH} DESTINATION ${SOURCE_PATH}/3rdparty)
|
||||
file(RENAME ${SOURCE_PATH}/3rdparty/${ASMJIT_SOURCE_DIR_NAME} ${SOURCE_PATH}/3rdparty/asmjit)
|
||||
endif()
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DBLEND2D_BUILD_STATIC=${BLEND2D_BUILD_STATIC}
|
||||
-DBLEND2D_BUILD_NO_JIT=${BLEND2D_BUILD_NO_JIT}
|
||||
-DBLEND2D_BUILD_NO_LOGGING=${BLEND2D_BUILD_NO_LOGGING}
|
||||
)
|
||||
|
||||
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
|
||||
if(BLEND2D_BUILD_STATIC)
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/blend2d RENAME copyright)
|
@ -1,4 +1,4 @@
|
||||
Source: blosc
|
||||
Version: 1.13.5-1
|
||||
Version: 1.16.3
|
||||
Build-Depends: lz4, snappy, zlib, zstd
|
||||
Description: A blocking, shuffling and loss-less compression library that can be faster than `memcpy()`
|
||||
|
@ -3,8 +3,8 @@ include(vcpkg_common_functions)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO Blosc/c-blosc
|
||||
REF v1.13.5
|
||||
SHA512 3ddc83c16c91d87959179f58bd23fe8e4bbd07c17312cdfdd0bc238a743e695f2914baf0b69efd923e8e54e8455699c8e528d3966d9126e15a8897d3c529db25
|
||||
REF v1.16.3
|
||||
SHA512 2ff67a6e955a641c3a2330140e5887d0ce3fdcbf6b205507798a4e848a35ba2e22bf8fd91133291bc73c4e48fb01c02139e47ab8e4774d0e2288872e625c9ffd
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
Source: bond
|
||||
Maintainer: bond@microsoft.com
|
||||
Version: 7.0.2-2
|
||||
Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. <https://github.com/Microsoft/bond>
|
||||
Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.
|
||||
Homepage: https://github.com/Microsoft/bond
|
||||
Build-Depends: rapidjson, boost-config, boost-utility, boost-assign
|
||||
|
@ -30,7 +30,7 @@ find_package(LibLZMA REQUIRED)
|
||||
target_include_directories(boost_iostreams PRIVATE ${LIBLZMA_INCLUDE_DIRS})
|
||||
target_link_libraries(boost_iostreams PRIVATE ${LIBLZMA_LIBRARIES})
|
||||
|
||||
find_library(ZSTD_LIBRARY NAMES zstdd zstd_staticd zstd zstd_static)
|
||||
find_library(ZSTD_LIBRARY NAMES zstdd zstd_staticd zstd zstd_static NAMES_PER_DIR)
|
||||
target_link_libraries(boost_iostreams PRIVATE ${ZSTD_LIBRARY})
|
||||
|
||||
install(TARGETS boost_iostreams
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-iostreams
|
||||
Version: 1.70.0
|
||||
Version: 1.70.0-1
|
||||
Build-Depends: boost-assert, boost-bind, boost-build, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, liblzma, zlib, zstd
|
||||
Description: Boost iostreams module
|
||||
|
@ -158,9 +158,12 @@ add_custom_target(boost ALL
|
||||
threading=multi
|
||||
threadapi=pthread
|
||||
debug-symbols=on
|
||||
|
||||
stage
|
||||
WORKING_DIRECTORY ${SOURCE_PATH}/build
|
||||
)
|
||||
|
||||
set(SUBDIR ${CMAKE_CURRENT_BINARY_DIR}/stage/lib)
|
||||
install(
|
||||
CODE "file(GLOB LIBS ${CMAKE_CURRENT_BINARY_DIR}/boost/build/*/*.a)\nif(LIBS)\nfile(INSTALL \${LIBS} DESTINATION \"\${CMAKE_INSTALL_PREFIX}/lib\")\nendif()"
|
||||
CODE "file(GLOB LIBS ${SUBDIR}/*.so.* ${SUBDIR}/*.so ${SUBDIR}/*.a ${SUBDIR}/*.dylib ${SUBDIR}/*.dylib.*)\nif(LIBS)\nfile(INSTALL \${LIBS} DESTINATION \"\${CMAKE_INSTALL_PREFIX}/lib\")\nendif()"
|
||||
)
|
||||
|
@ -1,2 +1,2 @@
|
||||
Source: boost-modular-build-helper
|
||||
Version: 2019-04-25
|
||||
Version: 1.70.0-2
|
||||
|
@ -1,5 +1,5 @@
|
||||
constant BOOST_VERSION : 1.69.0 ;
|
||||
constant BOOST_VERSION_ABI_TAG : 1_69 ;
|
||||
constant BOOST_VERSION : 1.70.0 ;
|
||||
constant BOOST_VERSION_ABI_TAG : 1_70 ;
|
||||
constant BOOST_JAMROOT_MODULE : $(__name__) ;
|
||||
|
||||
import boostcpp ;
|
||||
|
@ -40,8 +40,16 @@ function(boost_modular_build)
|
||||
set(BOOST_LIB_DEBUG_SUFFIX -vc140-mt-gd.lib)
|
||||
else()
|
||||
set(BOOST_LIB_PREFIX lib)
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
set(BOOST_LIB_RELEASE_SUFFIX .a)
|
||||
set(BOOST_LIB_DEBUG_SUFFIX .a)
|
||||
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
set(BOOST_LIB_RELEASE_SUFFIX .dylib)
|
||||
set(BOOST_LIB_DEBUG_SUFFIX .dylib)
|
||||
else()
|
||||
set(BOOST_LIB_RELEASE_SUFFIX .so)
|
||||
set(BOOST_LIB_DEBUG_SUFFIX .so)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(EXISTS "${_bm_SOURCE_PATH}/build/Jamfile.v2")
|
||||
@ -234,7 +242,7 @@ function(boost_modular_build)
|
||||
find_path(PATH_TO_CL cl.exe)
|
||||
find_path(PLATFORM_WINMD_DIR platform.winmd PATHS "${PATH_TO_CL}/../../../lib/x86/store/references" NO_DEFAULT_PATH)
|
||||
if(PLATFORM_WINMD_DIR MATCHES "NOTFOUND")
|
||||
message(FATAL_ERROR "Could not find `platform.winmd` in VS2017. Do you have the Universal Windows Platform development workload installed?")
|
||||
message(FATAL_ERROR "Could not find `platform.winmd` in VS. Do you have the Universal Windows Platform development workload installed?")
|
||||
endif()
|
||||
else()
|
||||
find_path(PLATFORM_WINMD_DIR platform.winmd PATHS "$ENV{VS140COMNTOOLS}/../../VC/LIB/store/references")
|
||||
@ -253,10 +261,8 @@ function(boost_modular_build)
|
||||
configure_file(${_bm_DIR}/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/user-config.jam @ONLY)
|
||||
configure_file(${_bm_DIR}/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/user-config.jam @ONLY)
|
||||
|
||||
if(VCPKG_PLATFORM_TOOLSET MATCHES "v141" OR VCPKG_PLATFORM_TOOLSET MATCHES "v142")
|
||||
list(APPEND _bm_OPTIONS toolset=msvc-14.1)
|
||||
elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v140")
|
||||
list(APPEND _bm_OPTIONS toolset=msvc-14.0)
|
||||
if(VCPKG_PLATFORM_TOOLSET MATCHES "v14.")
|
||||
list(APPEND _bm_OPTIONS toolset=msvc)
|
||||
elseif(VCPKG_PLATFORM_TOOLSET MATCHES "external")
|
||||
list(APPEND _bm_OPTIONS toolset=gcc)
|
||||
else()
|
||||
@ -351,7 +357,7 @@ function(boost_modular_build)
|
||||
string(REPLACE "-x64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
|
||||
string(REPLACE "-a32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
|
||||
string(REPLACE "-a64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
|
||||
string(REPLACE "-1_69" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries
|
||||
string(REPLACE "-1_70" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries
|
||||
string(REPLACE "_python3-" "_python-" NEW_FILENAME ${NEW_FILENAME})
|
||||
if("${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}" STREQUAL "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}")
|
||||
# nothing to do
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
|
||||
Source: boost-thread
|
||||
Version: 1.70.0
|
||||
Version: 1.70.0-1
|
||||
Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-chrono, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-integer, boost-intrusive, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-predef, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
|
||||
Description: Boost thread module
|
||||
|
@ -1,12 +1,12 @@
|
||||
diff --git a/include/boost/thread/win32/thread_primitives.hpp b/include/boost/thread/win32/thread_primitives.hpp
|
||||
index 5e378f7..6144621 100644
|
||||
index e075140..d60ab36 100644
|
||||
--- a/include/boost/thread/win32/thread_primitives.hpp
|
||||
+++ b/include/boost/thread/win32/thread_primitives.hpp
|
||||
@@ -70,7 +70,7 @@ namespace boost
|
||||
{
|
||||
namespace win32
|
||||
{
|
||||
- namespace detail { typedef ticks_type (WINAPI *gettickcount64_t)(); }
|
||||
- namespace detail { typedef ticks_type (BOOST_WINAPI_WINAPI_CC *gettickcount64_t)(); }
|
||||
+ namespace detail { typedef ticks_type (__stdcall *gettickcount64_t)(); }
|
||||
extern BOOST_THREAD_DECL boost::detail::win32::detail::gettickcount64_t gettickcount64;
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
Source: box2d
|
||||
Version: 2.3.1-374664b-2
|
||||
Description: Box2D (http://box2d.org) is an open source C++ engine for simulating rigid bodies in 2D.
|
||||
Description: An open source C++ engine for simulating rigid bodies in 2D.
|
||||
Homepage: http://box2d.org
|
||||
|
@ -1,3 +1,3 @@
|
||||
Source: brotli
|
||||
Version: 1.0.2-4
|
||||
Version: 1.0.7
|
||||
Description: a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling.
|
||||
|
@ -3,8 +3,8 @@ include(vcpkg_common_functions)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO google/brotli
|
||||
REF v1.0.2
|
||||
SHA512 b3ec98159e63b4169dea3e958d60d89247dc1c0f78aab27bfffb2ece659fa024df990d410aa15c12b2082d42e3785e32ec248dce2b116c7f34e98bb6337f9fc9
|
||||
REF v1.0.7
|
||||
SHA512 a82362aa36d2f2094bca0b2808d9de0d57291fb3a4c29d7c0ca0a37e73087ec5ac4df299c8c363e61106fccf2fe7f58b5cf76eb97729e2696058ef43b1d3930a
|
||||
HEAD_REF master
|
||||
PATCHES install.patch
|
||||
)
|
||||
|
@ -1,3 +1,3 @@
|
||||
Source: bullet3
|
||||
Version: 2.87-1
|
||||
Version: 2.88
|
||||
Description: Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library
|
||||
|
@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO bulletphysics/bullet3
|
||||
REF 2.87
|
||||
SHA512 649e470223295666eda6f7ff59d03097637c2645b5cd951977060ae14b89f56948ce03e437e83c986d26876f187d7ee34e790bc3882d5d66da9af89a4ab81c21
|
||||
REF 2.88
|
||||
SHA512 15face1940d496c96fd19a44139d11d2cbb629526c40432be4a0eef5fa9a532c842ec7318248c0359a080f2034111bf1a3c2d3a6fd789bec675bd368fac7bd93
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
|
3
ports/byte-lite/CONTROL
Normal file
3
ports/byte-lite/CONTROL
Normal file
@ -0,0 +1,3 @@
|
||||
Source: byte-lite
|
||||
Version: 0.2.0
|
||||
Description: A C++17-like byte type for C++98, C++11 and later in a single-file header-only library
|
31
ports/byte-lite/portfile.cmake
Normal file
31
ports/byte-lite/portfile.cmake
Normal file
@ -0,0 +1,31 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO martinmoene/byte-lite
|
||||
REF v0.2.0
|
||||
SHA512 eefc730a39453dfc367a4478a84d4825cd85721d3c332a57321d0a5c3040a4d45921603ff24220f968dd21df61acea856ae30db8bae6c1e835a1755fb03c84b7
|
||||
)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DBYTE_LITE_OPT_BUILD_TESTS=OFF
|
||||
-DBYTE_LITE_OPT_BUILD_EXAMPLES=OFF
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
vcpkg_fixup_cmake_targets(
|
||||
CONFIG_PATH lib/cmake/${PORT}
|
||||
)
|
||||
|
||||
file(REMOVE_RECURSE
|
||||
${CURRENT_PACKAGES_DIR}/debug
|
||||
${CURRENT_PACKAGES_DIR}/lib
|
||||
)
|
||||
|
||||
file(INSTALL
|
||||
${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
|
||||
)
|
@ -167,9 +167,6 @@ find_package(Freetype REQUIRED)
|
||||
find_package(unofficial-glib CONFIG REQUIRED)
|
||||
find_package(unofficial-fontconfig CONFIG REQUIRED)
|
||||
find_package(unofficial-pixman CONFIG REQUIRED)
|
||||
if(APPLE)
|
||||
find_package(Threads REQUIRED)
|
||||
endif()
|
||||
|
||||
# Cairo needs to be told which features of FreeType are availible
|
||||
add_definitions(
|
||||
@ -193,7 +190,11 @@ endif()
|
||||
|
||||
add_library(cairo ${SOURCES})
|
||||
|
||||
target_link_libraries(cairo PRIVATE gdi32 msimg32 user32 ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 unofficial::fontconfig::fontconfig)
|
||||
target_link_libraries(cairo PRIVATE ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 unofficial::fontconfig::fontconfig)
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
target_link_libraries(cairo PRIVATE gdi32 msimg32 user32)
|
||||
endif()
|
||||
|
||||
# GObject support module
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: cairo
|
||||
Version: 1.16.0
|
||||
Version: 1.16.0-1
|
||||
Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
|
||||
Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig
|
||||
|
@ -5,8 +5,10 @@
|
||||
*/
|
||||
|
||||
/* Always for Win32 */
|
||||
#ifdef _WIN32
|
||||
#define CAIRO_HAS_WIN32_SURFACE 1
|
||||
#define CAIRO_HAS_WIN32_FONT 1
|
||||
#endif
|
||||
|
||||
/* Require libpng */
|
||||
#define CAIRO_HAS_PNG_FUNCTIONS 1
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: capnproto
|
||||
Version: 0.7.0-1
|
||||
Description: Data interchange format and capability-based RPC system https://capnproto.org/
|
||||
Description: Data interchange format and capability-based RPC system
|
||||
Homepage: https://capnproto.org/
|
||||
Build-Depends: zlib
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: catch2
|
||||
Version: 2.7.2
|
||||
Description: A modern, header-only test framework for unit testing.
|
||||
Issues, PRs and changelogs can be found at https://github.com/catchorg/Catch2
|
||||
Homepage: https://github.com/catchorg/Catch2
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: cccapstone
|
||||
Version: 9b4128ee1153e78288a1b5433e2c06a0d47a4c4e
|
||||
Version: 9b4128ee1153e78288a1b5433e2c06a0d47a4c4e-1
|
||||
Description: c++ bindings for capstone disasembly framework
|
||||
Build-Depends: capstone
|
||||
|
24
ports/cccapstone/fix-include-path.patch
Normal file
24
ports/cccapstone/fix-include-path.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff --git a/cppbindings/CsCapstoneHelper.hh b/cppbindings/CsCapstoneHelper.hh
|
||||
index daf7a73..8ed5194 100644
|
||||
--- a/cppbindings/CsCapstoneHelper.hh
|
||||
+++ b/cppbindings/CsCapstoneHelper.hh
|
||||
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
-#include <capstone.h>
|
||||
+#include <capstone/capstone.h>
|
||||
#include <memory>
|
||||
|
||||
struct CS_HANDLE :
|
||||
diff --git a/cppbindings/CsIns.hpp b/cppbindings/CsIns.hpp
|
||||
index 6e8ba71..c723be9 100644
|
||||
--- a/cppbindings/CsIns.hpp
|
||||
+++ b/cppbindings/CsIns.hpp
|
||||
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
-#include <capstone.h>
|
||||
+#include <capstone/capstone.h>
|
||||
#include "CsCapstoneHelper.hh"
|
||||
|
||||
//x86_insn_group, x86_reg, x86_op_type, x86_insn
|
@ -5,6 +5,7 @@ vcpkg_from_github(
|
||||
REPO zer0mem/cccapstone
|
||||
SHA512 d0023586281f921314dbba501fa2c06d822b1adba0a0c32f30b78628ee935e5822caebe3881a5d1cc4cc696b82a7e348044d887a7f652303359d2853d2ee45fb
|
||||
HEAD_REF master
|
||||
PATCHES fix-include-path.patch
|
||||
)
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/cppbindings/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/cccapstone/cppbindings)
|
||||
|
@ -1,3 +1,3 @@
|
||||
Source: ccd
|
||||
Version: 2.0.0-2
|
||||
Version: 2.1
|
||||
Description: Library for collision detection between two convex shapes
|
||||
|
@ -3,8 +3,8 @@ include(vcpkg_common_functions)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO danfis/libccd
|
||||
REF 64f02f741ac94fccd0fb660a5bffcbe6d01d9939
|
||||
SHA512 901b09d57e119e4661b3556bbefe5a4d58cb843bff5c76ee3952fe379ff183c878a04e86e6192006c11012309c6e93d42319e9d606abdf7ad723f6d8afeea47f
|
||||
REF v2.1
|
||||
SHA512 ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
Source: celero
|
||||
Version: 2.4.0-1
|
||||
Version: 2.5.0-1
|
||||
Description: Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++.
|
||||
|
@ -3,8 +3,8 @@ include(vcpkg_common_functions)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO DigitalInBlue/Celero
|
||||
REF 9f41c21e35b04d7d65dcb0aff4c962f6e5f2cbc3
|
||||
SHA512 62a4803e61cf9e876c09cc68be07d4bfa31f291d3ced23e092347bf43b48086b3ba7862fc454082f42263d9ec0c260e8ba58da5c0c461ebff9c871209784e2a7
|
||||
REF 6f24a1d98db4fee41ddd2f615cf490a5b514795a
|
||||
SHA512 7dc8cecd2aac7bd312bfa01013f290fbfac8a43d07cc0d884e9b446c29a6c233e800f9bd3d03551f6e3b1ee2424cf90571f16590b23fc9333900fcc82143d048
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
|
@ -1,949 +0,0 @@
|
||||
diff --git a/cmake/FindGflags.cmake b/cmake/FindGflags.cmake
|
||||
deleted file mode 100644
|
||||
index 32c04ea..0000000
|
||||
--- a/cmake/FindGflags.cmake
|
||||
+++ /dev/null
|
||||
@@ -1,591 +0,0 @@
|
||||
-# Ceres Solver - A fast non-linear least squares minimizer
|
||||
-# Copyright 2015 Google Inc. All rights reserved.
|
||||
-# http://ceres-solver.org/
|
||||
-#
|
||||
-# Redistribution and use in source and binary forms, with or without
|
||||
-# modification, are permitted provided that the following conditions are met:
|
||||
-#
|
||||
-# * Redistributions of source code must retain the above copyright notice,
|
||||
-# this list of conditions and the following disclaimer.
|
||||
-# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
-# this list of conditions and the following disclaimer in the documentation
|
||||
-# and/or other materials provided with the distribution.
|
||||
-# * Neither the name of Google Inc. nor the names of its contributors may be
|
||||
-# used to endorse or promote products derived from this software without
|
||||
-# specific prior written permission.
|
||||
-#
|
||||
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
-# POSSIBILITY OF SUCH DAMAGE.
|
||||
-#
|
||||
-# Author: alexs.mac@gmail.com (Alex Stewart)
|
||||
-#
|
||||
-
|
||||
-# FindGflags.cmake - Find Google gflags logging library.
|
||||
-#
|
||||
-# This module will attempt to find gflags, either via an exported CMake
|
||||
-# configuration (generated by gflags >= 2.1 which are built with CMake), or
|
||||
-# by performing a standard search for all gflags components. The order of
|
||||
-# precedence for these two methods of finding gflags is controlled by:
|
||||
-# GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION.
|
||||
-#
|
||||
-# This module defines the following variables:
|
||||
-#
|
||||
-# GFLAGS_FOUND: TRUE iff gflags is found.
|
||||
-# GFLAGS_INCLUDE_DIRS: Include directories for gflags.
|
||||
-# GFLAGS_LIBRARIES: Libraries required to link gflags.
|
||||
-# GFLAGS_NAMESPACE: The namespace in which gflags is defined. In versions of
|
||||
-# gflags < 2.1, this was google, for versions >= 2.1 it is
|
||||
-# by default gflags, although can be configured when building
|
||||
-# gflags to be something else (i.e. google for legacy
|
||||
-# compatibility).
|
||||
-# FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION: True iff the version of gflags
|
||||
-# found was built & installed /
|
||||
-# exported as a CMake package.
|
||||
-#
|
||||
-# The following variables control the behaviour of this module when an exported
|
||||
-# gflags CMake configuration is not found.
|
||||
-#
|
||||
-# GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION: TRUE/FALSE, iff TRUE then
|
||||
-# then prefer using an exported CMake configuration
|
||||
-# generated by gflags >= 2.1 over searching for the
|
||||
-# gflags components manually. Otherwise (FALSE)
|
||||
-# ignore any exported gflags CMake configurations and
|
||||
-# always perform a manual search for the components.
|
||||
-# Default: TRUE iff user does not define this variable
|
||||
-# before we are called, and does NOT specify either
|
||||
-# GFLAGS_INCLUDE_DIR_HINTS or GFLAGS_LIBRARY_DIR_HINTS
|
||||
-# otherwise FALSE.
|
||||
-# GFLAGS_INCLUDE_DIR_HINTS: List of additional directories in which to
|
||||
-# search for gflags includes, e.g: /timbuktu/include.
|
||||
-# GFLAGS_LIBRARY_DIR_HINTS: List of additional directories in which to
|
||||
-# search for gflags libraries, e.g: /timbuktu/lib.
|
||||
-#
|
||||
-# The following variables are also defined by this module, but in line with
|
||||
-# CMake recommended FindPackage() module style should NOT be referenced directly
|
||||
-# by callers (use the plural variables detailed above instead). These variables
|
||||
-# do however affect the behaviour of the module via FIND_[PATH/LIBRARY]() which
|
||||
-# are NOT re-called (i.e. search for library is not repeated) if these variables
|
||||
-# are set with valid values _in the CMake cache_. This means that if these
|
||||
-# variables are set directly in the cache, either by the user in the CMake GUI,
|
||||
-# or by the user passing -DVAR=VALUE directives to CMake when called (which
|
||||
-# explicitly defines a cache variable), then they will be used verbatim,
|
||||
-# bypassing the HINTS variables and other hard-coded search locations.
|
||||
-#
|
||||
-# GFLAGS_INCLUDE_DIR: Include directory for gflags, not including the
|
||||
-# include directory of any dependencies.
|
||||
-# GFLAGS_LIBRARY: gflags library, not including the libraries of any
|
||||
-# dependencies.
|
||||
-
|
||||
-# Reset CALLERS_CMAKE_FIND_LIBRARY_PREFIXES to its value when FindGflags was
|
||||
-# invoked, necessary for MSVC.
|
||||
-macro(GFLAGS_RESET_FIND_LIBRARY_PREFIX)
|
||||
- if (MSVC AND CALLERS_CMAKE_FIND_LIBRARY_PREFIXES)
|
||||
- set(CMAKE_FIND_LIBRARY_PREFIXES "${CALLERS_CMAKE_FIND_LIBRARY_PREFIXES}")
|
||||
- endif()
|
||||
-endmacro(GFLAGS_RESET_FIND_LIBRARY_PREFIX)
|
||||
-
|
||||
-# Called if we failed to find gflags or any of it's required dependencies,
|
||||
-# unsets all public (designed to be used externally) variables and reports
|
||||
-# error message at priority depending upon [REQUIRED/QUIET/<NONE>] argument.
|
||||
-macro(GFLAGS_REPORT_NOT_FOUND REASON_MSG)
|
||||
- unset(GFLAGS_FOUND)
|
||||
- unset(GFLAGS_INCLUDE_DIRS)
|
||||
- unset(GFLAGS_LIBRARIES)
|
||||
- # Do not use unset, as we want to keep GFLAGS_NAMESPACE in the cache,
|
||||
- # but simply clear its value.
|
||||
- set(GFLAGS_NAMESPACE "" CACHE STRING
|
||||
- "gflags namespace (google or gflags)" FORCE)
|
||||
-
|
||||
- # Make results of search visible in the CMake GUI if gflags has not
|
||||
- # been found so that user does not have to toggle to advanced view.
|
||||
- mark_as_advanced(CLEAR GFLAGS_INCLUDE_DIR
|
||||
- GFLAGS_LIBRARY
|
||||
- GFLAGS_NAMESPACE)
|
||||
-
|
||||
- gflags_reset_find_library_prefix()
|
||||
-
|
||||
- # Note <package>_FIND_[REQUIRED/QUIETLY] variables defined by FindPackage()
|
||||
- # use the camelcase library name, not uppercase.
|
||||
- if (Gflags_FIND_QUIETLY)
|
||||
- message(STATUS "Failed to find gflags - " ${REASON_MSG} ${ARGN})
|
||||
- elseif (Gflags_FIND_REQUIRED)
|
||||
- message(FATAL_ERROR "Failed to find gflags - " ${REASON_MSG} ${ARGN})
|
||||
- else()
|
||||
- # Neither QUIETLY nor REQUIRED, use no priority which emits a message
|
||||
- # but continues configuration and allows generation.
|
||||
- message("-- Failed to find gflags - " ${REASON_MSG} ${ARGN})
|
||||
- endif ()
|
||||
- return()
|
||||
-endmacro(GFLAGS_REPORT_NOT_FOUND)
|
||||
-
|
||||
-# Verify that all variable names passed as arguments are defined (can be empty
|
||||
-# but must be defined) or raise a fatal error.
|
||||
-macro(GFLAGS_CHECK_VARS_DEFINED)
|
||||
- foreach(CHECK_VAR ${ARGN})
|
||||
- if (NOT DEFINED ${CHECK_VAR})
|
||||
- message(FATAL_ERROR "Ceres Bug: ${CHECK_VAR} is not defined.")
|
||||
- endif()
|
||||
- endforeach()
|
||||
-endmacro(GFLAGS_CHECK_VARS_DEFINED)
|
||||
-
|
||||
-# Use check_cxx_source_compiles() to compile trivial test programs to determine
|
||||
-# the gflags namespace. This works on all OSs except Windows. If using Visual
|
||||
-# Studio, it fails because msbuild forces check_cxx_source_compiles() to use
|
||||
-# CMAKE_BUILD_TYPE=Debug for the test project, which usually breaks detection
|
||||
-# because MSVC requires that the test project use the same build type as gflags,
|
||||
-# which would normally be built in Release.
|
||||
-#
|
||||
-# Defines: GFLAGS_NAMESPACE in the caller's scope with the detected namespace,
|
||||
-# which is blank (empty string, will test FALSE is CMake conditionals)
|
||||
-# if detection failed.
|
||||
-function(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_TRY_COMPILE)
|
||||
- # Verify that all required variables are defined.
|
||||
- gflags_check_vars_defined(
|
||||
- GFLAGS_INCLUDE_DIR GFLAGS_LIBRARY)
|
||||
- # Ensure that GFLAGS_NAMESPACE is always unset on completion unless
|
||||
- # we explicitly set if after having the correct namespace.
|
||||
- set(GFLAGS_NAMESPACE "" PARENT_SCOPE)
|
||||
-
|
||||
- include(CheckCXXSourceCompiles)
|
||||
- # Setup include path & link library for gflags for CHECK_CXX_SOURCE_COMPILES.
|
||||
- set(CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR})
|
||||
- set(CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARY} ${GFLAGS_LINK_LIBRARIES})
|
||||
- # First try the (older) google namespace. Note that the output variable
|
||||
- # MUST be unique to the build type as otherwise the test is not repeated as
|
||||
- # it is assumed to have already been performed.
|
||||
- check_cxx_source_compiles(
|
||||
- "#include <gflags/gflags.h>
|
||||
- int main(int argc, char * argv[]) {
|
||||
- google::ParseCommandLineFlags(&argc, &argv, true);
|
||||
- return 0;
|
||||
- }"
|
||||
- GFLAGS_IN_GOOGLE_NAMESPACE)
|
||||
- if (GFLAGS_IN_GOOGLE_NAMESPACE)
|
||||
- set(GFLAGS_NAMESPACE google PARENT_SCOPE)
|
||||
- return()
|
||||
- endif()
|
||||
-
|
||||
- # Try (newer) gflags namespace instead. Note that the output variable
|
||||
- # MUST be unique to the build type as otherwise the test is not repeated as
|
||||
- # it is assumed to have already been performed.
|
||||
- set(CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR})
|
||||
- set(CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARY} ${GFLAGS_LINK_LIBRARIES})
|
||||
- check_cxx_source_compiles(
|
||||
- "#include <gflags/gflags.h>
|
||||
- int main(int argc, char * argv[]) {
|
||||
- gflags::ParseCommandLineFlags(&argc, &argv, true);
|
||||
- return 0;
|
||||
- }"
|
||||
- GFLAGS_IN_GFLAGS_NAMESPACE)
|
||||
- if (GFLAGS_IN_GFLAGS_NAMESPACE)
|
||||
- set(GFLAGS_NAMESPACE gflags PARENT_SCOPE)
|
||||
- return()
|
||||
- endif (GFLAGS_IN_GFLAGS_NAMESPACE)
|
||||
-endfunction(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_TRY_COMPILE)
|
||||
-
|
||||
-# Use regex on the gflags headers to attempt to determine the gflags namespace.
|
||||
-# Checks both gflags.h (contained namespace on versions < 2.1.2) and
|
||||
-# gflags_declare.h, which contains the namespace on versions >= 2.1.2.
|
||||
-# In general, this method should only be used when
|
||||
-# GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_TRY_COMPILE() cannot be used, or has
|
||||
-# failed.
|
||||
-#
|
||||
-# Defines: GFLAGS_NAMESPACE in the caller's scope with the detected namespace,
|
||||
-# which is blank (empty string, will test FALSE is CMake conditionals)
|
||||
-# if detection failed.
|
||||
-function(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_REGEX)
|
||||
- # Verify that all required variables are defined.
|
||||
- gflags_check_vars_defined(GFLAGS_INCLUDE_DIR)
|
||||
- # Ensure that GFLAGS_NAMESPACE is always undefined on completion unless
|
||||
- # we explicitly set if after having the correct namespace.
|
||||
- set(GFLAGS_NAMESPACE "" PARENT_SCOPE)
|
||||
-
|
||||
- # Scan gflags.h to identify what namespace gflags was built with. On
|
||||
- # versions of gflags < 2.1.2, gflags.h was configured with the namespace
|
||||
- # directly, on >= 2.1.2, gflags.h uses the GFLAGS_NAMESPACE #define which
|
||||
- # is defined in gflags_declare.h, we try each location in turn.
|
||||
- set(GFLAGS_HEADER_FILE ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h)
|
||||
- if (NOT EXISTS ${GFLAGS_HEADER_FILE})
|
||||
- gflags_report_not_found(
|
||||
- "Could not find file: ${GFLAGS_HEADER_FILE} "
|
||||
- "containing namespace information in gflags install located at: "
|
||||
- "${GFLAGS_INCLUDE_DIR}.")
|
||||
- endif()
|
||||
- file(READ ${GFLAGS_HEADER_FILE} GFLAGS_HEADER_FILE_CONTENTS)
|
||||
-
|
||||
- string(REGEX MATCH "namespace [A-Za-z]+"
|
||||
- GFLAGS_NAMESPACE "${GFLAGS_HEADER_FILE_CONTENTS}")
|
||||
- string(REGEX REPLACE "namespace ([A-Za-z]+)" "\\1"
|
||||
- GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}")
|
||||
-
|
||||
- if (NOT GFLAGS_NAMESPACE)
|
||||
- gflags_report_not_found(
|
||||
- "Failed to extract gflags namespace from header file: "
|
||||
- "${GFLAGS_HEADER_FILE}.")
|
||||
- endif (NOT GFLAGS_NAMESPACE)
|
||||
-
|
||||
- if (GFLAGS_NAMESPACE STREQUAL "google" OR
|
||||
- GFLAGS_NAMESPACE STREQUAL "gflags")
|
||||
- # Found valid gflags namespace from gflags.h.
|
||||
- set(GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}" PARENT_SCOPE)
|
||||
- return()
|
||||
- endif()
|
||||
-
|
||||
- # Failed to find gflags namespace from gflags.h, gflags is likely a new
|
||||
- # version, check gflags_declare.h, which in newer versions (>= 2.1.2) contains
|
||||
- # the GFLAGS_NAMESPACE #define, which is then referenced in gflags.h.
|
||||
- set(GFLAGS_DECLARE_FILE ${GFLAGS_INCLUDE_DIR}/gflags/gflags_declare.h)
|
||||
- if (NOT EXISTS ${GFLAGS_DECLARE_FILE})
|
||||
- gflags_report_not_found(
|
||||
- "Could not find file: ${GFLAGS_DECLARE_FILE} "
|
||||
- "containing namespace information in gflags install located at: "
|
||||
- "${GFLAGS_INCLUDE_DIR}.")
|
||||
- endif()
|
||||
- file(READ ${GFLAGS_DECLARE_FILE} GFLAGS_DECLARE_FILE_CONTENTS)
|
||||
-
|
||||
- string(REGEX MATCH "#define GFLAGS_NAMESPACE [A-Za-z]+"
|
||||
- GFLAGS_NAMESPACE "${GFLAGS_DECLARE_FILE_CONTENTS}")
|
||||
- string(REGEX REPLACE "#define GFLAGS_NAMESPACE ([A-Za-z]+)" "\\1"
|
||||
- GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}")
|
||||
-
|
||||
- if (NOT GFLAGS_NAMESPACE)
|
||||
- gflags_report_not_found(
|
||||
- "Failed to extract gflags namespace from declare file: "
|
||||
- "${GFLAGS_DECLARE_FILE}.")
|
||||
- endif (NOT GFLAGS_NAMESPACE)
|
||||
-
|
||||
- if (GFLAGS_NAMESPACE STREQUAL "google" OR
|
||||
- GFLAGS_NAMESPACE STREQUAL "gflags")
|
||||
- # Found valid gflags namespace from gflags.h.
|
||||
- set(GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}" PARENT_SCOPE)
|
||||
- return()
|
||||
- endif()
|
||||
-endfunction(GFLAGS_CHECK_GFLAGS_NAMESPACE_USING_REGEX)
|
||||
-
|
||||
-# Protect against any alternative find_package scripts for this library having
|
||||
-# been called previously (in a client project) which set GFLAGS_FOUND, but not
|
||||
-# the other variables we require / set here which could cause the search logic
|
||||
-# here to fail.
|
||||
-unset(GFLAGS_FOUND)
|
||||
-
|
||||
-# -----------------------------------------------------------------
|
||||
-# By default, if the user has expressed no preference for using an exported
|
||||
-# gflags CMake configuration over performing a search for the installed
|
||||
-# components, and has not specified any hints for the search locations, then
|
||||
-# prefer a gflags exported configuration if available.
|
||||
-if (NOT DEFINED GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION
|
||||
- AND NOT GFLAGS_INCLUDE_DIR_HINTS
|
||||
- AND NOT GFLAGS_LIBRARY_DIR_HINTS)
|
||||
- message(STATUS "No preference for use of exported gflags CMake configuration "
|
||||
- "set, and no hints for include/library directories provided. "
|
||||
- "Defaulting to preferring an installed/exported gflags CMake configuration "
|
||||
- "if available.")
|
||||
- set(GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION TRUE)
|
||||
-endif()
|
||||
-
|
||||
-if (GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION)
|
||||
- # Try to find an exported CMake configuration for gflags, as generated by
|
||||
- # gflags versions >= 2.1.
|
||||
- #
|
||||
- # We search twice, s/t we can invert the ordering of precedence used by
|
||||
- # find_package() for exported package build directories, and installed
|
||||
- # packages (found via CMAKE_SYSTEM_PREFIX_PATH), listed as items 6) and 7)
|
||||
- # respectively in [1].
|
||||
- #
|
||||
- # By default, exported build directories are (in theory) detected first, and
|
||||
- # this is usually the case on Windows. However, on OS X & Linux, the install
|
||||
- # path (/usr/local) is typically present in the PATH environment variable
|
||||
- # which is checked in item 4) in [1] (i.e. before both of the above, unless
|
||||
- # NO_SYSTEM_ENVIRONMENT_PATH is passed). As such on those OSs installed
|
||||
- # packages are usually detected in preference to exported package build
|
||||
- # directories.
|
||||
- #
|
||||
- # To ensure a more consistent response across all OSs, and as users usually
|
||||
- # want to prefer an installed version of a package over a locally built one
|
||||
- # where both exist (esp. as the exported build directory might be removed
|
||||
- # after installation), we first search with NO_CMAKE_PACKAGE_REGISTRY which
|
||||
- # means any build directories exported by the user are ignored, and thus
|
||||
- # installed directories are preferred. If this fails to find the package
|
||||
- # we then research again, but without NO_CMAKE_PACKAGE_REGISTRY, so any
|
||||
- # exported build directories will now be detected.
|
||||
- #
|
||||
- # To prevent confusion on Windows, we also pass NO_CMAKE_BUILDS_PATH (which
|
||||
- # is item 5) in [1]), to not preferentially use projects that were built
|
||||
- # recently with the CMake GUI to ensure that we always prefer an installed
|
||||
- # version if available.
|
||||
- #
|
||||
- # [1] http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_package
|
||||
- find_package(gflags QUIET
|
||||
- NO_MODULE
|
||||
- NO_CMAKE_PACKAGE_REGISTRY
|
||||
- NO_CMAKE_BUILDS_PATH)
|
||||
- if (gflags_FOUND)
|
||||
- message(STATUS "Found installed version of gflags: ${gflags_DIR}")
|
||||
- else(gflags_FOUND)
|
||||
- # Failed to find an installed version of gflags, repeat search allowing
|
||||
- # exported build directories.
|
||||
- message(STATUS "Failed to find installed gflags CMake configuration, "
|
||||
- "searching for gflags build directories exported with CMake.")
|
||||
- # Again pass NO_CMAKE_BUILDS_PATH, as we know that gflags is exported and
|
||||
- # do not want to treat projects built with the CMake GUI preferentially.
|
||||
- find_package(gflags QUIET
|
||||
- NO_MODULE
|
||||
- NO_CMAKE_BUILDS_PATH)
|
||||
- if (gflags_FOUND)
|
||||
- message(STATUS "Found exported gflags build directory: ${gflags_DIR}")
|
||||
- endif(gflags_FOUND)
|
||||
- endif(gflags_FOUND)
|
||||
-
|
||||
- set(FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION ${gflags_FOUND})
|
||||
-
|
||||
- # gflags v2.1 - 2.1.2 shipped with a bug in their gflags-config.cmake [1]
|
||||
- # whereby gflags_LIBRARIES = "gflags", but there was no imported target
|
||||
- # called "gflags", they were called: gflags[_nothreads]-[static/shared].
|
||||
- # As this causes linker errors when gflags is not installed in a location
|
||||
- # on the current library paths, detect if this problem is present and
|
||||
- # fix it.
|
||||
- #
|
||||
- # [1] https://github.com/gflags/gflags/issues/110
|
||||
- if (gflags_FOUND)
|
||||
- # NOTE: This is not written as additional conditions in the outer
|
||||
- # if (gflags_FOUND) as the NOT TARGET "${gflags_LIBRARIES}"
|
||||
- # condition causes problems if gflags is not found.
|
||||
- if (${gflags_VERSION} VERSION_LESS 2.1.3 AND
|
||||
- NOT TARGET "${gflags_LIBRARIES}")
|
||||
- message(STATUS "Detected broken gflags install in: ${gflags_DIR}, "
|
||||
- "version: ${gflags_VERSION} <= 2.1.2 which defines gflags_LIBRARIES = "
|
||||
- "${gflags_LIBRARIES} which is not an imported CMake target, see: "
|
||||
- "https://github.com/gflags/gflags/issues/110. Attempting to fix by "
|
||||
- "detecting correct gflags target.")
|
||||
- # Ordering here expresses preference for detection, specifically we do not
|
||||
- # want to use the _nothreads variants if the full library is available.
|
||||
- list(APPEND CHECK_GFLAGS_IMPORTED_TARGET_NAMES
|
||||
- gflags-shared gflags-static
|
||||
- gflags_nothreads-shared gflags_nothreads-static)
|
||||
- foreach(CHECK_GFLAGS_TARGET ${CHECK_GFLAGS_IMPORTED_TARGET_NAMES})
|
||||
- if (TARGET ${CHECK_GFLAGS_TARGET})
|
||||
- message(STATUS "Found valid gflags target: ${CHECK_GFLAGS_TARGET}, "
|
||||
- "updating gflags_LIBRARIES.")
|
||||
- set(gflags_LIBRARIES ${CHECK_GFLAGS_TARGET})
|
||||
- break()
|
||||
- endif()
|
||||
- endforeach()
|
||||
- if (NOT TARGET ${gflags_LIBRARIES})
|
||||
- message(STATUS "Failed to fix detected broken gflags install in: "
|
||||
- "${gflags_DIR}, version: ${gflags_VERSION} <= 2.1.2, none of the "
|
||||
- "imported targets for gflags: ${CHECK_GFLAGS_IMPORTED_TARGET_NAMES} "
|
||||
- "are defined. Will continue with a manual search for gflags "
|
||||
- "components. We recommend you build/install a version of gflags > "
|
||||
- "2.1.2 (or master).")
|
||||
- set(FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION FALSE)
|
||||
- endif()
|
||||
- endif()
|
||||
- endif()
|
||||
-
|
||||
- if (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION)
|
||||
- message(STATUS "Detected gflags version: ${gflags_VERSION}")
|
||||
- set(GFLAGS_FOUND ${gflags_FOUND})
|
||||
- set(GFLAGS_INCLUDE_DIR ${gflags_INCLUDE_DIR})
|
||||
- set(GFLAGS_LIBRARY ${gflags_LIBRARIES})
|
||||
-
|
||||
- # gflags does not export the namespace in their CMake configuration, so
|
||||
- # use our function to determine what it should be, as it can be either
|
||||
- # gflags or google dependent upon version & configuration.
|
||||
- #
|
||||
- # NOTE: We use the regex method to determine the namespace here, as
|
||||
- # check_cxx_source_compiles() will not use imported targets, which
|
||||
- # is what gflags will be in this case.
|
||||
- gflags_check_gflags_namespace_using_regex()
|
||||
-
|
||||
- if (NOT GFLAGS_NAMESPACE)
|
||||
- gflags_report_not_found(
|
||||
- "Failed to determine gflags namespace using regex for gflags "
|
||||
- "version: ${gflags_VERSION} exported here: ${gflags_DIR} using CMake.")
|
||||
- endif (NOT GFLAGS_NAMESPACE)
|
||||
- else (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION)
|
||||
- message(STATUS "Failed to find an installed/exported CMake configuration "
|
||||
- "for gflags, will perform search for installed gflags components.")
|
||||
- endif (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION)
|
||||
-endif(GFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION)
|
||||
-
|
||||
-if (NOT GFLAGS_FOUND)
|
||||
- # Either failed to find an exported gflags CMake configuration, or user
|
||||
- # told us not to use one. Perform a manual search for all gflags components.
|
||||
-
|
||||
- # Handle possible presence of lib prefix for libraries on MSVC, see
|
||||
- # also GFLAGS_RESET_FIND_LIBRARY_PREFIX().
|
||||
- if (MSVC)
|
||||
- # Preserve the caller's original values for CMAKE_FIND_LIBRARY_PREFIXES
|
||||
- # s/t we can set it back before returning.
|
||||
- set(CALLERS_CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
|
||||
- # The empty string in this list is important, it represents the case when
|
||||
- # the libraries have no prefix (shared libraries / DLLs).
|
||||
- set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "" "${CMAKE_FIND_LIBRARY_PREFIXES}")
|
||||
- endif (MSVC)
|
||||
-
|
||||
- # Search user-installed locations first, so that we prefer user installs
|
||||
- # to system installs where both exist.
|
||||
- list(APPEND GFLAGS_CHECK_INCLUDE_DIRS
|
||||
- /usr/local/include
|
||||
- /usr/local/homebrew/include # Mac OS X
|
||||
- /opt/local/var/macports/software # Mac OS X.
|
||||
- /opt/local/include
|
||||
- /usr/include)
|
||||
- list(APPEND GFLAGS_CHECK_PATH_SUFFIXES
|
||||
- gflags/include # Windows (for C:/Program Files prefix).
|
||||
- gflags/Include ) # Windows (for C:/Program Files prefix).
|
||||
-
|
||||
- list(APPEND GFLAGS_CHECK_LIBRARY_DIRS
|
||||
- /usr/local/lib
|
||||
- /usr/local/homebrew/lib # Mac OS X.
|
||||
- /opt/local/lib
|
||||
- /usr/lib)
|
||||
- list(APPEND GFLAGS_CHECK_LIBRARY_SUFFIXES
|
||||
- gflags/lib # Windows (for C:/Program Files prefix).
|
||||
- gflags/Lib ) # Windows (for C:/Program Files prefix).
|
||||
-
|
||||
- # Search supplied hint directories first if supplied.
|
||||
- find_path(GFLAGS_INCLUDE_DIR
|
||||
- NAMES gflags/gflags.h
|
||||
- HINTS ${GFLAGS_INCLUDE_DIR_HINTS}
|
||||
- PATHS ${GFLAGS_CHECK_INCLUDE_DIRS}
|
||||
- PATH_SUFFIXES ${GFLAGS_CHECK_PATH_SUFFIXES})
|
||||
- if (NOT GFLAGS_INCLUDE_DIR OR
|
||||
- NOT EXISTS ${GFLAGS_INCLUDE_DIR})
|
||||
- gflags_report_not_found(
|
||||
- "Could not find gflags include directory, set GFLAGS_INCLUDE_DIR "
|
||||
- "to directory containing gflags/gflags.h")
|
||||
- endif (NOT GFLAGS_INCLUDE_DIR OR
|
||||
- NOT EXISTS ${GFLAGS_INCLUDE_DIR})
|
||||
-
|
||||
- find_library(GFLAGS_LIBRARY NAMES gflags
|
||||
- HINTS ${GFLAGS_LIBRARY_DIR_HINTS}
|
||||
- PATHS ${GFLAGS_CHECK_LIBRARY_DIRS}
|
||||
- PATH_SUFFIXES ${GFLAGS_CHECK_LIBRARY_SUFFIXES})
|
||||
- if (NOT GFLAGS_LIBRARY OR
|
||||
- NOT EXISTS ${GFLAGS_LIBRARY})
|
||||
- gflags_report_not_found(
|
||||
- "Could not find gflags library, set GFLAGS_LIBRARY "
|
||||
- "to full path to libgflags.")
|
||||
- endif (NOT GFLAGS_LIBRARY OR
|
||||
- NOT EXISTS ${GFLAGS_LIBRARY})
|
||||
-
|
||||
- # gflags typically requires a threading library (which is OS dependent), note
|
||||
- # that this defines the CMAKE_THREAD_LIBS_INIT variable. If we are able to
|
||||
- # detect threads, we assume that gflags requires it.
|
||||
- find_package(Threads QUIET)
|
||||
- set(GFLAGS_LINK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
- # On Windows (including MinGW), the Shlwapi library is used by gflags if
|
||||
- # available.
|
||||
- if (WIN32)
|
||||
- include(CheckIncludeFileCXX)
|
||||
- check_include_file_cxx("shlwapi.h" HAVE_SHLWAPI)
|
||||
- if (HAVE_SHLWAPI)
|
||||
- list(APPEND GFLAGS_LINK_LIBRARIES shlwapi.lib)
|
||||
- endif(HAVE_SHLWAPI)
|
||||
- endif (WIN32)
|
||||
-
|
||||
- # Mark internally as found, then verify. GFLAGS_REPORT_NOT_FOUND() unsets
|
||||
- # if called.
|
||||
- set(GFLAGS_FOUND TRUE)
|
||||
-
|
||||
- # Identify what namespace gflags was built with.
|
||||
- if (GFLAGS_INCLUDE_DIR AND NOT GFLAGS_NAMESPACE)
|
||||
- # To handle Windows peculiarities / CMake bugs on MSVC we try two approaches
|
||||
- # to detect the gflags namespace:
|
||||
- #
|
||||
- # 1) Try to use check_cxx_source_compiles() to compile a trivial program
|
||||
- # with the two choices for the gflags namespace.
|
||||
- #
|
||||
- # 2) [In the event 1) fails] Use regex on the gflags headers to try to
|
||||
- # determine the gflags namespace. Whilst this is less robust than 1),
|
||||
- # it does avoid any interaction with msbuild.
|
||||
- gflags_check_gflags_namespace_using_try_compile()
|
||||
-
|
||||
- if (NOT GFLAGS_NAMESPACE)
|
||||
- # Failed to determine gflags namespace using check_cxx_source_compiles()
|
||||
- # method, try and obtain it using regex on the gflags headers instead.
|
||||
- message(STATUS "Failed to find gflags namespace using using "
|
||||
- "check_cxx_source_compiles(), trying namespace regex instead, "
|
||||
- "this is expected on Windows.")
|
||||
- gflags_check_gflags_namespace_using_regex()
|
||||
-
|
||||
- if (NOT GFLAGS_NAMESPACE)
|
||||
- gflags_report_not_found(
|
||||
- "Failed to determine gflags namespace either by "
|
||||
- "check_cxx_source_compiles(), or namespace regex.")
|
||||
- endif (NOT GFLAGS_NAMESPACE)
|
||||
- endif (NOT GFLAGS_NAMESPACE)
|
||||
- endif (GFLAGS_INCLUDE_DIR AND NOT GFLAGS_NAMESPACE)
|
||||
-
|
||||
- # Make the GFLAGS_NAMESPACE a cache variable s/t the user can view it, and could
|
||||
- # overwrite it in the CMake GUI.
|
||||
- set(GFLAGS_NAMESPACE "${GFLAGS_NAMESPACE}" CACHE STRING
|
||||
- "gflags namespace (google or gflags)" FORCE)
|
||||
-
|
||||
- # gflags does not seem to provide any record of the version in its
|
||||
- # source tree, thus cannot extract version.
|
||||
-
|
||||
- # Catch case when caller has set GFLAGS_NAMESPACE in the cache / GUI
|
||||
- # with an invalid value.
|
||||
- if (GFLAGS_NAMESPACE AND
|
||||
- NOT GFLAGS_NAMESPACE STREQUAL "google" AND
|
||||
- NOT GFLAGS_NAMESPACE STREQUAL "gflags")
|
||||
- gflags_report_not_found(
|
||||
- "Caller defined GFLAGS_NAMESPACE:"
|
||||
- " ${GFLAGS_NAMESPACE} is not valid, not google or gflags.")
|
||||
- endif ()
|
||||
- # Catch case when caller has set GFLAGS_INCLUDE_DIR in the cache / GUI and
|
||||
- # thus FIND_[PATH/LIBRARY] are not called, but specified locations are
|
||||
- # invalid, otherwise we would report the library as found.
|
||||
- if (GFLAGS_INCLUDE_DIR AND
|
||||
- NOT EXISTS ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h)
|
||||
- gflags_report_not_found(
|
||||
- "Caller defined GFLAGS_INCLUDE_DIR:"
|
||||
- " ${GFLAGS_INCLUDE_DIR} does not contain gflags/gflags.h header.")
|
||||
- endif (GFLAGS_INCLUDE_DIR AND
|
||||
- NOT EXISTS ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h)
|
||||
- # TODO: This regex for gflags library is pretty primitive, we use lowercase
|
||||
- # for comparison to handle Windows using CamelCase library names, could
|
||||
- # this check be better?
|
||||
- string(TOLOWER "${GFLAGS_LIBRARY}" LOWERCASE_GFLAGS_LIBRARY)
|
||||
- if (GFLAGS_LIBRARY AND
|
||||
- NOT "${LOWERCASE_GFLAGS_LIBRARY}" MATCHES ".*gflags[^/]*")
|
||||
- gflags_report_not_found(
|
||||
- "Caller defined GFLAGS_LIBRARY: "
|
||||
- "${GFLAGS_LIBRARY} does not match gflags.")
|
||||
- endif (GFLAGS_LIBRARY AND
|
||||
- NOT "${LOWERCASE_GFLAGS_LIBRARY}" MATCHES ".*gflags[^/]*")
|
||||
-
|
||||
- gflags_reset_find_library_prefix()
|
||||
-
|
||||
-endif(NOT GFLAGS_FOUND)
|
||||
-
|
||||
-# Set standard CMake FindPackage variables if found.
|
||||
-if (GFLAGS_FOUND)
|
||||
- set(GFLAGS_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIR})
|
||||
- set(GFLAGS_LIBRARIES ${GFLAGS_LIBRARY} ${GFLAGS_LINK_LIBRARIES})
|
||||
-endif (GFLAGS_FOUND)
|
||||
-
|
||||
-# Handle REQUIRED / QUIET optional arguments.
|
||||
-include(FindPackageHandleStandardArgs)
|
||||
-find_package_handle_standard_args(Gflags DEFAULT_MSG
|
||||
- GFLAGS_INCLUDE_DIRS GFLAGS_LIBRARIES GFLAGS_NAMESPACE)
|
||||
-
|
||||
-# Only mark internal variables as advanced if we found gflags, otherwise
|
||||
-# leave them visible in the standard GUI for the user to set manually.
|
||||
-if (GFLAGS_FOUND)
|
||||
- mark_as_advanced(FORCE GFLAGS_INCLUDE_DIR
|
||||
- GFLAGS_LIBRARY
|
||||
- GFLAGS_NAMESPACE
|
||||
- gflags_DIR) # Autogenerated by find_package(gflags)
|
||||
-endif (GFLAGS_FOUND)
|
||||
diff --git a/cmake/FindGlog.cmake b/cmake/FindGlog.cmake
|
||||
deleted file mode 100644
|
||||
index 979dced..0000000
|
||||
--- a/cmake/FindGlog.cmake
|
||||
+++ /dev/null
|
||||
@@ -1,346 +0,0 @@
|
||||
-# Ceres Solver - A fast non-linear least squares minimizer
|
||||
-# Copyright 2015 Google Inc. All rights reserved.
|
||||
-# http://ceres-solver.org/
|
||||
-#
|
||||
-# Redistribution and use in source and binary forms, with or without
|
||||
-# modification, are permitted provided that the following conditions are met:
|
||||
-#
|
||||
-# * Redistributions of source code must retain the above copyright notice,
|
||||
-# this list of conditions and the following disclaimer.
|
||||
-# * Redistributions in binary form must reproduce the above copyright notice,
|
||||
-# this list of conditions and the following disclaimer in the documentation
|
||||
-# and/or other materials provided with the distribution.
|
||||
-# * Neither the name of Google Inc. nor the names of its contributors may be
|
||||
-# used to endorse or promote products derived from this software without
|
||||
-# specific prior written permission.
|
||||
-#
|
||||
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
-# POSSIBILITY OF SUCH DAMAGE.
|
||||
-#
|
||||
-# Author: alexs.mac@gmail.com (Alex Stewart)
|
||||
-#
|
||||
-
|
||||
-# FindGlog.cmake - Find Google glog logging library.
|
||||
-#
|
||||
-# This module defines the following variables:
|
||||
-#
|
||||
-# GLOG_FOUND: TRUE iff glog is found.
|
||||
-# GLOG_INCLUDE_DIRS: Include directories for glog.
|
||||
-# GLOG_LIBRARIES: Libraries required to link glog.
|
||||
-# FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION: True iff the version of glog found
|
||||
-# was built & installed / exported
|
||||
-# as a CMake package.
|
||||
-#
|
||||
-# The following variables control the behaviour of this module:
|
||||
-#
|
||||
-# GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION: TRUE/FALSE, iff TRUE then
|
||||
-# then prefer using an exported CMake configuration
|
||||
-# generated by glog > 0.3.4 over searching for the
|
||||
-# glog components manually. Otherwise (FALSE)
|
||||
-# ignore any exported glog CMake configurations and
|
||||
-# always perform a manual search for the components.
|
||||
-# Default: TRUE iff user does not define this variable
|
||||
-# before we are called, and does NOT specify either
|
||||
-# GLOG_INCLUDE_DIR_HINTS or GLOG_LIBRARY_DIR_HINTS
|
||||
-# otherwise FALSE.
|
||||
-# GLOG_INCLUDE_DIR_HINTS: List of additional directories in which to
|
||||
-# search for glog includes, e.g: /timbuktu/include.
|
||||
-# GLOG_LIBRARY_DIR_HINTS: List of additional directories in which to
|
||||
-# search for glog libraries, e.g: /timbuktu/lib.
|
||||
-#
|
||||
-# The following variables are also defined by this module, but in line with
|
||||
-# CMake recommended FindPackage() module style should NOT be referenced directly
|
||||
-# by callers (use the plural variables detailed above instead). These variables
|
||||
-# do however affect the behaviour of the module via FIND_[PATH/LIBRARY]() which
|
||||
-# are NOT re-called (i.e. search for library is not repeated) if these variables
|
||||
-# are set with valid values _in the CMake cache_. This means that if these
|
||||
-# variables are set directly in the cache, either by the user in the CMake GUI,
|
||||
-# or by the user passing -DVAR=VALUE directives to CMake when called (which
|
||||
-# explicitly defines a cache variable), then they will be used verbatim,
|
||||
-# bypassing the HINTS variables and other hard-coded search locations.
|
||||
-#
|
||||
-# GLOG_INCLUDE_DIR: Include directory for glog, not including the
|
||||
-# include directory of any dependencies.
|
||||
-# GLOG_LIBRARY: glog library, not including the libraries of any
|
||||
-# dependencies.
|
||||
-
|
||||
-# Reset CALLERS_CMAKE_FIND_LIBRARY_PREFIXES to its value when
|
||||
-# FindGlog was invoked.
|
||||
-macro(GLOG_RESET_FIND_LIBRARY_PREFIX)
|
||||
- if (MSVC AND CALLERS_CMAKE_FIND_LIBRARY_PREFIXES)
|
||||
- set(CMAKE_FIND_LIBRARY_PREFIXES "${CALLERS_CMAKE_FIND_LIBRARY_PREFIXES}")
|
||||
- endif()
|
||||
-endmacro(GLOG_RESET_FIND_LIBRARY_PREFIX)
|
||||
-
|
||||
-# Called if we failed to find glog or any of it's required dependencies,
|
||||
-# unsets all public (designed to be used externally) variables and reports
|
||||
-# error message at priority depending upon [REQUIRED/QUIET/<NONE>] argument.
|
||||
-macro(GLOG_REPORT_NOT_FOUND REASON_MSG)
|
||||
- unset(GLOG_FOUND)
|
||||
- unset(GLOG_INCLUDE_DIRS)
|
||||
- unset(GLOG_LIBRARIES)
|
||||
- # Make results of search visible in the CMake GUI if glog has not
|
||||
- # been found so that user does not have to toggle to advanced view.
|
||||
- mark_as_advanced(CLEAR GLOG_INCLUDE_DIR
|
||||
- GLOG_LIBRARY)
|
||||
-
|
||||
- glog_reset_find_library_prefix()
|
||||
-
|
||||
- # Note <package>_FIND_[REQUIRED/QUIETLY] variables defined by FindPackage()
|
||||
- # use the camelcase library name, not uppercase.
|
||||
- if (Glog_FIND_QUIETLY)
|
||||
- message(STATUS "Failed to find glog - " ${REASON_MSG} ${ARGN})
|
||||
- elseif (Glog_FIND_REQUIRED)
|
||||
- message(FATAL_ERROR "Failed to find glog - " ${REASON_MSG} ${ARGN})
|
||||
- else()
|
||||
- # Neither QUIETLY nor REQUIRED, use no priority which emits a message
|
||||
- # but continues configuration and allows generation.
|
||||
- message("-- Failed to find glog - " ${REASON_MSG} ${ARGN})
|
||||
- endif ()
|
||||
- return()
|
||||
-endmacro(GLOG_REPORT_NOT_FOUND)
|
||||
-
|
||||
-# Protect against any alternative find_package scripts for this library having
|
||||
-# been called previously (in a client project) which set GLOG_FOUND, but not
|
||||
-# the other variables we require / set here which could cause the search logic
|
||||
-# here to fail.
|
||||
-unset(GLOG_FOUND)
|
||||
-
|
||||
-# -----------------------------------------------------------------
|
||||
-# By default, if the user has expressed no preference for using an exported
|
||||
-# glog CMake configuration over performing a search for the installed
|
||||
-# components, and has not specified any hints for the search locations, then
|
||||
-# prefer a glog exported configuration if available.
|
||||
-if (NOT DEFINED GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION
|
||||
- AND NOT GLOG_INCLUDE_DIR_HINTS
|
||||
- AND NOT GLOG_LIBRARY_DIR_HINTS)
|
||||
- message(STATUS "No preference for use of exported glog CMake configuration "
|
||||
- "set, and no hints for include/library directories provided. "
|
||||
- "Defaulting to preferring an installed/exported glog CMake configuration "
|
||||
- "if available.")
|
||||
- set(GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION TRUE)
|
||||
-endif()
|
||||
-
|
||||
-if (GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION)
|
||||
- # Try to find an exported CMake configuration for glog, as generated by
|
||||
- # glog versions > 0.3.4
|
||||
- #
|
||||
- # We search twice, s/t we can invert the ordering of precedence used by
|
||||
- # find_package() for exported package build directories, and installed
|
||||
- # packages (found via CMAKE_SYSTEM_PREFIX_PATH), listed as items 6) and 7)
|
||||
- # respectively in [1].
|
||||
- #
|
||||
- # By default, exported build directories are (in theory) detected first, and
|
||||
- # this is usually the case on Windows. However, on OS X & Linux, the install
|
||||
- # path (/usr/local) is typically present in the PATH environment variable
|
||||
- # which is checked in item 4) in [1] (i.e. before both of the above, unless
|
||||
- # NO_SYSTEM_ENVIRONMENT_PATH is passed). As such on those OSs installed
|
||||
- # packages are usually detected in preference to exported package build
|
||||
- # directories.
|
||||
- #
|
||||
- # To ensure a more consistent response across all OSs, and as users usually
|
||||
- # want to prefer an installed version of a package over a locally built one
|
||||
- # where both exist (esp. as the exported build directory might be removed
|
||||
- # after installation), we first search with NO_CMAKE_PACKAGE_REGISTRY which
|
||||
- # means any build directories exported by the user are ignored, and thus
|
||||
- # installed directories are preferred. If this fails to find the package
|
||||
- # we then research again, but without NO_CMAKE_PACKAGE_REGISTRY, so any
|
||||
- # exported build directories will now be detected.
|
||||
- #
|
||||
- # To prevent confusion on Windows, we also pass NO_CMAKE_BUILDS_PATH (which
|
||||
- # is item 5) in [1]), to not preferentially use projects that were built
|
||||
- # recently with the CMake GUI to ensure that we always prefer an installed
|
||||
- # version if available.
|
||||
- #
|
||||
- # NOTE: We use the NAMES option as glog erroneously uses 'google-glog' as its
|
||||
- # project name when built with CMake, but exports itself as just 'glog'.
|
||||
- # On Linux/OS X this does not break detection as the project name is
|
||||
- # not used as part of the install path for the CMake package files,
|
||||
- # e.g. /usr/local/lib/cmake/glog, where the <glog> suffix is hardcoded
|
||||
- # in glog's CMakeLists. However, on Windows the project name *is*
|
||||
- # part of the install prefix: C:/Program Files/google-glog/[include,lib].
|
||||
- # However, by default CMake checks:
|
||||
- # C:/Program Files/<FIND_PACKAGE_ARGUMENT_NAME='glog'> which does not
|
||||
- # exist and thus detection fails. Thus we use the NAMES to force the
|
||||
- # search to use both google-glog & glog.
|
||||
- #
|
||||
- # [1] http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_package
|
||||
- find_package(glog QUIET
|
||||
- NAMES google-glog glog
|
||||
- NO_MODULE
|
||||
- NO_CMAKE_PACKAGE_REGISTRY
|
||||
- NO_CMAKE_BUILDS_PATH)
|
||||
- if (glog_FOUND)
|
||||
- message(STATUS "Found installed version of glog: ${glog_DIR}")
|
||||
- else()
|
||||
- # Failed to find an installed version of glog, repeat search allowing
|
||||
- # exported build directories.
|
||||
- message(STATUS "Failed to find installed glog CMake configuration, "
|
||||
- "searching for glog build directories exported with CMake.")
|
||||
- # Again pass NO_CMAKE_BUILDS_PATH, as we know that glog is exported and
|
||||
- # do not want to treat projects built with the CMake GUI preferentially.
|
||||
- find_package(glog QUIET
|
||||
- NAMES google-glog glog
|
||||
- NO_MODULE
|
||||
- NO_CMAKE_BUILDS_PATH)
|
||||
- if (glog_FOUND)
|
||||
- message(STATUS "Found exported glog build directory: ${glog_DIR}")
|
||||
- endif(glog_FOUND)
|
||||
- endif(glog_FOUND)
|
||||
-
|
||||
- set(FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION ${glog_FOUND})
|
||||
-
|
||||
- if (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION)
|
||||
- message(STATUS "Detected glog version: ${glog_VERSION}")
|
||||
- set(GLOG_FOUND ${glog_FOUND})
|
||||
- # glog wraps the include directories into the exported glog::glog target.
|
||||
- set(GLOG_INCLUDE_DIR "")
|
||||
- set(GLOG_LIBRARY glog::glog)
|
||||
- else (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION)
|
||||
- message(STATUS "Failed to find an installed/exported CMake configuration "
|
||||
- "for glog, will perform search for installed glog components.")
|
||||
- endif (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION)
|
||||
-endif(GLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION)
|
||||
-
|
||||
-if (NOT GLOG_FOUND)
|
||||
- # Either failed to find an exported glog CMake configuration, or user
|
||||
- # told us not to use one. Perform a manual search for all glog components.
|
||||
-
|
||||
- # Handle possible presence of lib prefix for libraries on MSVC, see
|
||||
- # also GLOG_RESET_FIND_LIBRARY_PREFIX().
|
||||
- if (MSVC)
|
||||
- # Preserve the caller's original values for CMAKE_FIND_LIBRARY_PREFIXES
|
||||
- # s/t we can set it back before returning.
|
||||
- set(CALLERS_CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
|
||||
- # The empty string in this list is important, it represents the case when
|
||||
- # the libraries have no prefix (shared libraries / DLLs).
|
||||
- set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "" "${CMAKE_FIND_LIBRARY_PREFIXES}")
|
||||
- endif (MSVC)
|
||||
-
|
||||
- # Search user-installed locations first, so that we prefer user installs
|
||||
- # to system installs where both exist.
|
||||
- list(APPEND GLOG_CHECK_INCLUDE_DIRS
|
||||
- /usr/local/include
|
||||
- /usr/local/homebrew/include # Mac OS X
|
||||
- /opt/local/var/macports/software # Mac OS X.
|
||||
- /opt/local/include
|
||||
- /usr/include)
|
||||
- # Windows (for C:/Program Files prefix).
|
||||
- list(APPEND GLOG_CHECK_PATH_SUFFIXES
|
||||
- glog/include
|
||||
- glog/Include
|
||||
- Glog/include
|
||||
- Glog/Include
|
||||
- google-glog/include # CMake installs with project name prefix.
|
||||
- google-glog/Include)
|
||||
-
|
||||
- list(APPEND GLOG_CHECK_LIBRARY_DIRS
|
||||
- /usr/local/lib
|
||||
- /usr/local/homebrew/lib # Mac OS X.
|
||||
- /opt/local/lib
|
||||
- /usr/lib)
|
||||
- # Windows (for C:/Program Files prefix).
|
||||
- list(APPEND GLOG_CHECK_LIBRARY_SUFFIXES
|
||||
- glog/lib
|
||||
- glog/Lib
|
||||
- Glog/lib
|
||||
- Glog/Lib
|
||||
- google-glog/lib # CMake installs with project name prefix.
|
||||
- google-glog/Lib)
|
||||
-
|
||||
- # Search supplied hint directories first if supplied.
|
||||
- find_path(GLOG_INCLUDE_DIR
|
||||
- NAMES glog/logging.h
|
||||
- HINTS ${GLOG_INCLUDE_DIR_HINTS}
|
||||
- PATHS ${GLOG_CHECK_INCLUDE_DIRS}
|
||||
- PATH_SUFFIXES ${GLOG_CHECK_PATH_SUFFIXES})
|
||||
- if (NOT GLOG_INCLUDE_DIR OR
|
||||
- NOT EXISTS ${GLOG_INCLUDE_DIR})
|
||||
- glog_report_not_found(
|
||||
- "Could not find glog include directory, set GLOG_INCLUDE_DIR "
|
||||
- "to directory containing glog/logging.h")
|
||||
- endif (NOT GLOG_INCLUDE_DIR OR
|
||||
- NOT EXISTS ${GLOG_INCLUDE_DIR})
|
||||
-
|
||||
- find_library(GLOG_LIBRARY NAMES glog
|
||||
- HINTS ${GLOG_LIBRARY_DIR_HINTS}
|
||||
- PATHS ${GLOG_CHECK_LIBRARY_DIRS}
|
||||
- PATH_SUFFIXES ${GLOG_CHECK_LIBRARY_SUFFIXES})
|
||||
- if (NOT GLOG_LIBRARY OR
|
||||
- NOT EXISTS ${GLOG_LIBRARY})
|
||||
- glog_report_not_found(
|
||||
- "Could not find glog library, set GLOG_LIBRARY "
|
||||
- "to full path to libglog.")
|
||||
- endif (NOT GLOG_LIBRARY OR
|
||||
- NOT EXISTS ${GLOG_LIBRARY})
|
||||
-
|
||||
- # Mark internally as found, then verify. GLOG_REPORT_NOT_FOUND() unsets
|
||||
- # if called.
|
||||
- set(GLOG_FOUND TRUE)
|
||||
-
|
||||
- # Glog does not seem to provide any record of the version in its
|
||||
- # source tree, thus cannot extract version.
|
||||
-
|
||||
- # Catch case when caller has set GLOG_INCLUDE_DIR in the cache / GUI and
|
||||
- # thus FIND_[PATH/LIBRARY] are not called, but specified locations are
|
||||
- # invalid, otherwise we would report the library as found.
|
||||
- if (GLOG_INCLUDE_DIR AND
|
||||
- NOT EXISTS ${GLOG_INCLUDE_DIR}/glog/logging.h)
|
||||
- glog_report_not_found(
|
||||
- "Caller defined GLOG_INCLUDE_DIR:"
|
||||
- " ${GLOG_INCLUDE_DIR} does not contain glog/logging.h header.")
|
||||
- endif (GLOG_INCLUDE_DIR AND
|
||||
- NOT EXISTS ${GLOG_INCLUDE_DIR}/glog/logging.h)
|
||||
- # TODO: This regex for glog library is pretty primitive, we use lowercase
|
||||
- # for comparison to handle Windows using CamelCase library names, could
|
||||
- # this check be better?
|
||||
- string(TOLOWER "${GLOG_LIBRARY}" LOWERCASE_GLOG_LIBRARY)
|
||||
- if (GLOG_LIBRARY AND
|
||||
- NOT "${LOWERCASE_GLOG_LIBRARY}" MATCHES ".*glog[^/]*")
|
||||
- glog_report_not_found(
|
||||
- "Caller defined GLOG_LIBRARY: "
|
||||
- "${GLOG_LIBRARY} does not match glog.")
|
||||
- endif (GLOG_LIBRARY AND
|
||||
- NOT "${LOWERCASE_GLOG_LIBRARY}" MATCHES ".*glog[^/]*")
|
||||
-
|
||||
- glog_reset_find_library_prefix()
|
||||
-
|
||||
-endif(NOT GLOG_FOUND)
|
||||
-
|
||||
-# Set standard CMake FindPackage variables if found.
|
||||
-if (GLOG_FOUND)
|
||||
- set(GLOG_INCLUDE_DIRS ${GLOG_INCLUDE_DIR})
|
||||
- set(GLOG_LIBRARIES ${GLOG_LIBRARY})
|
||||
-endif (GLOG_FOUND)
|
||||
-
|
||||
-# If we are using an exported CMake glog target, the include directories are
|
||||
-# wrapped into the target itself, and do not have to be (and are not)
|
||||
-# separately specified. In which case, we should not add GLOG_INCLUDE_DIRS
|
||||
-# to the list of required variables in order that glog be reported as found.
|
||||
-if (FOUND_INSTALLED_GLOG_CMAKE_CONFIGURATION)
|
||||
- set(GLOG_REQUIRED_VARIABLES GLOG_LIBRARIES)
|
||||
-else()
|
||||
- set(GLOG_REQUIRED_VARIABLES GLOG_INCLUDE_DIRS GLOG_LIBRARIES)
|
||||
-endif()
|
||||
-
|
||||
-# Handle REQUIRED / QUIET optional arguments.
|
||||
-include(FindPackageHandleStandardArgs)
|
||||
-find_package_handle_standard_args(Glog DEFAULT_MSG
|
||||
- ${GLOG_REQUIRED_VARIABLES})
|
||||
-
|
||||
-# Only mark internal variables as advanced if we found glog, otherwise
|
||||
-# leave them visible in the standard GUI for the user to set manually.
|
||||
-if (GLOG_FOUND)
|
||||
- mark_as_advanced(FORCE GLOG_INCLUDE_DIR
|
||||
- GLOG_LIBRARY
|
||||
- glog_DIR) # Autogenerated by find_package(glog)
|
||||
-endif (GLOG_FOUND)
|
@ -1,11 +1,10 @@
|
||||
Source: ceres
|
||||
Version: 1.14.0-3
|
||||
# eigen is always required by CMake, even if it isn't used.
|
||||
Version: 1.14.0-4
|
||||
Build-Depends: glog, eigen3
|
||||
Description: non-linear optimization package
|
||||
|
||||
Feature: lapack
|
||||
Build-Depends: clapack
|
||||
Build-Depends: clapack (!osx)
|
||||
Description: Use Lapack in Ceres
|
||||
|
||||
Feature: suitesparse
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user