aboutsummaryrefslogtreecommitdiff
path: root/src/lib_proj.cmake
AgeCommit message (Collapse)Author
2022-02-23Simple SOVERSION (#3066)9.0.0Mike Taves
Co-authored-by: Bas Couwenberg <sebastic@xs4all.nl>
2022-02-14CMake: split configuration files for apps and tests (#3048)Mike Taves
2022-02-07CMake: make BUILD_SHARED_LIBS=ON the default even on WindowsEven Rouault
2021-10-25Merge pull request #2913 from rouault/fix_2905Even Rouault
lib_proj.cmake: add a PROJ::proj alias and add BUILD_INTERFACE include directories...
2021-10-25lib_proj.cmake: add a PROJ::proj alias and add BUILD_INTERFACE include ↵Even Rouault
directories, so that proj can be used as a subdirectory of a larger project (fixes #2905)
2021-10-23CMake: revise how we deal with symbol export and static buildsEven Rouault
- Remove the explicit PROJ_MSVC_DLL_IMPORT symbol used for importing symbols from a MSVC .dll: by default on MSVC, we use now __declspec(dllimport), unless PROJ_MSVC_DLL_EXPORT is defined by PROJ at build time. This makes it easier for users: they don't have to define anything special. This simplifies in particular the build of our binaries - For static builds, export -DPROJ_DLL= as public, so that users that import PROJ through CMake mechanism don't have to do it manually.
2021-10-11CMake build: add generate_wkt1_parser and generate_wkt2_parser manual ↵Even Rouault
target, and logic to detect when they must be run
2021-10-07cmake build: install proj_symbol_rename.hEven Rouault
2021-09-24cmake: check the right variable for `libdl`Ben Boeckel
2021-07-14CMake: remove external nlohmann_json from INTERFACE_LINK_LIBRARIES targetMike Taves
2021-07-13Add S2 projection (#2749)marcus-elia
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-02-19Merge branch 'master' into ml/enable-build-with-static-curlKristian Evers
2021-02-19Enable linking against static cURL on WindowsMateusz Łoskot
This is preliminary fix to allow linking the library as well as its dependants (e.g. PROJ apps) against cURL built as static library on Windows with support of native Windows TLS/SSL. On Windows, such static cURL (and its dependants) requires linking against Winsock, CryptoAPI and other networking libaries.
2021-02-19CMake: replace '${PROJ_CORE_TARGET}' with 'proj'Mike Taves
2021-02-14CMake: Prefer keyword signature of target_link_libraries commandMateusz Łoskot
Closes #2515
2021-02-03CMake: remove old configuration option aliasesMike Taves
2020-12-12Split coordinateoperation.cpp in many files in iso19111/operation directoryEven Rouault
The big size of coordinateoperation.cpp could require significant amount of RAM to build it with -O2 level, and cause compiler crashes in some environments.
2020-12-02Merge pull request #2444 from rouault/topocentricEven Rouault
Add +proj=topocentric geocentric->topocentric conversion (fixes #500)
2020-11-23Add +proj=topocentric geocentric->topocentric conversion (fixes #500)Even Rouault
2020-11-20Remove pj_errno and related functionsKristian Evers
2020-11-20Removed unused functions from src/utils.cppKristian Evers
2020-11-20Remove legacy file APIKristian Evers
2020-11-20Remove src/transform.cpp and related testsKristian Evers
2020-11-20Remove proj_api.hKristian Evers
Removes proj_api.h from the public API. The contents of the header file has been moved to proj_internal.h verbatim and any references to proj_api.h has been changed to proj_internal.h. The documentation of proj_api.h has been removed. The only exception to this is the API migration guides which still mention the old API. Fixes #837
2020-10-25Add +proj=col_urban projection, implementing a EPSG projection method used ↵Even Rouault
by a number of projected CRS in Colombia (fixes #589)
2020-09-30Add a +proj=tinshift for triangulation-based transformationsEven Rouault
Implements RFC-6
2020-08-19Revert compiler generated Fused Multiply Addition optimized routines (#2327)Even Rouault
Fixes #2326 Partially reverts commit b84c9d0cb61f3bd561da6092e15e294ae7e410e0 to remove the use of the gcc 6 mechanism of generated multiple versions of functions with different optimization flags, which was found to causes crashes when dlopen'ing PROJ on CentOS 7.8 with gcc 8.3.1
2020-07-07CMake build: Check "target_clones" before useKai Pastor
gcc's "target_clones" and "ifunc" function attributes rely on extensions to the ELF standard. Using them on MinGW causes "error: the call requires 'ifunc', which is not supported by this target". Amends 5396b72.
2020-05-28Implement wink2 inverse by generic inversion of forward methodEven Rouault
- Move the generic method initiated from adams_ws2 to a pj_generic_inverse_2d() method - Use it in adams_ws2 - Use it in wink2 Fixes https://github.com/qgis/QGIS/issues/35512
2020-05-19Implemented IGH Oceanic View (#2226)John Krasting
- The current implementation of the Interrupted Goode Homolosine projection emphasizes land area. This is a compliment projection that emphasizes ocean area. - A value of lon0=-160 produces a reasonable real-world map.
2020-05-16Add a +proj=defmodel transformation for multi-component time-based ↵Even Rouault
deformation models Fixes #1001 Co-authored-by: Chris Crook <ccrook@linz.govt.nz>
2020-04-15Merge pull request #2148 from kbevers/add_adams_projectionsKristian Evers
Add square conformal projections from libproject
2020-04-15Add square conformal projections from libprojectKristian Evers
This commit adds five new projections to PROJ: adams_hemi: Adams Hemisphere in a Square adams_wsI: Adams World in a Square I adams_wsII: Adams World in a Square II guyou: Guyou peirce_q: Pierce Quincuncial The code originates from Gerry Evendens libproject and has been adapted to work with modern PROJ. To ensure that the modified code works as intended extensive test data has been created using libproject and sproj so that no errors occured when porting from libproject to PROJ. The test data is wrapped in a gie files. All test cases reproduce results from libproject at the mm level.
2020-04-12Remove old geocent.h/.cpp codeEven Rouault
Last user, apart from transform.cpp, was the SCH projection. Modify it to use cart instead. And move content of geocent.h and .cpp into transform.cpp directly, so that it can be later wiped up easily.
2020-04-06autoconf build: fix build on Alpine 3.11 where ↵Even Rouault
__attribute__((target_clones("fma","default"))) doesn't work for some reason
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-02-22Merge pull request #1962 from mwtoews/sharedMike Taves
CMake: rename BUILD_LIBPROJ_SHARED to BUILD_SHARED_LIBS
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-21CMake: rename BUILD_LIBPROJ_SHARED to BUILD_SHARED_LIBSMike Taves
* Deprecate BUILD_LIBPROJ_SHARED, but still use it as an alias for now * Rename BUILD_LIBPROJ_SHARED_DEFAULT to BUILD_SHARED_LIBS_DEFAULT * Keep previous defaults (UNIX as shared and Windows as static) * Remove PROJ_LIBRARY_TYPE, since add_library() uses BUILD_SHARED_LIBS
2020-02-20CMake: rename ENABLE_LTO to ENABLE_IPOMike Taves
* Deprecate ENABLE_LTO, but still use it as an alias for now * Plan to remove ENABLE_LTO by PROJ 8.0 * Use CMake 3.9 logic to check feature and set property
2020-02-12Merge pull request #1923 from mwtoews/cmake-outputKristian Evers
CMake: simplify message functions
2020-02-11Use relative directory to locate PROJ resource files.Even Rouault
Fixes #1490 This is an extension of the Window-specific logic added recently to Unix builds. This reuses parts of proposed past commit https://github.com/OSGeo/PROJ/pull/1517/commits/82a07e51c6e24ddb936d131ababe29f1ac36ef14 (credits to @abellgithub)
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-28Add +proj=set operation to set component(s) of a coordinate to a fixed valueEven Rouault
Fixes #1846
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-07Remove deprecated JNI bindingsKristian Evers
Closes #1757
2019-12-11Merge pull request #1773 from orudge/msvc-no-static-exportsEven Rouault
Build: Only export symbols if building DLL