Merge branch 'master' into openssl-unix-dynamic

This commit is contained in:
Andrei Lebedev 2019-06-12 08:25:07 +03:00
commit 34d19da9ff
844 changed files with 8634 additions and 8236 deletions

View File

@ -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/).

View File

@ -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.

View File

@ -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/

View File

@ -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

View File

@ -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

View File

@ -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
)

View File

@ -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)

View File

@ -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

View File

@ -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
View 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

View 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
)

View File

@ -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
View 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()

View File

@ -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)

View File

@ -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

View 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;
}

View File

@ -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
View File

@ -0,0 +1,3 @@
Source: argagg
Version: 2019-01-25
Description: A simple C++11 command line argument parser

View 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)

View File

@ -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)

View File

@ -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)

View 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}" )

View File

@ -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.

View 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()

View File

@ -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
View 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/
)

View File

@ -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.

View 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}")

View File

@ -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}")

View File

@ -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

View File

@ -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})

View 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

View File

@ -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

View File

@ -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
)

View File

@ -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

View File

@ -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

View 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})

View File

@ -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

View File

@ -1,3 +1,3 @@
Source: aws-c-common
Version: 0.3.0
Version: 0.3.11
Description: AWS common library for C

View 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)

View 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

View File

@ -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(

View File

@ -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

View File

@ -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
)

View File

@ -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)

View File

@ -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
)

View File

@ -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

View File

@ -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}

View 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:

View 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()

View File

@ -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/

View File

@ -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

View File

@ -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()

View File

@ -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

View File

@ -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()

View File

@ -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

View File

@ -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()

View 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
View 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)

View 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)

View File

@ -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.

View File

@ -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
)

View File

@ -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.

View File

@ -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
View 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

View 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)

View File

@ -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()`

View File

@ -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
)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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()"
)

View File

@ -1,2 +1,2 @@
Source: boost-modular-build-helper
Version: 2019-04-25
Version: 1.70.0-2

View File

@ -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 ;

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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.

View File

@ -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
)

View File

@ -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

View File

@ -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
View 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

View 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
)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,4 +1,4 @@
Source: cccapstone
Version: 9b4128ee1153e78288a1b5433e2c06a0d47a4c4e
Version: 9b4128ee1153e78288a1b5433e2c06a0d47a4c4e-1
Description: c++ bindings for capstone disasembly framework
Build-Depends: capstone

View 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

View File

@ -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)

View File

@ -1,3 +1,3 @@
Source: ccd
Version: 2.0.0-2
Version: 2.1
Description: Library for collision detection between two convex shapes

View File

@ -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
)

View File

@ -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++.

View File

@ -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
)

View File

@ -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)

View File

@ -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