aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>2020-11-20 10:29:25 -0800
committerGitHub <noreply@github.com>2020-11-20 10:29:25 -0800
commitfdfe770571b3711bbc1c708e0ea95766b0bc8e51 (patch)
tree4b70a928c78090278196f36694803433d8e664c5 /scripts
parent46068e8a37b41a7a0ba4f485a90d88d3a1071f33 (diff)
downloadvcpkg-fdfe770571b3711bbc1c708e0ea95766b0bc8e51.tar.gz
vcpkg-fdfe770571b3711bbc1c708e0ea95766b0bc8e51.zip
[gdal] Update to 3.1.3 (#13449)
* [vcpkg_*_nmake] Add option INSTALL_COMMAND * [gdal] Update to 3.1.3 and switch to vcpkg_*_nmake on Windows * [vcpkg_build_make] Add option MAKEFILE * fix install on windows, fix linux build * fix options position * [gdal] Fix linux build * [gdal] Fix expat library name * [gdal] Fix geos library name * [gdal] Fix cmake wrapper * [pdal] Fix dependency geos * [pdal] Fix PDALConfig.cmake * [gdal] Fix dependency cfitsio on *inx * disable cfitsio temporary * [gdal] Correct cmake wrapper and usage * [gdal] Fix tools on windows-static * Revert a9ac823007975485aacc7e1f3eb4053e295376e1 * Apply suggestions * [vcpkg_build_nmake] Fix install command * [vcpkg_build_nmake] Fix install command * regenerate docs * [gdal] Update dependency iconv and charset library names * [gdal] add json-c as a dependency on non-windows Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com> Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/execute_process.cmake4
-rw-r--r--scripts/cmake/vcpkg_build_make.cmake22
-rw-r--r--scripts/cmake/vcpkg_build_nmake.cmake19
-rw-r--r--scripts/cmake/vcpkg_install_nmake.cmake10
4 files changed, 39 insertions, 16 deletions
diff --git a/scripts/cmake/execute_process.cmake b/scripts/cmake/execute_process.cmake
index 97af4eea1..76a3d9a8b 100644
--- a/scripts/cmake/execute_process.cmake
+++ b/scripts/cmake/execute_process.cmake
@@ -3,7 +3,7 @@
## Intercepts all calls to execute_process() inside portfiles and fails when Download Mode
## is enabled.
##
-## In order to execute a process in Download Mode call `_execute_process()` instead.
+## In order to execute a process in Download Mode call `vcpkg_execute_in_download_mode()` instead.
##
if (NOT DEFINED OVERRIDEN_EXECUTE_PROCESS)
set(OVERRIDEN_EXECUTE_PROCESS ON)
@@ -17,4 +17,4 @@ if (NOT DEFINED OVERRIDEN_EXECUTE_PROCESS)
execute_process(${ARGV})
endmacro()
endif()
-endif() \ No newline at end of file
+endif()
diff --git a/scripts/cmake/vcpkg_build_make.cmake b/scripts/cmake/vcpkg_build_make.cmake
index a6adebc43..6deded647 100644
--- a/scripts/cmake/vcpkg_build_make.cmake
+++ b/scripts/cmake/vcpkg_build_make.cmake
@@ -7,6 +7,7 @@
## vcpkg_build_make([BUILD_TARGET <target>]
## [ADD_BIN_TO_PATH]
## [ENABLE_INSTALL])
+## [MAKEFILE <makefileName>]
## [LOGFILE_ROOT <logfileroot>])
## ```
##
@@ -20,6 +21,9 @@
## ### ENABLE_INSTALL
## IF the port supports the install target use vcpkg_install_make() instead of vcpkg_build_make()
##
+## ### MAKEFILE
+## Specifies the Makefile as a relative path from the root of the sources passed to `vcpkg_configure_make()`
+##
## ### BUILD_TARGET
## The target passed to the make build command (`./make <target>`). If not specified, the 'all' target will
## be passed.
@@ -49,7 +53,7 @@ function(vcpkg_build_make)
include("${_VCPKG_CMAKE_VARS_FILE}")
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
- cmake_parse_arguments(PARSE_ARGV 0 _bc "ADD_BIN_TO_PATH;ENABLE_INSTALL;DISABLE_PARALLEL" "LOGFILE_ROOT;BUILD_TARGET;SUBPATH" "")
+ cmake_parse_arguments(PARSE_ARGV 0 _bc "ADD_BIN_TO_PATH;ENABLE_INSTALL;DISABLE_PARALLEL" "LOGFILE_ROOT;BUILD_TARGET;SUBPATH;MAKEFILE" "")
if(NOT _bc_LOGFILE_ROOT)
set(_bc_LOGFILE_ROOT "build")
@@ -59,6 +63,10 @@ function(vcpkg_build_make)
set(_bc_BUILD_TARGET "all")
endif()
+ if (NOT _bc_MAKEFILE)
+ set(_bc_MAKEFILE Makefile)
+ endif()
+
if(WIN32)
set(_VCPKG_PREFIX ${CURRENT_PACKAGES_DIR})
set(_VCPKG_INSTALLED ${CURRENT_INSTALLED_DIR})
@@ -76,22 +84,22 @@ function(vcpkg_build_make)
vcpkg_acquire_msys(MSYS_ROOT)
find_program(MAKE make REQUIRED)
set(MAKE_COMMAND "${MAKE}")
- set(MAKE_OPTS ${_bc_MAKE_OPTIONS} -j ${VCPKG_CONCURRENCY} --trace -f Makefile ${_bc_BUILD_TARGET})
- set(NO_PARALLEL_MAKE_OPTS ${_bc_MAKE_OPTIONS} -j 1 --trace -f Makefile ${_bc_BUILD_TARGET})
+ set(MAKE_OPTS ${_bc_MAKE_OPTIONS} -j ${VCPKG_CONCURRENCY} --trace -f ${_bc_MAKEFILE} ${_bc_BUILD_TARGET})
+ set(NO_PARALLEL_MAKE_OPTS ${_bc_MAKE_OPTIONS} -j 1 --trace -f ${_bc_MAKEFILE} ${_bc_BUILD_TARGET})
string(REPLACE " " "\\\ " _VCPKG_PACKAGE_PREFIX ${CURRENT_PACKAGES_DIR})
# Don't know why '/cygdrive' is suddenly a requirement here. (at least for x264)
string(REGEX REPLACE "([a-zA-Z]):/" "/cygdrive/\\1/" _VCPKG_PACKAGE_PREFIX "${_VCPKG_PACKAGE_PREFIX}")
- set(INSTALL_OPTS -j ${VCPKG_CONCURRENCY} --trace -f Makefile install DESTDIR=${_VCPKG_PACKAGE_PREFIX})
+ set(INSTALL_OPTS -j ${VCPKG_CONCURRENCY} --trace -f ${_bc_MAKEFILE} install DESTDIR=${_VCPKG_PACKAGE_PREFIX})
#TODO: optimize for install-data (release) and install-exec (release/debug)
else()
# Compiler requriements
find_program(MAKE make REQUIRED)
set(MAKE_COMMAND "${MAKE}")
# Set make command and install command
- set(MAKE_OPTS ${_bc_MAKE_OPTIONS} V=1 -j ${VCPKG_CONCURRENCY} -f Makefile ${_bc_BUILD_TARGET})
- set(NO_PARALLEL_MAKE_OPTS ${_bc_MAKE_OPTIONS} V=1 -j 1 -f Makefile ${_bc_BUILD_TARGET})
- set(INSTALL_OPTS -j ${VCPKG_CONCURRENCY} -f Makefile install DESTDIR=${CURRENT_PACKAGES_DIR})
+ set(MAKE_OPTS ${_bc_MAKE_OPTIONS} V=1 -j ${VCPKG_CONCURRENCY} -f ${_bc_MAKEFILE} ${_bc_BUILD_TARGET})
+ set(NO_PARALLEL_MAKE_OPTS ${_bc_MAKE_OPTIONS} V=1 -j 1 -f ${_bc_MAKEFILE} ${_bc_BUILD_TARGET})
+ set(INSTALL_OPTS -j ${VCPKG_CONCURRENCY} -f ${_bc_MAKEFILE} install DESTDIR=${CURRENT_PACKAGES_DIR})
endif()
# Since includes are buildtype independent those are setup by vcpkg_configure_make
diff --git a/scripts/cmake/vcpkg_build_nmake.cmake b/scripts/cmake/vcpkg_build_nmake.cmake
index 371dea0ee..7f81ca293 100644
--- a/scripts/cmake/vcpkg_build_nmake.cmake
+++ b/scripts/cmake/vcpkg_build_nmake.cmake
@@ -7,6 +7,7 @@
## vcpkg_build_nmake(
## SOURCE_PATH <${SOURCE_PATH}>
## [NO_DEBUG]
+## [TARGET <all>]
## [PROJECT_SUBPATH <${SUBPATH}>]
## [PROJECT_NAME <${MAKEFILE_NAME}>]
## [PRERUN_SHELL <${SHELL_PATH}>]
@@ -75,7 +76,7 @@ function(vcpkg_build_nmake)
cmake_parse_arguments(PARSE_ARGV 0 _bn
"ADD_BIN_TO_PATH;ENABLE_INSTALL;NO_DEBUG"
"SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME;LOGFILE_ROOT"
- "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;PRERUN_SHELL;PRERUN_SHELL_DEBUG;PRERUN_SHELL_RELEASE"
+ "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;PRERUN_SHELL;PRERUN_SHELL_DEBUG;PRERUN_SHELL_RELEASE;TARGET"
)
if (NOT CMAKE_HOST_WIN32)
@@ -98,7 +99,6 @@ function(vcpkg_build_nmake)
set(MAKE )
set(MAKE_OPTS_BASE )
- set(INSTALL_OPTS_BASE )
find_program(NMAKE nmake REQUIRED)
get_filename_component(NMAKE_EXE_PATH ${NMAKE} DIRECTORY)
@@ -112,8 +112,15 @@ function(vcpkg_build_nmake)
set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}")
# Set make command and install command
set(MAKE ${NMAKE} /NOLOGO /G /U)
- set(MAKE_OPTS_BASE -f ${MAKEFILE_NAME} all)
- set(INSTALL_OPTS_BASE install)
+ set(MAKE_OPTS_BASE -f ${MAKEFILE_NAME})
+ if (_bn_ENABLE_INSTALL)
+ set(INSTALL_COMMAND install)
+ endif()
+ if (_bn_TARGET)
+ set(MAKE_OPTS_BASE ${MAKE_OPTS_BASE} ${_bn_TARGET} ${INSTALL_COMMAND})
+ else()
+ set(MAKE_OPTS_BASE ${MAKE_OPTS_BASE} all ${INSTALL_COMMAND})
+ endif()
# Add subpath to work directory
if (_bn_PROJECT_SUBPATH)
set(_bn_PROJECT_SUBPATH /${_bn_PROJECT_SUBPATH})
@@ -134,7 +141,7 @@ function(vcpkg_build_nmake)
# Add install command and arguments
set(MAKE_OPTS ${MAKE_OPTS_BASE})
if (_bn_ENABLE_INSTALL)
- set(INSTALL_OPTS ${INSTALL_OPTS_BASE} INSTALLDIR=${CURRENT_PACKAGES_DIR}/debug)
+ set(INSTALL_OPTS INSTALLDIR=${CURRENT_PACKAGES_DIR}/debug)
set(MAKE_OPTS ${MAKE_OPTS} ${INSTALL_OPTS})
endif()
set(MAKE_OPTS ${MAKE_OPTS} ${_bn_OPTIONS} ${_bn_OPTIONS_DEBUG})
@@ -154,7 +161,7 @@ function(vcpkg_build_nmake)
# Add install command and arguments
set(MAKE_OPTS ${MAKE_OPTS_BASE})
if (_bn_ENABLE_INSTALL)
- set(INSTALL_OPTS ${INSTALL_OPTS_BASE} INSTALLDIR=${CURRENT_PACKAGES_DIR})
+ set(INSTALL_OPTS INSTALLDIR=${CURRENT_PACKAGES_DIR})
set(MAKE_OPTS ${MAKE_OPTS} ${INSTALL_OPTS})
endif()
set(MAKE_OPTS ${MAKE_OPTS} ${_bn_OPTIONS} ${_bn_OPTIONS_RELEASE})
diff --git a/scripts/cmake/vcpkg_install_nmake.cmake b/scripts/cmake/vcpkg_install_nmake.cmake
index c4d600cc6..05efce2e2 100644
--- a/scripts/cmake/vcpkg_install_nmake.cmake
+++ b/scripts/cmake/vcpkg_install_nmake.cmake
@@ -7,6 +7,7 @@
## vcpkg_install_nmake(
## SOURCE_PATH <${SOURCE_PATH}>
## [NO_DEBUG]
+## [TARGET <all>]
## PROJECT_SUBPATH <${SUBPATH}>
## PROJECT_NAME <${MAKEFILE_NAME}>
## [PRERUN_SHELL <${SHELL_PATH}>]
@@ -66,7 +67,7 @@ function(vcpkg_install_nmake)
cmake_parse_arguments(PARSE_ARGV 0 _in
"NO_DEBUG"
"SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME"
- "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;PRERUN_SHELL;PRERUN_SHELL_DEBUG;PRERUN_SHELL_RELEASE"
+ "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;PRERUN_SHELL;PRERUN_SHELL_DEBUG;PRERUN_SHELL_RELEASE;TARGET"
)
if (NOT CMAKE_HOST_WIN32)
@@ -77,8 +78,15 @@ function(vcpkg_install_nmake)
set(NO_DEBUG NO_DEBUG)
endif()
+ if (NOT _in_TARGET)
+ set(INSTALL_TARGET "all")
+ else()
+ set(INSTALL_TARGET "${_in_TARGET}")
+ endif()
+
vcpkg_build_nmake(LOGFILE_ROOT ENABLE_INSTALL
${NO_DEBUG}
+ TARGET "${INSTALL_TARGET}"
SOURCE_PATH ${_in_SOURCE_PATH} PROJECT_SUBPATH ${_in_PROJECT_SUBPATH} PROJECT_NAME ${_in_PROJECT_NAME}
PRERUN_SHELL ${_in_PRERUN_SHELL} PRERUN_SHELL_DEBUG ${_in_PRERUN_SHELL_DEBUG} PRERUN_SHELL_RELEASE ${_in_PRERUN_SHELL_RELEASE}
OPTIONS ${_in_OPTIONS} OPTIONS_RELEASE ${_in_OPTIONS_RELEASE} OPTIONS_DEBUG ${_in_OPTIONS_DEBUG}