aboutsummaryrefslogtreecommitdiff
path: root/scripts/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/cmake')
-rw-r--r--scripts/cmake/vcpkg_configure_meson.cmake50
-rw-r--r--scripts/cmake/vcpkg_fixup_pkgconfig.cmake5
2 files changed, 32 insertions, 23 deletions
diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake
index ecbefab97..943631757 100644
--- a/scripts/cmake/vcpkg_configure_meson.cmake
+++ b/scripts/cmake/vcpkg_configure_meson.cmake
@@ -7,6 +7,7 @@ Configure Meson for Debug and Release builds of a project.
```cmake
vcpkg_configure_meson(
SOURCE_PATH <${SOURCE_PATH}>
+ [NO_PKG_CONFIG]
[OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
[OPTIONS_RELEASE <-DOPTIMIZE=1>...]
[OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
@@ -27,6 +28,9 @@ Additional options passed to Meson during the Release configuration. These are i
### OPTIONS_DEBUG
Additional options passed to Meson during the Debug configuration. These are in addition to `OPTIONS`.
+### NO_PKG_CONFIG
+Disable pkg-config setup
+
## Notes
This command supplies many common arguments to Meson. To see the full list, examine the source.
@@ -368,7 +372,7 @@ endfunction()
function(vcpkg_configure_meson)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
- cmake_parse_arguments(PARSE_ARGV 0 _vcm "" "SOURCE_PATH" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES")
+ cmake_parse_arguments(PARSE_ARGV 0 _vcm "NO_PKG_CONFIG" "SOURCE_PATH" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES")
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
@@ -448,12 +452,14 @@ function(vcpkg_configure_meson)
list(APPEND _vcm_OPTIONS_DEBUG "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}']")
list(APPEND _vcm_OPTIONS_RELEASE "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/debug']")
endif()
-
- vcpkg_find_acquire_program(PKGCONFIG)
- get_filename_component(PKGCONFIG_PATH ${PKGCONFIG} DIRECTORY)
- vcpkg_add_to_path("${PKGCONFIG_PATH}")
- set(PKGCONFIG_SHARE_DIR "${CURRENT_INSTALLED_DIR}/share/pkgconfig/")
-
+
+ if(NOT _vcm_NO_PKG_CONFIG)
+ vcpkg_find_acquire_program(PKGCONFIG)
+ get_filename_component(PKGCONFIG_PATH ${PKGCONFIG} DIRECTORY)
+ vcpkg_add_to_path("${PKGCONFIG_PATH}")
+ set(PKGCONFIG_SHARE_DIR "${CURRENT_INSTALLED_DIR}/share/pkgconfig/")
+ endif()
+
set(buildtypes)
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
set(BUILDNAME DEBUG)
@@ -492,13 +498,15 @@ function(vcpkg_configure_meson)
message(STATUS "Configuring ${TARGET_TRIPLET}-${SUFFIX_${buildtype}}")
file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SUFFIX_${buildtype}}")
#setting up PKGCONFIG
- set(ENV{PKG_CONFIG} "${PKGCONFIG}") # Set via native file?
- set(PKGCONFIG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}/${PATH_SUFFIX_${buildtype}}lib/pkgconfig/")
- if(DEFINED ENV{PKG_CONFIG_PATH})
- set(BACKUP_ENV_PKG_CONFIG_PATH_RELEASE $ENV{PKG_CONFIG_PATH})
- set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_SHARE_DIR}${VCPKG_HOST_PATH_SEPARATOR}$ENV{PKG_CONFIG_PATH}")
- else()
- set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_SHARE_DIR}")
+ if(NOT _vcm_NO_PKG_CONFIG)
+ set(ENV{PKG_CONFIG} "${PKGCONFIG}") # Set via native file?
+ set(PKGCONFIG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}/${PATH_SUFFIX_${buildtype}}lib/pkgconfig/")
+ if(DEFINED ENV{PKG_CONFIG_PATH})
+ set(BACKUP_ENV_PKG_CONFIG_PATH_RELEASE $ENV{PKG_CONFIG_PATH})
+ set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_SHARE_DIR}${VCPKG_HOST_PATH_SEPARATOR}$ENV{PKG_CONFIG_PATH}")
+ else()
+ set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_SHARE_DIR}")
+ endif()
endif()
vcpkg_execute_required_process(
@@ -518,12 +526,14 @@ function(vcpkg_configure_meson)
endif()
message(STATUS "Configuring ${TARGET_TRIPLET}-${SUFFIX_${buildtype}} done")
- #Restore PKG_CONFIG_PATH
- if(BACKUP_ENV_PKG_CONFIG_PATH_${buildtype})
- set(ENV{PKG_CONFIG_PATH} "${BACKUP_ENV_PKG_CONFIG_PATH_${buildtype}}")
- unset(BACKUP_ENV_PKG_CONFIG_PATH_${buildtype})
- else()
- unset(ENV{PKG_CONFIG_PATH})
+ if(NOT _vcm_NO_PKG_CONFIG)
+ #Restore PKG_CONFIG_PATH
+ if(BACKUP_ENV_PKG_CONFIG_PATH_${buildtype})
+ set(ENV{PKG_CONFIG_PATH} "${BACKUP_ENV_PKG_CONFIG_PATH_${buildtype}}")
+ unset(BACKUP_ENV_PKG_CONFIG_PATH_${buildtype})
+ else()
+ unset(ENV{PKG_CONFIG_PATH})
+ endif()
endif()
endforeach()
diff --git a/scripts/cmake/vcpkg_fixup_pkgconfig.cmake b/scripts/cmake/vcpkg_fixup_pkgconfig.cmake
index 7557b5b1b..afa7e5548 100644
--- a/scripts/cmake/vcpkg_fixup_pkgconfig.cmake
+++ b/scripts/cmake/vcpkg_fixup_pkgconfig.cmake
@@ -113,9 +113,6 @@ function(vcpkg_fixup_pkgconfig)
endif()
endif()
- vcpkg_find_acquire_program(PKGCONFIG)
- debug_message("Using pkg-config from: ${PKGCONFIG}")
-
#Absolute Unix like paths
string(REGEX REPLACE "([a-zA-Z]):/" "/\\1/" _VCPKG_PACKAGES_DIR "${CURRENT_PACKAGES_DIR}")
string(REGEX REPLACE "([a-zA-Z]):/" "/\\1/" _VCPKG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}")
@@ -186,6 +183,8 @@ function(vcpkg_fixup_pkgconfig)
endforeach()
if(NOT _vfpkg_SKIP_CHECK) # The check can only run after all files have been corrected!
+ vcpkg_find_acquire_program(PKGCONFIG)
+ debug_message("Using pkg-config from: ${PKGCONFIG}")
foreach(_file ${_vfpkg_${CONFIG}_FILES})
vcpkg_fixup_pkgconfig_check_files("${PKGCONFIG}" "${_file}" "${CONFIG}")
endforeach()