- Fix makefile to build.
[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} -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 # Now into SWIG
67
68 ADD_SUBDIRECTORY(swig)
69
70
71 #
72 #
73 #
74
75 ADD_CUSTOM_TARGET( svncheck
76   COMMAND cd $(CMAKE_SOURCE_DIR) && ! LC_ALL=C svn status --show-updates
77   --quiet | grep -v '^Status against revision'
78 )
79
80 SET( SRCPACKAGE_COMMAND
81   COMMAND ${CMAKE_MAKE_PROGRAM} package_source
82   COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 ${CMAKE_BINARY_DIR}/package/
83   COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2
84   COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/${PACKAGE}.changes" "${CMAKE_BINARY_DIR}/package/${PACKAGE}.changes"
85 )
86
87 ADD_CUSTOM_TARGET( srcpackage_local
88   ${SRCPACKAGE_COMMAND}
89 )
90
91 ADD_CUSTOM_TARGET( srcpackage
92   COMMAND ${CMAKE_MAKE_PROGRAM} svncheck
93   ${SRCPACKAGE_COMMAND}
94 )
95
96 MESSAGE(STATUS "Writing spec file...")
97 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/libzypp-bindings.spec.in ${CMAKE_BINARY_DIR}/package/libzypp-bindings.spec @ONLY)