| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
None of variables calculated by the module are currently used.
Besides, this is legacy module which should not be necessary for
anything.
Related to #1263
|
|
|
|
Remove `PROJ_COMPILATION=1` definition
|
|
|
|
|
|
Remove (most) needs to fiddle with CMAKE_C_FLAGS / CMAKE_CXX_FLAGS
|
|
|
|
|
|
|
|
6.0.0 Release prep
|
|
|
|
|
|
Set required C++ standard version with CMake variable
instead of hand-rolled compiler-specific flags.
Allow user to override the default with -DCMAKE_CXX_STANDARD={98,11,14,17,20}
Closes #1118
|
|
|
|
This work mostly consists of:
- a C++ implementation of the ISO-19111:2018 / OGC Topic 2
"Referencing by coordinates" classes to represent Datums,
Coordinate systems, CRSs (Coordinate Reference Systems) and
Coordinate Operations.
- methods to convert between this C++ modeling and WKT1, WKT2
and PROJ string representations of those objects
- management and query of a SQLite3 database of CRS and Coordinate Operation definition
- a C API binding part of those capabilities
This is all-in-one squashed commit of the work of
https://github.com/OSGeo/proj.4/pull/1040
|
|
cmake: detect PTHREAD_MUTEX_RECURSIVE by compiling
|
|
The `check_symbol_exists` cannot detect `#define symbol 1` because it
takes the address of the symbol to detect it, but the address of a
literal is not allowed. Some platforms define `PTHREAD_MUTEX_RECURSIVE`
by such a literal.
Fixes #1158
|
|
CMake provides this function, but only in CMake 2.8.3 and up. This
minimum version bump is OK because it is from 2010, but the code
requires C++11 features to exist. Any platform with a suitable compiler,
but too-old of a CMake can easily compile the required CMake version as
well.
|
|
|
|
|
|
Also, workaround issue:
CMake Error at test/unit/CMakeLists.txt:7 (string):
string sub-command REGEX, mode REPLACE needs at least 6 arguments
total to command.
|
|
|
|
Add instruction to HOWTO-RELEASE as well so it is remembered in the
future.
|
|
Align version with the one defined in configure.ac.
|
|
builds only (CMake integration to be done)
|
|
The library does not require CDash server, so there is
no point in generating all testing configurations
(ie. Experimental, Continuous, Nightly)
CTest also adds implicit BUILD_TESTING option (default ON)
which is not used by the library - there is custom PROJ_TESTS.
|
|
and add catch2 framework
Hardened compilation flags come from GDAL' configure.ac and are
'combat proven'
Dummy test added just to demonstrate catch2 based tests work.
|
|
|
|
|
|
Collect custom C99 math functions in proj_math.h
|
|
|
|
We are relying more and more on C99 math functions. On C89 systems where
those functions are not available our own custom versions of those
functions are used instead. So far these has been spread across the code
base. This commit gathers them in the same file and introduces the
proj_math.h header. The build system checks for C99 math functions. If
not found the proj_math.h header make sure that C99 functions are
defined as their pj_ equivalent.
Ideally proj_math.h is included instead of math.h. This removes the need
for any checks against HAVE_C99_MATH in the code making it easier to
read.
For this commit the functions hypot, log1p and asinh has been taken care
of.
|
|
|
|
|
|
This allows us to take advantage of newer features when they are
available. However, builds on Travis still use -std=c89 to ensure C89
compatibility. Locally this can be achieved with either
* cmake -DCMAKE_C_STANDARD=90 ..
* cmake -DCMAKE_C_FLAGS='-std=c89' ..
* C_FLAGS='-std=c89' cmake ..
We also reorder the warning flags: they are all part of the standard
build now, but -Werror is only applied on Travis.
Fixes #892.
|
|
Extend HAVE_C99_MATH checks in CMakeLists.txt and configure.ac to
include test for C99 function isnan.
|
|
|
|
Set flags for Intel compiler to prevent incorrect optimization of
arithmetic expressions #826. Guard against nans in sincosdx #834.
Issue #831 is not addressed here (need more information...).
|
|
|
|
|
|
|
|
Also set policy CMP0054 to stop a cmake warning.
|
|
|
|
|
|
* Ensure C89 compliance and enable more warnings
According to the contributing guidelines, the library is developed
strictly in ANSI C 89. However, this is not enforced.
Additionally, we enable more warnings: apart from -Wall and -Wextra we
enable a warning that makes sure all enumeration values are covered in
a switch statement.
When compiling with Clang, we also turn on the warnings -Wc99-extensions
and -Wc11-extensions.
* Enable all warnings that are used on Travis
This makes it easier to notice problems before pushing.
|
|
* fix #560 install proj4-config.cmake to defaut path
* add some variable and cmake option to specify where
the cmake config file should be installed.
* change project_root_dir use in project-config.cmake.in
variable from hard coded path to computed path with
file(RELATIVE_PATH) function.
* Still use the old project-config.cmake/configure_file way
of generate config file. A cleaner way could be to use
the modern cmake export(target ..)
* use GNUInstallDirs for default unix install path
|
|
|