early-access version 2853
This commit is contained in:
23
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/copyright
vendored
Executable file
23
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/copyright
vendored
Executable file
@@ -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.
|
||||
13
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/portfile.cmake
vendored
Executable file
13
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/portfile.cmake
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
if(NOT TARGET_TRIPLET STREQUAL HOST_TRIPLET)
|
||||
# make FATAL_ERROR in CI when issue #16773 fixed
|
||||
message(WARNING "vcpkg-pkgconfig-get-modules is a host-only port; please mark it as a host port in your dependencies.")
|
||||
endif()
|
||||
|
||||
file(COPY
|
||||
"${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/copyright"
|
||||
DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/x_vcpkg_pkgconfig_get_modules.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/x_vcpkg_pkgconfig_get_modules.cmake" @ONLY)
|
||||
|
||||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
||||
1
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/vcpkg-port-config.cmake
vendored
Executable file
1
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/vcpkg-port-config.cmake
vendored
Executable file
@@ -0,0 +1 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/x_vcpkg_pkgconfig_get_modules.cmake")
|
||||
14
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/vcpkg.json
vendored
Executable file
14
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/vcpkg.json
vendored
Executable file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "vcpkg-pkgconfig-get-modules",
|
||||
"version-date": "2022-02-10",
|
||||
"port-version": 1,
|
||||
"documentation": "https://vcpkg.io/en/docs/README.html",
|
||||
"license": "MIT",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "pkgconf",
|
||||
"host": true,
|
||||
"default-features": false
|
||||
}
|
||||
]
|
||||
}
|
||||
119
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake
vendored
Executable file
119
externals/vcpkg/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake
vendored
Executable file
@@ -0,0 +1,119 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
function(x_vcpkg_pkgconfig_get_modules)
|
||||
cmake_parse_arguments(PARSE_ARGV 0 "arg" "CFLAGS;LIBS;LIBRARIES;LIBRARIES_DIR;INCLUDE_DIRS" "PREFIX" "MODULES")
|
||||
if(NOT DEFINED arg_PREFIX OR arg_PREFIX STREQUAL "")
|
||||
message(FATAL_ERROR "x_vcpkg_pkgconfig_get_modules requires parameter PREFIX!")
|
||||
endif()
|
||||
if(NOT DEFINED arg_MODULES OR arg_MODULES STREQUAL "")
|
||||
message(FATAL_ERROR "x_vcpkg_pkgconfig_get_modules requires parameter MODULES!")
|
||||
endif()
|
||||
if(DEFINED arg_UNPARSED_ARGUMENTS)
|
||||
message(FATAL_ERROR "extra arguments passed to x_vcpkg_pkgconfig_get_modules: ${arg_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
|
||||
set(PKGCONFIG "${CURRENT_INSTALLED_DIR}/../@HOST_TRIPLET@/tools/pkgconf/pkgconf@VCPKG_HOST_EXECUTABLE_SUFFIX@")
|
||||
|
||||
set(backup_PKG_CONFIG_PATH "$ENV{PKG_CONFIG_PATH}")
|
||||
|
||||
set(var_suffixes)
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
z_vcpkg_set_pkgconfig_path("${CURRENT_INSTALLED_DIR}/lib/pkgconfig${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${backup_PKG_CONFIG_PATH}")
|
||||
if(arg_LIBS)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --libs ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_LIBS_RELEASE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes LIBS_RELEASE)
|
||||
endif()
|
||||
if(arg_LIBRARIES)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --libs-only-l ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_RELEASE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes LIBRARIES_RELEASE)
|
||||
endif()
|
||||
if(arg_LIBRARIES_DIRS)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --libs-only-L ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DIRS_RELEASE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes LIBRARIES_DIRS_RELEASE)
|
||||
endif()
|
||||
if(arg_INCLUDE_DIRS)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --cflags-only-I ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_INCLUDE_DIRS_RELEASE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes INCLUDE_DIRS_RELEASE)
|
||||
endif()
|
||||
if(arg_CFLAGS)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --cflags ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_CFLAGS_RELEASE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes CFLAGS_RELEASE)
|
||||
endif()
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
z_vcpkg_set_pkgconfig_path("${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" "${backup_PKG_CONFIG_PATH}")
|
||||
if(arg_LIBS)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --libs ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_LIBS_DEBUG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes LIBS_DEBUG)
|
||||
endif()
|
||||
if(arg_LIBRARIES)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --libs-only-l ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DEBUG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes LIBRARIES_DEBUG)
|
||||
endif()
|
||||
if(arg_LIBRARIES_DIRS)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --libs-only-L ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DIRS_DEBUG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes LIBRARIES_DIRS_DEBUG)
|
||||
endif()
|
||||
if(arg_INCLUDE_DIRS)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --cflags-only-I ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_INCLUDE_DIRS_DEBUG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes INCLUDE_DIRS_DEBUG)
|
||||
endif()
|
||||
if(arg_CFLAGS)
|
||||
execute_process(
|
||||
COMMAND "${PKGCONFIG}" --cflags ${arg_MODULES}
|
||||
OUTPUT_VARIABLE ${arg_PREFIX}_CFLAGS_DEBUG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
list(APPEND var_suffixes CFLAGS_DEBUG)
|
||||
endif()
|
||||
endif()
|
||||
set(ENV{PKG_CONFIG_PATH} "${backup_PKG_CONFIG_PATH}")
|
||||
|
||||
foreach(_var IN LISTS var_suffixes)
|
||||
set("${arg_PREFIX}_${_var}" "${${arg_PREFIX}_${_var}}" PARENT_SCOPE)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
function(z_vcpkg_set_pkgconfig_path _path _backup)
|
||||
if(NOT _backup STREQUAL "")
|
||||
set(ENV{PKG_CONFIG_PATH} "${_path}${VCPKG_HOST_PATH_SEPARATOR}${_backup}")
|
||||
else()
|
||||
set(ENV{PKG_CONFIG_PATH} "${_path}")
|
||||
endif()
|
||||
endfunction()
|
||||
Reference in New Issue
Block a user