Ver código fonte

Add pkg-config file support for libcjson

We configure and install a pkg-config file so that our compilation and
linking flags can be more easily found using pkg-config.
Paulo Antonio Alvarez 8 anos atrás
pai
commit
d5baeff85f
2 arquivos alterados com 17 adições e 0 exclusões
  1. 8 0
      CMakeLists.txt
  2. 9 0
      libcjson.pc.in

+ 8 - 0
CMakeLists.txt

@@ -9,6 +9,10 @@ set(CJSON_VERSION "${CJSON_VERSION_MAJOR}.${CJSON_VERSION_MINOR}.${CJSON_VERSION
 
 add_compile_options(-ansi -pedantic -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings)
 
+#variables for pkg-config
+set(prefix ${CMAKE_INSTALL_PREFIX})
+set(libdir "${CMAKE_INSTALL_PREFIX}/lib")
+
 #cJSON
 set(PROJ_CJSON cJSON)
 set(CJSON_LIB cjson)
@@ -22,8 +26,12 @@ if (NOT WIN32)
     target_link_libraries(${CJSON_LIB} m)
 endif()
 
+configure_file("${cJSON_SOURCE_DIR}/libcjson.pc.in"
+    "${cJSON_BINARY_DIR}/libcjson.pc" @ONLY)
+
 install(TARGETS ${CJSON_LIB} DESTINATION lib${LIB_SUFFIX})
 install(FILES cJSON.h DESTINATION include/cjson)
+install (FILES ${cJSON_BINARY_DIR}/libcjson.pc DESTINATION lib/pkgconfig)
 
 set_target_properties(${CJSON_LIB}
     PROPERTIES

+ 9 - 0
libcjson.pc.in

@@ -0,0 +1,9 @@
+prefix=@prefix@
+libdir=@libdir@
+includedir=${prefix}/include/cJSON
+
+Name: libcJSON
+Version: 1.0
+Description: Ultralightweight JSON parser in ANSI C
+Libs: -L${libdir} -lcJSON
+Cflags: -I${includedir}