]> icculus.org git repositories - duncan/yast2-ruby-bindings.git/blob - CMakeLists.txt
- update to new syntax
[duncan/yast2-ruby-bindings.git] / CMakeLists.txt
1 PROJECT(yast2-ruby-bindings)
2
3 SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O3 -Wall -Woverloaded-virtual" )
4 SET( CMAKE_C_FLAGS   "${CMAKE_C_FLAGS}   -g -O3 -Wall" )
5
6 # Library
7 IF ( DEFINED LIB )
8   SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}" )
9 ELSE ( DEFINED  LIB )
10   IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
11     SET( LIB_SUFFIX "64" )
12   ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "8")
13   SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" )
14 ENDIF ( DEFINED  LIB )
15 MESSAGE(STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}" )
16
17 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
18 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
19 #SET(CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules ${CMAKE_MODULE_PATH})
20
21 SET( PACKAGE "yast2-ruby-bindings" )
22 INCLUDE(${CMAKE_SOURCE_DIR}/VERSION.cmake)
23 SET ( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
24
25 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Language Bindings for YaST")
26 SET(CPACK_PACKAGE_VENDOR "Novell Inc.")
27 #SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
28 #SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
29 SET(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
30 SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
31 SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
32
33 SET( CPACK_GENERATOR "TBZ2")
34 SET( CPACK_SOURCE_GENERATOR "TBZ2")
35 SET( CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE}-${VERSION}" )
36
37 # The following components are regex's to match anywhere (unless anchored)
38 # in absolute path + filename to find files or directories to be excluded
39 # from source tarball.
40 SET (CPACK_SOURCE_IGNORE_FILES
41 "/CVS/;/.svn/;/.libs/;/.deps/;/.git/;.swp$;.#;/#;/build/"
42 "~$"
43 "\\\\.cvsignore$"
44 "/package"
45 "Makefile\\\\.in$"
46 )
47
48 INCLUDE(CPack)
49
50 #FIND_PACKAGE(SWIG REQUIRED)
51
52 FIND_PROGRAM(SWIG_EXECUTABLE
53   NAMES swig-1.3 swig
54   PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin ${CMAKE_INSTALL_PREFIX}/bin
55 )
56
57 IF ( NOT SWIG_EXECUTABLE )
58   MESSAGE( FATAL "SWIG not found." )
59 ELSE ( NOT SWIG_EXECUTABLE )
60   MESSAGE( STATUS "SWIG found at ${SWIG_EXECUTABLE}" )
61 ENDIF ( NOT SWIG_EXECUTABLE )
62
63 FIND_PACKAGE(Yast REQUIRED)
64 FIND_PACKAGE(Ruby REQUIRED)
65
66 #RUBY_RUBY_LIB_PATH
67 MESSAGE( STATUS "Ruby vendor arch dir: ${RUBY_VENDORARCH_DIR}" )
68
69 ####################################################################
70 # RPM SPEC                                                         #
71 ####################################################################
72 MESSAGE(STATUS "Writing spec file...")
73 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${PACKAGE}.spec.in ${CMAKE_BINARY_DIR}/package/${PACKAGE}.spec @ONLY)
74
75 ADD_SUBDIRECTORY(src)
76
77 INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
78
79 ADD_CUSTOM_TARGET( svncheck
80   COMMAND cd $(CMAKE_SOURCE_DIR) && ! LC_ALL=C svn status --show-updates --quiet | grep -v '^Status against revision'
81 )
82
83 SET( AUTOBUILD_COMMAND
84   COMMAND ${CMAKE_MAKE_PROGRAM} package_source
85   COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 ${CMAKE_BINARY_DIR}/package
86   COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2
87   COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/${PACKAGE}.changes" "${CMAKE_BINARY_DIR}/package/${PACKAGE}.changes"
88 )
89
90 ADD_CUSTOM_TARGET( srcpackage_local
91   ${AUTOBUILD_COMMAND}
92 )
93
94 ADD_CUSTOM_TARGET( srcpackage
95   COMMAND ${CMAKE_MAKE_PROGRAM} svncheck
96   ${AUTOBUILD_COMMAND}
97 )
98