Skip to content

build proj and sqlite using vcpkg instead #569

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
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
11 changes: 6 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
${CMAKE_CURRENT_SOURCE_DIR}/deps -B ${CMAKE_BINARY_DIR}/deps
RESULT_VARIABLE DEPENDENCIES_GENERATE_RESULT)
if(NOT DEPENDENCIES_GENERATE_RESULT EQUAL 0)
message(FATAL_ERROR "Could not generate dependencies project")

Check failure on line 68 in CMakeLists.txt

View workflow job for this annotation

GitHub Actions / Build extension binaries / Windows (windows_amd64_mingw, x64-mingw-static, x64-mingw-static)

Could not generate dependencies project
endif()

execute_process(
Expand Down Expand Up @@ -93,16 +93,17 @@
set(OPENSSL_USE_STATIC_LIBS OFF)
endif()

find_library(SQLITE3_MEMVFS memvfs)
#find_library(SQLITE3_MEMVFS memvfs)
find_package(ZLIB REQUIRED)
find_package(PROJ REQUIRED)
find_package(SQLite3 REQUIRED)
#find_package(SQLite3 REQUIRED)
find_package(GDAL REQUIRED)
find_package(EXPAT REQUIRED)
find_package(unofficial-sqlite3 CONFIG REQUIRED)

# Important: The link order matters, its the reverse order of dependency
set(EXTENSION_DEPENDENCIES GDAL::GDAL PROJ::proj EXPAT::EXPAT SQLite::SQLite3
ZLIB::ZLIB ${SQLITE3_MEMVFS})
set(EXTENSION_DEPENDENCIES GDAL::GDAL PROJ::proj EXPAT::EXPAT unofficial::sqlite3::sqlite3
ZLIB::ZLIB)

if(SPATIAL_USE_GEOS)
message(STATUS "Building with GEOS functionality")
Expand Down Expand Up @@ -133,7 +134,7 @@
endif()

# Add dependencies to extension
target_link_libraries(${EXTENSION_NAME} PUBLIC ${EXTENSION_DEPENDENCIES})
target_link_libraries(${EXTENSION_NAME} ${EXTENSION_DEPENDENCIES})

# Build extensions
set(PARAMETERS "-warnings")
Expand Down
65 changes: 0 additions & 65 deletions deps/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,70 +46,6 @@ if (EMSCRIPTEN OR IOS OR ANDROID)
endif()
set(GDAL_DEPENDENCIES ${GDAL_DEPENDENCIES})

set(SANITIZER_FLAG)
if(ENABLE_SANITIZER)
# TODO: This doesnt work on CI
#set(SANITIZER_FLAG "-fsanitize=address")
endif()


# SQLite3
ExternalProject_Add(
SQLITE3
URL ${CMAKE_CURRENT_SOURCE_DIR}/vendor/sqlite3
CONFIGURE_HANDLED_BY_BUILD TRUE
CMAKE_ARGS
#-DCMAKE_CXX_FLAGS="${SANITIZER_FLAG}"
-DCMAKE_CXX_COMPILER='${CMAKE_CXX_COMPILER}'
-DCMAKE_C_COMPILER='${CMAKE_C_COMPILER}'
-DCMAKE_INSTALL_PREFIX:PATH=${LOCAL_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES_PACKED}
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
${CMAKE_FLAGS_POINTER_SIZE}
# vcpkg options
-DVCPKG_MANIFEST_DIR='${VCPKG_MANIFEST_DIR}'
-DVCPKG_INSTALLED_DIR='${VCPKG_INSTALLED_DIR}'
-DCMAKE_TOOLCHAIN_FILE='${CMAKE_TOOLCHAIN_FILE}'
-DVCPKG_TARGET_TRIPLET='${VCPKG_TARGET_TRIPLET}'
-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE='${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}'
)
set(GDAL_DEPENDENCIES ${GDAL_DEPENDENCIES} SQLITE3)

# PROJ
ExternalProject_Add(
PROJ
DEPENDS SQLITE3
URL ${CMAKE_CURRENT_SOURCE_DIR}/vendor/proj-9.1.1.zip
CONFIGURE_HANDLED_BY_BUILD TRUE
PATCH_COMMAND patch -p1 < "${CMAKE_CURRENT_LIST_DIR}/patches/proj${PATCH_NAME_ENDING}.patch"
CMAKE_ARGS
# CMake options
#-DCMAKE_CXX_FLAGS="${SANITIZER_FLAG}"
-DCMAKE_CXX_COMPILER='${CMAKE_CXX_COMPILER}'
-DCMAKE_C_COMPILER='${CMAKE_C_COMPILER}'
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES_PACKED}
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_PREFIX_PATH=${LOCAL_INSTALL_DIR}
-DCMAKE_INSTALL_PREFIX:PATH=${LOCAL_INSTALL_DIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
${CMAKE_PROJ_FLAGS}
${CMAKE_FLAGS_POINTER_SIZE}
# vcpkg options
-DVCPKG_MANIFEST_DIR='${VCPKG_MANIFEST_DIR}'
-DVCPKG_INSTALLED_DIR='${VCPKG_INSTALLED_DIR}'
-DCMAKE_TOOLCHAIN_FILE='${CMAKE_TOOLCHAIN_FILE}'
-DVCPKG_TARGET_TRIPLET='${VCPKG_TARGET_TRIPLET}'
-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE='${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}'
# PROJ options
-DBUILD_SHARED_LIBS=OFF
-DBUILD_APPS=OFF
-DBUILD_TESTING=OFF
-DENABLE_CURL=OFF
-DENABLE_TIFF=OFF
)
set(GDAL_DEPENDENCIES ${GDAL_DEPENDENCIES} PROJ)

# GDAL
ExternalProject_Add(
GDAL
Expand All @@ -119,7 +55,6 @@ ExternalProject_Add(
PATCH_COMMAND patch -p1 -i "${CMAKE_CURRENT_LIST_DIR}/patches/remove_filehandler${PATCH_NAME_ENDING}.patch" && patch -p1 -i "${CMAKE_CURRENT_LIST_DIR}/patches/msyspatch${PATCH_NAME_ENDING}.patch" && patch -p1 -i "${CMAKE_CURRENT_LIST_DIR}/patches/gdal.patch"
CMAKE_ARGS
# CMake options
#-DCMAKE_CXX_FLAGS="${SANITIZER_FLAG}"
-DCMAKE_CXX_COMPILER='${CMAKE_CXX_COMPILER}'
-DCMAKE_C_COMPILER='${CMAKE_C_COMPILER}'
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
Expand Down
11 changes: 0 additions & 11 deletions deps/patches/proj.patch

This file was deleted.

60 changes: 0 additions & 60 deletions deps/patches/proj_wasm.patch

This file was deleted.

Binary file removed deps/vendor/proj-9.1.1.zip
Binary file not shown.
39 changes: 0 additions & 39 deletions deps/vendor/sqlite3/CMakeLists.txt

This file was deleted.

Loading
Loading