mirror of https://github.com/microsoft/vcpkg.git
[mapbox-variant] add cmakeconfig (#47738)
This commit is contained in:
parent
5451aa7b8f
commit
386a78bd37
|
|
@ -0,0 +1,58 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
project(variant-library VERSION 1.1.3 LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
add_library(variant INTERFACE)
|
||||
|
||||
target_include_directories(variant
|
||||
INTERFACE
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
)
|
||||
|
||||
target_compile_features(variant INTERFACE cxx_std_11)
|
||||
|
||||
find_package(Threads)
|
||||
|
||||
if(TARGET Threads::Threads)
|
||||
target_link_libraries(variant INTERFACE Threads::Threads)
|
||||
endif()
|
||||
|
||||
install(DIRECTORY "include/mapbox"
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
)
|
||||
|
||||
install(TARGETS variant
|
||||
EXPORT unofficial-mapbox-variant-targets
|
||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
)
|
||||
|
||||
install(EXPORT unofficial-mapbox-variant-targets
|
||||
FILE unofficial-mapbox-variant-targets.cmake
|
||||
NAMESPACE unofficial::mapbox-variant::
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/unofficial-mapbox-variant
|
||||
)
|
||||
|
||||
configure_package_config_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/unofficial-mapbox-variant-config.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/unofficial-mapbox-variant-config.cmake"
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/unofficial-mapbox-variant
|
||||
PATH_VARS CMAKE_INSTALL_INCLUDEDIR
|
||||
)
|
||||
|
||||
write_basic_package_version_file(
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/unofficial-mapbox-variant-config-version.cmake"
|
||||
VERSION ${PROJECT_VERSION}
|
||||
COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
|
||||
install(FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/unofficial-mapbox-variant-config.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/unofficial-mapbox-variant-config-version.cmake"
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/unofficial-mapbox-variant
|
||||
)
|
||||
|
|
@ -1,15 +1,21 @@
|
|||
# header-only
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO mapbox/variant
|
||||
REF a2a4858345423a760eca300ec42acad1ad123aa3 # v1.2.0
|
||||
REF a2a4858345423a760eca300ec42acad1ad123aa3 # v1.2.0
|
||||
SHA512 6d1ad2f37e137c42592dbd618a3871008d4f83b3cb0d6f05a9c469a6a987ed3fc7f0416ae341646d73e69426903a5a4f64b9f41ae739fd940bbd304dfcae289e
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
# Copy header files
|
||||
file(COPY ${SOURCE_PATH}/include/mapbox/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/mapbox FILES_MATCHING PATTERN "*.hpp")
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-mapbox-variant-config.cmake.in" DESTINATION "${SOURCE_PATH}")
|
||||
|
||||
# Handle copyright
|
||||
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/mapbox-variant)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/mapbox-variant/LICENSE ${CURRENT_PACKAGES_DIR}/share/mapbox-variant/copyright)
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/unofficial-mapbox-variant" PACKAGE_NAME "unofficial-mapbox-variant")
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib")
|
||||
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${SOURCE_PATH}/LICENSE_1_0.txt")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
@PACKAGE_INIT@
|
||||
|
||||
include(CMakeFindDependencyMacro)
|
||||
|
||||
find_dependency(Threads)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/unofficial-mapbox-variant-targets.cmake")
|
||||
|
||||
check_required_components(unofficial-mapbox-variant)
|
||||
|
|
@ -1,6 +1,18 @@
|
|||
{
|
||||
"name": "mapbox-variant",
|
||||
"version": "1.2.0",
|
||||
"port-version": 2,
|
||||
"description": "C++11/C++14 Variant"
|
||||
"port-version": 3,
|
||||
"description": "C++11/C++14 Variant",
|
||||
"homepage": "https://github.com/mapbox/variant",
|
||||
"license": "BSD-3-Clause AND BSL-1.0",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${CURRENT_PORT_DIR}/project"
|
||||
)
|
||||
vcpkg_cmake_build()
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
cmake_minimum_required(VERSION 3.25.1)
|
||||
project(mapbox-variant-test LANGUAGES CXX)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
find_package(unofficial-mapbox-variant CONFIG REQUIRED)
|
||||
add_executable(main main.cpp)
|
||||
target_link_libraries(main PRIVATE unofficial::mapbox-variant::variant)
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#include <mapbox/variant.hpp>
|
||||
#include <stdexcept>
|
||||
struct check
|
||||
{
|
||||
template <typename T>
|
||||
void operator()(T const& val) const
|
||||
{
|
||||
if (val != 0) throw std::runtime_error("invalid");
|
||||
}
|
||||
};
|
||||
int main()
|
||||
{
|
||||
typedef mapbox::util::variant<bool, int, double> variant_type;
|
||||
variant_type v(0);
|
||||
mapbox::util::apply_visitor(check(), v);
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"name": "vcpkg-ci-mapbox-variant",
|
||||
"version-string": "ci",
|
||||
"description": "Validates mapbox-variant",
|
||||
"dependencies": [
|
||||
"mapbox-variant",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -6162,7 +6162,7 @@
|
|||
},
|
||||
"mapbox-variant": {
|
||||
"baseline": "1.2.0",
|
||||
"port-version": 2
|
||||
"port-version": 3
|
||||
},
|
||||
"mapbox-wagyu": {
|
||||
"baseline": "0.5.0",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "de1b41d44f7921f7ac78a235025df3a3908e2af0",
|
||||
"version": "1.2.0",
|
||||
"port-version": 3
|
||||
},
|
||||
{
|
||||
"git-tree": "2bbebe72c660725c3540133f722ad9cac7dc2c5c",
|
||||
"version": "1.2.0",
|
||||
|
|
|
|||
Loading…
Reference in New Issue