aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2020-07-01Update version numbersEven Rouault
2020-06-23Update ABI version numbers for 7.1.0 releaseKristian Evers
2020-03-28CMake: prefer to use use PROJ_SOURCE_DIR and PROJ_BINARY_DIR (#2100)Mike Taves
* 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)
2020-03-03cmakelint changes as requestedHoward Butler
2020-03-02Follow PDAL's CMake RPATH strategyHoward Butler
2020-03-01Bump version numbers in preparation for 7.1.0Kristian Evers
2020-02-21Switch build configuration logic from DISABLE_TIFF to ENABLE_TIFFMike Taves
* 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
2020-02-20Add/update description for pkg-config and CMakeMike Taves
Ignore WARNING: 'proj.pc.in' seems to ignore the --datarootdir setting
2020-02-17Update ABI version numbers for 7.0.0 releaseKristian Evers
2020-02-11CMake: simplify message functionsMike Taves
* Remove colormsg(); just use message() * Rename boost_report_value() with print_variable()
2020-02-04Make PROJ the CMake project nameCharles Karney
Allow both find_package(PROJ) and find_package(PROJ4). More details are in cmake/CMakeLists.txt.
2020-02-04Increase CMake minimum version from 3.5 to 3.9Mike Taves
* Also remove a few if()-blocks to support older CMake versions
2020-01-24CMake: replace PROJ_TESTS with CTest's BUILD_TESTING optionMike Taves
* 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
2020-01-22Merge RFC4 (#1865)Even Rouault
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.
2020-01-01Bump version numbers in preparation for 7.0.0 releaseKristian Evers
2019-12-28Update ABI numbers for 6.3.0 releaseKristian Evers
2019-11-25Change version numbers to 6.3.0Even Rouault
2019-11-07Build: require SQLite 3.11 (refs #1718)Even Rouault
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.
2019-09-19Require C99 compiler see #1621Charles Karney
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).
2019-09-18math.cpp removed since its isnan isn't used. Keep proj_math.h (whichCharles Karney
just includes math.h and limits.h) since it's included in a score of places.
2019-09-18Get rid of dead code. The end result of this chain of commits is toCharles Karney
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.
2019-09-17Add atanh, copysign, cbrt, remainder, remquo to math.cpp.Charles Karney
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.
2019-09-01Update version numbers in preparation for 7.0.0Kristian Evers
2019-08-26Update API numbers in preparation for 6.2.0 releaseKristian Evers
2019-08-26Update ABI numbers in preparation for 6.2.0 releaseKristian Evers
2019-05-23Remove ProjSystemInfo.cmake module as unusedMateusz Łoskot
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
2019-05-06Update ABI version number for 6.1.0Kristian Evers
2019-05-01Merge pull request #1425 from mwtoews/defineKristian Evers
Remove `PROJ_COMPILATION=1` definition
2019-04-16CMake: better support for Intel compilerMike Taves
2019-04-16Remove `PROJ_COMPILATION=1` definitionMike Taves
2019-04-05CMake: cache C/C++ warn flags to compile PROJ targetsMike Taves
Remove (most) needs to fiddle with CMAKE_C_FLAGS / CMAKE_CXX_FLAGS
2019-04-03CMake: Set -fvisibility=hidden using global variableMike Taves
2019-03-19Normalize CMake with cmakelint, 2-space indentMike Taves
2019-03-01Bump version numbers in preparation for 6.1.0Kristian Evers
2019-02-16Merge pull request #1267 from kbevers/release-prepKristian Evers
6.0.0 Release prep
2019-02-16Improve CMake sqlite3 dependency docsMike Taves
2019-02-14Bump ABI version numberKristian Evers
2019-02-13Set CMake variable CXX_STANDARD with C++11 as defaultMateusz Łoskot
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
2018-11-15autoconf / cmake: build test/ only if neededEven Rouault
2018-11-14Implement RFC 2: Initial integration of "GDAL SRS barn" workEven Rouault
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
2018-10-27Merge pull request #1164 from mathstuf/cmake-pthread-mutex-recursive-detectionKristian Evers
cmake: detect PTHREAD_MUTEX_RECURSIVE by compiling
2018-10-26cmake: detect PTHREAD_MUTEX_RECURSIVE by compilingBen Boeckel
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
2018-10-26ProjVersion: use cmake_parse_argumentsBen Boeckel
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.
2018-09-18Rename nad/ directory as data/Even Rouault
2018-09-15Bump version numbers after 5.2.0 releaseKristian Evers
2018-09-11Specify c++11 for Intel compilersMike Toews
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.
2018-09-10Update ABI version for 5.2 releaseKristian Evers
2018-06-20Raise version number to 5.2.0 in CMake configKristian Evers
Add instruction to HOWTO-RELEASE as well so it is remembered in the future.
2018-06-08CMake: bump PROJ version to 5.1.0Mateusz Loskot
Align version with the one defined in configure.ac.
2018-06-07Add googletest 1.8.0 framework in test/googletest, and use it with autoconf ↵Even Rouault
builds only (CMake integration to be done)