- add cmake support for building zypp/ lib.
[platform/upstream/libzypp.git] / CMakeLists.txt
1 PROJECT(libzypp)
2
3 ####################################################################
4 # CONFIGURATION                                                    #
5 ####################################################################
6
7 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
8 SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
9
10 INCLUDE(${CMAKE_SOURCE_DIR}/VERSION.cmake)
11 MATH ( EXPR LIBZYPP_CURRENT "${LIBZYPP_MAJOR} * 100 + ${LIBZYPP_MINOR}" )
12 MATH ( EXPR LIBZYPP_AGE "${LIBZYPP_MINOR} - ${LIBZYPP_COMPATMINOR}" )
13 SET ( LIBZYPP_VERSION_INFO "-version-info ${LIBZYPP_CURRENT}:${LIBZYPP_PATCH}:${LIBZYPP_AGE}" )
14
15 SET(VERSION "${LIBZYPP_MAJOR}.${LIBZYPP_MINOR}.${LIBZYPP_PATCH}")
16
17 ADD_DEFINITIONS( -DVERSION=\\\"${VERSION}\\\" )
18
19 FIND_PACKAGE(Boost REQUIRED)
20 FIND_PACKAGE(Gettext REQUIRED)
21 FIND_PACKAGE(Hal REQUIRED)
22 FIND_PACKAGE(Dbus REQUIRED)
23 FIND_PACKAGE(Glib REQUIRED)
24
25 IF (HAL_FOUND)
26   MESSAGE( STATUS "Hal found" )
27 ELSE(HAL_FOUND)
28   MESSAGE( ERROR "Hal not found" )
29 ENDIF(HAL_FOUND)
30
31 IF (GLIB_FOUND)
32   MESSAGE( STATUS "glib found" )
33 ELSE(GLIB_FOUND)
34   MESSAGE( ERROR "glib not found" )
35 ENDIF(GLIB_FOUND)
36
37 IF (DBUS_GLIB_FOUND)
38   MESSAGE( STATUS "dbus-glib found" )
39 ELSE(DBUS_GLIB_FOUND)
40   MESSAGE( ERROR "dbus-glib not found" )
41 ENDIF(DBUS_GLIB_FOUND)
42
43 MESSAGE(STATUS "soname: ${LIBZYPP_CURRENT}.${LIBZYPP_PATCH}.${LIBZYPP_AGE}")
44 MESSAGE(STATUS "version: ${VERSION}")
45 #yumschemadir=${zyppdir}/schema/yum
46 #xmlstoreschemadir=${zyppdir}/schema/xmlstore
47
48 ####################################################################
49 # RPM SPEC                                                         #
50 ####################################################################
51
52 MESSAGE(STATUS "Writing spec file...")
53 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/libzypp.spec.in ${CMAKE_BINARY_DIR}/package/libzypp.spec @ONLY)
54
55 MACRO(add_subdir_sources subdir real_sources)
56   MESSAGE( STATUS "Adding ${subdir} to sources..." )
57   SET(sources)
58   INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/CMakeLists.txt")
59   FOREACH(src ${sources})
60     MESSAGE( STATUS "  - ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/${src}" )
61     SET(real_sources ${real_sources} "${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/${src}")
62   ENDFOREACH(src)
63 ENDMACRO(add_subdir_sources)
64
65 ####################################################################
66 # SUBDIRECTORIES                                                   #
67 ####################################################################
68
69 ADD_SUBDIRECTORY( zypp ) 
70 #ADD_SUBDIRECTORY( zypp2 ) 
71 #ADD_SUBDIRECTORY( examples ) 
72 #ADD_SUBDIRECTORY( tools ) 
73 #ADD_SUBDIRECTORY( testsuite ) 
74 #ADD_SUBDIRECTORY( po ) 
75 #ADD_SUBDIRECTORY( doc ) 
76
77 ####################################################################
78 # INCLUDES                                                         #
79 ####################################################################
80
81 INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
82
83 ####################################################################
84 # OTHERS                                                           #
85 ####################################################################
86
87 #configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h )
88
89 ####################################################################
90 # INSTALL                                                          #
91 ####################################################################
92
93 #INSTALL_FILES(  FILES  libzypp.pc )