aboutsummaryrefslogtreecommitdiff
path: root/ports
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 /ports
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 'ports')
-rw-r--r--ports/gdal/0001-Fix-debug-crt-flags.patch20
-rw-r--r--ports/gdal/0002-Fix-build.patch38
-rw-r--r--ports/gdal/0002-Fix-static-build.patch27
-rw-r--r--ports/gdal/0003-Fix-static-build.patch22
-rw-r--r--ports/gdal/0003-Fix-std-fabs.patch10
-rw-r--r--ports/gdal/0004-Fix-std-fabs.patch12
-rw-r--r--ports/gdal/0005-Fix-cfitsio.patch13
-rw-r--r--ports/gdal/CONTROL5
-rw-r--r--ports/gdal/dependency_win.cmake120
-rw-r--r--ports/gdal/portfile.cmake404
-rw-r--r--ports/gdal/usage4
-rw-r--r--ports/gdal/vcpkg-cmake-wrapper.cmake8
-rw-r--r--ports/pdal/PDALConfig.patch14
-rw-r--r--ports/pdal/fix-dependency.patch33
-rw-r--r--ports/pdal/portfile.cmake1
15 files changed, 336 insertions, 395 deletions
diff --git a/ports/gdal/0001-Fix-debug-crt-flags.patch b/ports/gdal/0001-Fix-debug-crt-flags.patch
index 266fc4355..1580051f5 100644
--- a/ports/gdal/0001-Fix-debug-crt-flags.patch
+++ b/ports/gdal/0001-Fix-debug-crt-flags.patch
@@ -1,6 +1,10 @@
---- a/nmake.opt Fri Dec 14 22:34:20 2018
-+++ b/nmake.opt Wed Mar 27 11:00:00 2019
-@@ -133,7 +133,17 @@
+diff --git a/nmake.opt b/nmake.opt
+index 88e197c..308eddd 100644
+--- a/nmake.opt
++++ b/nmake.opt
+@@ -147,11 +147,21 @@ CXX_PDB_FLAGS=/Zi /Fd$(GDAL_PDB)
+ CXX_PDB_FLAGS=
+ !ENDIF
+# Flags to choose CRT variant to link against (e.g. static: /MT, /MTd, dynamic: /MD, /MDd)
+# Ensure MRSID_CONFIG in mrsid/nmake.opt is set appropriately as well
@@ -14,9 +18,11 @@
+
!IFNDEF OPTFLAGS
!IF "$(DEBUG)" == "0"
--OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP /MD /EHsc /Ox /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG
-+OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP $(CXX_CRT_FLAGS) /EHsc /Ox /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG
+-OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) /MD /EHsc /Ox /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG
++OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) $(CXX_CRT_FLAGS) /EHsc /Ox /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG
!ELSE
--OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP /MDd /EHsc /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG
-+OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP $(CXX_CRT_FLAGS) /EHsc /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG
+-OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) /MDd /EHsc /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG
++OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) $(CXX_CRT_FLAGS) /EHsc /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG
!ENDIF
+ !ENDIF # OPTFLAGS
+
diff --git a/ports/gdal/0002-Fix-build.patch b/ports/gdal/0002-Fix-build.patch
new file mode 100644
index 000000000..13fa32562
--- /dev/null
+++ b/ports/gdal/0002-Fix-build.patch
@@ -0,0 +1,38 @@
+diff --git a/makefile.vc b/makefile.vc
+index 9e0bd44..8559f79 100644
+--- a/makefile.vc
++++ b/makefile.vc
+@@ -84,7 +84,7 @@ staticlib: $(LIB_DEPENDS)
+ call <<clean_main_build_output.bat
+ $(CLEAN_MAIN_BUILD_OUTPUT_CMDS)
+ <<
+- lib /nologo /out:$(GDAL_LIB_NAME) $(LIBOBJ) $(EXTERNAL_LIBS)
++ lib /nologo /LTCG /out:$(GDAL_LIB_NAME) $(LIBOBJ) $(EXTERNAL_LIBS)
+
+ appslib-target:
+ cd apps
+@@ -204,9 +204,6 @@ dll: $(GDAL_DLL)
+
+ # build using cygwin
+ docs:
+-!IFDEF HTMLDIR
+- make PYTHONHOME= -C doc html
+-!ENDIF
+
+ bindings:
+ -for %d in ( $(BINDINGS) ) do \
+@@ -236,12 +233,8 @@ install: default docs
+ cd ..\apps
+ $(MAKE) /f makefile.vc install
+ cd ..
+- $(INSTALL) data\*.* $(DATADIR)
+- $(INSTALL) LICENSE.TXT $(DATADIR)
+-!IFDEF HTMLDIR
+- -mkdir $(HTMLDIR)
+- xcopy /S /Y doc\build\html $(HTMLDIR)
+-!ENDIF
++ $(INSTALL) data\*.* "$(DATADIR)"
++ $(INSTALL) LICENSE.TXT "$(DATADIR)"
+ !IFDEF INCLUDE_OGR_FRMTS
+ cd ogr\ogrsf_frmts
+ $(MAKE) /f makefile.vc plugins-install
diff --git a/ports/gdal/0002-Fix-static-build.patch b/ports/gdal/0002-Fix-static-build.patch
deleted file mode 100644
index d440ceff8..000000000
--- a/ports/gdal/0002-Fix-static-build.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/makefile.vc Fri Dec 14 22:34:20 2018
-+++ b/makefile.vc Wed Mar 27 11:00:00 2019
-@@ -60,3 +60,3 @@
-
--default: $(TARGET_LIB) $(PLUGIN_TARGET) apps_dir
-+default: $(TARGET_LIB) $(PLUGIN_TARGET)
-
-@@ -227,4 +227,2 @@
- $(MAKE) /f makefile.vc plugins-install
-- cd ..\apps
-- $(MAKE) /f makefile.vc install
- cd ..
-@@ -232,8 +230,2 @@
- $(INSTALL) LICENSE.TXT $(DATADIR)
--!IFDEF HTMLDIR
-- -mkdir $(HTMLDIR)
-- cd frmts
-- $(MAKE) /f makefile.vc html-install
-- cd ..
--!ENDIF
- !IFDEF INCLUDE_OGR_FRMTS
-@@ -241,5 +233,2 @@
- $(MAKE) /f makefile.vc plugins-install
--!IFDEF HTMLDIR
-- $(MAKE) /f makefile.vc html-install
--!ENDIF
- cd ..\..
diff --git a/ports/gdal/0003-Fix-static-build.patch b/ports/gdal/0003-Fix-static-build.patch
new file mode 100644
index 000000000..42f76d205
--- /dev/null
+++ b/ports/gdal/0003-Fix-static-build.patch
@@ -0,0 +1,22 @@
+diff --git a/makefile.vc b/makefile.vc
+index 8559f79..87f8fc9 100644
+--- a/makefile.vc
++++ b/makefile.vc
+@@ -61,7 +61,7 @@ TARGET_LIB = staticlib
+
+ DEFAULT_TARGETS =
+
+-default: $(TARGET_LIB) $(PLUGIN_TARGET) apps_dir
++default: $(TARGET_LIB) $(PLUGIN_TARGET)
+
+ # Batch commands to clean main build output are stored in a macro so they can be reused by different
+ # targets in an inline temporary batch file.
+@@ -230,8 +230,6 @@ install: default docs
+ if exist $(GDAL_DLL) $(INSTALL) $(GDAL_DLL) $(BINDIR)
+ cd frmts
+ $(MAKE) /f makefile.vc plugins-install
+- cd ..\apps
+- $(MAKE) /f makefile.vc install
+ cd ..
+ $(INSTALL) data\*.* "$(DATADIR)"
+ $(INSTALL) LICENSE.TXT "$(DATADIR)"
diff --git a/ports/gdal/0003-Fix-std-fabs.patch b/ports/gdal/0003-Fix-std-fabs.patch
deleted file mode 100644
index 4a6ba7cb3..000000000
--- a/ports/gdal/0003-Fix-std-fabs.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/ogrlinestring.cpp Fri Dec 14 22:34:20 2018
-+++ b/ogrlinestring.cpp Wed Mar 27 11:00:00 2019
-@@ -34,6 +34,7 @@
- #include <cstdlib>
- #include <algorithm>
- #include <limits>
-+#include <cmath>
-
- CPL_CVSID("$Id: ogrlinestring.cpp 61153d33d7f055c3442ff728adbfa8e09582464b 2019-03-10 14:23:51 +0100 Even Rouault $")
-
diff --git a/ports/gdal/0004-Fix-std-fabs.patch b/ports/gdal/0004-Fix-std-fabs.patch
new file mode 100644
index 000000000..08fb21ce7
--- /dev/null
+++ b/ports/gdal/0004-Fix-std-fabs.patch
@@ -0,0 +1,12 @@
+diff --git a/ogr/ogrlinestring.cpp b/ogr/ogrlinestring.cpp
+index 1e16d9f..cf7ced1 100644
+--- a/ogr/ogrlinestring.cpp
++++ b/ogr/ogrlinestring.cpp
+@@ -35,6 +35,7 @@
+ #include <cstdlib>
+ #include <algorithm>
+ #include <limits>
++#include <cmath>
+
+ CPL_CVSID("$Id: ogrlinestring.cpp ad9178b63f501e9840d86a3220c9e5100c6e3fa2 2019-10-21 13:19:06 +0200 Even Rouault $")
+
diff --git a/ports/gdal/0005-Fix-cfitsio.patch b/ports/gdal/0005-Fix-cfitsio.patch
new file mode 100644
index 000000000..5e3814a3d
--- /dev/null
+++ b/ports/gdal/0005-Fix-cfitsio.patch
@@ -0,0 +1,13 @@
+diff --git a/frmts/fits/fitsdataset.cpp b/frmts/fits/fitsdataset.cpp
+index 4f41a12..723d211 100644
+--- a/frmts/fits/fitsdataset.cpp
++++ b/frmts/fits/fitsdataset.cpp
+@@ -34,7 +34,7 @@
+ #include "ogr_spatialref.h"
+
+ #include <string.h>
+-#include <fitsio.h>
++#include <cfitsio/fitsio.h>
+
+ #include <string>
+ #include <cstring>
diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL
index 89bf2d2af..00177bc06 100644
--- a/ports/gdal/CONTROL
+++ b/ports/gdal/CONTROL
@@ -1,9 +1,8 @@
Source: gdal
-Version: 2.4.1
-Port-Version: 14
+Version: 3.1.3
Homepage: https://gdal.org/
Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data.
-Build-Depends: proj4, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma, netcdf-c, hdf5, zlib
+Build-Depends: proj4, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma, netcdf-c, hdf5, zlib, libgeotiff, cfitsio, json-c (!windows)
Supports: !arm
Feature: mysql-libmariadb
diff --git a/ports/gdal/dependency_win.cmake b/ports/gdal/dependency_win.cmake
new file mode 100644
index 000000000..0d9dfa533
--- /dev/null
+++ b/ports/gdal/dependency_win.cmake
@@ -0,0 +1,120 @@
+macro(find_dependency_win)
+ # Setup proj4 libraries + include path
+ set(PROJ_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include")
+ set(PROJ_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/proj.lib")
+ set(PROJ_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib")
+
+ # Setup libpng libraries + include path
+ set(PNG_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include")
+ set(PNG_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libpng16.lib" )
+ set(PNG_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.lib" )
+
+ # Setup zlib libraries + include path
+ set(ZLIB_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ set(ZLIB_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/zlib.lib" )
+ set(ZLIB_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib" )
+
+ # Setup geos libraries + include path
+ set(GEOS_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ set(GEOS_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" )
+ set(GEOS_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" )
+
+ # Setup expat libraries + include path
+ set(EXPAT_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ if (VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ set(EXPAT_SUFFIX "MT")
+ else()
+ set(EXPAT_SUFFIX "MD")
+ endif()
+ set(EXPAT_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libexpat${EXPAT_SUFFIX}.lib" )
+ set(EXPAT_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd${EXPAT_SUFFIX}.lib" )
+ else()
+ set(EXPAT_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libexpat.lib" )
+ set(EXPAT_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib" )
+ endif()
+
+ # Setup curl libraries + include path
+ set(CURL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib")
+ set(CURL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib" )
+ elseif(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl_imp.lib")
+ set(CURL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libcurl_imp.lib" )
+ endif()
+ if(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d.lib")
+ set(CURL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d.lib" )
+ elseif(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib")
+ set(CURL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib" )
+ endif()
+
+ # Setup sqlite3 libraries + include path
+ set(SQLITE_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ set(SQLITE_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib" )
+ set(SQLITE_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib" )
+
+ # Setup PostgreSQL libraries + include path
+ set(PGSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ set(PGSQL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libpq.lib" )
+ set(PGSQL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libpq.lib" )
+
+ set(TMP_REL "${CURRENT_INSTALLED_DIR}/lib/libpgcommon.lib" )
+ set(TMP_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libpgcommon.lib" )
+ set(PGSQL_LIBRARY_REL "${PGSQL_LIBRARY_REL} ${TMP_REL}")
+ set(PGSQL_LIBRARY_DBG "${PGSQL_LIBRARY_DBG} ${TMP_DBG}")
+
+ set(TMP_REL "${CURRENT_INSTALLED_DIR}/lib/libpgport.lib" )
+ set(TMP_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libpgport.lib" )
+ set(PGSQL_LIBRARY_REL "${PGSQL_LIBRARY_REL} ${TMP_REL}")
+ set(PGSQL_LIBRARY_DBG "${PGSQL_LIBRARY_DBG} ${TMP_DBG}")
+
+ # Setup OpenJPEG libraries + include path
+ set(OPENJPEG_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ set(OPENJPEG_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/openjp2.lib" )
+ set(OPENJPEG_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/openjp2.lib" )
+
+ # Setup WebP libraries + include path
+ set(WEBP_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ set(WEBP_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/webp.lib" )
+ set(WEBP_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/webpd.lib" )
+
+ # Setup libxml2 libraries + include path
+ set(XML2_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ set(XML2_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib" )
+ set(XML2_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib" )
+
+ # Setup liblzma libraries + include path
+ set(LZMA_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" )
+ set(LZMA_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/lzma.lib" )
+ set(LZMA_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib" )
+
+ # Setup openssl libraries path
+ set(OPENSSL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libcrypto.lib ${CURRENT_INSTALLED_DIR}/lib/libssl.lib" )
+ set(OPENSSL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.lib" )
+
+ # Setup libiconv libraries path
+ set(ICONV_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/iconv.lib ${CURRENT_INSTALLED_DIR}/lib/charset.lib" )
+ set(ICONV_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib ${CURRENT_INSTALLED_DIR}/debug/lib/charset.lib" )
+
+ if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES)
+ # Setup MySQL libraries + include path
+ if("mysql-libmysql" IN_LIST FEATURES)
+ set(MYSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/mysql" )
+ set(MYSQL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib" )
+ set(MYSQL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib" )
+ endif()
+
+ if("mysql-libmariadb" IN_LIST FEATURES)
+ set(MYSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/mysql" )
+ set(MYSQL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libmariadb.lib" )
+ set(MYSQL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libmariadb.lib" )
+ endif()
+ endif()
+
+ if ("libspatialite" IN_LIST FEATURES)
+ # Setup spatialite libraries + include path
+ set(SPATIALITE_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/spatialite" )
+ set(SPATIALITE_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/spatialite.lib" )
+ set(SPATIALITE_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib" )
+ set(HAVE_SPATIALITE "-DHAVE_SPATIALITE")
+ endif()
+endmacro() \ No newline at end of file
diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake
index 8c3650629..8675d8ced 100644
--- a/ports/gdal/portfile.cmake
+++ b/ports/gdal/portfile.cmake
@@ -1,186 +1,45 @@
-# NOTE: update the version and checksum for new GDAL release
-set(GDAL_VERSION_STR "2.4.1")
-set(GDAL_VERSION_PKG "241")
-set(GDAL_VERSION_LIB "204")
-set(GDAL_PACKAGE_SUM "edb9679ee6788334cf18971c803615ac9b1c72bc0c96af8fd4852cb7e8f58e9c4f3d9cb66406bc8654419612e1a7e9d0e62f361712215f4a50120f646bb0a738")
+include(${CMAKE_CURRENT_LIST_DIR}/dependency_win.cmake)
+#include(${CMAKE_CURRENT_LIST_DIR}/dependency_unix.cmake)
vcpkg_fail_port_install(ON_ARCH "arm")
+# NOTE: update the version and checksum for new GDAL release
+set(GDAL_VERSION_STR "3.1.3")
+set(GDAL_VERSION_PKG "313")
+set(GDAL_VERSION_LIB "204")
+set(GDAL_PACKAGE_SUM "a6dad37813eecb5e0c888ec940cf7f83c5096e69e4f33a3e5a5557542e7f656b9726e470e1b5d3d035de53df065510931a436a8c889f1366abd630c1cf5dfb49")
+
vcpkg_download_distfile(ARCHIVE
URLS "http://download.osgeo.org/gdal/${GDAL_VERSION_STR}/gdal${GDAL_VERSION_PKG}.zip"
FILENAME "gdal${GDAL_VERSION_PKG}.zip"
SHA512 ${GDAL_PACKAGE_SUM}
)
-# Extract source into architecture specific directory, because GDALs' nmake based build currently does not
-# support out of source builds.
-set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug/gdal-${GDAL_VERSION_STR})
-set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release/gdal-${GDAL_VERSION_STR})
-
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- list(APPEND BUILD_TYPES "release")
-endif()
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- list(APPEND BUILD_TYPES "debug")
+set(GDAL_PATCHES 0001-Fix-debug-crt-flags.patch 0002-Fix-build.patch)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ list(APPEND GDAL_PATCHES 0003-Fix-static-build.patch)
endif()
+list(APPEND GDAL_PATCHES 0004-Fix-std-fabs.patch 0005-Fix-cfitsio.patch)
-foreach(BUILD_TYPE IN LISTS BUILD_TYPES)
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE})
- vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE})
- if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR}
- PATCHES
- 0001-Fix-debug-crt-flags.patch
- 0002-Fix-static-build.patch
- )
- else()
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR}
- PATCHES
- 0001-Fix-debug-crt-flags.patch
- )
- endif()
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR}/ogr
- PATCHES
- 0003-Fix-std-fabs.patch
- )
-endforeach()
-
-if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
- # Check build system first
- find_program(NMAKE nmake REQUIRED)
-
- file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR)
- file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal" NATIVE_DATA_DIR)
- file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/gdal/html" NATIVE_HTML_DIR)
-
- # Setup proj4 libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PROJ_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/proj.lib" PROJ_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib" PROJ_LIBRARY_DBG)
-
- # Setup libpng libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PNG_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpng16.lib" PNG_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.lib" PNG_LIBRARY_DBG)
-
- # Setup zlib libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" ZLIB_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/zlib.lib" ZLIB_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib" ZLIB_LIBRARY_DBG)
-
- # Setup geos libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" GEOS_INCLUDE_DIR)
- if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib ${CURRENT_INSTALLED_DIR}/lib/geos.lib" GEOS_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/geosd.lib" GEOS_LIBRARY_DBG)
- else()
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" GEOS_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" GEOS_LIBRARY_DBG)
- endif()
-
- # Setup expat libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" EXPAT_INCLUDE_DIR)
- if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libexpatMD.lib" EXPAT_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatdMD.lib" EXPAT_LIBRARY_DBG)
- else()
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libexpat.lib" EXPAT_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib" EXPAT_LIBRARY_DBG)
- endif()
-
- # Setup curl libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" CURL_INCLUDE_DIR)
- if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib")
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib" CURL_LIBRARY_REL)
- elseif(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl_imp.lib")
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libcurl_imp.lib" CURL_LIBRARY_REL)
- endif()
- if(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d.lib")
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d.lib" CURL_LIBRARY_DBG)
- elseif(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib")
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib" CURL_LIBRARY_DBG)
- endif()
-
- # Setup sqlite3 libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" SQLITE_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib" SQLITE_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib" SQLITE_LIBRARY_DBG)
-
- # Setup PostgreSQL libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PGSQL_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpq.lib" PGSQL_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpq.lib" PGSQL_LIBRARY_DBG)
-
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpgcommon.lib" TMP_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpgcommon.lib" TMP_DBG)
- set(PGSQL_LIBRARY_REL "${PGSQL_LIBRARY_REL} ${TMP_REL}")
- set(PGSQL_LIBRARY_DBG "${PGSQL_LIBRARY_DBG} ${TMP_DBG}")
-
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpgport.lib" TMP_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libpgport.lib" TMP_DBG)
- set(PGSQL_LIBRARY_REL "${PGSQL_LIBRARY_REL} ${TMP_REL}")
- set(PGSQL_LIBRARY_DBG "${PGSQL_LIBRARY_DBG} ${TMP_DBG}")
-
- # Setup OpenJPEG libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" OPENJPEG_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/openjp2.lib" OPENJPEG_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/openjp2.lib" OPENJPEG_LIBRARY_DBG)
-
- # Setup WebP libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" WEBP_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/webp.lib" WEBP_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/webpd.lib" WEBP_LIBRARY_DBG)
-
- # Setup libxml2 libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" XML2_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib" XML2_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib" XML2_LIBRARY_DBG)
-
- # Setup liblzma libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" LZMA_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/lzma.lib" LZMA_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib" LZMA_LIBRARY_DBG)
+vcpkg_extract_source_archive_ex(
+ ARCHIVE ${ARCHIVE}
+ OUT_SOURCE_PATH SOURCE_PATH
+ PATCHES ${GDAL_PATCHES}
+)
- # Setup openssl libraries path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libcrypto.lib ${CURRENT_INSTALLED_DIR}/lib/libssl.lib" OPENSSL_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.lib" OPENSSL_LIBRARY_DBG)
+if (VCPKG_TARGET_IS_WINDOWS)
+ set(NATIVE_DATA_DIR "${CURRENT_PACKAGES_DIR}/share/gdal")
+ set(NATIVE_HTML_DIR "${CURRENT_PACKAGES_DIR}/share/gdal/html")
- # Setup libiconv libraries path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/iconv.lib ${CURRENT_INSTALLED_DIR}/lib/charset.lib" ICONV_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib ${CURRENT_INSTALLED_DIR}/debug/lib/charset.lib" ICONV_LIBRARY_DBG)
+ find_dependency_win()
if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES)
- # Setup MySQL libraries + include path
- if("mysql-libmysql" IN_LIST FEATURES)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib" MYSQL_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib" MYSQL_LIBRARY_DBG)
- endif()
-
- if("mysql-libmariadb" IN_LIST FEATURES)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmariadb.lib" MYSQL_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmariadb.lib" MYSQL_LIBRARY_DBG)
- endif()
-
list(APPEND NMAKE_OPTIONS MYSQL_INC_DIR=${MYSQL_INCLUDE_DIR})
list(APPEND NMAKE_OPTIONS_REL MYSQL_LIB=${MYSQL_LIBRARY_REL})
list(APPEND NMAKE_OPTIONS_DBG MYSQL_LIB=${MYSQL_LIBRARY_DBG})
endif()
- if ("libspatialite" IN_LIST FEATURES)
- # Setup spatialite libraries + include path
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/spatialite" SPATIALITE_INCLUDE_DIR)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/spatialite.lib" SPATIALITE_LIBRARY_REL)
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib" SPATIALITE_LIBRARY_DBG)
- set(HAVE_SPATIALITE "-DHAVE_SPATIALITE")
- endif()
-
list(APPEND NMAKE_OPTIONS
- GDAL_HOME=${NATIVE_PACKAGES_DIR}
DATADIR=${NATIVE_DATA_DIR}
HTMLDIR=${NATIVE_HTML_DIR}
GEOS_DIR=${GEOS_INCLUDE_DIR}
@@ -227,6 +86,7 @@ if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
list(APPEND NMAKE_OPTIONS_REL
${NMAKE_OPTIONS}
+ GDAL_HOME=${CURRENT_PACKAGES_DIR}
CXX_CRT_FLAGS=${LINKAGE_FLAGS}
PROJ_LIBRARY=${PROJ_LIBRARY_REL}
PNG_LIB=${PNG_LIBRARY_REL}
@@ -243,6 +103,7 @@ if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
list(APPEND NMAKE_OPTIONS_DBG
${NMAKE_OPTIONS}
+ GDAL_HOME=${CURRENT_PACKAGES_DIR}/debug
CXX_CRT_FLAGS="${LINKAGE_FLAGS}d"
PROJ_LIBRARY=${PROJ_LIBRARY_DBG}
PNG_LIB=${PNG_LIBRARY_DBG}
@@ -259,175 +120,94 @@ if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
)
# Begin build process
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- ################
- # Release build
- ################
- message(STATUS "Building ${TARGET_TRIPLET}-rel")
- vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f makefile.vc
- ${NMAKE_OPTIONS_REL}
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- LOGNAME nmake-build-${TARGET_TRIPLET}-release
- )
- message(STATUS "Building ${TARGET_TRIPLET}-rel done")
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- ################
- # Debug build
- ################
-
- message(STATUS "Building ${TARGET_TRIPLET}-dbg")
- vcpkg_execute_required_process(
- COMMAND ${NMAKE} /G -f makefile.vc
- ${NMAKE_OPTIONS_DBG}
- WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
- LOGNAME nmake-build-${TARGET_TRIPLET}-debug
- )
- message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
- endif()
-
- message(STATUS "Packaging ${TARGET_TRIPLET}")
+ vcpkg_install_nmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ TARGET devinstall
+ OPTIONS_RELEASE
+ "${NMAKE_OPTIONS_REL}"
+ OPTIONS_DEBUG
+ "${NMAKE_OPTIONS_DBG}"
+ )
if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/gdal/html)
endif()
- vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f makefile.vc
- ${NMAKE_OPTIONS_REL}
- install
- devinstall
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- LOGNAME nmake-install-${TARGET_TRIPLET}
- )
-
- if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(COPY ${SOURCE_PATH_RELEASE}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(COPY ${SOURCE_PATH_DEBUG}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib)
- endif()
-
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ list(APPEND GDAL_EXES
+ gdal_contour
+ gdal_grid
+ gdal_rasterize
+ gdal_translate
+ gdal_viewshed
+ gdaladdo
+ gdalbuildvrt
+ gdaldem
+ gdalenhance
+ gdalinfo
+ gdallocationinfo
+ gdalmanage
+ gdalmdiminfo
+ gdalmdimtranslate
+ gdalserver
+ gdalsrsinfo
+ gdaltindex
+ gdaltransform
+ gdalwarp
+ gnmanalyse
+ gnmmanage
+ nearblack
+ ogr2ogr
+ ogrinfo
+ ogrlineref
+ ogrtindex
+ testepsg
+ )
+ vcpkg_copy_tools(TOOL_NAMES ${GDAL_EXES} AUTO_CLEAN)
else()
-
- set(GDAL_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/gdal)
- file(MAKE_DIRECTORY ${GDAL_TOOL_PATH})
-
- file(GLOB GDAL_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*.exe)
- file(COPY ${GDAL_TOOLS} DESTINATION ${GDAL_TOOL_PATH})
- file(REMOVE_RECURSE ${GDAL_TOOLS})
-
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal.lib)
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/lib/gdal.lib)
- endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(COPY ${SOURCE_PATH_DEBUG}/gdal${GDAL_VERSION_LIB}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(COPY ${SOURCE_PATH_DEBUG}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib)
- endif()
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/share/gdal/html)
- # Copy over PDBs
vcpkg_copy_pdbs()
if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal204.pdb)
endif()
-elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") # Build in UNIX
- # Check build system first
- find_program(MAKE make)
- if (NOT MAKE)
- message(FATAL_ERROR "MAKE not found")
- endif()
-
- set(ENV{CFLAGS} "$ENV{CFLAGS} -Wno-error=implicit-function-declaration")
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- ################
- # Release build
- ################
- message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
- set(OUT_PATH_RELEASE ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-release)
- file(MAKE_DIRECTORY ${OUT_PATH_RELEASE})
- vcpkg_execute_required_process(
- COMMAND "${SOURCE_PATH_RELEASE}/configure" --prefix=${OUT_PATH_RELEASE}
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- LOGNAME config-${TARGET_TRIPLET}-rel
- )
-
- message(STATUS "Building ${TARGET_TRIPLET}-rel")
- vcpkg_execute_build_process(
- COMMAND make -j ${VCPKG_CONCURRENCY}
- NO_PARALLEL_COMMAND make
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- LOGNAME make-build-${TARGET_TRIPLET}-release
- )
-
- message(STATUS "Installing ${TARGET_TRIPLET}-rel")
- vcpkg_execute_required_process(
- COMMAND make install
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- LOGNAME make-install-${TARGET_TRIPLET}-release
- )
-
- file(REMOVE_RECURSE ${OUT_PATH_RELEASE}/lib/gdalplugins)
- file(COPY ${OUT_PATH_RELEASE}/lib/pkgconfig DESTINATION ${OUT_PATH_RELEASE}/share/gdal)
- file(REMOVE_RECURSE ${OUT_PATH_RELEASE}/lib/pkgconfig)
- file(COPY ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR})
- file(COPY ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR})
- file(COPY ${OUT_PATH_RELEASE}/share DESTINATION ${CURRENT_PACKAGES_DIR})
- message(STATUS "Installing ${TARGET_TRIPLET}-rel done")
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- ################
- # Debug build
- ################
- message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
- set(OUT_PATH_DEBUG ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-debug)
- file(MAKE_DIRECTORY ${OUT_PATH_DEBUG})
- vcpkg_execute_required_process(
- COMMAND "${SOURCE_PATH_DEBUG}/configure" --prefix=${OUT_PATH_DEBUG}
- WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
- LOGNAME config-${TARGET_TRIPLET}-debug
- )
-
- message(STATUS "Building ${TARGET_TRIPLET}-dbg")
- vcpkg_execute_build_process(
- COMMAND make -j ${VCPKG_CONCURRENCY}
- NO_PARALLEL_COMMAND make
- WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
- LOGNAME make-build-${TARGET_TRIPLET}-debug
+else()
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(BUILD_DYNAMIC yes)
+ set(BUILD_STATIC no)
+ else()
+ set(BUILD_DYNAMIC no)
+ set(BUILD_STATIC yes)
+ endif()
+
+ set(CONF_OPTS --enable-shared=${BUILD_DYNAMIC} --enable-static=${BUILD_STATIC})
+ list(APPEND CONF_OPTS --with-proj=${CURRENT_INSTALLED_DIR} --with-libjson-c=${CURRENT_INSTALLED_DIR})
+
+ vcpkg_configure_make(
+ SOURCE_PATH ${SOURCE_PATH}
+ AUTOCONFIG
+ COPY_SOURCE
+ OPTIONS ${CONF_OPTS}
+ OPTIONS_DEBUG
+ --enable-debug
+ --without-fit # Disable cfitsio temporary
)
-
- message(STATUS "Installing ${TARGET_TRIPLET}-dbg")
- vcpkg_execute_required_process(
- COMMAND make -j install
- WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
- LOGNAME make-install-${TARGET_TRIPLET}-debug
+
+ vcpkg_install_make(MAKEFILE GNUmakefile)
+
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/lib/gdalplugins
+ ${CURRENT_PACKAGES_DIR}/debug/lib/gdalplugins
+ ${CURRENT_PACKAGES_DIR}/debug/share
)
-
- file(REMOVE_RECURSE ${OUT_PATH_DEBUG}/lib/gdalplugins)
- file(REMOVE_RECURSE ${OUT_PATH_DEBUG}/lib/pkgconfig)
- file(COPY ${OUT_PATH_DEBUG}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
- message(STATUS "Installing ${TARGET_TRIPLET}-dbg done")
- endif()
-else() # Other build system
- message(FATAL_ERROR "Unsupport build system.")
endif()
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake @ONLY)
# Handle copyright
-configure_file(${SOURCE_PATH_RELEASE}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/gdal/usage b/ports/gdal/usage
index 2ee0072ac..63a67bc07 100644
--- a/ports/gdal/usage
+++ b/ports/gdal/usage
@@ -1,5 +1,5 @@
The package GDAL provides CMake targets:
find_package(GDAL REQUIRED)
- target_include_directories(main PRIVATE ${GDAL_INCLUDE_DIR})
- target_link_libraries(main PRIVATE ${GDAL_LIBRARY}) \ No newline at end of file
+ target_include_directories(main PRIVATE ${GDAL_INCLUDE_DIRS})
+ target_link_libraries(main PRIVATE ${GDAL_LIBRARIES})
diff --git a/ports/gdal/vcpkg-cmake-wrapper.cmake b/ports/gdal/vcpkg-cmake-wrapper.cmake
index 89550ddf8..30c3b5a66 100644
--- a/ports/gdal/vcpkg-cmake-wrapper.cmake
+++ b/ports/gdal/vcpkg-cmake-wrapper.cmake
@@ -3,10 +3,10 @@ include(SelectLibraryConfigurations)
find_path(GDAL_INCLUDE_DIR NAMES gdal.h HINTS ${CURRENT_INSTALLED_DIR})
-find_library(GDAL_LIBRARY_DEBUG NAMES gdal gdald NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED)
-find_library(GDAL_LIBRARY_RELEASE NAMES gdal NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED)
+find_library(GDAL_LIBRARY_DEBUG NAMES gdal_d gdal_i_d gdal NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED)
+find_library(GDAL_LIBRARY_RELEASE NAMES gdal_i gdal NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED)
select_library_configurations(GDAL)
-set(GDAL_INCLUDE_DIR ${GDAL_INCLUDE_DIR})
-set(GDAL_LIBRARY ${GDAL_LIBRARY})
+set(GDAL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR})
+set(GDAL_LIBRARIES ${GDAL_LIBRARY})
diff --git a/ports/pdal/PDALConfig.patch b/ports/pdal/PDALConfig.patch
deleted file mode 100644
index 25e9bfcbe..000000000
--- a/ports/pdal/PDALConfig.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/PDALConfig.cmake.in b/PDALConfig.cmake.in
-index a03ef142e..2d06a2937 100644
---- a/PDALConfig.cmake.in
-+++ b/PDALConfig.cmake.in
-@@ -15,6 +15,9 @@ foreach(_dir @PDAL_CONFIG_LIBRARY_DIRS@)
- list(APPEND PDAL_LIBRARY_DIRS ${_foo})
- endforeach(_dir)
-
-+include(CMakeFindDependencyMacro)
-+find_dependency(GeoTIFF)
-+find_dependency(CURL)
- include("${CMAKE_CURRENT_LIST_DIR}/PDALTargets.cmake")
-
- if (WIN32)
diff --git a/ports/pdal/fix-dependency.patch b/ports/pdal/fix-dependency.patch
index f7351c950..352eb1d43 100644
--- a/ports/pdal/fix-dependency.patch
+++ b/ports/pdal/fix-dependency.patch
@@ -1,20 +1,19 @@
diff --git a/cmake/geos.cmake b/cmake/geos.cmake
-index 90b79d9..4e144a6 100644
+index 90b79d9..5942ee5 100644
--- a/cmake/geos.cmake
+++ b/cmake/geos.cmake
-@@ -1,7 +1,11 @@
+@@ -1,8 +1,5 @@
#
# GEOS (required)
#
-find_package(GEOS QUIET 3.3)
-+include(SelectLibraryConfigurations)
-+find_library(GEOS_LIBRARY_RELEASE NAMES geos_c libgeos_c)
-+find_library(GEOS_LIBRARY_DEBUG NAMES geos_cd libgeos_cd)
-+select_library_configurations(GEOS)
-+find_path(GEOS_INCLUDE_DIR geos_c.h)
- set_package_properties(GEOS PROPERTIES TYPE REQUIRED
- PURPOSE "Provides general purpose geometry support")
-
+-set_package_properties(GEOS PROPERTIES TYPE REQUIRED
+- PURPOSE "Provides general purpose geometry support")
+-
+-include_directories("${GEOS_INCLUDE_DIR}")
++find_package(geos CONFIG REQUIRED)
++set(GEOS_LIBRARY GEOS::geos GEOS::geos_c GEOS::geos_cxx_flags)
+\ No newline at end of file
diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake
index 8178418..31b54d6 100644
--- a/cmake/modules/FindPostgreSQL.cmake
@@ -46,14 +45,18 @@ index 42cca1e..43b0ced 100644
add_subdirectory(vendor/kazhdan)
if (NOT PDAL_HAVE_JSONCPP)
diff --git a/PDALConfig.cmake.in b/PDALConfig.cmake.in
-index ea695cf..21b66a1 100644
+index a03ef14..9d073e6 100644
--- a/PDALConfig.cmake.in
+++ b/PDALConfig.cmake.in
-@@ -18,6 +18,7 @@ endforeach(_dir)
- include(CMakeFindDependencyMacro)
- find_dependency(GeoTIFF)
- find_dependency(CURL)
+@@ -15,6 +15,11 @@ foreach(_dir @PDAL_CONFIG_LIBRARY_DIRS@)
+ list(APPEND PDAL_LIBRARY_DIRS ${_foo})
+ endforeach(_dir)
+
++include(CMakeFindDependencyMacro)
++find_dependency(GeoTIFF)
++find_dependency(CURL)
+find_dependency(Boost COMPONENTS system filesystem)
++find_dependency(geos CONFIG)
include("${CMAKE_CURRENT_LIST_DIR}/PDALTargets.cmake")
if (WIN32)
diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake
index b6c503d16..8099bed6f 100644
--- a/ports/pdal/portfile.cmake
+++ b/ports/pdal/portfile.cmake
@@ -13,7 +13,6 @@ vcpkg_extract_source_archive_ex(
0001-win32_compiler_options.cmake.patch
0002-no-source-dir-writes.patch
0003-fix-copy-vendor.patch
- PDALConfig.patch
fix-dependency.patch
libpq.patch
fix-CPL_DLL.patch