aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2022-03-09Merge pull request #3099 from rouault/fix_3078Even Rouault
CMake: fix installation of proj.pc on Windows (fixes #3078)
2022-02-23Simple SOVERSION (#3066)9.0.0Mike Taves
Co-authored-by: Bas Couwenberg <sebastic@xs4all.nl>
2022-02-15Update version numbers for 9.0.0Kristian Evers
2022-02-15Update ABI numbers for 9.0.0 releaseKristian Evers
2022-02-13CMake: remove all Mac specific settings added per #2009, as they appear to ↵Even Rouault
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.
2022-02-05Revise pc file constructionKai Pastor
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++).
2021-12-26Update ABI numbers for 8.2.1 releaseKristian Evers
2021-12-24Fix build with Intel C++ compilerEven Rouault
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
2021-11-25Move option to module and add more commentsMike Taves
2021-11-20CMake: add option USE_CCACHE=OFF to use ccache to compile C/C++ objsMike Taves
2021-10-26Update ABI numbers for 8.2.0 releaseKristian Evers
2021-10-22CMake: align the VERSION of the library with libtool practicesEven Rouault
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
2021-08-05cmake: remove unused configure checks (#2789)Ben Boeckel
These results are just not used anywhere, so there's no need to check them (as the compiler will do it anyways).
2021-06-30Bump version numbers in anticipation of 8.2.0Kristian Evers
2021-06-25Update ABI numbers for 8.1.0 releaseKristian Evers
2021-05-09CMake: "make dist" workalike via CPack (#2690)Mike Taves
2021-04-30CMake build: add a NLOHMANN_JSON_ORIGIN=auto/external/internal setting ↵Even Rouault
allowing to choose which nlohmann/json to use Co-authored-by: Mike Taves <mwtoews@gmail.com>
2021-03-01Bump version numbers in anticipation of 8.1.0 releaseKristian Evers
2021-02-26CMake: add support for pkg-config (#2547)Mike Taves
2021-02-20Bump ABI numbers for 8.0.0 releaseKristian Evers
2021-02-07Merge pull request #2511 from mwtoews/remove-cmake-configurations-8.0Kristian Evers
CMake: remove old configuration option aliases
2021-02-03CMake: remove old configuration option aliasesMike Taves
2020-12-02Add build time option to make PROJ_LIB env var tested last (fixes #2399)Even Rouault
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.
2020-11-06automake and cmake: install COPYING, NEWS and AUTHORS in /share/doc/projEven Rouault
2020-11-01Update version numbers in preparation for 8.0.0 releaseKristian Evers
2020-10-26Use correct PROJ_API_VERSION following updated procedure in HOWTORELEASEKristian Evers
2020-10-26Bump ABI version numbers for 7.2 releaseKristian Evers
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