Eobj: Add pkg-config file and start installing stuff.
[profile/ivi/eobj.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2 project(eobj)
3 set(EOBJ_VERSION_MAJOR 0)
4 set(EOBJ_VERSION_MINOR 1)
5 set(EOBJ_VERSION_MICRO 0)
6 set(EOBJ_VERSION ${EOBJ_VERSION_MAJOR}.${EOBJ_VERSION_MINOR}.${EOBJ_VERSION_MICRO})
7
8 set(PACKAGE ${CMAKE_PROJECT_NAME})
9 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
10
11 include_directories ("${PROJECT_BINARY_DIR}")
12
13 find_package(Eina REQUIRED)
14 find_package(Evas REQUIRED)
15 find_package(Elementary REQUIRED)
16
17 # likely put this into an FindCompilerAttribute.cmake:
18 INCLUDE(CheckCSourceCompiles)
19 SET(HAVE___ATTRIBUTE__)
20 CHECK_C_SOURCE_COMPILES(
21    "void  foo (int bar __attribute__((unused)) ) { }
22    static void baz (void) __attribute__((unused));
23    static void baz (void) { }
24    int main(){}
25    " HAVE___ATTRIBUTE__
26    )
27
28 ADD_DEFINITIONS(-DPACKAGE_BIN_DIR="${CMAKE_INSTALL_PREFIX}/bin"
29    -DPACKAGE_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/${CMAKE_PROJECT_NAME}"
30    -DPACKAGE_LIB_DIR="${CMAKE_INSTALL_PREFIX}/lib")
31
32 ADD_DEFINITIONS(-DHAVE_CONFIG_H)
33
34 configure_file (
35    "${PROJECT_SOURCE_DIR}/cmakeconfig.h.in"
36    "${PROJECT_BINARY_DIR}/config.h"
37    )
38
39 include(EFLCheck)
40
41 add_subdirectory(lib)
42 add_subdirectory(examples/evas)
43 add_subdirectory(examples/mixin)
44 add_subdirectory(examples/signals)
45 add_subdirectory(examples/access)
46 add_subdirectory(examples/constructors)
47 add_subdirectory(examples/function_overrides)
48 add_subdirectory(examples/composite_objects)
49
50 add_subdirectory(tests EXCLUDE_FROM_ALL)
51
52 add_subdirectory(doc)
53
54 # PKGCONFIG file.
55 CONFIGURE_FILE(
56    "${PROJECT_SOURCE_DIR}/eobj.pc.in"
57    "${PROJECT_BINARY_DIR}/eobj.pc"
58    )
59
60 INSTALL(FILES "${PROJECT_BINARY_DIR}/eobj.pc"
61       DESTINATION "lib/pkgconfig")