Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
224 changes: 117 additions & 107 deletions ports/libspatialite/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,128 +1,138 @@
set(LIBSPATIALITE_VERSION_STR "5.0.0")
set(LIBSPATIALITE_VERSION_STR "5.0.1")
vcpkg_download_distfile(ARCHIVE
URLS "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz"
URLS "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz"
FILENAME "libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz"
SHA512 df72a3434d6e49f8836a9de2340f343a53f0673d0d17693cdb0f4971928b7c8bf40df44b21c0861945a9c81058e939acd1714b0b426ce9aa2ff7b0e8e6b196a7
SHA512 c2552994bc30d69d1e80aa274760f048cd384f71e8350a1e48a47cb8222ba71a1554a69c6534eedde9a09dc582c39c089967bcc1c57bf158cc91a3e7b1840ddf
)

vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
ARCHIVE "${ARCHIVE}"
PATCHES
fix-makefiles.patch
fix-linux-configure.patch
)

if (VCPKG_TARGET_IS_WINDOWS)
if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib")
set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib")
set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib")
set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib")
set(LIBRTTOPO_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/librttopo.lib")
set(LIBRTTOPO_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib")
else()
set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib ${CURRENT_INSTALLED_DIR}/lib/geos.lib")
set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/geosd.lib")
set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/lib/lzma.lib ws2_32.lib")
set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib ws2_32.lib")
set(LIBRTTOPO_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/librttopo.lib")
set(LIBRTTOPO_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib")
endif()
if(VCPKG_TARGET_IS_WINDOWS)
if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib")
set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib")
set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib")
set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib")
set(LIBRTTOPO_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/librttopo.lib")
set(LIBRTTOPO_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib")
else()
set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib ${CURRENT_INSTALLED_DIR}/lib/geos.lib")
set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/geosd.lib")
set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/lib/lzma.lib ws2_32.lib")
set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib ws2_32.lib")
set(LIBRTTOPO_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/librttopo.lib")
set(LIBRTTOPO_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib")
endif()

set(LIBS_ALL_DBG
"${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/charset.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/freexl.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \
${LIBXML2_LIBS_DBG} \
${GEOS_LIBS_DBG} \
${LIBRTTOPO_LIBS_DBG} \
${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib ole32.lib shell32.lib"
)
set(LIBS_ALL_REL
"${CURRENT_INSTALLED_DIR}/lib/iconv.lib \
${CURRENT_INSTALLED_DIR}/lib/charset.lib \
${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib \
${CURRENT_INSTALLED_DIR}/lib/freexl.lib \
${CURRENT_INSTALLED_DIR}/lib/zlib.lib \
${LIBXML2_LIBS_REL} \
${GEOS_LIBS_REL} \
${LIBRTTOPO_LIBS_REL} \
${CURRENT_INSTALLED_DIR}/lib/proj.lib ole32.lib shell32.lib"
)
set(LIBS_ALL_DBG
"${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/charset.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/freexl.lib \
${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \
${LIBXML2_LIBS_DBG} \
${GEOS_LIBS_DBG} \
${LIBRTTOPO_LIBS_DBG} \
${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib ole32.lib shell32.lib"
)
set(LIBS_ALL_REL
"${CURRENT_INSTALLED_DIR}/lib/iconv.lib \
${CURRENT_INSTALLED_DIR}/lib/charset.lib \
${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib \
${CURRENT_INSTALLED_DIR}/lib/freexl.lib \
${CURRENT_INSTALLED_DIR}/lib/zlib.lib \
${LIBXML2_LIBS_REL} \
${GEOS_LIBS_REL} \
${LIBRTTOPO_LIBS_REL} \
${CURRENT_INSTALLED_DIR}/lib/proj.lib ole32.lib shell32.lib"
)

string(REPLACE "/" "\\\\" INST_DIR ${CURRENT_PACKAGES_DIR})
list(APPEND OPTIONS_RELEASE
"INST_DIR=${INST_DIR}" "LIBS_ALL=${LIBS_ALL_REL}"
)
list(APPEND OPTIONS_DEBUG
"LINK_FLAGS=/debug" "INST_DIR=${INST_DIR}\\debug" "LIBS_ALL=${LIBS_ALL_DBG}"
)
string(REPLACE "/" "\\\\" INST_DIR "${CURRENT_PACKAGES_DIR}")
list(APPEND OPTIONS_RELEASE
"INST_DIR=${INST_DIR}" "LIBS_ALL=${LIBS_ALL_REL}"
)
list(APPEND OPTIONS_DEBUG
"LINK_FLAGS=/debug" "INST_DIR=${INST_DIR}\\debug" "LIBS_ALL=${LIBS_ALL_DBG}"
)

vcpkg_install_nmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
"CL_FLAGS=/DACCEPT_USE_OF_DEPRECATED_PROJ_API_H"
OPTIONS_RELEASE
${OPTIONS_RELEASE}
OPTIONS_DEBUG
${OPTIONS_DEBUG}
)
vcpkg_install_nmake(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS_RELEASE
${OPTIONS_RELEASE}
OPTIONS_DEBUG
${OPTIONS_DEBUG}
)

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs()

if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib)
else()
file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/spatialite.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib)
endif()
else () # Build in UNIX
if(VCPKG_TARGET_IS_LINUX)
set(STDLIB stdc++)
else()
set(STDLIB c++)
endif()
if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
SET(EXTRALIBS "-lpthread")
endif()
list(APPEND OPTIONS_RELEASE
"LIBXML2_LIBS=-lxml2 -llzma"
"GEOS_LDFLAGS=-lgeos_c -lgeos -l${STDLIB}"
)
list(APPEND OPTIONS_DEBUG
"LIBXML2_LIBS=-lxml2 -llzmad"
"GEOS_LDFLAGS=-lgeos_cd -lgeosd -l${STDLIB}"
)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

vcpkg_configure_make(
SOURCE_PATH ${SOURCE_PATH}
AUTOCONFIG
OPTIONS
"LIBS=${EXTRALIBS} -ldl -lm -l${STDLIB}"
"LIBXML2_CFLAGS=-I\"${CURRENT_INSTALLED_DIR}/include\""
"--enable-rttopo"
"--enable-gcp"
"--enable-geocallbacks"
"--disable-examples"
"--disable-minizip"
OPTIONS_DEBUG
${OPTIONS_DEBUG}
OPTIONS_RELEASE
${OPTIONS_RELEASE}
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib")
else()
file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/spatialite.lib")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib")
file(RENAME "${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib" "${CURRENT_PACKAGES_DIR}/lib/spatialite.lib")
file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib")
endif()
else() # Build in UNIX
if(VCPKG_TARGET_IS_LINUX)
set(STDLIB stdc++)
else()
set(STDLIB c++)
endif()
if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
SET(EXTRALIBS "-lpthread")
endif()
list(APPEND OPTIONS_RELEASE
"LIBXML2_LIBS=-lxml2 -llzma"
"GEOS_LDFLAGS=-lgeos_c -lgeos -l${STDLIB}"
)
list(APPEND OPTIONS_DEBUG
"LIBXML2_LIBS=-lxml2 -llzmad"
"GEOS_LDFLAGS=-lgeos_cd -lgeosd -l${STDLIB}"
)

vcpkg_install_make()
vcpkg_fixup_pkgconfig()
vcpkg_configure_make(
SOURCE_PATH "${SOURCE_PATH}"
AUTOCONFIG
OPTIONS
"LIBS=${EXTRALIBS} -ldl -lm -l${STDLIB}"
"LIBXML2_CFLAGS=-I${CURRENT_INSTALLED_DIR}/include"
"--enable-rttopo"
"--enable-gcp"
"--enable-geocallbacks"
"--disable-examples"
"--disable-minizip"
OPTIONS_DEBUG
${OPTIONS_DEBUG}
OPTIONS_RELEASE
${OPTIONS_RELEASE}
)

# automake adds the basedir of the generated config to `DEFAULT_INCLUDES`,
# but libspatialite uses `#include <spatialite/gaiaconfig.h>`.
file(GLOB_RECURSE makefiles
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Makefile"
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Makefile"
)
foreach(makefile IN LISTS makefiles)
vcpkg_replace_string("${makefile}" " -I$(top_builddir)/./src/headers/spatialite" " -I$(top_builddir)/./src/headers")
endforeach()

vcpkg_install_make()
vcpkg_fixup_pkgconfig()
endif()

# Handle copyright
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
# With rttopo and ground control points enabled, the license is GPLv2+.
file(INSTALL "${SOURCE_PATH}/src/control_points/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
3 changes: 1 addition & 2 deletions ports/libspatialite/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"name": "libspatialite",
"version-string": "5.0.0",
"port-version": 3,
"version": "5.0.1",
"description": "SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.",
"homepage": "https://www.gaia-gis.it/gaia-sins/libspatialite-sources",
"dependencies": [
Expand Down
4 changes: 2 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -3793,8 +3793,8 @@
"port-version": 0
},
"libspatialite": {
"baseline": "5.0.0",
"port-version": 3
"baseline": "5.0.1",
"port-version": 0
},
"libspnav": {
"baseline": "0.2.3",
Expand Down
5 changes: 5 additions & 0 deletions versions/l-/libspatialite.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "22ad27813f5f3bc3382718115ce3eb5a45174afd",
"version": "5.0.1",
"port-version": 0
},
{
"git-tree": "d7d124e4fcb212dba3d650817056ce23b6dc2a2f",
"version-string": "5.0.0",
Expand Down