2 # CMakeLists.txt for libzypp-bindings
6 cmake_minimum_required(VERSION 2.6)
10 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -fno-strict-aliasing")
13 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
16 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
17 SET(CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules ${CMAKE_MODULE_PATH})
22 # versioning, packaging
25 INCLUDE(${CMAKE_SOURCE_DIR}/VERSION.cmake)
27 SET( PACKAGE "libzypp-bindings" )
28 SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
31 GENERATE_PACKAGING(${PACKAGE} ${VERSION})
35 MESSAGE(STATUS "Looking modules in ${CMAKE_MODULE_PATH}")
41 FIND_PACKAGE(SWIG REQUIRED)
47 FIND_PACKAGE(Zypp REQUIRED)
49 # determine zypp version
50 EXECUTE_PROCESS(COMMAND "/usr/bin/readlink" ${ZYPP_LIBRARY} OUTPUT_VARIABLE ZYPP_SOFILE)
52 # match number at end, strip trailing \n by using a sub-match
53 STRING(REGEX MATCH "([0-9]+)\n$" ZYPP_VERSION "${ZYPP_SOFILE}")
54 SET( ZYPP_VERSION "${CMAKE_MATCH_1}" )
55 MESSAGE(STATUS "Zypp so library: ${ZYPP_SOFILE}, version ${ZYPP_VERSION}")
57 SET( SWIG_DEFINITIONS -DZYPP_DEPRECATED -DZYPP_VERSION=${ZYPP_VERSION} )
63 FIND_PATH( BOOST_SMARTPTR_INCLUDE_DIR boost/smart_ptr/shared_ptr.hpp
67 IF( BOOST_SMARTPTR_INCLUDE_DIR )
68 SET( SWIG_DEFINITIONS ${SWIG_DEFINITIONS} -DBOOST_SMARTPTR_INCLUDE_DIR )
69 ENDIF( BOOST_SMARTPTR_INCLUDE_DIR )
73 ADD_SUBDIRECTORY(swig)