From c76bab3c1a3e018307d28139db5e3f62e9f07bca Mon Sep 17 00:00:00 2001 From: Adrian Herrera <adrian.herrera02@gmail.com> Date: Sat, 4 Jun 2016 15:00:33 +1000 Subject: [PATCH] Added ability to auto generate and install a keystone.pc file This is required for when I get around to writing some Haskell bindings :-) --- CMakeLists.txt | 25 +++++++++++++++++++++++++ pkg-config.pc.cmake | 7 +++++++ 2 files changed, 32 insertions(+) create mode 100644 pkg-config.pc.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index eb45228..2392c2d 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 0000000..20f6992 --- /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} -- GitLab