Install PkgConfig file

Similarly to previous commits which generate .cmake files to locate
this library from within CMakeLists.txt files, this commit provides
a PkgConfig file (osmpbf.pc) for similar configuration/compilation-
time information.
This commit is contained in:
Thomas Fischer 2016-01-29 11:00:18 +01:00
parent fbec2196e0
commit bf9b320537
3 changed files with 16 additions and 1 deletions

View File

@ -20,3 +20,6 @@ install(TARGETS osmpbf LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
configure_file("OsmpbfConfig.cmake.in" "OsmpbfConfig.cmake" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/OsmpbfConfig.cmake" DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/Osmpbf/)
configure_file("osmpbf.pc.in" "osmpbf.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/osmpbf.pc" DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/)

View File

@ -13,7 +13,7 @@ CXXFLAGS += -Wall -Wextra -pedantic -Wredundant-decls -Wdisabled-optimization -W
.PHONY: clean install
all: libosmpbf.a libosmpbf.so ../include/osmpbf/fileformat.pb.h ../include/osmpbf/osmformat.pb.h OsmpbfConfig.cmake
all: libosmpbf.a libosmpbf.so ../include/osmpbf/fileformat.pb.h ../include/osmpbf/osmformat.pb.h OsmpbfConfig.cmake osmpbf.pc
libosmpbf.a: fileformat.pb.o osmformat.pb.o
$(AR) -cr $@ fileformat.pb.o osmformat.pb.o
@ -46,6 +46,8 @@ install:
install -m 644 ../include/osmpbf/osmformat.pb.h $(DESTDIR)$(PREFIX)/include/osmpbf
install -m 755 -d $(DESTDIR)$(PREFIX)/lib/cmake/Osmpbf
install -m 644 OsmpbfConfig.cmake $(DESTDIR)$(PREFIX)/lib/cmake/Osmpbf
install -m 755 -d $(DESTDIR)$(PREFIX)/lib/pkgconfig
install -m 644 osmpbf.pc $(DESTDIR)$(PREFIX)/lib/pkgconfig
clean:
rm -f *.pb.h *.pb.cc *.pb.o libosmpbf.a OsmpbfConfig.cmake

10
src/osmpbf.pc.in Normal file
View File

@ -0,0 +1,10 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: OSM-Library
Description: Java/C library to read and write OpenStreetMap PBF files
Version: @OSMPBF_VERSION@
Libs: -L${libdir} -losmpbf
Cflags: -I${includedir}