diff --git a/CMakeLists.txt b/CMakeLists.txt index eb4522800688939b23d5b34021283ee5f8d7d99d..2392c2dc0baf020290fe68fbe837aa507f6fc6fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,7 @@ # By Nguyen Anh Quynh, 2016 cmake_minimum_required(VERSION 2.8.7) +project(keystone) set(KEYSTONE_VERSION_MAJOR 0) set(KEYSTONE_VERSION_MINOR 9) @@ -46,6 +47,30 @@ else() add_subdirectory(kstool) endif() +# generate and install pkg-config.pc +FIND_PACKAGE(PkgConfig) +SET(PKG_CONFIG_FILE_PATH + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" +) +SET(PKG_CONFIG_LIBDIR + "${CMAKE_INSTALL_PREFIX}/lib" +) +SET(PKG_CONFIG_INCLUDEDIR + "${CMAKE_INSTALL_PREFIX}/include" +) +SET(PKG_CONFIG_LIBS + "-L\${libdir} -lkeystone" +) +SET(PKG_CONFIG_CFLAGS + "-I\${includedir}" +) +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/pkg-config.pc.cmake" + "${PKG_CONFIG_FILE_PATH}" +) +INSTALL(FILES "${PKG_CONFIG_FILE_PATH}" + DESTINATION lib/pkgconfig) + # uninstall target configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/CMakeUninstall.in" diff --git a/pkg-config.pc.cmake b/pkg-config.pc.cmake new file mode 100644 index 0000000000000000000000000000000000000000..20f6992d86ce09ac8c2506cfb874532727001632 --- /dev/null +++ b/pkg-config.pc.cmake @@ -0,0 +1,7 @@ +Name: ${PROJECT_NAME} +Description: Keystone assembler engine +Version: ${KEYSTONE_VERSION_MAJOR}.${KEYSTONE_VERSION_MINOR} +libdir=${PKG_CONFIG_LIBDIR} +includedir=${PKG_CONFIG_INCLUDEDIR} +Libs: ${PKG_CONFIG_LIBS} +Cflags: ${PKG_CONFIG_CFLAGS}