diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/cmake/vcpkg_configure_meson.cmake | 50 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_fixup_pkgconfig.cmake | 5 |
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() |
