aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhlysunnaram <hlysunnaram@users.noreply.github.com>2018-10-13 00:12:15 +0200
committerRobert Schumacher <roschuma@microsoft.com>2018-10-12 15:12:15 -0700
commit38c741f390e151ba44cac9726ffca95194440bcf (patch)
tree41def23553ae8d6142d53cd04958be908112b62d
parent7a3cc8db7f63236104e9742fc2c27ee1d882b0c6 (diff)
downloadvcpkg-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.patch2
-rw-r--r--ports/gdal/CONTROL13
-rw-r--r--ports/gdal/no-my-bool.patch12
-rw-r--r--ports/gdal/portfile.cmake55
-rw-r--r--ports/libmariadb/portfile.cmake64
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