| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Co-authored-by: Bas Couwenberg <sebastic@xs4all.nl>
|
|
|
|
|
|
be obsolete given current CMake versions (fixes #3029)
And specifically remove set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
which was the only setting at a non-default value.
|
|
Use sqlite3, libtiff-4 and libcurl modules instead of plain libs
Allow opt out by setting 'USE_PKGCONFIG_MODULES' off.
Link native system libs on Windows, and implicit C++ libraries on
other systems (e.g. libstc++/libc++).
|
|
|
|
icx --version: Intel(R) oneAPI DPC++/C++ Compiler 2022.0.0 (2022.0.0.20211123)
Disable fast maths to:
- Fix warnings about std::isnan(), etc. being evaluated to false, due to
-ffast-math being enabled
- Fix failures in regression test suite
How to reproduce:
docker pull intel/oneapi-basekit
docker run --rm -it -v $HOME:$HOME intel/oneapi-basekit
apt update
apt install sqlite3 libsqlite3-dev libcurl4-gnutls-dev libtiff-dev
CC=icx CXX=icx cmake .. -DCMAKE_EXE_LINKER_FLAGS=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
|
|
|
|
|
|
|
|
Currently (at least as of 8.1.1) we don't have the same .so.x.y.z
numbers for the libtool and cmake builds (the y and z are swapped for
the cmake build). While only the SONAME (the .x part) mostly matters,
it is probably better to stick with the libtool convention to determine
the y and z.
This patch should make it easier by setting explicitly each of the
current, revision, age and computing automatically
x = current - age
y = age
z = revision
|
|
These results are just not used anywhere, so there's no need to check
them (as the compiler will do it anyways).
|
|
|
|
|
|
|
|
allowing to choose which nlohmann/json to use
Co-authored-by: Mike Taves <mwtoews@gmail.com>
|
|
|
|
|
|
|
|
CMake: remove old configuration option aliases
|
|
|
|
If PROJ is built with the PROJ_LIB_ENV_VAR_TRIED_LAST CMake option /
--enable-proj-lib-env-var-tried-last configure switch, then the
hard-wired path ($prefix/share/proj) will be tried before looking at the
environment PROJ_LIB.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Use instead of CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR
* Also PROJECT_SOURCE_DIR and PROJECT_BINARY_DIR, which are similar
* Set properties with a list variable rather than a long line
* Correction to 'proj_test_set_properties' function, rename ENVIRONMENT:
- PROJ_IGNORE_USER_WRITABLE_DIRECTORY (ignored)
- PROJ_SKIP_READ_USER_WRITABLE_DIRECTORY (used by filemanager.cpp)
|
|
|
|
|
|
|
|
* Autotools interface should be the same, but different ./configure --help
* For CMake, the option should be -DENABLE_TIFF=NO (default is YES)
* Use TIFF_ENABLED and CURL_ENABLED variables, based on option and outcome
* Reword some messages and add hints
* Move -DTIFF_ENABLED and -DCURL_ENABLED from global add_definitions()
to target_compile_definitions(), which is recommended practice
* Minor spelling and style consistency around SQLITE_VERSION check
|
|
Ignore WARNING: 'proj.pc.in' seems to ignore the --datarootdir setting
|
|
|
|
* Remove colormsg(); just use message()
* Rename boost_report_value() with print_variable()
|
|
Allow both find_package(PROJ) and find_package(PROJ4). More details
are in cmake/CMakeLists.txt.
|
|
* Also remove a few if()-blocks to support older CMake versions
|
|
* CTest automatically creates a BUILD_TESTING option (default is ON)
* Also allow PROJ_TESTS to be used, but show deprecation message;
and add note to remove this option by PROJ 8.0
* Only build geodtest when tests are enabled
* Add documentation to configure a build using -DBUILD_TESTING=OFF
|
|
This commit is the result of the squashing of rfc4_dev branch in a single
commit. It implements mostly RFC 4 related work.
* Grid handling:
- remove obsolete and presumably unfinished implementation of grid catalog functionality
- all grid functionality is in grids.cpp/.hpp
- vertical and horizontal grid shift: rework to no longer load whole grid into memory
- remove hgrids and vgrids member from PJ structure, and store them in hgridshift/vgridshift/deformation structures
- build systems: add optional libtiff dependency. Must be explicitly disabled if not desired
- add support for horizontal and vertical grids in GeoTIFF, if libtiff is available
- add GenericShiftGridSet and GenericShiftGrid classes, relying on TIFF grids, that can be used for generic purpose grid-based adjustment
- add a +proj=xyzgridshift method to perform geocentric translation by grid. Used for French NTF to RGF93 transformation using gr3df97a.tif grid
- deformation: add support for +grids= for GeoTIFF grids
- horizontal grid shift: fix failures on points slightly outside a subgrid (fixes #209)
* File management:
- add a filemanager.cpp/.hpp to deal with file related work
- test for legacy proj_api.h fileapi
- proj.h: add proj_context_set_fileapi() and proj_context_set_sqlite3_vfs_name() (fixes #866)
- add capability to read resource files from the user writable directory
* Network access:
- build systems: add optional curl dependency
- add a curl-based default implementation for network related functionality
- proj.h: add C API to control network functionality, and optionaly provide network callbacks
- add data/proj.ini with default settings
- add a SQLite3 local cache of downloaded chunks
- add proj_is_download_needed() and proj_download_file()
* Use Win32 Unicode APIs and expect all strings to be UTF-8 (fixes #1765)
For backward compatibility, if PROJ_LIB content is found to be not UTF-8 or
pointing to a non existing directory, then an attempt at interpretating it
in the ANSI page encoding is done.
proj_context_set_search_paths() now assumes strings to be in UTF-8, and
functions returning paths will also return values in UTF-8.
|
|
|
|
|
|
|
|
PROJ can build and run against older version (3.7 for example), but it has
been found that performance is horrible. With 3.11 (Ubuntu 16.04), it is
fine, so sets this as the minimum version.
|
|
cmake and autoconf now stipulate C99
change c89 to c99 in travis jobs
remove HAVE_C99_MATH checks
(unrelated) relax Visual Studio compatibility check in
cmake/project-config-version.cmake.in (VS 2019 can use a VS 2015 library
but not vice versa).
|
|
just includes math.h and limits.h) since it's included in a score of
places.
|
|
eliminate most of math.cpp. All that is left is the handling of
isnan (and I've this because math.cpp notes that gie.c uses pj_isnan).
geodesic.c now handles supplying C99 math functions internally and this
can go away once C99 support is mandated.
|
|
The supported C99 math functions provided by math.cpp are thus
hypot
log1p
asinh
atanh
copysign
cbrt
remainder
remquo
round
lround
Make compiler checks in CMakeLists.txt and configure.ac consistent with
this set.
Make geodesic.c use the math.cpp defined (instead of the internally
defined) versions of
hypot
atanh
copysign
cbrt
This is keyed off the presence of the PROJ_LIB macro. I had at one
time
https://github.com/OSGeo/PROJ/pull/1425
suggested supplying an additional macro PROJ_COMPILATION when compiling
geodesic.c. However, PROJ_LIB seems to fill the bill OK.
The *next* version of geodesic.c (due out in a few weeks) will also use
remainder
remquo
All of this is only of concern for C compilers without C99 support. So
this may become an historical footnote at some point.
|