Skip to content

Commit

Permalink
update PROJ to 9.5.1
Browse files Browse the repository at this point in the history
  • Loading branch information
mmomtchev committed Jan 12, 2025
1 parent 59c67a0 commit 6ee40b1
Show file tree
Hide file tree
Showing 216 changed files with 14,458 additions and 5,709 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- GDAL 3.10.0
- GEOS 3.13.0
- PROJ 9.5.1
- Apple ARM support on macOS 15 and later
- Node.js 23 support
- Implement RFC101 support, see [`ASYNCIO.md`](https://github.com/mmomtchev/node-gdal-async/blob/main/ASYNCIO.md) for more information
Expand Down
2 changes: 1 addition & 1 deletion deps/libproj.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set -eu
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$DIR/libproj"

PROJ_VERSION=9.3.0
PROJ_VERSION=9.5.1
dir_proj=./proj

#
Expand Down
42 changes: 0 additions & 42 deletions deps/libproj/proj/AUTHORS

This file was deleted.

33 changes: 33 additions & 0 deletions deps/libproj/proj/AUTHORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Authors

## Original Author

- Gerald Evenden (1935-2016)

## Maintainers

- Kristian Evers <[email protected]>
- Even Rouault <[email protected]>

## Project Steering Committee

Process and membership can be found at:
<https://proj.org/community/rfc/rfc-1.html>

Chair:

- Kristian Evers <[email protected]>

Members:

- Frank Warmerdam <[email protected]>
- Howard Butler <[email protected]>
- Charles Karney <[email protected]>
- Thomas Knudsen <[email protected]>
- Even Rouault <[email protected]>
- Kurt Schwehr <[email protected]>

## Contributors

The full list of contributors can be found on GitHub
<https://github.com/OSGeo/PROJ/graphs/contributors>
4 changes: 2 additions & 2 deletions deps/libproj/proj/CITATION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
To cite PROJ in publications use:

PROJ contributors (2023). PROJ coordinate transformation software
PROJ contributors (2024). PROJ coordinate transformation software
library. Open Source Geospatial Foundation. URL https://proj.org/.
DOI: 10.5281/zenodo.5884394

Expand All @@ -12,7 +12,7 @@ A BibTeX entry for LaTeX users is
title = {{PROJ} coordinate transformation software library},
author = {{PROJ contributors}},
organization = {Open Source Geospatial Foundation},
year = {2023},
year = {2024},
url = {https://proj.org/},
doi = {10.5281/zenodo.5884394},
}
8 changes: 4 additions & 4 deletions deps/libproj/proj/CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ cff-version: 1.2.0
message: Please cite this software using these metadata or in the CITATION file.
type: software
title: PROJ
version: 9.2.0
date-released: 2023-03-01
version: 9.5.0
date-released: 2024-09-15
doi: 10.5281/zenodo.5884394
abstract: PROJ is a generic coordinate transformation software that transforms
geospatial coordinates from one coordinate reference system (CRS) to another.
Expand All @@ -24,11 +24,11 @@ authors:
affiliation: Planet Labs Inc
- given-names: Kristian
family-names: Evers
affiliation: Danish Agency for Data Supply and Infrastructure
affiliation: Danish Agency for Climate Data
orcid: https://orcid.org/0000-0002-1310-4576
- given-names: Thomas
family-names: Knudsen
affiliation: Danish Agency for Data Supply and Infrastructure
affiliation: Danish Agency for Climate Data
- given-names: Howard
family-names: Butler
affiliation: Hobu Inc
Expand Down
100 changes: 59 additions & 41 deletions deps/libproj/proj/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
################################################################################
# General settings
################################################################################
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
cmake_minimum_required(VERSION 3.16)

project(PROJ
DESCRIPTION "PROJ coordinate transformation software library"
Expand Down Expand Up @@ -44,27 +44,55 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
# Set warnings as variables, then store as cache options
set(PROJ_common_WARN_FLAGS # common only to GNU/Clang C/C++
-Wall
-Wdate-time
-Werror=format-security
-Werror=vla
-Wextra
-Wswitch
-Wformat
-Wmissing-declarations
-Wshadow
-Wswitch
-Wunused-parameter
-Wmissing-declarations
-Wformat
-Wformat-security
)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
set(PROJ_common_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
-Wduplicated-cond
-Wduplicated-branches
-Wlogical-op
)
set(PROJ_C_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
-Wmissing-prototypes
)
set(PROJ_CXX_WARN_FLAGS ${PROJ_common_WARN_FLAGS})
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8)
set(PROJ_CXX_WARN_FLAGS ${PROJ_common_WARN_FLAGS} -Wextra-semi)
endif()
set(PROJ_CXX_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
-Weffc++
# -Wold-style-cast
-Woverloaded-virtual
-Wzero-as-null-pointer-constant
)
elseif("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
set(PROJ_common_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
-Wcomma
-Wdeprecated
-Wdocumentation -Wno-documentation-deprecated-sync
-Wfloat-conversion
-Wlogical-op-parentheses
# -Wweak-vtables
)
set(PROJ_C_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
-Wmissing-prototypes
-Wfloat-conversion
-Wc11-extensions
)
set(PROJ_CXX_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
-Wfloat-conversion
-Weffc++
-Wextra-semi
# -Wold-style-cast
-Woverloaded-virtual
-Wshorten-64-to-32
-Wunused-private-field
-Wzero-as-null-pointer-constant
)
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
add_definitions(/D_CRT_SECURE_NO_WARNINGS) # Eliminate deprecation warnings
Expand Down Expand Up @@ -115,7 +143,7 @@ message(STATUS "Configuring PROJ:")
#PROJ version information
################################################################################
include(ProjVersion)
proj_version(MAJOR 9 MINOR 3 PATCH 0)
proj_version(MAJOR 9 MINOR 5 PATCH 1)
set(PROJ_SOVERSION 25)
set(PROJ_BUILD_VERSION "${PROJ_SOVERSION}.${PROJ_VERSION}")

Expand Down Expand Up @@ -176,15 +204,22 @@ if(NOT EXE_SQLITE3)
message(SEND_ERROR "sqlite3 binary not found!")
endif()

find_package(Sqlite3 REQUIRED)
if(NOT SQLITE3_FOUND)
message(SEND_ERROR "sqlite3 dependency not found!")
# Deprecated variables since PROJ 9.4.0
if(DEFINED SQLITE3_INCLUDE_DIR)
message(DEPRECATION "Use SQLite3_INCLUDE_DIR instead of SQLITE3_INCLUDE_DIR")
set(SQLite3_INCLUDE_DIR ${SQLITE3_INCLUDE_DIR})
endif()
if(DEFINED SQLITE3_LIBRARY)
message(DEPRECATION "Use SQLite3_LIBRARY instead of SQLITE3_LIBRARY")
set(SQLite3_LIBRARY ${SQLITE3_LIBRARY})
endif()

find_package(SQLite3 REQUIRED)

# Would build and run with older versions, but with horrible performance
# See https://github.com/OSGeo/PROJ/issues/1718
if("${SQLITE3_VERSION}" VERSION_LESS "3.11")
message(SEND_ERROR "sqlite3 >= 3.11 required!")
if(SQLite3_VERSION VERSION_LESS "3.11")
message(SEND_ERROR "SQLite3 >= 3.11 required!")
endif()

################################################################################
Expand Down Expand Up @@ -219,22 +254,21 @@ if(ENABLE_CURL)
if(CURL_FOUND)
set(CURL_ENABLED TRUE)

# Target CURL::libcurl only defined since CMake 3.12
# TODO: remove this when CMake >= 3.12 required
if(NOT TARGET CURL::libcurl)
add_library(CURL::libcurl INTERFACE IMPORTED)
set_target_properties(CURL::libcurl PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${CURL_LIBRARIES}"
)
endif()
# Curl SSL options are described in
# https://curl.se/libcurl/c/CURLOPT_SSL_OPTIONS.html
#set(CURLSSLOPT_NO_REVOKE 2)
#set(SSL_OPTIONS ${CURLSSLOPT_NO_REVOKE})
#add_compile_definitions(SSL_OPTIONS=${SSL_OPTIONS})

else()
message(SEND_ERROR "curl dependency not found!")
endif()
endif()

################################################################################

option(EMBED_PROJ_DATA_PATH "Whether the PROJ_DATA_PATH should be embedded" ON)

if(DEFINED PROJ_LIB_ENV_VAR_TRIED_LAST)
set(PROJ_DATA_ENV_VAR_TRIED_LAST ${PROJ_LIB_ENV_VAR_TRIED_LAST})
message(WARNING "PROJ_LIB_ENV_VAR_TRIED_LAST option has been renamed to PROJ_DATA_ENV_VAR_TRIED_LAST. PROJ_LIB_ENV_VAR_TRIED_LAST is still working for now, but may be completely replaced by PROJ_DATA_ENV_VAR_TRIED_LAST in a future release")
Expand All @@ -255,14 +289,6 @@ if(Threads_FOUND AND CMAKE_USE_PTHREADS_INIT)
"${CMAKE_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}")
endif()

include(CheckCSourceCompiles)
if(MSVC)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} /WX /W4")
else()
set(CMAKE_REQUIRED_LIBRARIES m)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} -Werror -Wall")
endif()

# Set a default build type for single-configuration cmake generators if
# no build type is set.
if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
Expand Down Expand Up @@ -334,7 +360,7 @@ if(BUILD_EXAMPLES)
add_subdirectory(examples)
endif()

set(docfiles COPYING NEWS AUTHORS)
set(docfiles COPYING NEWS.md AUTHORS.md)
install(FILES ${docfiles}
DESTINATION ${CMAKE_INSTALL_DOCDIR})

Expand Down Expand Up @@ -373,7 +399,7 @@ set(CPACK_SOURCE_IGNORE_FILES
/Dockerfile
/docs/
/Doxyfile
/HOWTO-RELEASE
/HOWTO-RELEASE.md
/m4/lt*
/m4/libtool*
/media/
Expand All @@ -388,18 +414,10 @@ set(CPACK_SOURCE_IGNORE_FILES

include(CPack)

# Simplify README.md to README
add_custom_target(README
COMMAND ${CMAKE_COMMAND}
-D PROJ_SOURCE_DIR=${PROJ_SOURCE_DIR}
-P ${PROJ_SOURCE_DIR}/cmake/ProjReadme.cmake
)

get_property(_is_multi_config_generator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(NOT _is_multi_config_generator)
add_custom_target(dist
COMMAND ${CMAKE_MAKE_PROGRAM} package_source
DEPENDS README
)
message(STATUS "PROJ: Configured 'dist' target")
endif()
Expand Down
Loading

0 comments on commit 6ee40b1

Please sign in to comment.