+
+ +
+

Using PROJ in CMake projects

+

The recommended way to use the PROJ library in a CMake project is to +link to the imported library target PROJ::proj provided by +the CMake configuration which comes with the library. Typical usage is:

+
find_package(PROJ CONFIG REQUIRED)
+
+target_link_libraries(MyApp PRIVATE PROJ::proj)
+
+
+

By adding the imported library target PROJ::proj to the +target link libraries, CMake will also pass the include directories to +the compiler.

+

The CMake command find_package will look for the configuration in a +number of places. The lookup can be adjusted for all packages by setting +the cache variable or environment variable CMAKE_PREFIX_PATH. In +particular, CMake will consult (and set) the cache variable +PROJ_DIR.

+

The old CMake name for the PROJ project was “PROJ4” and the switch to +the name “PROJ” was made with version 7.0. So if you expect your +package to work with pre-7.0 versions of PROJ, you will need to use

+
find_package(PROJ4)
+target_link_libraries(MyApp PRIVATE ${PROJ4_LIBRARIES})
+include_directories(${PROJ4_INCLUDE_DIRS})
+
+
+

This will also find version 7.0. This use of the PROJ4 name will be +phased out at some point.

+
+ + +
+