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_LIBRARIES}
provided by
the CMake configuration which comes with the library. Typical usage is:
find_package(PROJ)
target_link_libraries(MyApp ${PROJ_LIBRARIES})
By adding the imported library target ${PROJ_LIBRARIES}
to the
target link libraries, CMake will also pass the include directories to
the compiler. This requires that you use CMake version 2.8.11 or later.
If you are using an older version of CMake, then add
include_directories(${PROJ_INCLUDE_DIRS})
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 ${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.