Release v0.1.5.4 prepare for release
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
Compilation Copyright (c) 1995-2019 by Wei Dai. All rights reserved.
|
||||
This copyright applies only to this software distribution package
|
||||
as a compilation, and does not imply a copyright on any particular
|
||||
file in the package.
|
||||
|
||||
All individual files in this compilation are placed in the public domain by
|
||||
Wei Dai and other contributors.
|
||||
|
||||
I would like to thank the following authors for placing their works into
|
||||
the public domain:
|
||||
|
||||
Joan Daemen - 3way.cpp
|
||||
Leonard Janke - cast.cpp, seal.cpp
|
||||
Steve Reid - cast.cpp
|
||||
Phil Karn - des.cpp
|
||||
Andrew M. Kuchling - md2.cpp, md4.cpp
|
||||
Colin Plumb - md5.cpp
|
||||
Seal Woods - rc6.cpp
|
||||
Chris Morgan - rijndael.cpp
|
||||
Paulo Baretto - rijndael.cpp, skipjack.cpp, square.cpp
|
||||
Richard De Moliner - safer.cpp
|
||||
Matthew Skala - twofish.cpp
|
||||
Kevin Springle - camellia.cpp, shacal2.cpp, ttmac.cpp, whrlpool.cpp, ripemd.cpp
|
||||
Ronny Van Keer - sha3.cpp
|
||||
Aumasson, Neves, Wilcox-O'Hearn and Winnerlein - blake2.cpp, blake2b_simd.cpp, blake2s_simd.cpp
|
||||
Aaram Yun - aria.cpp, aria_simd.cpp
|
||||
Han Lulu, Markku-Juhani O. Saarinen - sm4.cpp sm4_simd.cpp
|
||||
Daniel J. Bernstein, Jack Lloyd - chacha.cpp, chacha_simd.cpp, chacha_avx.cpp
|
||||
Andrew Moon - ed25519, x25519, donna_32.cpp, donna_64.cpp, donna_sse.cpp
|
||||
|
||||
The Crypto++ Library uses portions of Andy Polyakov's CRYPTOGAMS on Linux
|
||||
for 32-bit ARM with files aes_armv4.S, sha1_armv4.S and sha256_armv4.S.
|
||||
CRYPTOGAMS is dual licensed with a permissive BSD-style license. The
|
||||
CRYPTOGAMS license is reproduced below. You can disable Cryptogams code by
|
||||
undefining the relevant macros in config_asm.h.
|
||||
|
||||
The Crypto++ Library uses portions of Jack Lloyd's Botan for ChaCha SSE2 and
|
||||
AVX. Botan placed the code in public domain for Crypto++ to use.
|
||||
|
||||
The Crypto++ Library (as a compilation) is currently licensed under the Boost
|
||||
Software License 1.0 (http://www.boost.org/users/license.html).
|
||||
|
||||
Boost Software License - Version 1.0 - August 17th, 2003
|
||||
|
||||
Permission is hereby granted, free of charge, to any person or organization
|
||||
obtaining a copy of the software and accompanying documentation covered by
|
||||
this license (the "Software") to use, reproduce, display, distribute,
|
||||
execute, and transmit the Software, and to prepare derivative works of the
|
||||
Software, and to permit third-parties to whom the Software is furnished to
|
||||
do so, all subject to the following:
|
||||
|
||||
The copyright notices in the Software and this entire statement, including
|
||||
the above license grant, this restriction and the following disclaimer,
|
||||
must be included in all copies of the Software, in whole or in part, and
|
||||
all derivative works of the Software, unless such copies or derivative
|
||||
works are solely in the form of machine-executable object code generated by
|
||||
a source language processor.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
CRYPTOGAMS License
|
||||
|
||||
Copyright (c) 2006-2017, CRYPTOGAMS by <appro@openssl.org>
|
||||
All rights reserved.
|
||||
|
||||
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 copyright notices,
|
||||
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 the CRYPTOGAMS nor the names of its copyright
|
||||
holder and contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
@@ -0,0 +1,19 @@
|
||||
#----------------------------------------------------------------
|
||||
# Generated CMake target import file for configuration "Debug".
|
||||
#----------------------------------------------------------------
|
||||
|
||||
# Commands may need to know the format version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||
|
||||
# Import target "cryptopp::cryptopp" for configuration "Debug"
|
||||
set_property(TARGET cryptopp::cryptopp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
|
||||
set_target_properties(cryptopp::cryptopp PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "ASM_MASM;CXX"
|
||||
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/debug/lib/cryptopp.lib"
|
||||
)
|
||||
|
||||
list(APPEND _cmake_import_check_targets cryptopp::cryptopp )
|
||||
list(APPEND _cmake_import_check_files_for_cryptopp::cryptopp "${_IMPORT_PREFIX}/debug/lib/cryptopp.lib" )
|
||||
|
||||
# Commands beyond this point should not need to know the version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION)
|
||||
@@ -0,0 +1,19 @@
|
||||
#----------------------------------------------------------------
|
||||
# Generated CMake target import file for configuration "Release".
|
||||
#----------------------------------------------------------------
|
||||
|
||||
# Commands may need to know the format version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||
|
||||
# Import target "cryptopp::cryptopp" for configuration "Release"
|
||||
set_property(TARGET cryptopp::cryptopp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
set_target_properties(cryptopp::cryptopp PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "ASM_MASM;CXX"
|
||||
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/cryptopp.lib"
|
||||
)
|
||||
|
||||
list(APPEND _cmake_import_check_targets cryptopp::cryptopp )
|
||||
list(APPEND _cmake_import_check_files_for_cryptopp::cryptopp "${_IMPORT_PREFIX}/lib/cryptopp.lib" )
|
||||
|
||||
# Commands beyond this point should not need to know the version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION)
|
||||
@@ -0,0 +1,107 @@
|
||||
# Generated by CMake
|
||||
|
||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
||||
message(FATAL_ERROR "CMake >= 2.8.12 required")
|
||||
endif()
|
||||
if(CMAKE_VERSION VERSION_LESS "2.8.12")
|
||||
message(FATAL_ERROR "CMake >= 2.8.12 required")
|
||||
endif()
|
||||
cmake_policy(PUSH)
|
||||
cmake_policy(VERSION 2.8.12...3.31)
|
||||
#----------------------------------------------------------------
|
||||
# Generated CMake target import file.
|
||||
#----------------------------------------------------------------
|
||||
|
||||
# Commands may need to know the format version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||
|
||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
||||
set(_cmake_targets_defined "")
|
||||
set(_cmake_targets_not_defined "")
|
||||
set(_cmake_expected_targets "")
|
||||
foreach(_cmake_expected_target IN ITEMS cryptopp::cryptopp)
|
||||
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
|
||||
if(TARGET "${_cmake_expected_target}")
|
||||
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
|
||||
else()
|
||||
list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
|
||||
endif()
|
||||
endforeach()
|
||||
unset(_cmake_expected_target)
|
||||
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
|
||||
unset(_cmake_targets_defined)
|
||||
unset(_cmake_targets_not_defined)
|
||||
unset(_cmake_expected_targets)
|
||||
unset(CMAKE_IMPORT_FILE_VERSION)
|
||||
cmake_policy(POP)
|
||||
return()
|
||||
endif()
|
||||
if(NOT _cmake_targets_defined STREQUAL "")
|
||||
string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
|
||||
string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
|
||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
|
||||
endif()
|
||||
unset(_cmake_targets_defined)
|
||||
unset(_cmake_targets_not_defined)
|
||||
unset(_cmake_expected_targets)
|
||||
|
||||
|
||||
# Compute the installation prefix relative to this file.
|
||||
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
if(_IMPORT_PREFIX STREQUAL "/")
|
||||
set(_IMPORT_PREFIX "")
|
||||
endif()
|
||||
|
||||
# Create imported target cryptopp::cryptopp
|
||||
add_library(cryptopp::cryptopp STATIC IMPORTED)
|
||||
|
||||
set_target_properties(cryptopp::cryptopp PROPERTIES
|
||||
INTERFACE_COMPILE_DEFINITIONS "CRYPTOPP_INCLUDE_PREFIX=cryptopp"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
||||
INTERFACE_LINK_LIBRARIES "kernel32;\$<\$<BOOL:OFF>:OpenMP::OpenMP_CXX>"
|
||||
)
|
||||
|
||||
# Load information for each installed configuration.
|
||||
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/cryptopp-static-targets-*.cmake")
|
||||
foreach(_cmake_config_file IN LISTS _cmake_config_files)
|
||||
include("${_cmake_config_file}")
|
||||
endforeach()
|
||||
unset(_cmake_config_file)
|
||||
unset(_cmake_config_files)
|
||||
|
||||
# Cleanup temporary variables.
|
||||
set(_IMPORT_PREFIX)
|
||||
|
||||
# Loop over all imported files and verify that they actually exist
|
||||
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
|
||||
if(CMAKE_VERSION VERSION_LESS "3.28"
|
||||
OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
|
||||
OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
|
||||
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
|
||||
if(NOT EXISTS "${_cmake_file}")
|
||||
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
|
||||
\"${_cmake_file}\"
|
||||
but this file does not exist. Possible reasons include:
|
||||
* The file was deleted, renamed, or moved to another location.
|
||||
* An install or uninstall procedure did not complete successfully.
|
||||
* The installation package was faulty and contained
|
||||
\"${CMAKE_CURRENT_LIST_FILE}\"
|
||||
but not all the files it references.
|
||||
")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
unset(_cmake_file)
|
||||
unset("_cmake_import_check_files_for_${_cmake_target}")
|
||||
endforeach()
|
||||
unset(_cmake_target)
|
||||
unset(_cmake_import_check_targets)
|
||||
|
||||
# This file does not depend on other imported targets which have
|
||||
# been exported from the same project but in a separate export set.
|
||||
|
||||
# Commands beyond this point should not need to know the version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION)
|
||||
cmake_policy(POP)
|
||||
@@ -0,0 +1,73 @@
|
||||
# ===-----------------------------------------------------------------------===#
|
||||
# Distributed under the MIT License (https://opensource.org/licenses/MIT).
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# See details at:
|
||||
# https://alexreinking.com/blog/building-a-dual-shared-and-static-library-with-cmake.html
|
||||
# and full source at https://github.com/alexreinking/SharedStaticStarter
|
||||
# ===-----------------------------------------------------------------------===#
|
||||
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
|
||||
set(cryptopp_known_comps static shared)
|
||||
set(cryptopp_comp_static NO)
|
||||
set(cryptopp_comp_shared NO)
|
||||
foreach(cryptopp_comp IN LISTS ${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
if(cryptopp_comp IN_LIST cryptopp_known_comps)
|
||||
set(cryptopp_comp_${cryptopp_comp} YES)
|
||||
else()
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE
|
||||
"cryptopp does not recognize component `${cryptopp_comp}`."
|
||||
)
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||||
return()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(cryptopp_comp_static AND cryptopp_comp_shared)
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE
|
||||
"cryptopp `static` and `shared` components are mutually exclusive."
|
||||
)
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(cryptopp_static_targets
|
||||
"${CMAKE_CURRENT_LIST_DIR}/cryptopp-static-targets.cmake"
|
||||
)
|
||||
set(cryptopp_shared_targets
|
||||
"${CMAKE_CURRENT_LIST_DIR}/cryptopp-shared-targets.cmake"
|
||||
)
|
||||
|
||||
macro(cryptopp_load_targets type)
|
||||
if(NOT EXISTS "${cryptopp_${type}_targets}")
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE
|
||||
"cryptopp `${type}` libraries were requested but not found."
|
||||
)
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||||
return()
|
||||
endif()
|
||||
include("${cryptopp_${type}_targets}")
|
||||
endmacro()
|
||||
|
||||
if(cryptopp_comp_static)
|
||||
cryptopp_load_targets(static)
|
||||
elseif(cryptopp_comp_shared)
|
||||
cryptopp_load_targets(shared)
|
||||
elseif(DEFINED cryptopp_SHARED_LIBS AND cryptopp_SHARED_LIBS)
|
||||
cryptopp_load_targets(shared)
|
||||
elseif(DEFINED cryptopp_SHARED_LIBS AND NOT cryptopp_SHARED_LIBS)
|
||||
cryptopp_load_targets(static)
|
||||
elseif(BUILD_SHARED_LIBS)
|
||||
if(EXISTS "${cryptopp_shared_targets}")
|
||||
cryptopp_load_targets(shared)
|
||||
else()
|
||||
cryptopp_load_targets(static)
|
||||
endif()
|
||||
else()
|
||||
if(EXISTS "${cryptopp_static_targets}")
|
||||
cryptopp_load_targets(static)
|
||||
else()
|
||||
cryptopp_load_targets(shared)
|
||||
endif()
|
||||
endif()
|
||||
@@ -0,0 +1,65 @@
|
||||
# This is a basic version file for the Config-mode of find_package().
|
||||
# It is used by write_basic_package_version_file() as input file for configure_file()
|
||||
# to create a version-file which can be installed along a config.cmake file.
|
||||
#
|
||||
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
|
||||
# the requested version string are exactly the same and it sets
|
||||
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version,
|
||||
# but only if the requested major version is the same as the current one.
|
||||
# The variable CVF_VERSION must be set before calling configure_file().
|
||||
|
||||
|
||||
set(PACKAGE_VERSION "8.9.0")
|
||||
|
||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
|
||||
if("8.9.0" MATCHES "^([0-9]+)\\.")
|
||||
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
|
||||
string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
|
||||
endif()
|
||||
else()
|
||||
set(CVF_VERSION_MAJOR "8.9.0")
|
||||
endif()
|
||||
|
||||
if(PACKAGE_FIND_VERSION_RANGE)
|
||||
# both endpoints of the range must have the expected major version
|
||||
math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
|
||||
if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
|
||||
OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
|
||||
OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
|
||||
AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
|
||||
OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif()
|
||||
else()
|
||||
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif()
|
||||
|
||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
|
||||
math(EXPR installedBits "8 * 8")
|
||||
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
endif()
|
||||
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/spdx/spdx-spec/v2.2.1/schemas/spdx-schema.json",
|
||||
"spdxVersion": "SPDX-2.2",
|
||||
"dataLicense": "CC0-1.0",
|
||||
"SPDXID": "SPDXRef-DOCUMENT",
|
||||
"documentNamespace": "https://spdx.org/spdxdocs/cryptopp-x64-windows-8.9.0#1-9a11683d-9688-4b35-9ab4-d748068fa5be",
|
||||
"name": "cryptopp:x64-windows@8.9.0#1 e02ab0d1b7c30c7a993a59f205f064d1a3565eb36c88160f2e1d995660045dee",
|
||||
"creationInfo": {
|
||||
"creators": [
|
||||
"Tool: vcpkg-2025-07-21-d4b65a2b83ae6c3526acd1c6f3b51aff2a884533"
|
||||
],
|
||||
"created": "2025-08-29T09:13:22Z"
|
||||
},
|
||||
"relationships": [
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "GENERATES",
|
||||
"relatedSpdxElement": "SPDXRef-binary"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-0"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-1"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-2"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-3"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-binary",
|
||||
"relationshipType": "GENERATED_FROM",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-0",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-1",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-2",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-3",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-3",
|
||||
"relationshipType": "DEPENDENCY_MANIFEST_OF",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
}
|
||||
],
|
||||
"packages": [
|
||||
{
|
||||
"name": "cryptopp",
|
||||
"SPDXID": "SPDXRef-port",
|
||||
"versionInfo": "8.9.0#1",
|
||||
"downloadLocation": "git+https://github.com/Microsoft/vcpkg@d0e6dbcd3cb14acffac5ce963dc8fcd1178101fc",
|
||||
"homepage": "https://github.com/weidai11/cryptopp",
|
||||
"licenseConcluded": "BSL-1.0",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"description": "Crypto++ is a free C++ class library of cryptographic schemes.",
|
||||
"comment": "This is the port (recipe) consumed by vcpkg."
|
||||
},
|
||||
{
|
||||
"name": "cryptopp:x64-windows",
|
||||
"SPDXID": "SPDXRef-binary",
|
||||
"versionInfo": "e02ab0d1b7c30c7a993a59f205f064d1a3565eb36c88160f2e1d995660045dee",
|
||||
"downloadLocation": "NONE",
|
||||
"licenseConcluded": "BSL-1.0",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"comment": "This is a binary package built by vcpkg."
|
||||
},
|
||||
{
|
||||
"SPDXID": "SPDXRef-resource-0",
|
||||
"name": "abdes/cryptopp-cmake",
|
||||
"downloadLocation": "git+https://github.com/abdes/cryptopp-cmake@CRYPTOPP_${CRYPTOPP_VERSION}",
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA512",
|
||||
"checksumValue": "3ec33b107ab627a514e1ebbc4b6522ee8552525f36730d9b5feb85e61ba7fc24fd36eb6050e328c6789ff60d47796beaa8eebf7dead787a34395294fae9bb733"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SPDXID": "SPDXRef-resource-1",
|
||||
"name": "weidai11/cryptopp",
|
||||
"downloadLocation": "git+https://github.com/weidai11/cryptopp@CRYPTOPP_${CRYPTOPP_VERSION}",
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA512",
|
||||
"checksumValue": "28a67141155c9c15e3e6a2173b3a8487cc38a2a2ade73bf4a09814ca541be6b06e9a501be26f7e2f42a2f80df21b076aa5d8ad4224dc0a1f8d7f3b24deae465e"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SPDXID": "SPDXRef-resource-2",
|
||||
"name": "noloader/cryptopp-pem",
|
||||
"downloadLocation": "git+https://github.com/noloader/cryptopp-pem@095f08ff2ef9bca7b81036a59f2395e4f08ce2e8",
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA512",
|
||||
"checksumValue": "49912758a635faca1f49665ac9552b20576b46e0283aaabc19bb012bdc80586106452018e5088b9b46967717982ca6022ca968edc4cac96a7506d2b1a3e4bf13"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
{
|
||||
"fileName": "./cryptopp.patch",
|
||||
"SPDXID": "SPDXRef-file-0",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "5a1695c229acd9abaff03a00b9e60c7f283b075308b5bd618bed18d54d054893"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./patch.patch",
|
||||
"SPDXID": "SPDXRef-file-1",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "f2bc545bd35d6a0e62d694e682a6d5adc8b78d1d4bc17cf3543847dfd8e78202"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./portfile.cmake",
|
||||
"SPDXID": "SPDXRef-file-2",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "80888adf3c94a2d3335e65d48c304141eee61147939d9e933400e1ad1d74e802"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg.json",
|
||||
"SPDXID": "SPDXRef-file-3",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "ae854dfbf9adcd5efd97803f42c6dbb3383f8e18b913ddee46aba0d2c3b8c704"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
cmake 4.1.0
|
||||
cryptopp.patch 5a1695c229acd9abaff03a00b9e60c7f283b075308b5bd618bed18d54d054893
|
||||
features core
|
||||
patch.patch f2bc545bd35d6a0e62d694e682a6d5adc8b78d1d4bc17cf3543847dfd8e78202
|
||||
portfile.cmake 80888adf3c94a2d3335e65d48c304141eee61147939d9e933400e1ad1d74e802
|
||||
ports.cmake 396a7ff92b4f63d694e861eda4041784616a05ca31268739cac927c0ac9c4843
|
||||
post_build_checks 2
|
||||
powershell 7.5.2
|
||||
triplet x64-windows
|
||||
triplet_abi 4556164a2cd3dd6f4742101eabb46def7e71b6e5856faa88e5d005aac12a803c-1d3d767ab10b488977977b83f6c2da7e06afd80b1e375a2a41c60c343e7b3f94-37968c396ae4fe042c6ac7cb0118f08bcc5350f2
|
||||
vcpkg-cmake 1a1e06d1a279a7527a1bc12adb4cc058c8d26868fccc8fc11d1d9a56af2c2a26
|
||||
vcpkg-cmake-config d1217d32eea9609394588fc64ac9fd154f22d2c82026ca4dd971739444e97371
|
||||
vcpkg.json ae854dfbf9adcd5efd97803f42c6dbb3383f8e18b913ddee46aba0d2c3b8c704
|
||||
vcpkg_check_linkage f8d5dc4ee94493155b76fb825a74e9c4f6037569b990c3f8c02074338223fbbd
|
||||
vcpkg_fixup_pkgconfig 1a15f6c6d8e2b244d83a7514a0412d339127d2217d1df60ad1388b546c85f777
|
||||
vcpkg_from_git 96ed81968f76354c00096dd8cd4e63c6a235fa969334a11ab18d11c0c512ff58
|
||||
vcpkg_from_github 1284881728e98a182fc63e841be04e39b8c94753fdc361603c72a63c1adcf846
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013-2025 Niels Lohmann
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,12 @@
|
||||
The package nlohmann-json provides CMake targets:
|
||||
|
||||
find_package(nlohmann_json CONFIG REQUIRED)
|
||||
target_link_libraries(main PRIVATE nlohmann_json::nlohmann_json)
|
||||
|
||||
The package nlohmann-json can be configured to not provide implicit conversions via a custom triplet file:
|
||||
|
||||
set(nlohmann-json_IMPLICIT_CONVERSIONS OFF)
|
||||
|
||||
For more information, see the docs here:
|
||||
|
||||
https://json.nlohmann.me/api/macros/json_use_implicit_conversions/
|
||||
@@ -0,0 +1,159 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/spdx/spdx-spec/v2.2.1/schemas/spdx-schema.json",
|
||||
"spdxVersion": "SPDX-2.2",
|
||||
"dataLicense": "CC0-1.0",
|
||||
"SPDXID": "SPDXRef-DOCUMENT",
|
||||
"documentNamespace": "https://spdx.org/spdxdocs/nlohmann-json-x64-windows-3.12.0#1-08db973f-328f-47a8-bec2-c21449b0164f",
|
||||
"name": "nlohmann-json:x64-windows@3.12.0#1 2ccd1f345f82f52e14bcfdeba59a51e43f6eeb952f1baec494e2b1c980d82aff",
|
||||
"creationInfo": {
|
||||
"creators": [
|
||||
"Tool: vcpkg-2025-07-21-d4b65a2b83ae6c3526acd1c6f3b51aff2a884533"
|
||||
],
|
||||
"created": "2025-08-29T09:13:26Z"
|
||||
},
|
||||
"relationships": [
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "GENERATES",
|
||||
"relatedSpdxElement": "SPDXRef-binary"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-0"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-1"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-2"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-3"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-binary",
|
||||
"relationshipType": "GENERATED_FROM",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-0",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-1",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-2",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-3",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-3",
|
||||
"relationshipType": "DEPENDENCY_MANIFEST_OF",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
}
|
||||
],
|
||||
"packages": [
|
||||
{
|
||||
"name": "nlohmann-json",
|
||||
"SPDXID": "SPDXRef-port",
|
||||
"versionInfo": "3.12.0#1",
|
||||
"downloadLocation": "git+https://github.com/Microsoft/vcpkg@f89a58e6478ca1e39120e93e7ed535c4aaf8198c",
|
||||
"homepage": "https://github.com/nlohmann/json",
|
||||
"licenseConcluded": "MIT",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"description": "JSON for Modern C++",
|
||||
"comment": "This is the port (recipe) consumed by vcpkg."
|
||||
},
|
||||
{
|
||||
"name": "nlohmann-json:x64-windows",
|
||||
"SPDXID": "SPDXRef-binary",
|
||||
"versionInfo": "2ccd1f345f82f52e14bcfdeba59a51e43f6eeb952f1baec494e2b1c980d82aff",
|
||||
"downloadLocation": "NONE",
|
||||
"licenseConcluded": "MIT",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"comment": "This is a binary package built by vcpkg."
|
||||
},
|
||||
{
|
||||
"SPDXID": "SPDXRef-resource-0",
|
||||
"name": "nlohmann/json",
|
||||
"downloadLocation": "git+https://github.com/nlohmann/json@v3.12.0",
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA512",
|
||||
"checksumValue": "6cc1e86261f8fac21cc17a33da3b6b3c3cd5c116755651642af3c9e99bb3538fd42c1bd50397a77c8fb6821bc62d90e6b91bcdde77a78f58f2416c62fc53b97d"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
{
|
||||
"fileName": "./fix-4742_std_optional.patch",
|
||||
"SPDXID": "SPDXRef-file-0",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "218c2182366f1e9b997fc81f1b27b951a1438a3578f8e0cb22a1957cc326ccbd"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./portfile.cmake",
|
||||
"SPDXID": "SPDXRef-file-1",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "885dc4251af4857424716cccfd310b83ce59ef48d9a079fb351b6bd23f849cb9"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./usage",
|
||||
"SPDXID": "SPDXRef-file-2",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "ec6460d4688d7908d8adc698700f77639013641f1ab27066e9324c9ca11276c3"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg.json",
|
||||
"SPDXID": "SPDXRef-file-3",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "250c591739cafefe5f1dfc5a455bbb6faf7e4edbe438618df7a0deae75a5b73c"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
cmake 4.1.0
|
||||
features core
|
||||
fix-4742_std_optional.patch 218c2182366f1e9b997fc81f1b27b951a1438a3578f8e0cb22a1957cc326ccbd
|
||||
portfile.cmake 885dc4251af4857424716cccfd310b83ce59ef48d9a079fb351b6bd23f849cb9
|
||||
ports.cmake 396a7ff92b4f63d694e861eda4041784616a05ca31268739cac927c0ac9c4843
|
||||
post_build_checks 2
|
||||
powershell 7.5.2
|
||||
triplet x64-windows
|
||||
triplet_abi 4556164a2cd3dd6f4742101eabb46def7e71b6e5856faa88e5d005aac12a803c-1d3d767ab10b488977977b83f6c2da7e06afd80b1e375a2a41c60c343e7b3f94-37968c396ae4fe042c6ac7cb0118f08bcc5350f2
|
||||
usage ec6460d4688d7908d8adc698700f77639013641f1ab27066e9324c9ca11276c3
|
||||
vcpkg-cmake 1a1e06d1a279a7527a1bc12adb4cc058c8d26868fccc8fc11d1d9a56af2c2a26
|
||||
vcpkg-cmake-config d1217d32eea9609394588fc64ac9fd154f22d2c82026ca4dd971739444e97371
|
||||
vcpkg.json 250c591739cafefe5f1dfc5a455bbb6faf7e4edbe438618df7a0deae75a5b73c
|
||||
vcpkg_check_features 943b217e0968d64cf2cb9c272608e6a0b497377e792034f819809a79e1502c2b
|
||||
vcpkg_fixup_pkgconfig 1a15f6c6d8e2b244d83a7514a0412d339127d2217d1df60ad1388b546c85f777
|
||||
vcpkg_from_git 96ed81968f76354c00096dd8cd4e63c6a235fa969334a11ab18d11c0c512ff58
|
||||
vcpkg_from_github 1284881728e98a182fc63e841be04e39b8c94753fdc361603c72a63c1adcf846
|
||||
vcpkg_replace_string b450deb79207478b37119743e00808ebc42de0628e7b98c14ab24728bd5c78b8
|
||||
@@ -0,0 +1,278 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- * * * * * * * * AUTO-GENERATED FILE * * * * * * * * -->
|
||||
<!-- Edit ./tools/generate_natvis/nlohmann_json.natvis.j2 -->
|
||||
<!-- * * * * * * * * AUTO-GENERATED FILE * * * * * * * * -->
|
||||
|
||||
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
||||
<!-- Namespace nlohmann -->
|
||||
<Type Name="nlohmann::basic_json<*>">
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::detail::value_t::null">null</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::detail::value_t::discarded">discarded</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::detail::value_t::object">
|
||||
*(m_data.m_value.object),view(simple)
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::detail::value_t::array">
|
||||
*(m_data.m_value.array),view(simple)
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
||||
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
||||
<Type Name="std::pair<*, nlohmann::basic_json<*>>" IncludeView="MapHelper">
|
||||
<DisplayString>{second}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>second</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Namespace nlohmann::json_abi -->
|
||||
<Type Name="nlohmann::json_abi::basic_json<*>">
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::null">null</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::discarded">discarded</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::object">
|
||||
*(m_data.m_value.object),view(simple)
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi::detail::value_t::array">
|
||||
*(m_data.m_value.array),view(simple)
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
||||
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
||||
<Type Name="std::pair<*, nlohmann::json_abi::basic_json<*>>" IncludeView="MapHelper">
|
||||
<DisplayString>{second}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>second</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Namespace nlohmann::json_abi_v3_12_0 -->
|
||||
<Type Name="nlohmann::json_abi_v3_12_0::basic_json<*>">
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::null">null</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::discarded">discarded</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::object">
|
||||
*(m_data.m_value.object),view(simple)
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_v3_12_0::detail::value_t::array">
|
||||
*(m_data.m_value.array),view(simple)
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
||||
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
||||
<Type Name="std::pair<*, nlohmann::json_abi_v3_12_0::basic_json<*>>" IncludeView="MapHelper">
|
||||
<DisplayString>{second}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>second</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Namespace nlohmann::json_abi_diag -->
|
||||
<Type Name="nlohmann::json_abi_diag::basic_json<*>">
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::null">null</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::discarded">discarded</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::object">
|
||||
*(m_data.m_value.object),view(simple)
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_diag::detail::value_t::array">
|
||||
*(m_data.m_value.array),view(simple)
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
||||
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
||||
<Type Name="std::pair<*, nlohmann::json_abi_diag::basic_json<*>>" IncludeView="MapHelper">
|
||||
<DisplayString>{second}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>second</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Namespace nlohmann::json_abi_diag_v3_12_0 -->
|
||||
<Type Name="nlohmann::json_abi_diag_v3_12_0::basic_json<*>">
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::null">null</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::discarded">discarded</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::object">
|
||||
*(m_data.m_value.object),view(simple)
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_diag_v3_12_0::detail::value_t::array">
|
||||
*(m_data.m_value.array),view(simple)
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
||||
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
||||
<Type Name="std::pair<*, nlohmann::json_abi_diag_v3_12_0::basic_json<*>>" IncludeView="MapHelper">
|
||||
<DisplayString>{second}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>second</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Namespace nlohmann::json_abi_ldvcmp -->
|
||||
<Type Name="nlohmann::json_abi_ldvcmp::basic_json<*>">
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::null">null</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::discarded">discarded</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::object">
|
||||
*(m_data.m_value.object),view(simple)
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_ldvcmp::detail::value_t::array">
|
||||
*(m_data.m_value.array),view(simple)
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
||||
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
||||
<Type Name="std::pair<*, nlohmann::json_abi_ldvcmp::basic_json<*>>" IncludeView="MapHelper">
|
||||
<DisplayString>{second}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>second</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Namespace nlohmann::json_abi_ldvcmp_v3_12_0 -->
|
||||
<Type Name="nlohmann::json_abi_ldvcmp_v3_12_0::basic_json<*>">
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::null">null</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::discarded">discarded</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::object">
|
||||
*(m_data.m_value.object),view(simple)
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_ldvcmp_v3_12_0::detail::value_t::array">
|
||||
*(m_data.m_value.array),view(simple)
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
||||
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
||||
<Type Name="std::pair<*, nlohmann::json_abi_ldvcmp_v3_12_0::basic_json<*>>" IncludeView="MapHelper">
|
||||
<DisplayString>{second}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>second</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Namespace nlohmann::json_abi_diag_ldvcmp -->
|
||||
<Type Name="nlohmann::json_abi_diag_ldvcmp::basic_json<*>">
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::null">null</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::discarded">discarded</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::object">
|
||||
*(m_data.m_value.object),view(simple)
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp::detail::value_t::array">
|
||||
*(m_data.m_value.array),view(simple)
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
||||
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
||||
<Type Name="std::pair<*, nlohmann::json_abi_diag_ldvcmp::basic_json<*>>" IncludeView="MapHelper">
|
||||
<DisplayString>{second}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>second</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Namespace nlohmann::json_abi_diag_ldvcmp_v3_12_0 -->
|
||||
<Type Name="nlohmann::json_abi_diag_ldvcmp_v3_12_0::basic_json<*>">
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::null">null</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::object">{*(m_data.m_value.object)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::array">{*(m_data.m_value.array)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::string">{*(m_data.m_value.string)}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::boolean">{m_data.m_value.boolean}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::number_integer">{m_data.m_value.number_integer}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::number_unsigned">{m_data.m_value.number_unsigned}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::number_float">{m_data.m_value.number_float}</DisplayString>
|
||||
<DisplayString Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::discarded">discarded</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::object">
|
||||
*(m_data.m_value.object),view(simple)
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="m_data.m_type == nlohmann::json_abi_diag_ldvcmp_v3_12_0::detail::value_t::array">
|
||||
*(m_data.m_value.array),view(simple)
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- Skip the pair first/second members in the treeview while traversing a map.
|
||||
Only works in VS 2015 Update 2 and beyond using the new visualization -->
|
||||
<Type Name="std::pair<*, nlohmann::json_abi_diag_ldvcmp_v3_12_0::basic_json<*>>" IncludeView="MapHelper">
|
||||
<DisplayString>{second}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>second</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
</AutoVisualizer>
|
||||
@@ -0,0 +1,15 @@
|
||||
include(FindPackageHandleStandardArgs)
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG ${CMAKE_CURRENT_LIST_FILE})
|
||||
find_package_handle_standard_args(nlohmann_json CONFIG_MODE)
|
||||
|
||||
if(NOT TARGET nlohmann_json::nlohmann_json)
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/nlohmann_jsonTargets.cmake")
|
||||
if((NOT TARGET nlohmann_json) AND
|
||||
(NOT nlohmann_json_FIND_VERSION OR
|
||||
nlohmann_json_FIND_VERSION VERSION_LESS 3.2.0))
|
||||
add_library(nlohmann_json INTERFACE IMPORTED)
|
||||
set_target_properties(nlohmann_json PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES nlohmann_json::nlohmann_json
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
@@ -0,0 +1,20 @@
|
||||
# This is essentially cmake's BasicConfigVersion-SameMajorVersion.cmake.in but
|
||||
# without the 32/64-bit check. Since json is a header-only library, it doesn't
|
||||
# matter if it was built on a different platform than what it is used on (see
|
||||
# https://github.com/nlohmann/json/issues/1697).
|
||||
set(PACKAGE_VERSION "3.12.0")
|
||||
|
||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
|
||||
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL "3")
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif()
|
||||
|
||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
@@ -0,0 +1,108 @@
|
||||
# Generated by CMake
|
||||
|
||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
||||
message(FATAL_ERROR "CMake >= 3.1.0 required")
|
||||
endif()
|
||||
if(CMAKE_VERSION VERSION_LESS "3.1.0")
|
||||
message(FATAL_ERROR "CMake >= 3.1.0 required")
|
||||
endif()
|
||||
cmake_policy(PUSH)
|
||||
cmake_policy(VERSION 3.1.0...3.31)
|
||||
#----------------------------------------------------------------
|
||||
# Generated CMake target import file.
|
||||
#----------------------------------------------------------------
|
||||
|
||||
# Commands may need to know the format version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||
|
||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
||||
set(_cmake_targets_defined "")
|
||||
set(_cmake_targets_not_defined "")
|
||||
set(_cmake_expected_targets "")
|
||||
foreach(_cmake_expected_target IN ITEMS nlohmann_json::nlohmann_json)
|
||||
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
|
||||
if(TARGET "${_cmake_expected_target}")
|
||||
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
|
||||
else()
|
||||
list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
|
||||
endif()
|
||||
endforeach()
|
||||
unset(_cmake_expected_target)
|
||||
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
|
||||
unset(_cmake_targets_defined)
|
||||
unset(_cmake_targets_not_defined)
|
||||
unset(_cmake_expected_targets)
|
||||
unset(CMAKE_IMPORT_FILE_VERSION)
|
||||
cmake_policy(POP)
|
||||
return()
|
||||
endif()
|
||||
if(NOT _cmake_targets_defined STREQUAL "")
|
||||
string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
|
||||
string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
|
||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
|
||||
endif()
|
||||
unset(_cmake_targets_defined)
|
||||
unset(_cmake_targets_not_defined)
|
||||
unset(_cmake_expected_targets)
|
||||
|
||||
|
||||
# Compute the installation prefix relative to this file.
|
||||
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
if(_IMPORT_PREFIX STREQUAL "/")
|
||||
set(_IMPORT_PREFIX "")
|
||||
endif()
|
||||
|
||||
# Create imported target nlohmann_json::nlohmann_json
|
||||
add_library(nlohmann_json::nlohmann_json INTERFACE IMPORTED)
|
||||
|
||||
set_target_properties(nlohmann_json::nlohmann_json PROPERTIES
|
||||
INTERFACE_COMPILE_DEFINITIONS "\$<\$<NOT:\$<BOOL:ON>>:JSON_USE_GLOBAL_UDLS=0>;\$<\$<NOT:\$<BOOL:ON>>:JSON_USE_IMPLICIT_CONVERSIONS=0>;\$<\$<BOOL:OFF>:JSON_DISABLE_ENUM_SERIALIZATION=1>;\$<\$<BOOL:OFF>:JSON_DIAGNOSTICS=1>;\$<\$<BOOL:OFF>:JSON_DIAGNOSTIC_POSITIONS=1>;\$<\$<BOOL:OFF>:JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON=1>"
|
||||
INTERFACE_COMPILE_FEATURES "cxx_std_11"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include"
|
||||
INTERFACE_SOURCES "${_IMPORT_PREFIX}/share/nlohmann_json/nlohmann_json.natvis"
|
||||
)
|
||||
|
||||
# Load information for each installed configuration.
|
||||
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/nlohmann_jsonTargets-*.cmake")
|
||||
foreach(_cmake_config_file IN LISTS _cmake_config_files)
|
||||
include("${_cmake_config_file}")
|
||||
endforeach()
|
||||
unset(_cmake_config_file)
|
||||
unset(_cmake_config_files)
|
||||
|
||||
# Cleanup temporary variables.
|
||||
set(_IMPORT_PREFIX)
|
||||
|
||||
# Loop over all imported files and verify that they actually exist
|
||||
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
|
||||
if(CMAKE_VERSION VERSION_LESS "3.28"
|
||||
OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
|
||||
OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
|
||||
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
|
||||
if(NOT EXISTS "${_cmake_file}")
|
||||
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
|
||||
\"${_cmake_file}\"
|
||||
but this file does not exist. Possible reasons include:
|
||||
* The file was deleted, renamed, or moved to another location.
|
||||
* An install or uninstall procedure did not complete successfully.
|
||||
* The installation package was faulty and contained
|
||||
\"${CMAKE_CURRENT_LIST_FILE}\"
|
||||
but not all the files it references.
|
||||
")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
unset(_cmake_file)
|
||||
unset("_cmake_import_check_files_for_${_cmake_target}")
|
||||
endforeach()
|
||||
unset(_cmake_target)
|
||||
unset(_cmake_import_check_targets)
|
||||
|
||||
# This file does not depend on other imported targets which have
|
||||
# been exported from the same project but in a separate export set.
|
||||
|
||||
# Commands beyond this point should not need to know the version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION)
|
||||
cmake_policy(POP)
|
||||
@@ -0,0 +1,8 @@
|
||||
prefix=${pcfiledir}/../..
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: nlohmann_json
|
||||
Description: JSON for Modern C++
|
||||
Version: 3.12.0
|
||||
Cflags: "-I${includedir}"
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
All rights reserved.
|
||||
|
||||
MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_config_fixup.cmake")
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/spdx/spdx-spec/v2.2.1/schemas/spdx-schema.json",
|
||||
"spdxVersion": "SPDX-2.2",
|
||||
"dataLicense": "CC0-1.0",
|
||||
"SPDXID": "SPDXRef-DOCUMENT",
|
||||
"documentNamespace": "https://spdx.org/spdxdocs/vcpkg-cmake-config-x64-windows-2024-05-23-646dddad-146b-4634-ad4f-37a3f815f8e6",
|
||||
"name": "vcpkg-cmake-config:x64-windows@2024-05-23 d1217d32eea9609394588fc64ac9fd154f22d2c82026ca4dd971739444e97371",
|
||||
"creationInfo": {
|
||||
"creators": [
|
||||
"Tool: vcpkg-2025-07-21-d4b65a2b83ae6c3526acd1c6f3b51aff2a884533"
|
||||
],
|
||||
"created": "2025-08-29T09:12:23Z"
|
||||
},
|
||||
"relationships": [
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "GENERATES",
|
||||
"relatedSpdxElement": "SPDXRef-binary"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-0"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-1"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-2"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-3"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-4"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-binary",
|
||||
"relationshipType": "GENERATED_FROM",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-0",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-1",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-2",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-3",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-3",
|
||||
"relationshipType": "DEPENDENCY_MANIFEST_OF",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-4",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
}
|
||||
],
|
||||
"packages": [
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"SPDXID": "SPDXRef-port",
|
||||
"versionInfo": "2024-05-23",
|
||||
"downloadLocation": "git+https://github.com/Microsoft/vcpkg@97a63e4bc1a17422ffe4eff71da53b4b561a7841",
|
||||
"licenseConcluded": "MIT",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"comment": "This is the port (recipe) consumed by vcpkg."
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config:x64-windows",
|
||||
"SPDXID": "SPDXRef-binary",
|
||||
"versionInfo": "d1217d32eea9609394588fc64ac9fd154f22d2c82026ca4dd971739444e97371",
|
||||
"downloadLocation": "NONE",
|
||||
"licenseConcluded": "MIT",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"comment": "This is a binary package built by vcpkg."
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
{
|
||||
"fileName": "./copyright",
|
||||
"SPDXID": "SPDXRef-file-0",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "04b60f99a43bfd7fefdc8364b24aac704a2160cef969b75ba6a38b62dc4c4b70"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./portfile.cmake",
|
||||
"SPDXID": "SPDXRef-file-1",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "832b34e63f5af41ad1b2e4aa79c5bfa507a005b120b51548e674accc706837d7"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg-port-config.cmake",
|
||||
"SPDXID": "SPDXRef-file-2",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "72bc3093337e633bdd19fe5d4dd1f38ca1918def49608d676a9c98c686d38b1e"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg.json",
|
||||
"SPDXID": "SPDXRef-file-3",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "3964c3d0e6b39c7f42cebd5949cccdc7eb6feb83ee434fe73756c954b173c5c2"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg_cmake_config_fixup.cmake",
|
||||
"SPDXID": "SPDXRef-file-4",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "f3880578674f1bdbc54b67c5fc3787aaab8ee8bcf4e3e6e008204bf4ab67aa0b"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
cmake 4.1.0
|
||||
copyright 04b60f99a43bfd7fefdc8364b24aac704a2160cef969b75ba6a38b62dc4c4b70
|
||||
features core
|
||||
portfile.cmake 832b34e63f5af41ad1b2e4aa79c5bfa507a005b120b51548e674accc706837d7
|
||||
ports.cmake 396a7ff92b4f63d694e861eda4041784616a05ca31268739cac927c0ac9c4843
|
||||
post_build_checks 2
|
||||
powershell 7.5.2
|
||||
triplet x64-windows
|
||||
triplet_abi 4556164a2cd3dd6f4742101eabb46def7e71b6e5856faa88e5d005aac12a803c-1d3d767ab10b488977977b83f6c2da7e06afd80b1e375a2a41c60c343e7b3f94-37968c396ae4fe042c6ac7cb0118f08bcc5350f2
|
||||
vcpkg-port-config.cmake 72bc3093337e633bdd19fe5d4dd1f38ca1918def49608d676a9c98c686d38b1e
|
||||
vcpkg.json 3964c3d0e6b39c7f42cebd5949cccdc7eb6feb83ee434fe73756c954b173c5c2
|
||||
vcpkg_cmake_config_fixup.cmake f3880578674f1bdbc54b67c5fc3787aaab8ee8bcf4e3e6e008204bf4ab67aa0b
|
||||
vcpkg_list f5de3ebcbc40a4db90622ade9aca918e2cf404dc0d91342fcde457d730e6fa29
|
||||
@@ -0,0 +1,278 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
function(vcpkg_cmake_config_fixup)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "arg" "DO_NOT_DELETE_PARENT_CONFIG_PATH;NO_PREFIX_CORRECTION" "PACKAGE_NAME;CONFIG_PATH;TOOLS_PATH" "")
|
||||
|
||||
if(DEFINED arg_UNPARSED_ARGUMENTS)
|
||||
message(FATAL_ERROR "vcpkg_cmake_config_fixup was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
if(NOT arg_PACKAGE_NAME)
|
||||
set(arg_PACKAGE_NAME "${PORT}")
|
||||
endif()
|
||||
if(NOT arg_CONFIG_PATH)
|
||||
set(arg_CONFIG_PATH "share/${arg_PACKAGE_NAME}")
|
||||
endif()
|
||||
if(NOT arg_TOOLS_PATH)
|
||||
set(arg_TOOLS_PATH "tools/${PORT}")
|
||||
endif()
|
||||
set(target_path "share/${arg_PACKAGE_NAME}")
|
||||
|
||||
string(REPLACE "." "\\." EXECUTABLE_SUFFIX "${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
|
||||
|
||||
set(debug_share "${CURRENT_PACKAGES_DIR}/debug/${target_path}")
|
||||
set(release_share "${CURRENT_PACKAGES_DIR}/${target_path}")
|
||||
|
||||
if(NOT arg_CONFIG_PATH STREQUAL "share/${arg_PACKAGE_NAME}")
|
||||
if(arg_CONFIG_PATH STREQUAL "share")
|
||||
set(arg_CONFIG_PATH z_vcpkg_share)
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/${arg_CONFIG_PATH}")
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/share" "${CURRENT_PACKAGES_DIR}/${arg_CONFIG_PATH}")
|
||||
endif()
|
||||
|
||||
set(debug_config "${CURRENT_PACKAGES_DIR}/debug/${arg_CONFIG_PATH}")
|
||||
set(release_config "${CURRENT_PACKAGES_DIR}/${arg_CONFIG_PATH}")
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
if(NOT EXISTS "${debug_config}")
|
||||
message(FATAL_ERROR "'${debug_config}' does not exist.")
|
||||
endif()
|
||||
|
||||
# This roundabout handling enables CONFIG_PATH = share
|
||||
file(MAKE_DIRECTORY "${debug_share}")
|
||||
file(GLOB files "${debug_config}/*")
|
||||
file(COPY ${files} DESTINATION "${debug_share}")
|
||||
file(REMOVE_RECURSE "${debug_config}")
|
||||
endif()
|
||||
|
||||
file(GLOB files "${release_config}/*")
|
||||
file(COPY ${files} DESTINATION "${release_share}")
|
||||
file(REMOVE_RECURSE "${release_config}")
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
get_filename_component(debug_config_dir_name "${debug_config}" NAME)
|
||||
string(TOLOWER "${debug_config_dir_name}" debug_config_dir_name)
|
||||
if(debug_config_dir_name STREQUAL "cmake" AND NOT arg_DO_NOT_DELETE_PARENT_CONFIG_PATH)
|
||||
file(REMOVE_RECURSE "${debug_config}")
|
||||
else()
|
||||
get_filename_component(debug_config_parent_dir "${debug_config}" DIRECTORY)
|
||||
get_filename_component(debug_config_dir_name "${debug_config_parent_dir}" NAME)
|
||||
string(TOLOWER "${debug_config_dir_name}" debug_config_dir_name)
|
||||
if(debug_config_dir_name STREQUAL "cmake" AND NOT arg_DO_NOT_DELETE_PARENT_CONFIG_PATH)
|
||||
file(REMOVE_RECURSE "${debug_config_parent_dir}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
get_filename_component(release_config_dir_name "${release_config}" NAME)
|
||||
string(TOLOWER "${release_config_dir_name}" release_config_dir_name)
|
||||
if(release_config_dir_name STREQUAL "cmake" AND NOT arg_DO_NOT_DELETE_PARENT_CONFIG_PATH)
|
||||
file(REMOVE_RECURSE "${release_config}")
|
||||
else()
|
||||
get_filename_component(release_config_parent_dir "${release_config}" DIRECTORY)
|
||||
get_filename_component(release_config_dir_name "${release_config_parent_dir}" NAME)
|
||||
string(TOLOWER "${release_config_dir_name}" release_config_dir_name)
|
||||
if(release_config_dir_name STREQUAL "cmake" AND NOT arg_DO_NOT_DELETE_PARENT_CONFIG_PATH)
|
||||
file(REMOVE_RECURSE "${release_config_parent_dir}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
if(NOT EXISTS "${debug_share}")
|
||||
message(FATAL_ERROR "'${debug_share}' does not exist.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE release_targets
|
||||
"${release_share}/*-release.cmake"
|
||||
)
|
||||
foreach(release_target IN LISTS release_targets)
|
||||
file(READ "${release_target}" contents)
|
||||
string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" contents "${contents}")
|
||||
string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/${arg_TOOLS_PATH}/\\1" contents "${contents}")
|
||||
file(WRITE "${release_target}" "${contents}")
|
||||
endforeach()
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(GLOB_RECURSE debug_targets
|
||||
"${debug_share}/*-debug.cmake"
|
||||
)
|
||||
foreach(debug_target IN LISTS debug_targets)
|
||||
file(RELATIVE_PATH debug_target_rel "${debug_share}" "${debug_target}")
|
||||
|
||||
file(READ "${debug_target}" contents)
|
||||
string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" contents "${contents}")
|
||||
string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/${arg_TOOLS_PATH}/\\1" contents "${contents}")
|
||||
string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" contents "${contents}")
|
||||
string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" contents "${contents}")
|
||||
file(WRITE "${release_share}/${debug_target_rel}" "${contents}")
|
||||
|
||||
file(REMOVE "${debug_target}")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
#Fix ${_IMPORT_PREFIX} and absolute paths in cmake generated targets and configs;
|
||||
#Since those can be renamed we have to check in every *.cmake, but only once.
|
||||
file(GLOB_RECURSE main_cmakes "${release_share}/*.cmake")
|
||||
if(NOT DEFINED Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP)
|
||||
vcpkg_list(SET Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP)
|
||||
endif()
|
||||
foreach(already_fixed_up IN LISTS Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP)
|
||||
vcpkg_list(REMOVE_ITEM main_cmakes "${already_fixed_up}")
|
||||
endforeach()
|
||||
vcpkg_list(APPEND Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP ${main_cmakes})
|
||||
set(Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP "${Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP}" CACHE INTERNAL "")
|
||||
|
||||
foreach(main_cmake IN LISTS main_cmakes)
|
||||
file(READ "${main_cmake}" contents)
|
||||
# Note: I think the following comment is no longer true, since we now require the path to be `share/blah`
|
||||
# however, I don't know it for sure.
|
||||
# - nimazzuc
|
||||
|
||||
#This correction is not correct for all cases. To make it correct for all cases it needs to consider
|
||||
#original folder deepness to CURRENT_PACKAGES_DIR in comparison to the moved to folder deepness which
|
||||
#is always at least (>=) 2, e.g. share/${PORT}. Currently the code assumes it is always 2 although
|
||||
#this requirement is only true for the *Config.cmake. The targets are not required to be in the same
|
||||
#folder as the *Config.cmake!
|
||||
if(NOT arg_NO_PREFIX_CORRECTION)
|
||||
string(REGEX REPLACE
|
||||
[[get_filename_component\(_IMPORT_PREFIX "\${CMAKE_CURRENT_LIST_FILE}" PATH\)(
|
||||
get_filename_component\(_IMPORT_PREFIX "\${_IMPORT_PREFIX}" PATH\))*]]
|
||||
[[get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)]]
|
||||
contents "${contents}") # see #1044 for details why this replacement is necessary. See #4782 why it must be a regex.
|
||||
string(REGEX REPLACE
|
||||
[[get_filename_component\(PACKAGE_PREFIX_DIR "\${CMAKE_CURRENT_LIST_DIR}/\.\./(\.\./)*" ABSOLUTE\)]]
|
||||
[[get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)]]
|
||||
contents "${contents}")
|
||||
string(REGEX REPLACE
|
||||
[[get_filename_component\(PACKAGE_PREFIX_DIR "\${CMAKE_CURRENT_LIST_DIR}/\.\.((\\|/)\.\.)*" ABSOLUTE\)]]
|
||||
[[get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)]]
|
||||
contents "${contents}") # This is a meson-related workaround, see https://github.com/mesonbuild/meson/issues/6955
|
||||
endif()
|
||||
|
||||
# Merge release and debug configurations of target property INTERFACE_LINK_LIBRARIES.
|
||||
string(REPLACE "${release_share}/" "${debug_share}/" debug_cmake "${main_cmake}")
|
||||
if(DEFINED VCPKG_BUILD_TYPE)
|
||||
# Skip. Warning: A release-only port in a dual-config installation
|
||||
# may pull release dependencies into the debug configuration.
|
||||
elseif(NOT contents MATCHES "INTERFACE_LINK_LIBRARIES")
|
||||
# Skip. No relevant properties.
|
||||
elseif(NOT contents MATCHES "# Generated CMake target import file\\.")
|
||||
# Skip. No safe assumptions about a matching debug import file.
|
||||
elseif(NOT EXISTS "${debug_cmake}")
|
||||
message(SEND_ERROR "Did not find a debug import file matching '${main_cmake}'")
|
||||
else()
|
||||
file(READ "${debug_cmake}" debug_contents)
|
||||
set(remainder "${contents}")
|
||||
while(remainder)
|
||||
z_vcpkg_cmake_config_fixup_match_command("${remainder}" "set_target_properties(" matched_command remainder)
|
||||
if(NOT matched_command MATCHES "set_target_properties[(]([^ \$]*) PROPERTIES.* INTERFACE_LINK_LIBRARIES \"([^\"]*)\"")
|
||||
continue()
|
||||
endif()
|
||||
set(target "${CMAKE_MATCH_1}")
|
||||
set(release_libs "${CMAKE_MATCH_2}")
|
||||
z_vcpkg_cmake_config_fixup_match_command("${debug_contents}" "set_target_properties(${target} " debug_command unused)
|
||||
if(NOT debug_command MATCHES " INTERFACE_LINK_LIBRARIES \"([^\"]*)\"")
|
||||
message(SEND_ERROR "Did not find a debug configuration for target '${target}'.")
|
||||
continue()
|
||||
endif()
|
||||
set(debug_libs "${CMAKE_MATCH_1}")
|
||||
z_vcpkg_cmake_config_fixup_merge(merged_libs release_libs debug_libs)
|
||||
string(REPLACE " INTERFACE_LINK_LIBRARIES \"${release_libs}\"" " INTERFACE_LINK_LIBRARIES \"${merged_libs}\"" updated_command "${matched_command}")
|
||||
string(REPLACE "${matched_command}" "${updated_command}" contents "${contents}")
|
||||
endwhile()
|
||||
endif()
|
||||
|
||||
#Fix absolute paths to installed dir with ones relative to ${CMAKE_CURRENT_LIST_DIR}
|
||||
#This happens if vcpkg built libraries are directly linked to a target instead of using
|
||||
#an imported target.
|
||||
string(REPLACE "${CURRENT_INSTALLED_DIR}" [[${VCPKG_IMPORT_PREFIX}]] contents "${contents}")
|
||||
file(TO_CMAKE_PATH "${CURRENT_PACKAGES_DIR}" cmake_current_packages_dir)
|
||||
string(REPLACE "${cmake_current_packages_dir}" [[${VCPKG_IMPORT_PREFIX}]] contents "${contents}")
|
||||
# If ${VCPKG_IMPORT_PREFIX} was actually used, inject a definition of it:
|
||||
string(FIND "${contents}" [[${VCPKG_IMPORT_PREFIX}]] index)
|
||||
if (NOT index STREQUAL "-1")
|
||||
get_filename_component(main_cmake_dir "${main_cmake}" DIRECTORY)
|
||||
# Calculate relative to be a sequence of "../"
|
||||
file(RELATIVE_PATH relative "${main_cmake_dir}" "${cmake_current_packages_dir}")
|
||||
string(PREPEND contents "get_filename_component(VCPKG_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_DIR}\/${relative}\" ABSOLUTE)\n")
|
||||
endif()
|
||||
|
||||
file(WRITE "${main_cmake}" "${contents}")
|
||||
endforeach()
|
||||
|
||||
file(GLOB_RECURSE unused_files
|
||||
"${debug_share}/*[Tt]argets.cmake"
|
||||
"${debug_share}/*[Cc]onfig.cmake"
|
||||
"${debug_share}/*[Cc]onfigVersion.cmake"
|
||||
"${debug_share}/*[Cc]onfig-version.cmake"
|
||||
)
|
||||
foreach(unused_file IN LISTS unused_files)
|
||||
file(REMOVE "${unused_file}")
|
||||
endforeach()
|
||||
|
||||
# Remove /debug/<target_path>/ if it's empty.
|
||||
file(GLOB_RECURSE remaining_files "${debug_share}/*")
|
||||
if(remaining_files STREQUAL "")
|
||||
file(REMOVE_RECURSE "${debug_share}")
|
||||
endif()
|
||||
|
||||
# Remove /debug/share/ if it's empty.
|
||||
file(GLOB_RECURSE remaining_files "${CURRENT_PACKAGES_DIR}/debug/share/*")
|
||||
if(remaining_files STREQUAL "")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# Match a command from "<needle>" to ")\n". On match, returns the command and
|
||||
# the remainder from haystack. Otherwise, returns empty values.
|
||||
function(z_vcpkg_cmake_config_fixup_match_command haystack needle out_match out_remainder)
|
||||
set(match "")
|
||||
set(remainder "")
|
||||
string(FIND "${haystack}" "${needle}" first)
|
||||
if(NOT first EQUAL "-1")
|
||||
string(SUBSTRING "${haystack}" ${first} -1 tmp)
|
||||
string(FIND "${tmp}" ")\n" bound)
|
||||
if(NOT bound EQUAL "-1")
|
||||
math(EXPR bound "${bound} + 2")
|
||||
string(SUBSTRING "${tmp}" 0 ${bound} match)
|
||||
string(SUBSTRING "${tmp}" "${bound}" -1 remainder)
|
||||
endif()
|
||||
endif()
|
||||
set("${out_match}" "${match}" PARENT_SCOPE)
|
||||
set("${out_remainder}" "${remainder}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# Merges link interface library lists for release and debug
|
||||
# into a single expression which use generator expression as necessary.
|
||||
function(z_vcpkg_cmake_config_fixup_merge out_var release_var debug_var)
|
||||
set(release_libs "VCPKG;${${release_var}}")
|
||||
string(REGEX REPLACE ";optimized;([^;]*)" ";\\1" release_libs "${release_libs}")
|
||||
string(REGEX REPLACE ";debug;([^;]*)" ";" release_libs "${release_libs}")
|
||||
list(REMOVE_AT release_libs 0)
|
||||
list(FILTER release_libs EXCLUDE REGEX [[^\\[$]<\\[$]<CONFIG:DEBUG>:]])
|
||||
list(TRANSFORM release_libs REPLACE [[^\\[$]<\\[$]<NOT:\\[$]<CONFIG:DEBUG>>:(.*)>$]] "\\1")
|
||||
|
||||
set(debug_libs "VCPKG;${${debug_var}}")
|
||||
string(REGEX REPLACE ";optimized;([^;]*)" ";" debug_libs "${debug_libs}")
|
||||
string(REGEX REPLACE ";debug;([^;]*)" ";\\1" debug_libs "${debug_libs}")
|
||||
list(REMOVE_AT debug_libs 0)
|
||||
list(FILTER debug_libs EXCLUDE REGEX [[^\\[$]<\\[$]<NOT:\\[$]<CONFIG:DEBUG>>:]])
|
||||
list(TRANSFORM debug_libs REPLACE [[^\\[$]<\\[$]<CONFIG:DEBUG>:(.*)>$]] "\\1")
|
||||
|
||||
set(merged_libs "")
|
||||
foreach(release_lib debug_lib IN ZIP_LISTS release_libs debug_libs)
|
||||
if(release_lib STREQUAL debug_lib)
|
||||
list(APPEND merged_libs "${release_lib}")
|
||||
else()
|
||||
if(release_lib)
|
||||
list(APPEND merged_libs "\\\$<\\\$<NOT:\\\$<CONFIG:DEBUG>>:${release_lib}>")
|
||||
endif()
|
||||
if(debug_lib)
|
||||
list(APPEND merged_libs "\\\$<\\\$<CONFIG:DEBUG>:${debug_lib}>")
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
set("${out_var}" "${merged_libs}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
@@ -0,0 +1,20 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||
software and associated documentation files (the "Software"), to deal in the Software
|
||||
without restriction, including without limitation the rights to use, copy, modify,
|
||||
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies
|
||||
or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||||
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
|
||||
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
@@ -0,0 +1,3 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_configure.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_build.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_install.cmake")
|
||||
@@ -0,0 +1,187 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/spdx/spdx-spec/v2.2.1/schemas/spdx-schema.json",
|
||||
"spdxVersion": "SPDX-2.2",
|
||||
"dataLicense": "CC0-1.0",
|
||||
"SPDXID": "SPDXRef-DOCUMENT",
|
||||
"documentNamespace": "https://spdx.org/spdxdocs/vcpkg-cmake-x64-windows-2024-04-23-671cd550-3938-4636-81f5-68287099b228",
|
||||
"name": "vcpkg-cmake:x64-windows@2024-04-23 1a1e06d1a279a7527a1bc12adb4cc058c8d26868fccc8fc11d1d9a56af2c2a26",
|
||||
"creationInfo": {
|
||||
"creators": [
|
||||
"Tool: vcpkg-2025-07-21-d4b65a2b83ae6c3526acd1c6f3b51aff2a884533"
|
||||
],
|
||||
"created": "2025-08-29T09:12:23Z"
|
||||
},
|
||||
"relationships": [
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "GENERATES",
|
||||
"relatedSpdxElement": "SPDXRef-binary"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-0"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-1"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-2"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-3"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-4"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-port",
|
||||
"relationshipType": "CONTAINS",
|
||||
"relatedSpdxElement": "SPDXRef-file-5"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-binary",
|
||||
"relationshipType": "GENERATED_FROM",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-0",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-1",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-2",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-2",
|
||||
"relationshipType": "DEPENDENCY_MANIFEST_OF",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-3",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-4",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
},
|
||||
{
|
||||
"spdxElementId": "SPDXRef-file-5",
|
||||
"relationshipType": "CONTAINED_BY",
|
||||
"relatedSpdxElement": "SPDXRef-port"
|
||||
}
|
||||
],
|
||||
"packages": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"SPDXID": "SPDXRef-port",
|
||||
"versionInfo": "2024-04-23",
|
||||
"downloadLocation": "git+https://github.com/Microsoft/vcpkg@e74aa1e8f93278a8e71372f1fa08c3df420eb840",
|
||||
"licenseConcluded": "MIT",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"comment": "This is the port (recipe) consumed by vcpkg."
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake:x64-windows",
|
||||
"SPDXID": "SPDXRef-binary",
|
||||
"versionInfo": "1a1e06d1a279a7527a1bc12adb4cc058c8d26868fccc8fc11d1d9a56af2c2a26",
|
||||
"downloadLocation": "NONE",
|
||||
"licenseConcluded": "MIT",
|
||||
"licenseDeclared": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION",
|
||||
"comment": "This is a binary package built by vcpkg."
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
{
|
||||
"fileName": "./portfile.cmake",
|
||||
"SPDXID": "SPDXRef-file-0",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "a711531b7f13b7da16fa1f25d7c5737a423d4a126465dc9e6689a0f043fcc1aa"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg-port-config.cmake",
|
||||
"SPDXID": "SPDXRef-file-1",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "f0a30f77c8f5e3ac40436fe2518a61ad067f2955c7ef3be6d6a0ca4b81cd2a45"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg.json",
|
||||
"SPDXID": "SPDXRef-file-2",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "6fd546b781a1aa5df572bdd31672cf222e55698aa5bf7d3e5c11abf1ae56a45b"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg_cmake_build.cmake",
|
||||
"SPDXID": "SPDXRef-file-3",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "6d1c27080fe3e768b5e7b968d6a28a37db154ebcb214297de25f10b6713511e1"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg_cmake_configure.cmake",
|
||||
"SPDXID": "SPDXRef-file-4",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "a8bc92be2faf621d6183ed1f3eb2ac3b103f4418b95f8695cf0dc7f7c5e8f724"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
},
|
||||
{
|
||||
"fileName": "./vcpkg_cmake_install.cmake",
|
||||
"SPDXID": "SPDXRef-file-5",
|
||||
"checksums": [
|
||||
{
|
||||
"algorithm": "SHA256",
|
||||
"checksumValue": "3ae7886dc8434fac6f1e61190cc355fdec5fbd4f60758e2de20423cf49c91369"
|
||||
}
|
||||
],
|
||||
"licenseConcluded": "NOASSERTION",
|
||||
"copyrightText": "NOASSERTION"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
cmake 4.1.0
|
||||
features core
|
||||
portfile.cmake a711531b7f13b7da16fa1f25d7c5737a423d4a126465dc9e6689a0f043fcc1aa
|
||||
ports.cmake 396a7ff92b4f63d694e861eda4041784616a05ca31268739cac927c0ac9c4843
|
||||
post_build_checks 2
|
||||
powershell 7.5.2
|
||||
triplet x64-windows
|
||||
triplet_abi 4556164a2cd3dd6f4742101eabb46def7e71b6e5856faa88e5d005aac12a803c-1d3d767ab10b488977977b83f6c2da7e06afd80b1e375a2a41c60c343e7b3f94-37968c396ae4fe042c6ac7cb0118f08bcc5350f2
|
||||
vcpkg-port-config.cmake f0a30f77c8f5e3ac40436fe2518a61ad067f2955c7ef3be6d6a0ca4b81cd2a45
|
||||
vcpkg.json 6fd546b781a1aa5df572bdd31672cf222e55698aa5bf7d3e5c11abf1ae56a45b
|
||||
vcpkg_add_to_path 5f5ae75cf37b2a58d1a8561ca96496b64cd91ec9a0afab0b976c3e5d59030bfe
|
||||
vcpkg_cmake_build.cmake 6d1c27080fe3e768b5e7b968d6a28a37db154ebcb214297de25f10b6713511e1
|
||||
vcpkg_cmake_configure.cmake a8bc92be2faf621d6183ed1f3eb2ac3b103f4418b95f8695cf0dc7f7c5e8f724
|
||||
vcpkg_cmake_install.cmake 3ae7886dc8434fac6f1e61190cc355fdec5fbd4f60758e2de20423cf49c91369
|
||||
vcpkg_configure_cmake be0a148d1fabbb9e612f2b6d624d7756140694ec107198201de4552a1aa84f7f
|
||||
vcpkg_execute_build_process 4976d00fc7d25ad07984f282490121a09aa44a49c5dae627ca68355affd929d0
|
||||
vcpkg_execute_required_process 2df167e6e7f37c8038e02a3ebbfb239fa55de0b384ed4532d33f5483710a608b
|
||||
vcpkg_find_acquire_program 03722d714d388b19731f5c0be35996c25a47d5b35dd6a09669ea1e599a56e005
|
||||
vcpkg_find_acquire_program(NINJA) 0febb13893222f94a072f6c397889f2750e72a5b05d51ec7629eb31dc49b8044
|
||||
vcpkg_list f5de3ebcbc40a4db90622ade9aca918e2cf404dc0d91342fcde457d730e6fa29
|
||||
@@ -0,0 +1,91 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
function(vcpkg_cmake_build)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "arg" "DISABLE_PARALLEL;ADD_BIN_TO_PATH" "TARGET;LOGFILE_BASE" "")
|
||||
|
||||
if(DEFINED arg_UNPARSED_ARGUMENTS)
|
||||
message(FATAL_ERROR "vcpkg_cmake_build was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
if(NOT DEFINED arg_LOGFILE_BASE)
|
||||
set(arg_LOGFILE_BASE "build")
|
||||
endif()
|
||||
vcpkg_list(SET build_param)
|
||||
vcpkg_list(SET parallel_param)
|
||||
vcpkg_list(SET no_parallel_param)
|
||||
|
||||
if("${Z_VCPKG_CMAKE_GENERATOR}" STREQUAL "Ninja")
|
||||
vcpkg_list(SET build_param "-v") # verbose output
|
||||
vcpkg_list(SET parallel_param "-j${VCPKG_CONCURRENCY}")
|
||||
vcpkg_list(SET no_parallel_param "-j1")
|
||||
elseif("${Z_VCPKG_CMAKE_GENERATOR}" MATCHES "^Visual Studio")
|
||||
vcpkg_list(SET build_param
|
||||
"/p:VCPkgLocalAppDataDisabled=true"
|
||||
"/p:UseIntelMKL=No"
|
||||
)
|
||||
vcpkg_list(SET parallel_param "/m")
|
||||
elseif("${Z_VCPKG_CMAKE_GENERATOR}" STREQUAL "NMake Makefiles")
|
||||
# No options are currently added for nmake builds
|
||||
elseif(Z_VCPKG_CMAKE_GENERATOR STREQUAL "Unix Makefiles")
|
||||
vcpkg_list(SET build_param "VERBOSE=1")
|
||||
vcpkg_list(SET parallel_param "-j${VCPKG_CONCURRENCY}")
|
||||
vcpkg_list(SET no_parallel_param "")
|
||||
elseif(Z_VCPKG_CMAKE_GENERATOR STREQUAL "Xcode")
|
||||
vcpkg_list(SET parallel_param -jobs "${VCPKG_CONCURRENCY}")
|
||||
vcpkg_list(SET no_parallel_param -jobs 1)
|
||||
else()
|
||||
message(WARNING "Unrecognized GENERATOR setting from vcpkg_cmake_configure().")
|
||||
endif()
|
||||
|
||||
vcpkg_list(SET target_param)
|
||||
if(arg_TARGET)
|
||||
vcpkg_list(SET target_param "--target" "${arg_TARGET}")
|
||||
endif()
|
||||
|
||||
foreach(build_type IN ITEMS debug release)
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "${build_type}")
|
||||
if("${build_type}" STREQUAL "debug")
|
||||
set(short_build_type "dbg")
|
||||
set(config "Debug")
|
||||
else()
|
||||
set(short_build_type "rel")
|
||||
set(config "Release")
|
||||
endif()
|
||||
|
||||
message(STATUS "Building ${TARGET_TRIPLET}-${short_build_type}")
|
||||
|
||||
if(arg_ADD_BIN_TO_PATH)
|
||||
vcpkg_backup_env_variables(VARS PATH)
|
||||
if("${build_type}" STREQUAL "debug")
|
||||
vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin")
|
||||
else()
|
||||
vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(arg_DISABLE_PARALLEL)
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND
|
||||
"${CMAKE_COMMAND}" --build . --config "${config}" ${target_param}
|
||||
-- ${build_param} ${no_parallel_param}
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_build_type}"
|
||||
LOGNAME "${arg_LOGFILE_BASE}-${TARGET_TRIPLET}-${short_build_type}"
|
||||
)
|
||||
else()
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND
|
||||
"${CMAKE_COMMAND}" --build . --config "${config}" ${target_param}
|
||||
-- ${build_param} ${parallel_param}
|
||||
NO_PARALLEL_COMMAND
|
||||
"${CMAKE_COMMAND}" --build . --config "${config}" ${target_param}
|
||||
-- ${build_param} ${no_parallel_param}
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_build_type}"
|
||||
LOGNAME "${arg_LOGFILE_BASE}-${TARGET_TRIPLET}-${short_build_type}"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(arg_ADD_BIN_TO_PATH)
|
||||
vcpkg_restore_env_variables(VARS PATH)
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
@@ -0,0 +1,353 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
macro(z_vcpkg_cmake_configure_both_set_or_unset var1 var2)
|
||||
if(DEFINED ${var1} AND NOT DEFINED ${var2})
|
||||
message(FATAL_ERROR "If ${var1} is set, then ${var2} must be set.")
|
||||
elseif(NOT DEFINED ${var1} AND DEFINED ${var2})
|
||||
message(FATAL_ERROR "If ${var2} is set, then ${var1} must be set.")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
function(vcpkg_cmake_configure)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "arg"
|
||||
"PREFER_NINJA;DISABLE_PARALLEL_CONFIGURE;WINDOWS_USE_MSBUILD;NO_CHARSET_FLAG;Z_CMAKE_GET_VARS_USAGE"
|
||||
"SOURCE_PATH;GENERATOR;LOGFILE_BASE"
|
||||
"OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;MAYBE_UNUSED_VARIABLES"
|
||||
)
|
||||
|
||||
if(NOT arg_Z_CMAKE_GET_VARS_USAGE AND DEFINED CACHE{Z_VCPKG_CMAKE_GENERATOR})
|
||||
message(WARNING "${CMAKE_CURRENT_FUNCTION} already called; this function should only be called once.")
|
||||
endif()
|
||||
if(arg_PREFER_NINJA)
|
||||
message(WARNING "PREFER_NINJA has been deprecated in ${CMAKE_CURRENT_FUNCTION}. Please remove it from the portfile!")
|
||||
endif()
|
||||
|
||||
if(DEFINED arg_UNPARSED_ARGUMENTS)
|
||||
message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED arg_SOURCE_PATH)
|
||||
message(FATAL_ERROR "SOURCE_PATH must be set")
|
||||
endif()
|
||||
if(NOT DEFINED arg_LOGFILE_BASE)
|
||||
set(arg_LOGFILE_BASE "config-${TARGET_TRIPLET}")
|
||||
endif()
|
||||
|
||||
set(invalid_maybe_unused_vars "${arg_MAYBE_UNUSED_VARIABLES}")
|
||||
list(FILTER invalid_maybe_unused_vars INCLUDE REGEX "^-D")
|
||||
if(NOT invalid_maybe_unused_vars STREQUAL "")
|
||||
list(JOIN invalid_maybe_unused_vars " " bad_items)
|
||||
message(${Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL}
|
||||
"Option MAYBE_UNUSED_VARIABLES must be used with variables names. "
|
||||
"The following items are invalid: ${bad_items}")
|
||||
endif()
|
||||
|
||||
set(manually_specified_variables "")
|
||||
|
||||
if(arg_Z_CMAKE_GET_VARS_USAGE)
|
||||
set(configuring_message "Getting CMake variables for ${TARGET_TRIPLET}")
|
||||
else()
|
||||
set(configuring_message "Configuring ${TARGET_TRIPLET}")
|
||||
|
||||
foreach(option IN LISTS arg_OPTIONS arg_OPTIONS_RELEASE arg_OPTIONS_DEBUG)
|
||||
if("${option}" MATCHES "^-D([^:=]*)[:=]")
|
||||
vcpkg_list(APPEND manually_specified_variables "${CMAKE_MATCH_1}")
|
||||
endif()
|
||||
endforeach()
|
||||
vcpkg_list(REMOVE_DUPLICATES manually_specified_variables)
|
||||
foreach(maybe_unused_var IN LISTS arg_MAYBE_UNUSED_VARIABLES)
|
||||
vcpkg_list(REMOVE_ITEM manually_specified_variables "${maybe_unused_var}")
|
||||
endforeach()
|
||||
debug_message("manually specified variables: ${manually_specified_variables}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_HOST_WIN32)
|
||||
if(DEFINED ENV{PROCESSOR_ARCHITEW6432})
|
||||
set(host_architecture "$ENV{PROCESSOR_ARCHITEW6432}")
|
||||
else()
|
||||
set(host_architecture "$ENV{PROCESSOR_ARCHITECTURE}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(ninja_host ON) # Ninja availability
|
||||
if(host_architecture STREQUAL "x86" OR DEFINED ENV{VCPKG_FORCE_SYSTEM_BINARIES})
|
||||
# Prebuilt ninja binaries are only provided for x64 hosts
|
||||
find_program(NINJA NAMES ninja ninja-build)
|
||||
if(NOT NINJA)
|
||||
set(ninja_host OFF)
|
||||
set(arg_DISABLE_PARALLEL_CONFIGURE ON)
|
||||
set(arg_WINDOWS_USE_MSBUILD ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(generator "")
|
||||
set(architecture_options "")
|
||||
if(arg_WINDOWS_USE_MSBUILD AND VCPKG_HOST_IS_WINDOWS AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
z_vcpkg_get_visual_studio_generator(OUT_GENERATOR generator OUT_ARCH arch)
|
||||
vcpkg_list(APPEND architecture_options "-A${arch}")
|
||||
if(DEFINED VCPKG_PLATFORM_TOOLSET)
|
||||
vcpkg_list(APPEND arg_OPTIONS "-T${VCPKG_PLATFORM_TOOLSET}")
|
||||
endif()
|
||||
if(NOT generator)
|
||||
message(FATAL_ERROR "Unable to determine appropriate Visual Studio generator for triplet ${TARGET_TRIPLET}:
|
||||
ENV{VisualStudioVersion} : $ENV{VisualStudioVersion}
|
||||
VCPKG_TARGET_ARCHITECTURE: ${VCPKG_TARGET_ARCHITECTURE}")
|
||||
endif()
|
||||
elseif(DEFINED arg_GENERATOR)
|
||||
set(generator "${arg_GENERATOR}")
|
||||
elseif(ninja_host)
|
||||
set(generator "Ninja")
|
||||
elseif(NOT VCPKG_HOST_IS_WINDOWS)
|
||||
set(generator "Unix Makefiles")
|
||||
endif()
|
||||
|
||||
if(NOT generator)
|
||||
if(NOT VCPKG_CMAKE_SYSTEM_NAME)
|
||||
set(VCPKG_CMAKE_SYSTEM_NAME "Windows")
|
||||
endif()
|
||||
message(FATAL_ERROR "Unable to determine appropriate generator for: "
|
||||
"${VCPKG_CMAKE_SYSTEM_NAME}-${VCPKG_TARGET_ARCHITECTURE}-${VCPKG_PLATFORM_TOOLSET}")
|
||||
endif()
|
||||
|
||||
set(parallel_log_args "")
|
||||
set(log_args "")
|
||||
|
||||
if(generator STREQUAL "Ninja")
|
||||
vcpkg_find_acquire_program(NINJA)
|
||||
vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_MAKE_PROGRAM=${NINJA}")
|
||||
# If we use Ninja, it must be on PATH for CMake's ExternalProject,
|
||||
# cf. https://gitlab.kitware.com/cmake/cmake/-/issues/23355.
|
||||
get_filename_component(ninja_path "${NINJA}" DIRECTORY)
|
||||
vcpkg_add_to_path("${ninja_path}")
|
||||
set(parallel_log_args
|
||||
"../build.ninja" ALIAS "rel-ninja.log"
|
||||
"../../${TARGET_TRIPLET}-dbg/build.ninja" ALIAS "dbg-ninja.log"
|
||||
)
|
||||
set(log_args "build.ninja")
|
||||
endif()
|
||||
|
||||
set(build_dir_release "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
|
||||
set(build_dir_debug "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
|
||||
file(REMOVE_RECURSE
|
||||
"${build_dir_release}"
|
||||
"${build_dir_debug}")
|
||||
file(MAKE_DIRECTORY "${build_dir_release}")
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(MAKE_DIRECTORY "${build_dir_debug}")
|
||||
endif()
|
||||
|
||||
if(DEFINED VCPKG_CMAKE_SYSTEM_NAME)
|
||||
vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}")
|
||||
if(VCPKG_TARGET_IS_UWP AND NOT DEFINED VCPKG_CMAKE_SYSTEM_VERSION)
|
||||
set(VCPKG_CMAKE_SYSTEM_VERSION 10.0)
|
||||
elseif(VCPKG_TARGET_IS_ANDROID AND NOT DEFINED VCPKG_CMAKE_SYSTEM_VERSION)
|
||||
set(VCPKG_CMAKE_SYSTEM_VERSION 21)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION)
|
||||
vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}")
|
||||
endif()
|
||||
|
||||
if(DEFINED VCPKG_XBOX_CONSOLE_TARGET)
|
||||
vcpkg_list(APPEND arg_OPTIONS "-DXBOX_CONSOLE_TARGET=${VCPKG_XBOX_CONSOLE_TARGET}")
|
||||
endif()
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
vcpkg_list(APPEND arg_OPTIONS "-DBUILD_SHARED_LIBS=ON")
|
||||
elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
vcpkg_list(APPEND arg_OPTIONS "-DBUILD_SHARED_LIBS=OFF")
|
||||
else()
|
||||
message(FATAL_ERROR
|
||||
"Invalid setting for VCPKG_LIBRARY_LINKAGE: \"${VCPKG_LIBRARY_LINKAGE}\". "
|
||||
"It must be \"static\" or \"dynamic\"")
|
||||
endif()
|
||||
|
||||
z_vcpkg_cmake_configure_both_set_or_unset(VCPKG_CXX_FLAGS_DEBUG VCPKG_C_FLAGS_DEBUG)
|
||||
z_vcpkg_cmake_configure_both_set_or_unset(VCPKG_CXX_FLAGS_RELEASE VCPKG_C_FLAGS_RELEASE)
|
||||
z_vcpkg_cmake_configure_both_set_or_unset(VCPKG_CXX_FLAGS VCPKG_C_FLAGS)
|
||||
|
||||
set(VCPKG_SET_CHARSET_FLAG ON)
|
||||
if(arg_NO_CHARSET_FLAG)
|
||||
set(VCPKG_SET_CHARSET_FLAG OFF)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
|
||||
z_vcpkg_select_default_vcpkg_chainload_toolchain()
|
||||
endif()
|
||||
|
||||
list(JOIN VCPKG_TARGET_ARCHITECTURE "\;" target_architecture_string)
|
||||
vcpkg_list(APPEND arg_OPTIONS
|
||||
"-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}"
|
||||
"-DVCPKG_TARGET_TRIPLET=${TARGET_TRIPLET}"
|
||||
"-DVCPKG_SET_CHARSET_FLAG=${VCPKG_SET_CHARSET_FLAG}"
|
||||
"-DVCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET}"
|
||||
"-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON"
|
||||
"-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON"
|
||||
"-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON"
|
||||
"-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE"
|
||||
"-DCMAKE_VERBOSE_MAKEFILE=ON"
|
||||
"-DVCPKG_APPLOCAL_DEPS=OFF"
|
||||
"-DCMAKE_TOOLCHAIN_FILE=${SCRIPTS}/buildsystems/vcpkg.cmake"
|
||||
"-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON"
|
||||
"-DVCPKG_CXX_FLAGS=${VCPKG_CXX_FLAGS}"
|
||||
"-DVCPKG_CXX_FLAGS_RELEASE=${VCPKG_CXX_FLAGS_RELEASE}"
|
||||
"-DVCPKG_CXX_FLAGS_DEBUG=${VCPKG_CXX_FLAGS_DEBUG}"
|
||||
"-DVCPKG_C_FLAGS=${VCPKG_C_FLAGS}"
|
||||
"-DVCPKG_C_FLAGS_RELEASE=${VCPKG_C_FLAGS_RELEASE}"
|
||||
"-DVCPKG_C_FLAGS_DEBUG=${VCPKG_C_FLAGS_DEBUG}"
|
||||
"-DVCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE}"
|
||||
"-DVCPKG_LINKER_FLAGS=${VCPKG_LINKER_FLAGS}"
|
||||
"-DVCPKG_LINKER_FLAGS_RELEASE=${VCPKG_LINKER_FLAGS_RELEASE}"
|
||||
"-DVCPKG_LINKER_FLAGS_DEBUG=${VCPKG_LINKER_FLAGS_DEBUG}"
|
||||
"-DVCPKG_TARGET_ARCHITECTURE=${target_architecture_string}"
|
||||
"-DCMAKE_INSTALL_LIBDIR:STRING=lib"
|
||||
"-DCMAKE_INSTALL_BINDIR:STRING=bin"
|
||||
"-D_VCPKG_ROOT_DIR=${VCPKG_ROOT_DIR}"
|
||||
"-D_VCPKG_INSTALLED_DIR=${_VCPKG_INSTALLED_DIR}"
|
||||
"-DVCPKG_MANIFEST_INSTALL=OFF"
|
||||
)
|
||||
|
||||
# Sets configuration variables for macOS builds
|
||||
foreach(config_var IN ITEMS INSTALL_NAME_DIR OSX_DEPLOYMENT_TARGET OSX_SYSROOT OSX_ARCHITECTURES)
|
||||
if(DEFINED VCPKG_${config_var})
|
||||
vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_${config_var}=${VCPKG_${config_var}}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
vcpkg_list(PREPEND arg_OPTIONS "-DFETCHCONTENT_FULLY_DISCONNECTED=ON")
|
||||
|
||||
# Allow overrides / additional configuration variables from triplets
|
||||
if(DEFINED VCPKG_CMAKE_CONFIGURE_OPTIONS)
|
||||
vcpkg_list(APPEND arg_OPTIONS ${VCPKG_CMAKE_CONFIGURE_OPTIONS})
|
||||
endif()
|
||||
if(DEFINED VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE)
|
||||
vcpkg_list(APPEND arg_OPTIONS_RELEASE ${VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE})
|
||||
endif()
|
||||
if(DEFINED VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG)
|
||||
vcpkg_list(APPEND arg_OPTIONS_DEBUG ${VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG})
|
||||
endif()
|
||||
|
||||
vcpkg_list(SET rel_command
|
||||
"${CMAKE_COMMAND}" "${arg_SOURCE_PATH}"
|
||||
-G "${generator}"
|
||||
${architecture_options}
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}"
|
||||
${arg_OPTIONS} ${arg_OPTIONS_RELEASE})
|
||||
vcpkg_list(SET dbg_command
|
||||
"${CMAKE_COMMAND}" "${arg_SOURCE_PATH}"
|
||||
-G "${generator}"
|
||||
${architecture_options}
|
||||
"-DCMAKE_BUILD_TYPE=Debug"
|
||||
"-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug"
|
||||
${arg_OPTIONS} ${arg_OPTIONS_DEBUG})
|
||||
|
||||
if(NOT arg_DISABLE_PARALLEL_CONFIGURE)
|
||||
vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_DISABLE_SOURCE_CHANGES=ON")
|
||||
|
||||
vcpkg_find_acquire_program(NINJA)
|
||||
|
||||
#parallelize the configure step
|
||||
set(ninja_configure_contents
|
||||
"rule CreateProcess\n command = \$process\n\n"
|
||||
)
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "release")
|
||||
z_vcpkg_configure_cmake_build_cmakecache(ninja_configure_contents ".." "rel")
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "debug")
|
||||
z_vcpkg_configure_cmake_build_cmakecache(ninja_configure_contents "../../${TARGET_TRIPLET}-dbg" "dbg")
|
||||
endif()
|
||||
|
||||
file(MAKE_DIRECTORY "${build_dir_release}/vcpkg-parallel-configure")
|
||||
file(WRITE
|
||||
"${build_dir_release}/vcpkg-parallel-configure/build.ninja"
|
||||
"${ninja_configure_contents}")
|
||||
|
||||
message(STATUS "${configuring_message}")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND "${NINJA}" -v
|
||||
WORKING_DIRECTORY "${build_dir_release}/vcpkg-parallel-configure"
|
||||
LOGNAME "${arg_LOGFILE_BASE}"
|
||||
SAVE_LOG_FILES
|
||||
"../../${TARGET_TRIPLET}-dbg/CMakeCache.txt" ALIAS "dbg-CMakeCache.txt.log"
|
||||
"../CMakeCache.txt" ALIAS "rel-CMakeCache.txt.log"
|
||||
"../../${TARGET_TRIPLET}-dbg/CMakeFiles/CMakeConfigureLog.yaml" ALIAS "dbg-CMakeConfigureLog.yaml.log"
|
||||
"../CMakeFiles/CMakeConfigureLog.yaml" ALIAS "rel-CMakeConfigureLog.yaml.log"
|
||||
${parallel_log_args}
|
||||
)
|
||||
|
||||
vcpkg_list(APPEND config_logs
|
||||
"${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-out.log"
|
||||
"${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-err.log")
|
||||
else()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "debug")
|
||||
message(STATUS "${configuring_message}-dbg")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${dbg_command}
|
||||
WORKING_DIRECTORY "${build_dir_debug}"
|
||||
LOGNAME "${arg_LOGFILE_BASE}-dbg"
|
||||
SAVE_LOG_FILES
|
||||
"CMakeCache.txt"
|
||||
"CMakeFiles/CMakeConfigureLog.yaml"
|
||||
${log_args}
|
||||
)
|
||||
vcpkg_list(APPEND config_logs
|
||||
"${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-dbg-out.log"
|
||||
"${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-dbg-err.log")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "release")
|
||||
message(STATUS "${configuring_message}-rel")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${rel_command}
|
||||
WORKING_DIRECTORY "${build_dir_release}"
|
||||
LOGNAME "${arg_LOGFILE_BASE}-rel"
|
||||
SAVE_LOG_FILES
|
||||
"CMakeCache.txt"
|
||||
"CMakeFiles/CMakeConfigureLog.yaml"
|
||||
${log_args}
|
||||
)
|
||||
vcpkg_list(APPEND config_logs
|
||||
"${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-rel-out.log"
|
||||
"${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-rel-err.log")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(all_unused_variables)
|
||||
foreach(config_log IN LISTS config_logs)
|
||||
if(NOT EXISTS "${config_log}")
|
||||
continue()
|
||||
endif()
|
||||
file(READ "${config_log}" log_contents)
|
||||
debug_message("Reading configure log ${config_log}...")
|
||||
if(NOT log_contents MATCHES "Manually-specified variables were not used by the project:\n\n(( [^\n]*\n)*)")
|
||||
continue()
|
||||
endif()
|
||||
string(STRIP "${CMAKE_MATCH_1}" unused_variables) # remove leading ` ` and trailing `\n`
|
||||
string(REPLACE "\n " ";" unused_variables "${unused_variables}")
|
||||
debug_message("unused variables: ${unused_variables}")
|
||||
foreach(unused_variable IN LISTS unused_variables)
|
||||
if(unused_variable IN_LIST manually_specified_variables)
|
||||
debug_message("manually specified unused variable: ${unused_variable}")
|
||||
vcpkg_list(APPEND all_unused_variables "${unused_variable}")
|
||||
else()
|
||||
debug_message("unused variable (not manually specified): ${unused_variable}")
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
if(DEFINED all_unused_variables)
|
||||
vcpkg_list(REMOVE_DUPLICATES all_unused_variables)
|
||||
vcpkg_list(JOIN all_unused_variables "\n " all_unused_variables)
|
||||
message(WARNING "The following variables are not used in CMakeLists.txt:
|
||||
${all_unused_variables}
|
||||
Please recheck them and remove the unnecessary options from the `vcpkg_cmake_configure` call.
|
||||
If these options should still be passed for whatever reason, please use the `MAYBE_UNUSED_VARIABLES` argument.")
|
||||
endif()
|
||||
|
||||
if(NOT arg_Z_CMAKE_GET_VARS_USAGE)
|
||||
set(Z_VCPKG_CMAKE_GENERATOR "${generator}" CACHE INTERNAL "The generator which was used to configure CMake.")
|
||||
endif()
|
||||
endfunction()
|
||||
@@ -0,0 +1,21 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
function(vcpkg_cmake_install)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "arg" "DISABLE_PARALLEL;ADD_BIN_TO_PATH" "" "")
|
||||
if(DEFINED arg_UNPARSED_ARGUMENTS)
|
||||
message(FATAL_ERROR "vcpkg_cmake_install was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
|
||||
set(args)
|
||||
foreach(arg IN ITEMS DISABLE_PARALLEL ADD_BIN_TO_PATH)
|
||||
if(arg_${arg})
|
||||
list(APPEND args "${arg}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
vcpkg_cmake_build(
|
||||
${args}
|
||||
LOGFILE_BASE install
|
||||
TARGET install
|
||||
)
|
||||
endfunction()
|
||||
Reference in New Issue
Block a user