Merge branch 'master' into path_separator

This commit is contained in:
Alexander Neumann 2019-08-23 08:54:20 +02:00 committed by GitHub
commit d93b940b18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 328 additions and 78 deletions

View File

@ -1,5 +1,6 @@
Source: basisu
Version: 0.0.1-1
Version: 1.11-1
Homepage: https://github.com/BinomialLLC/basis_universal
Description: Basis Universal is a supercompressed GPU texture and video compression format that outputs a highly compressed intermediate file format (.basis) that can be quickly transcoded to a wide variety of GPU texture compression formats.
Build-Depends: lodepng
Build-Depends: lodepng

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO jherico/basis_universal
REF 11aa181a4bbf051475a01a1e73e39bf388819215
SHA512 62d7de6c6ca5e6235c8a377767389a7d5393e05bb5d0c024ce756e77d235132efa48280c9d529b6a91eddf0c906c3c84b6b78fdf339b1a47039b28d04161d2fe
REF d303a93f48606829378dd413142d5e1ea744021c
SHA512 aeb29f60904eb19840748a1d6b1b11cd61828362df06c8715d59c7c1556bcd5f78b962dd02bf738249277346a357d2d0f53e0432015eee74978416a1e7e68272
HEAD_REF master
)

View File

@ -1,5 +1,5 @@
Source: leptonica
Version: 1.78.0
Version: 1.78.0-1
Homepage: https://github.com/DanBloomberg/leptonica
Description: An open source library containing software that is broadly useful for image processing and image analysis applications
Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib
Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib, libwebp

View File

@ -1,18 +1,19 @@
diff --git a/cmake/templates/LeptonicaConfig.cmake.in b/cmake/templates/LeptonicaConfig.cmake.in
index d53904a..2aa2fea 100644
--- a/cmake/templates/LeptonicaConfig.cmake.in
+++ b/cmake/templates/LeptonicaConfig.cmake.in
@@ -20,6 +20,13 @@
#
# ===================================================================================
+include(CMakeFindDependencyMacro)
+find_dependency(TIFF)
+find_dependency(ZLIB)
+find_dependency(PNG)
+find_dependency(JPEG)
+find_dependency(GIF)
+
include(${CMAKE_CURRENT_LIST_DIR}/LeptonicaTargets.cmake)
# ======================================================
diff --git a/cmake/templates/LeptonicaConfig.cmake.in b/cmake/templates/LeptonicaConfig.cmake.in
index 4f7527a..c6759d1 100644
--- a/cmake/templates/LeptonicaConfig.cmake.in
+++ b/cmake/templates/LeptonicaConfig.cmake.in
@@ -20,6 +20,14 @@
#
# ===================================================================================
+include(CMakeFindDependencyMacro)
+find_dependency(TIFF)
+find_dependency(ZLIB)
+find_dependency(PNG)
+find_dependency(JPEG)
+find_dependency(GIF)
+find_dependency(WebP)
+
include(${CMAKE_CURRENT_LIST_DIR}/LeptonicaTargets.cmake)
# ======================================================

View File

@ -0,0 +1,14 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index debc232..2aa2d3a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,8 +60,7 @@ if(NOT EXISTS ${PROJECT_SOURCE_DIR}/.cppan)
endif()
if(NOT WEBP)
message(STATUS "Looking for WEBP")
- find_path(WEBP_INCLUDE_DIR /webp/decode.h)
- find_library(WEBP_LIBRARY NAMES webp)
+ find_package(WebP CONFIG REQUIRED)
if (WEBP_INCLUDE_DIR AND WEBP_LIBRARY)
set(WEBP 1)
set(WEBP_FOUND TRUE)

View File

@ -3,13 +3,14 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DanBloomberg/leptonica
REF 87b8219360bca3c9929a5705c3d9c50c42c34bca
REF 87b8219360bca3c9929a5705c3d9c50c42c34bca #1.78.0
SHA512 b7bfa9437be7e3d9276acacf8f62ccda1cd8f88741ada5106ef0232d4965617be2c5d0b8a6b4462896a1a0b6b44d9ecefd6e6b8d0e50d4fb881bdf5e821703a4
HEAD_REF master
PATCHES
${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch
${CMAKE_CURRENT_LIST_DIR}/use-tiff-libraries.patch
${CMAKE_CURRENT_LIST_DIR}/find-dependency.patch
fix-cmakelists.patch
use-tiff-libraries.patch
find-dependency.patch
fix-find-libwebp.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATIC)
@ -29,9 +30,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
# Handle copyright
file(COPY ${SOURCE_PATH}/leptonica-license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/leptonica)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/leptonica/leptonica-license.txt ${CURRENT_PACKAGES_DIR}/share/leptonica/copyright)
file(COPY ${SOURCE_PATH}/leptonica-license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/leptonica-license.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)

View File

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.0)
project(libmodbus VERSION 3.1.4)
project(libmodbus VERSION 3.1.6)
set(LIBMODBUS_VERSION ${PROJECT_VERSION})
set(LIBMODBUS_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})

View File

@ -1,3 +1,3 @@
Source: libmodbus
Version: 3.1.4-3
Version: 3.1.6
Description: libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO stephane/libmodbus
REF v3.1.4
SHA512 dc13b680a13ae2c952fe23cfe257a92a2be4823005b71b87e9520a3676df220b749d04c0825b1d1da02ac8b6995315e5cda2c8fd68e4672dd60e0b3fe739728b
REF v3.1.6
SHA512 9eaa395c75e1170e703e01f8c52c6e6e87efe4eaa22adfc3b51153fd5535d545aea35cf68e1aba29720a6c1dd13d9c60b6b08a5c8098dccd13ccfdc6944420a9
HEAD_REF master
)

View File

@ -0,0 +1,4 @@
Source: qt-advanced-docking-system
Version: 2019-08-14
Build-Depends: qt5-base, zlib, bzip2
Description: Create customizable layouts using an advanced window docking system similar to what is found in many popular IDEs such as Visual Studio

View File

@ -0,0 +1,36 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8a9f919..9c2b8ad 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -62,7 +62,7 @@ if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
else()
set(ads_PlatformDir "x64")
endif()
-if(BUILD_STATIC)
+if(NOT BUILD_SHARED_LIBS)
add_library(qtadvanceddocking STATIC ${ads_SRCS})
set(ads_COMPILE_DEFINE ${ads_COMPILE_DEFINE} ADS_STATIC)
else()
@@ -80,7 +80,7 @@ install(FILES
COMPONENT license
)
install(TARGETS qtadvanceddocking
- EXPORT adsBinary
+ EXPORT qt-advanced-docking-systemConfig
RUNTIME DESTINATION bin COMPONENT library
LIBRARY DESTINATION lib COMPONENT library
ARCHIVE DESTINATION lib COMPONENT library
@@ -93,7 +93,6 @@ target_link_libraries(qtadvanceddocking PUBLIC ${ads_LIBS})
target_compile_definitions(qtadvanceddocking PRIVATE ${ads_COMPILE_DEFINE})
set_target_properties(qtadvanceddocking PROPERTIES
VERSION ${ads_VERSION}
- EXPORT_NAME "Qt Advanced Docking System"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin"
@@ -103,3 +102,4 @@ if(BUILD_EXAMPLES)
add_subdirectory(demo)
endif()
+install(EXPORT qt-advanced-docking-systemConfig NAMESPACE qt-advanced-docking-system:: DESTINATION share/qt-advanced-docking-system)
\ No newline at end of file

View File

@ -0,0 +1,25 @@
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO githubuser0xFFFF/Qt-Advanced-Docking-System
REF a2b07fd97f0fac63fd7a0ed7b1eb0692b3efab71
SHA512 a44babd6100f299aea7fcf2d730874e204151ce363e1f58a2be938f70d28b07f3cb39adfbf46527fdacc3b12a630e7d97851e4a6fcd04e750a007ee06d06d3b5
HEAD_REF master
PATCHES
config_changes.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS -DBUILD_EXAMPLES=OFF
)
vcpkg_install_cmake()
file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt-advanced-docking-system RENAME copyright)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/license)
vcpkg_fixup_cmake_targets()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)

View File

@ -0,0 +1,39 @@
diff --git a/src/Common/QuickFASTPch.h b/src/Common/QuickFASTPch.h
index 3574df8..c4ef4e1 100644
--- a/src/Common/QuickFASTPch.h
+++ b/src/Common/QuickFASTPch.h
@@ -32,7 +32,7 @@
#include <string.h>
// If building for .NET, must link boost threads dynamically
-#define BOOST_THREAD_USE_DLL
+// #define BOOST_THREAD_USE_DLL
// This reports at compile time which boost libraries will be used
// #define BOOST_LIB_DIAGNOSTIC
diff --git a/src/Communication/AsioService.h b/src/Communication/AsioService.h
index 4f61915..96f2198 100644
--- a/src/Communication/AsioService.h
+++ b/src/Communication/AsioService.h
@@ -99,6 +99,7 @@ namespace QuickFAST
{
return ioService_;
}
+ boost::asio::io_service::executor_type get_executor() BOOST_ASIO_NOEXCEPT { return ioService_.get_executor();}
///@brief Post a completion handler for later processing (usually in a different thread)
/// @param handler is the handler to be posted
diff --git a/src/Communication/AsioService_fwd.h b/src/Communication/AsioService_fwd.h
index dc2f235..6ad5e68 100644
--- a/src/Communication/AsioService_fwd.h
+++ b/src/Communication/AsioService_fwd.h
@@ -17,7 +17,8 @@ namespace boost
{
namespace asio
{
- class io_service;
+ class io_context;
+ typedef io_context io_service;
}
}

View File

@ -0,0 +1,54 @@
cmake_minimum_required(VERSION 3.13)
project(quickfast CXX)
option(BUILD_SHARED_LIBS "Build shared instead of static library" ON)
find_package(Boost REQUIRED COMPONENTS thread)
find_package(XercesC REQUIRED)
file(GLOB SOURCES
quickfast/Application/*.cpp
quickfast/Common/*.cpp
quickfast/Codecs/*.cpp
quickfast/Communication/*.cpp
quickfast/Messages/*.cpp
)
file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
quickfast/Application/*.h
quickfast/Common/*.h
quickfast/Codecs/*.h
quickfast/Communication/*.h
quickfast/Messages/*.h
)
if(BUILD_SHARED_LIBS)
add_library(quickfast SHARED ${HEADERS} ${SOURCES})
target_compile_definitions(quickfast PRIVATE -DQUICKFAST_BUILD_DLL)
else()
add_library(quickfast STATIC ${HEADERS} ${SOURCES})
target_compile_definitions(quickfast PUBLIC -DQUICKFAST_HAS_DLL=0)
endif()
target_include_directories(quickfast PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
)
target_link_libraries(quickfast PRIVATE
${Boost_LIBRARIES}
XercesC::XercesC
)
install(TARGETS quickfast EXPORT quickfast-config
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
install(EXPORT quickfast-config DESTINATION share/cmake/quickfast)
foreach (HEADER ${HEADERS} )
get_filename_component(HEADER_DIR ${HEADER} DIRECTORY)
install(FILES ${HEADER} DESTINATION include/${HEADER_DIR})
endforeach()

5
ports/quickfast/CONTROL Normal file
View File

@ -0,0 +1,5 @@
Source: quickfast
Version: 1.5
Build-Depends: boost-asio, xerces-c
Homepage: https://github.com/objectcomputing/quickfast
Description: QuickFAST is an Open Source native C++ implementation of the FAST Protocol [SM].

View File

@ -0,0 +1,50 @@
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO objectcomputing/quickfast
REF V1_5
SHA512 f224ffbe0ee1b84616b46d536d27da01346103cf9ed135a87543da51e8e979ec3735e08ece8525ee1316ea323d41dcacc4d44eabe2e033d68f93432ea43d1ce9
HEAD_REF master
PATCHES 00001-fix-boost-asio.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
if(NOT EXISTS "${SOURCE_PATH}/quickfast")
file(RENAME ${SOURCE_PATH}/src ${SOURCE_PATH}/quickfast)
endif()
file(GLOB_RECURSE SRC_FILES "${SOURCE_PATH}/quickfast/*.cpp" "${SOURCE_PATH}/quickfast/*.h")
foreach(SRC_FILE IN LISTS SRC_FILES)
file(READ "${SRC_FILE}" _contents)
string(REPLACE "#include <Common/" "#include <quickfast/Common/" _contents "${_contents}")
string(REPLACE "#include <Application/" "#include <quickfast/Application/" _contents "${_contents}")
string(REPLACE "#include <Communication/" "#include <quickfast/Communication/" _contents "${_contents}")
string(REPLACE "#include <Codecs/" "#include <quickfast/Codecs/" _contents "${_contents}")
string(REPLACE "#include <Messages/" "#include <quickfast/Messages/" _contents "${_contents}")
file(WRITE "${SRC_FILE}" "${_contents}")
endforeach()
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(BUILD_SHARED_LIBS ON)
else()
set(BUILD_SHARED_LIBS OFF)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
PREFER_NINJA
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/quickfast)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
configure_file(${SOURCE_PATH}/license.txt ${CURRENT_PACKAGES_DIR}/share/quickfast/copyright COPYONLY)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/quickfast)

4
ports/quickfast/usage Normal file
View File

@ -0,0 +1,4 @@
The package quickfast provides CMake targets:
find_package(quickfast CONFIG REQUIRED)
target_link_libraries(main PRIVATE quickfast)

View File

@ -1,4 +1,4 @@
Source: re2
Version: 2019-05-07-2
Version: 2019-08-01
Homepage: https://github.com/google/re2
Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/re2
REF cd23be77c716bf75ebb3ddc07fa3ef0c943da6d2
SHA512 c307fc9294497dc3b4ae95db117f310e0db8f91a90c32bb316fe7e32414b2ade48264471e7a7bb0860aa9b0afe7dd460dadc552b1173ac35235ad3624c6f2ed5
REF 2019-08-01
SHA512 e2b8f121f29b9afa5ae3c8f29811a010289279a9edb3761e27b44d903a85b80720a3a59388a4ad75fb687ee1343d25b5a59cdee42282eed30f5fc48b59c70c97
HEAD_REF master
)

View File

@ -1,3 +1,3 @@
Source: reproc
Version: 6.0.0-2
Version: 8.0.1
Description: Cross-platform library that simplifies working with external CLI applications from C and C++

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DaanDeMeyer/reproc
REF v6.0.0
SHA512 482eb7b52961878877d1e4a4f1e1a5a867ff5b83f0df3ce47c0eb68f43eabcde720ea7ccb2eeb960dbc29fc61c888db62751984425e9b27c7498dfa4441aa801
REF v8.0.1
SHA512 029b32bc275cecb95e5dc451dcf9efdb4f5b24f4ff6c6358960f6b4b45237aee12d0c2aee7dfe8e08ac1c8e9a65412f6d89578a84538b2fb4fc8c35409282fe3
HEAD_REF master
)

View File

@ -1,3 +1,3 @@
Source: safeint
Version: 3.20.0
Version: 3.21
Description: SafeInt is a class library for C++ that manages integer overflows

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO dcleblanc/SafeInt
REF 3.20.0
SHA512 ebd10ac2578b4ab7968b2f89b7c8114a55bfd1967d625498a555b5354acf5a8c6b145b38429eb0dc853e7a0a33728a2a5acb505888bc983e7b0de81d09f50918
REF 3.21
SHA512 211885bccd768ccb175b1f672a4156642f9d75074059cf537b5e2f751a19e37983e6acf7c4bf936ddc8828e0c6510165722f02f76ec943e3c03ca486a48d3340
HEAD_REF master
)

View File

@ -1,4 +1,5 @@
Source: selene
Version: 0.3.1-1
Homepage: https://github.com/kmhofmann/selene
Description: A C++17 image representation, processing and I/O library.
Build-Depends: zlib, libpng, libjpeg-turbo, tiff

View File

@ -1,3 +1,3 @@
Source: snowhouse
Version: 3.1.0
Version: 3.1.1
Description: An assertion library for C++

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO banditcpp/snowhouse
REF 5a612c248524a3b1bdd388bc0ef5a9ea0d2fa684
SHA512 fd737b0f433093246883975ec70a407a62547e768f538e0540ac0634db1578f0ea46979b7055ae428f146499a0df3b1d6292b8d38c22d346476211757a271d21
REF v3.1.1
SHA512 4547893c77eb7ddf7c1dac222ebd2456c518c38a12001b8a27b64d876ece93591ff624b911cb4f1ea3d7b635e92cc3ace536ca12e476bdfbce9789293b95b08f
HEAD_REF master
)

View File

@ -1,5 +1,5 @@
Source: sol2
Version: 3.0.2
Version: 3.0.3
Homepage: https://github.com/ThePhD/sol2
Description: Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great
Build-Depends: lua (windows)

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ThePhD/sol2
REF 57990845726e17fba11a39cfcb1fc0127a7ea638
SHA512 3894610a08f7a47c43fc14e2abe750fc41ce7ea90106a6f0290d1ae2bbcc829d340f2c211426686c061a42a77effec1f1c898f19153e9f904e5fab416c7b6399
REF v3.0.3
SHA512 8c8f36eaedb76863106ecd24543b82c76a2fac15e86bfaf0e724b726e89d4238adf9eea8abefe0add5ee17e45b1a73ee24496f691b79c15dca85e2cfde8762b4
HEAD_REF develop
)

View File

@ -1,5 +1,5 @@
Source: spectra
Version: 0.8.0
Version: 0.8.1
Description: A header-only C++ library for large scale eigenvalue problems
Homepage: https://spectralib.org
Build-Depends: eigen3

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO yixuan/spectra
REF v0.8.0
SHA512 186bcd8efd5dc6cf0aa81b909184e056d1df1e55870c700f0ca060f504fa997e3ce27c3d15d7b4c74422e4d18bcbd471558392a89e307693b89cc1f480fecc71
REF v0.8.1
SHA512 7cd2699234f7b15216e616323ef298124a7333b6efe4185299f8b326856ae515f904a47eeee5631292037567e5c1559b83e17aae503fccd94225c3947db3e90d
HEAD_REF master
)

View File

@ -1,3 +1,3 @@
Source: spirv-cross
Version: 2019-05-09
Version: 2019-07-26
Description: SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.

View File

@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/SPIRV-Cross
REF fce83b7e8b0f6599efd4481992b2eb30f69f21de
SHA512 24bdb965f0248b57081d314f078a522ef8da842ee5480e1276da7bc70cae002cfe7a58903f99d13bcdee1e3863f77dfcd5a74e084e63a9c20edf42a833b2a874
REF 2019-07-26
SHA512 25bc0e5e7f313d01f70a4f106b9b42bc1975473e3f2fdcd7a48bf83b7865386366ebd5994efd2ae5f8d95c9abcbdefb46725b52ddb8dfb15169d621ff258a8ba
HEAD_REF master
)

View File

@ -7,6 +7,8 @@
## VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if <target>
## VCPKG_HOST_PATH_SEPARATOR Host specific path separator
## VCPKG_HOST_PATH_SEPARATOR_ESCAPED Escaped version of VCPKG_HOST_PATH_SEPARATOR if necessary (e.g. symbol with special meaning in cmake like ";")
## VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host
## VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target
## VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
## VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
## VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
@ -40,6 +42,19 @@ if(CMAKE_HOST_WIN32)
elseif(CMAKE_HOST_UNIX)
set(VCPKG_HOST_PATH_SEPARATOR ":")
set(VCPKG_HOST_PATH_SEPARATOR_ESCAPED ":")
#Helper variables to identify executables on host/target
if(CMAKE_HOST_WIN32)
set(VCPKG_HOST_EXECUTABLE_SUFFIX ".exe")
else()
set(VCPKG_HOST_EXECUTABLE_SUFFIX "")
endif()
#set(CMAKE_EXECUTABLE_SUFFIX ${VCPKG_HOST_EXECUTABLE_SUFFIX}) not required by find_program
if(VCPKG_TARGET_IS_WINDOWS)
set(VCPKG_TARGET_EXECUTABLE_SUFFIX ".exe")
else()
set(VCPKG_TARGET_EXECUTABLE_SUFFIX "")
endif()
#Helper variables for libraries

View File

@ -6,8 +6,9 @@ macro(debug_message)
endif()
endmacro()
#Detect .vcpkg-root to figure VCPKG_ROOT_DIR
SET(VCPKG_ROOT_DIR_CANDIDATE ${CMAKE_CURRENT_LIST_DIR})
#Detect .vcpkg-root to figure VCPKG_ROOT_DIR, starting from triplet folder.
get_filename_component(TARGET_TRIPLET_DIR ${TARGET_TRIPLET_FILE} DIRECTORY)
SET(VCPKG_ROOT_DIR_CANDIDATE ${TARGET_TRIPLET_DIR})
while(IS_DIRECTORY ${VCPKG_ROOT_DIR_CANDIDATE} AND NOT EXISTS "${VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root")
get_filename_component(VCPKG_ROOT_DIR_TEMP ${VCPKG_ROOT_DIR_CANDIDATE} DIRECTORY)
if (VCPKG_ROOT_DIR_TEMP STREQUAL VCPKG_ROOT_DIR_CANDIDATE) # If unchanged, we have reached the root of the drive
@ -19,7 +20,7 @@ endwhile()
set(VCPKG_ROOT_DIR ${VCPKG_ROOT_DIR_CANDIDATE})
list(APPEND CMAKE_MODULE_PATH ${VCPKG_ROOT_DIR}/scripts/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
set(CURRENT_INSTALLED_DIR ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET} CACHE PATH "Location to install final packages")
set(DOWNLOADS ${VCPKG_ROOT_DIR}/downloads CACHE PATH "Location to download sources and tools")
set(PACKAGES_DIR ${VCPKG_ROOT_DIR}/packages CACHE PATH "Location to store package images")

View File

@ -339,26 +339,27 @@ namespace vcpkg::Export
struct OptionPair
{
const std::string& name;
const StringLiteral& name;
Optional<std::string>& out_opt;
};
const auto options_implies =
[&](const std::string& main_opt_name, bool main_opt, Span<const OptionPair> implying_opts) {
if (main_opt)
{
for (auto&& opt : implying_opts)
opt.out_opt = maybe_lookup(options.settings, opt.name);
}
else
{
for (auto&& opt : implying_opts)
Checks::check_exit(VCPKG_LINE_INFO,
!maybe_lookup(options.settings, opt.name),
"%s is only valid with %s",
opt.name,
main_opt_name);
}
};
const auto options_implies = [&](const StringLiteral& main_opt_name,
bool is_main_opt,
const std::initializer_list<OptionPair>& implying_opts) {
if (is_main_opt)
{
for (auto&& opt : implying_opts)
opt.out_opt = maybe_lookup(options.settings, opt.name);
}
else
{
for (auto&& opt : implying_opts)
Checks::check_exit(VCPKG_LINE_INFO,
!maybe_lookup(options.settings, opt.name),
"%s is only valid with %s",
opt.name,
main_opt_name);
}
};
#if defined(_MSC_VER) && _MSC_VER <= 1900
// there's a bug in VS 2015 that causes a bunch of "unreferenced local variable" warnings