diff options
| author | Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> | 2020-11-20 10:29:25 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-20 10:29:25 -0800 |
| commit | fdfe770571b3711bbc1c708e0ea95766b0bc8e51 (patch) | |
| tree | 4b70a928c78090278196f36694803433d8e664c5 /ports | |
| parent | 46068e8a37b41a7a0ba4f485a90d88d3a1071f33 (diff) | |
| download | vcpkg-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.patch | 20 | ||||
| -rw-r--r-- | ports/gdal/0002-Fix-build.patch | 38 | ||||
| -rw-r--r-- | ports/gdal/0002-Fix-static-build.patch | 27 | ||||
| -rw-r--r-- | ports/gdal/0003-Fix-static-build.patch | 22 | ||||
| -rw-r--r-- | ports/gdal/0003-Fix-std-fabs.patch | 10 | ||||
| -rw-r--r-- | ports/gdal/0004-Fix-std-fabs.patch | 12 | ||||
| -rw-r--r-- | ports/gdal/0005-Fix-cfitsio.patch | 13 | ||||
| -rw-r--r-- | ports/gdal/CONTROL | 5 | ||||
| -rw-r--r-- | ports/gdal/dependency_win.cmake | 120 | ||||
| -rw-r--r-- | ports/gdal/portfile.cmake | 404 | ||||
| -rw-r--r-- | ports/gdal/usage | 4 | ||||
| -rw-r--r-- | ports/gdal/vcpkg-cmake-wrapper.cmake | 8 | ||||
| -rw-r--r-- | ports/pdal/PDALConfig.patch | 14 | ||||
| -rw-r--r-- | ports/pdal/fix-dependency.patch | 33 | ||||
| -rw-r--r-- | ports/pdal/portfile.cmake | 1 |
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 |
