Adappt to boost-1.39
[platform/upstream/libzypp-bindings.git] / CMakeLists.txt
1 #
2 #  CMakeLists.txt for libzypp-bindings
3 #
4 #
5
6 cmake_minimum_required(VERSION 2.6)
7
8 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -fno-strict-aliasing")
9
10 #
11 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
12 #
13
14 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
15 SET(CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules ${CMAKE_MODULE_PATH})
16
17 #
18 # versioning, packaging
19 #
20
21 INCLUDE(${CMAKE_SOURCE_DIR}/VERSION.cmake)
22
23 SET( PACKAGE "libzypp-bindings" )
24 SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
25
26 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Language Bindings for libzypp")
27 SET(CPACK_PACKAGE_VENDOR "Novell Inc.")
28 #SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
29 #SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
30 SET(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
31 SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
32 SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
33
34 SET( CPACK_GENERATOR "TBZ2")
35 SET( CPACK_SOURCE_GENERATOR "TBZ2")
36 SET( CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE}-${VERSION}" )
37
38 # The following components are regex's to match anywhere (unless anchored)
39 # in absolute path + filename to find files or directories to be excluded
40 # from source tarball.
41 SET (CPACK_SOURCE_IGNORE_FILES
42 "/CVS/;/.svn/;/.libs/;/.deps/;.swp$;.#;/#;/build/"
43 "~$"
44 "\\\\.cvsignore$"
45 "/package"
46 "Makefile\\\\.in$"
47 )
48
49 INCLUDE(CPack)
50
51 MESSAGE(STATUS "Looking modules in ${CMAKE_MODULE_PATH}")
52
53
54 #
55 # Finding Swig
56 #
57
58 FIND_PACKAGE(SWIG REQUIRED)
59
60 #
61 # Finding Zypp
62 #
63
64 FIND_PACKAGE(Zypp REQUIRED)
65
66 SET( SWIG_DEFINITIONS -DZYPP_DEPRECATED )
67
68 FIND_PATH( BOOST_SMARTPTR_INCLUDE_DIR boost/smart_ptr/shared_ptr.hpp
69         /usr/include
70         /usr/local/include
71 )
72 IF( BOOST_SMARTPTR_INCLUDE_DIR )
73         SET( SWIG_DEFINITIONS ${SWIG_DEFINITIONS} -DBOOST_SMARTPTR_INCLUDE_DIR )
74 ENDIF( BOOST_SMARTPTR_INCLUDE_DIR )
75
76 # Now into SWIG
77
78 ADD_SUBDIRECTORY(swig)
79
80
81 #
82 #
83 #
84
85 ADD_CUSTOM_TARGET( svncheck
86   COMMAND cd $(CMAKE_SOURCE_DIR) && ! LC_ALL=C svn status --show-updates
87   --quiet | grep -v '^Status against revision'
88 )
89
90 SET( SRCPACKAGE_COMMAND
91   COMMAND ${CMAKE_MAKE_PROGRAM} package_source
92   COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 ${CMAKE_BINARY_DIR}/package/
93   COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2
94   COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/${PACKAGE}.changes" "${CMAKE_BINARY_DIR}/package/${PACKAGE}.changes"
95 )
96
97 ADD_CUSTOM_TARGET( srcpackage_local
98   ${SRCPACKAGE_COMMAND}
99 )
100
101 ADD_CUSTOM_TARGET( srcpackage
102   COMMAND ${CMAKE_MAKE_PROGRAM} svncheck
103   ${SRCPACKAGE_COMMAND}
104 )
105
106 MESSAGE(STATUS "Writing spec file...")
107 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/libzypp-bindings.spec.in ${CMAKE_BINARY_DIR}/package/libzypp-bindings.spec @ONLY)