Add pkg-config metadata files for libraries (#2680)
Should core, ext, libm, and/or port libraries be properly installed on some system, help compilation and linking against them by providing standard `.pc` files, which can be picked up by pkg-config. JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
This commit is contained in:
@@ -276,14 +276,22 @@ target_compile_definitions(${JERRY_CORE_NAME} PUBLIC ${DEFINES_JERRY})
|
||||
target_include_directories(${JERRY_CORE_NAME} PUBLIC ${INCLUDE_CORE_PUBLIC})
|
||||
target_include_directories(${JERRY_CORE_NAME} PRIVATE ${INCLUDE_CORE_PRIVATE})
|
||||
|
||||
set(JERRY_CORE_PKGCONFIG_REQUIRES)
|
||||
set(JERRY_CORE_PKGCONFIG_LIBS)
|
||||
|
||||
if(JERRY_LIBM)
|
||||
target_link_libraries(${JERRY_CORE_NAME} jerry-libm)
|
||||
set(JERRY_CORE_PKGCONFIG_REQUIRES libjerry-libm)
|
||||
endif()
|
||||
|
||||
separate_arguments(EXTERNAL_LINK_LIBS)
|
||||
foreach(EXT_LIB ${EXTERNAL_LINK_LIBS})
|
||||
target_link_libraries(${JERRY_CORE_NAME} ${EXT_LIB})
|
||||
set(JERRY_CORE_PKGCONFIG_LIBS "${JERRY_CORE_PKGCONFIG_LIBS} -l${EXT_LIB}")
|
||||
endforeach()
|
||||
|
||||
configure_file(libjerry-core.pc.in libjerry-core.pc @ONLY)
|
||||
|
||||
install(TARGETS ${JERRY_CORE_NAME} DESTINATION lib)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libjerry-core.pc DESTINATION lib/pkgconfig)
|
||||
install(DIRECTORY ${INCLUDE_CORE_PUBLIC}/ DESTINATION include)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: libjerry-core
|
||||
Description: JerryScript: lightweight JavaScript engine (core engine library)
|
||||
URL: https://github.com/pando-project/jerryscript
|
||||
Version: 1.0
|
||||
Requires.private: @JERRY_CORE_PKGCONFIG_REQUIRES@ # NOTE: libjerry-port-default* is not added as a required package
|
||||
Libs: -L${libdir} -ljerry-core
|
||||
Libs.private: @JERRY_CORE_PKGCONFIG_LIBS@
|
||||
Cflags: -I${includedir}
|
||||
Reference in New Issue
Block a user