- added svncheck
[platform/upstream/libzypp-bindings.git] / CMakeLists.txt
1
2 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
3 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
4 SET(CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules ${CMAKE_MODULE_PATH})
5
6 INCLUDE(${CMAKE_SOURCE_DIR}/VERSION.cmake)
7
8 SET( PACKAGE "libzypp-bindings" )
9 SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
10
11 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Language Bindings for libzypp")
12 SET(CPACK_PACKAGE_VENDOR "Novell Inc.")
13 #SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
14 #SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
15 SET(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
16 SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
17 SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
18
19 SET( CPACK_GENERATOR "TBZ2")
20 SET( CPACK_SOURCE_GENERATOR "TBZ2")
21 SET( CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE}-${VERSION}" )
22
23 # The following components are regex's to match anywhere (unless anchored)
24 # in absolute path + filename to find files or directories to be excluded
25 # from source tarball.
26 SET (CPACK_SOURCE_IGNORE_FILES
27 "/CVS/;/.svn/;/.libs/;/.deps/;.swp$;.#;/#;/build/"
28 "~$"
29 "\\\\.cvsignore$"
30 "/package"
31 "Makefile\\\\.in$"
32 )
33
34 INCLUDE(CPack)
35
36 #FIND_PACKAGE(SWIG REQUIRED)
37 MESSAGE(STATUS "Looking modules in ${CMAKE_MODULE_PATH}")
38 FIND_PROGRAM(SWIG_EXECUTABLE
39   NAMES swig-1.3 swig
40   PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin ${CMAKE_INSTALL_PREFIX}/bin
41 )
42
43 IF ( NOT SWIG_EXECUTABLE )
44   MESSAGE( FATAL "SWIG not found." )
45 ELSE ( NOT SWIG_EXECUTABLE )
46   MESSAGE( STATUS "SWIG found at ${SWIG_EXECUTABLE}" )
47 ENDIF ( NOT SWIG_EXECUTABLE )
48
49 FIND_PACKAGE(Zypp REQUIRED)
50 FIND_PACKAGE(Ruby REQUIRED)
51
52 #RUBY_RUBY_LIB_PATH
53 MESSAGE( STATUS "Ruby arch dir: ${RUBY_ARCH_DIR}" )
54
55 ADD_SUBDIRECTORY(swig)
56
57 ADD_CUSTOM_TARGET( svncheck
58   COMMAND cd $(CMAKE_SOURCE_DIR) && ! LC_ALL=C svn status --show-updates
59   --quiet | grep -v '^Status against revision'
60 )
61
62 SET( AUTOBUILD_COMMAND
63   COMMAND ${CMAKE_MAKE_PROGRAM} package_source
64   COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 ${CMAKE_BINARY_DIR}/package
65   COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2
66   COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/${PACKAGE}.changes" "${CMAKE_BINARY_DIR}/package/${PACKAGE}.changes"
67 )
68
69 ADD_CUSTOM_TARGET( autobuild_local
70   ${AUTOBUILD_COMMAND}
71 )
72
73 ADD_CUSTOM_TARGET( autobuild
74   COMMAND ${CMAKE_MAKE_PROGRAM} svncheck
75   ${AUTOBUILD_COMMAND}
76 )
77
78 MESSAGE(STATUS "Writing spec file...")
79 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/libzypp-bindings.spec.cmake ${CMAKE_BINARY_DIR}/package/libzypp-bindings.spec @ONLY)
80