[libsigcplusplus/cmake-integration] cmake: add pkg-config support



commit a7cdbb9943c177fe338955cfc537e8cf5b43f1fe
Author: Marcin Kolny <marcin kolny gmail com>
Date:   Sat Mar 12 12:55:00 2016 +0100

    cmake: add pkg-config support

 CMakeLists.txt          |   15 ++++++++++++---
 examples/CMakeLists.txt |    2 +-
 sigc++/CMakeLists.txt   |    6 +++---
 tests/CMakeLists.txt    |    2 +-
 4 files changed, 17 insertions(+), 8 deletions(-)
---
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5158567..7d70f93 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,13 +20,13 @@ set (SIGCXX_MAJOR_VERSION 2)
 set (SIGCXX_MINOR_VERSION 99)
 set (SIGCXX_MICRO_VERSION 1)
 
-set (LIBSIGCPP_PROJECT_VERSION 3.0)
-set (LIBSIGCPP_VERSION ${SIGCXX_MAJOR_VERSION}.${SIGCXX_MINOR_VERSION}.${SIGCXX_MICRO_VERSION})
+set (SIGCXX_API_VERSION 3.0)
+set (PACKAGE_VERSION ${SIGCXX_MAJOR_VERSION}.${SIGCXX_MINOR_VERSION}.${SIGCXX_MICRO_VERSION})
 set (LIBSIGCPP_SOVERSION 0)
 
 option (SIGCXX_DISABLE_DEPRECATED "Disable deprecated" OFF)
 
-project (libsigc++ ${LIBSIGC++_PROJECT_VERSION})
+project (libsigc++)
 
 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y")
 
@@ -37,6 +37,15 @@ include_directories (${libsigc++_BINARY_DIR})
 
 configure_file (sigc++config.h.cmake sigc++config.h)
 
+set (prefix ${CMAKE_INSTALL_PREFIX})
+set (exec_prefix \${prefix})
+set (libdir \${exec_prefix}/lib)
+set (datarootdir \${prefix})
+set (datadir \${datarootdir})
+set (includedir \${prefix}/include)
+configure_file (sigc++.pc.in sigc++-${SIGCXX_API_VERSION}.pc @ONLY)
+install (FILES ${CMAKE_CURRENT_BINARY_DIR}/sigc++-${SIGCXX_API_VERSION}.pc DESTINATION 
${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
+
 enable_testing()
 
 add_subdirectory (sigc++)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 8248198..e888e24 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -17,7 +17,7 @@
 function (add_sigcpp_example EXAMPLE_SOURCE_FILE)
        get_filename_component (example_name ${EXAMPLE_SOURCE_FILE} NAME_WE)
        add_executable (${example_name} ${EXAMPLE_SOURCE_FILE})
-       target_link_libraries (${example_name} ${PROJECT_NAME}-${LIBSIGCPP_PROJECT_VERSION})
+       target_link_libraries (${example_name} ${PROJECT_NAME}-${SIGCXX_API_VERSION})
 endfunction (add_sigcpp_example)
 
 add_sigcpp_example (hello_world.cc)
diff --git a/sigc++/CMakeLists.txt b/sigc++/CMakeLists.txt
index 9a720dd..0653285 100644
--- a/sigc++/CMakeLists.txt
+++ b/sigc++/CMakeLists.txt
@@ -23,18 +23,18 @@ set (SOURCE_FILES
        functors/slot.cc
 )
 
-set (SIGCPP_LIB_NAME ${PROJECT_NAME}-${LIBSIGCPP_PROJECT_VERSION})
+set (SIGCPP_LIB_NAME ${PROJECT_NAME}-${SIGCXX_API_VERSION})
 
 add_library(${SIGCPP_LIB_NAME} SHARED ${SOURCE_FILES})
 
-set_property (TARGET ${SIGCPP_LIB_NAME} PROPERTY VERSION ${LIBSIGCPP_VERSION})
+set_property (TARGET ${SIGCPP_LIB_NAME} PROPERTY VERSION ${PACKAGE_VERSION})
 set_property(TARGET ${SIGCPP_LIB_NAME}  PROPERTY SOVERSION ${LIBSIGCPP_SOVERSION})
 
 file (GLOB SIGCPP_HEADERS                      ${PROJECT_SOURCE_DIR}/*.h)
 file (GLOB SIGCPP_ADAPTOR_HEADERS      ${PROJECT_SOURCE_DIR}/adaptors/*.h)
 file (GLOB SIGCPP_FUNCTOR_HEADERS      ${PROJECT_SOURCE_DIR}/functors/*.h)
 
-set (SIGCPP_INCLUDE_DIR include/sigc++-${LIBSIGCPP_PROJECT_VERSION}/sigc++)
+set (SIGCPP_INCLUDE_DIR include/sigc++-${SIGCXX_API_VERSION}/sigc++)
 
 install (TARGETS       ${SIGCPP_LIB_NAME}                      DESTINATION lib)
 install (FILES         ${SIGCPP_HEADERS}                       DESTINATION ${SIGCPP_INCLUDE_DIR})
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 50341c4..89c6111 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -19,7 +19,7 @@ enable_testing ()
 function (add_sigcpp_test TEST_SOURCE_FILE)
        get_filename_component (test_name ${TEST_SOURCE_FILE} NAME_WE)
        add_executable (${test_name} ${TEST_SOURCE_FILE} testutilities.cc)
-       target_link_libraries (${test_name} ${PROJECT_NAME}-${LIBSIGCPP_PROJECT_VERSION})
+       target_link_libraries (${test_name} ${PROJECT_NAME}-${SIGCXX_API_VERSION})
        add_test (${test_name} ${CMAKE_CURRENT_BINARY_DIR}/${test_name})
 endfunction (add_sigcpp_test)
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]