diff options
| author | hlysunnaram <hlysunnaram@users.noreply.github.com> | 2018-10-13 00:12:15 +0200 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-10-12 15:12:15 -0700 |
| commit | 38c741f390e151ba44cac9726ffca95194440bcf (patch) | |
| tree | 41def23553ae8d6142d53cd04958be908112b62d | |
| parent | 7a3cc8db7f63236104e9742fc2c27ee1d882b0c6 (diff) | |
| download | vcpkg-38c741f390e151ba44cac9726ffca95194440bcf.tar.gz vcpkg-38c741f390e151ba44cac9726ffca95194440bcf.zip | |
[gdal] update port to 2.3.2 and mysql support as port feature (#4413)
* [gdal] update port from 2.3.0 to 2.3.2
* [libmariadb] fix build failure when VCPKG_BUILD_TYPE is set
* [gdal] remove libmysql dependency from port core to allow x86 build
* create new port features: mysql-libmysql and mysql-libmariadb
* add mysql-libmysql as default feature: to build on x86, install gdal[core] or gdal[core,mysql-libmariadb] if mysql support is needed
| -rw-r--r-- | ports/gdal/0001-Fix-debug-crt-flags.patch | 2 | ||||
| -rw-r--r-- | ports/gdal/CONTROL | 13 | ||||
| -rw-r--r-- | ports/gdal/no-my-bool.patch | 12 | ||||
| -rw-r--r-- | ports/gdal/portfile.cmake | 55 | ||||
| -rw-r--r-- | ports/libmariadb/portfile.cmake | 64 |
5 files changed, 89 insertions, 57 deletions
diff --git a/ports/gdal/0001-Fix-debug-crt-flags.patch b/ports/gdal/0001-Fix-debug-crt-flags.patch index 753d53131..aab3d40ca 100644 --- a/ports/gdal/0001-Fix-debug-crt-flags.patch +++ b/ports/gdal/0001-Fix-debug-crt-flags.patch @@ -1,7 +1,7 @@ diff -Nuar a/nmake.opt b/nmake.opt --- a/nmake.opt 2018-05-04 09:05:46.000000000 +0200 +++ b/nmake.opt 2018-05-11 22:58:39.387603800 +0200 -@@ -120,11 +120,21 @@ +@@ -124,11 +124,21 @@ CXX_PDB_FLAGS= !ENDIF diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL index 7db6156aa..7686d13ab 100644 --- a/ports/gdal/CONTROL +++ b/ports/gdal/CONTROL @@ -1,4 +1,13 @@ Source: gdal -Version: 2.3.0-2 +Version: 2.3.2 Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data. -Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, libmysql, openjpeg, libwebp, libxml2, liblzma +Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma +Default-Features: mysql-libmysql + +Feature: mysql-libmysql +Build-Depends: libmysql +Description: Add mysql support using libmysql + +Feature: mysql-libmariadb +Build-Depends: libmariadb +Description: Add mysql support using libmariadb diff --git a/ports/gdal/no-my-bool.patch b/ports/gdal/no-my-bool.patch deleted file mode 100644 index 2589ff044..000000000 --- a/ports/gdal/no-my-bool.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nuar a/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp b/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp ---- a/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp 2018-05-04 09:09:26.000000000 +0200 -+++ b/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp 2018-05-11 23:07:44.284558300 +0200 -@@ -235,7 +235,7 @@ - // Enable automatic reconnection - // Must be called after mysql_real_connect() on MySQL < 5.0.19 - // and at any point on more recent versions. -- my_bool reconnect = 1; -+ bool reconnect = 1; - mysql_options(hConn, MYSQL_OPT_RECONNECT, &reconnect); - } - diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index ddeccfc37..1f3ca96e3 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -1,10 +1,10 @@ # vcpkg portfile.cmake for GDAL # # NOTE: update the version and checksum for new GDAL release -set(GDAL_VERSION_STR "2.3.0") -set(GDAL_VERSION_PKG "230") +set(GDAL_VERSION_STR "2.3.2") +set(GDAL_VERSION_PKG "232") set(GDAL_VERSION_LIB "203") -set(GDAL_PACKAGE_SUM "f3f790b7ecb28916d6d0628b15ddc6b396a25a8f1f374589ea5e95b5a50addc99e05e363113f907b6c96faa69870b5dc9fdf3d771f9c8937b4aa8819bd78b190") +set(GDAL_PACKAGE_SUM "9eb26be57657b1f1eaada4794859584d53bd58e0d504eb12ab97e9c60353d0a565dc894a89829ee50fc549cb7d069a75b7895c0dd4cea887e010671f63e945b8") if (TRIPLET_SYSTEM_ARCH MATCHES "arm") message(FATAL_ERROR "ARM is currently not supported.") @@ -22,21 +22,27 @@ 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}) -foreach(BUILD_TYPE debug release) +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") +endif() + +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}) vcpkg_apply_patches( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR} PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-debug-crt-flags.patch - ${CMAKE_CURRENT_LIST_DIR}/no-my-bool.patch ) endforeach() @@ -76,11 +82,6 @@ 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 MySQL libraries + include path -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) - # 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) @@ -106,7 +107,26 @@ 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/lzma.lib" LZMA_LIBRARY_DBG) -set(NMAKE_OPTIONS +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() + +list(APPEND NMAKE_OPTIONS GDAL_HOME=${NATIVE_PACKAGES_DIR} DATADIR=${NATIVE_DATA_DIR} HTMLDIR=${NATIVE_HTML_DIR} @@ -117,7 +137,6 @@ set(NMAKE_OPTIONS EXPAT_INCLUDE=-I${EXPAT_INCLUDE_DIR} CURL_INC=-I${CURL_INCLUDE_DIR} SQLITE_INC=-I${SQLITE_INCLUDE_DIR} - MYSQL_INC_DIR=${MYSQL_INCLUDE_DIR} PG_INC_DIR=${PGSQL_INCLUDE_DIR} OPENJPEG_ENABLED=YES OPENJPEG_CFLAGS=-I${OPENJPEG_INCLUDE_DIR} @@ -147,8 +166,8 @@ else() set(LINKAGE_FLAGS "/MD") endif() -set(NMAKE_OPTIONS_REL - "${NMAKE_OPTIONS}" +list(APPEND NMAKE_OPTIONS_REL + ${NMAKE_OPTIONS} CXX_CRT_FLAGS=${LINKAGE_FLAGS} PROJ_LIBRARY=${PROJ_LIBRARY_REL} PNG_LIB=${PNG_LIBRARY_REL} @@ -156,15 +175,14 @@ set(NMAKE_OPTIONS_REL EXPAT_LIB=${EXPAT_LIBRARY_REL} "CURL_LIB=${CURL_LIBRARY_REL} wsock32.lib wldap32.lib winmm.lib" SQLITE_LIB=${SQLITE_LIBRARY_REL} - MYSQL_LIB=${MYSQL_LIBRARY_REL} PG_LIB=${PGSQL_LIBRARY_REL} OPENJPEG_LIB=${OPENJPEG_LIBRARY_REL} WEBP_LIBS=${WEBP_LIBRARY_REL} LIBXML2_LIB=${XML2_LIBRARY_REL} ) -set(NMAKE_OPTIONS_DBG - "${NMAKE_OPTIONS}" +list(APPEND NMAKE_OPTIONS_DBG + ${NMAKE_OPTIONS} CXX_CRT_FLAGS="${LINKAGE_FLAGS}d" PROJ_LIBRARY=${PROJ_LIBRARY_DBG} PNG_LIB=${PNG_LIBRARY_DBG} @@ -172,7 +190,6 @@ set(NMAKE_OPTIONS_DBG EXPAT_LIB=${EXPAT_LIBRARY_DBG} "CURL_LIB=${CURL_LIBRARY_DBG} wsock32.lib wldap32.lib winmm.lib" SQLITE_LIB=${SQLITE_LIBRARY_DBG} - MYSQL_LIB=${MYSQL_LIBRARY_DBG} PG_LIB=${PGSQL_LIBRARY_DBG} OPENJPEG_LIB=${OPENJPEG_LIBRARY_DBG} WEBP_LIBS=${WEBP_LIBRARY_DBG} diff --git a/ports/libmariadb/portfile.cmake b/ports/libmariadb/portfile.cmake index 4486564f6..e37afb22f 100644 --- a/ports/libmariadb/portfile.cmake +++ b/ports/libmariadb/portfile.cmake @@ -23,33 +23,51 @@ vcpkg_configure_cmake( vcpkg_install_cmake()
-# remove debug header
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ # remove debug header
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+endif()
+
+if(VCPKG_BUILD_TYPE STREQUAL "debug")
+ # move headers
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/include)
+endif()
# fix libmariadb lib & dll directory.
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mariadb/mariadbclient.lib
- ${CURRENT_PACKAGES_DIR}/lib/mariadbclient.lib)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/mariadbclient.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadbclient.lib)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/lib/mariadb/mariadbclient.lib
+ ${CURRENT_PACKAGES_DIR}/lib/mariadbclient.lib)
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/mariadbclient.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mariadbclient.lib)
+ endif()
else()
- file(MAKE_DIRECTORY
- ${CURRENT_PACKAGES_DIR}/bin
- ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.dll
- ${CURRENT_PACKAGES_DIR}/bin/libmariadb.dll)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.dll
- ${CURRENT_PACKAGES_DIR}/debug/bin/libmariadb.dll)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.lib
- ${CURRENT_PACKAGES_DIR}/lib/libmariadb.lib)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/libmariadb.lib)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.dll
+ ${CURRENT_PACKAGES_DIR}/bin/libmariadb.dll)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.lib
+ ${CURRENT_PACKAGES_DIR}/lib/libmariadb.lib)
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.dll
+ ${CURRENT_PACKAGES_DIR}/debug/bin/libmariadb.dll)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/libmariadb.lib)
+ endif()
endif()
# remove plugin folder
|
