mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-24 18:18:59 +08:00
cf48528dff
* [quickcpplib] Properly delimit path option * [outcome] Prevent buildsystem from enabling concepts pre cxx20 * [llfio] Update port to 2022-09-18 - Disable OpenSSL support until someone properly integrates it. * [llfio] Disable buildsystem compiler introspection The buildsystem tries to enable concepts and coroutines via non standard compiler flags on earlier C++ versions which is exactly the opposite of what our polyfill features warrant. * Add versions to database
63 lines
2.6 KiB
CMake
63 lines
2.6 KiB
CMake
# Outcome is composed of other third party libraries:
|
|
# Outcome
|
|
# <= status-code
|
|
# <= quickcpplib
|
|
# <= byte-lite
|
|
# <= gsl-lite
|
|
# <= Optional
|
|
#
|
|
# byte-lite and gsl-lite are in vcpkg, but may not be versions
|
|
# known to be compatible with Outcome. It has occurred in the
|
|
# past that newer versions were severely broken with Outcome.
|
|
#
|
|
# One can fetch an 'all sources' tarball from
|
|
# https://github.com/ned14/outcome/releases which contains
|
|
# the exact copy of those third party libraries known to
|
|
# have passed Outcome's CI process.
|
|
|
|
if ("polyfill-cxx20" IN_LIST FEATURES)
|
|
message(WARNING [=[
|
|
Outcome depends on QuickCppLib which uses the vcpkg versions of gsl-lite and byte-lite, rather than the versions tested by QuickCppLib's and Outcome's CI. It is not guaranteed to work with other versions, with failures experienced in the past up-to-and-including runtime crashes. See the warning message from QuickCppLib for how you can pin the versions of those dependencies in your manifest file to those with which QuickCppLib was tested. Do not report issues to upstream without first pinning the versions as QuickCppLib was tested against.
|
|
]=])
|
|
endif()
|
|
|
|
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO ned14/outcome
|
|
REF 90032f99503b4620f21d8160dc3af06fa343541f
|
|
SHA512 7eda0694098a118633c8ad0ef812f8b03db536548f51d1ca71ca98b9f9e445bcb24019cd4d1046da9215227ad85205c5b3631d0c66de6edc1fcc904b2d9e0e0f
|
|
HEAD_REF develop
|
|
PATCHES
|
|
fix-find-library.patch # incorporated into upstream after 2.2.4
|
|
fix-status-code-include.patch # incorporated into upstream after 2.2.4
|
|
)
|
|
|
|
# Because outcome's deployed files are header-only, the debug build is not necessary
|
|
set(VCPKG_BUILD_TYPE release)
|
|
|
|
# Use Outcome's own build process, skipping examples and tests.
|
|
vcpkg_cmake_configure(
|
|
SOURCE_PATH "${SOURCE_PATH}"
|
|
OPTIONS
|
|
-DPROJECT_IS_DEPENDENCY=On
|
|
-Dquickcpplib_DIR=${CURRENT_INSTALLED_DIR}/share/quickcpplib
|
|
-DOUTCOME_BUNDLE_EMBEDDED_STATUS_CODE=OFF
|
|
-Dstatus-code_DIR=${CURRENT_INSTALLED_DIR}/share/status-code
|
|
-DOUTCOME_ENABLE_DEPENDENCY_SMOKE_TEST=ON # Leave this always on to test everything compiles
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
|
|
-DCXX_CONCEPTS_FLAGS=
|
|
)
|
|
|
|
if("run-tests" IN_LIST FEATURES)
|
|
vcpkg_cmake_build(TARGET test)
|
|
endif()
|
|
|
|
vcpkg_cmake_install()
|
|
|
|
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/outcome)
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib")
|
|
|
|
file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
|
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Licence.txt")
|