|
1 PROJECT(qjson) |
|
2 |
|
3 set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" ) |
|
4 |
|
5 # Stop cmake 2.6 from whining |
|
6 CMAKE_MINIMUM_REQUIRED(VERSION 2.6) |
|
7 IF(COMMAND cmake_policy) |
|
8 CMAKE_POLICY(SET CMP0003 NEW) |
|
9 ENDIF(COMMAND cmake_policy) |
|
10 |
|
11 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked |
|
12 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules") |
|
13 |
|
14 set(CMAKE_INSTALL_NAME_DIR ${LIB_INSTALL_DIR}) |
|
15 |
|
16 # compile in debug mode |
|
17 IF(NOT CMAKE_BUILD_TYPE) |
|
18 SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING |
|
19 "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." |
|
20 FORCE) |
|
21 ENDIF(NOT CMAKE_BUILD_TYPE) |
|
22 |
|
23 IF("${CMAKE_BUILD_TYPE}" MATCHES "^Rel.*") |
|
24 ADD_DEFINITIONS("-DQT_NO_DEBUG_OUTPUT") |
|
25 ADD_DEFINITIONS("-DQT_NO_DEBUG_OUTPUT") |
|
26 ENDIF("${CMAKE_BUILD_TYPE}" MATCHES "^Rel.*") |
|
27 |
|
28 # Ability to disable verbose debug output |
|
29 IF(QJSON_VERBOSE_DEBUG_OUTPUT) |
|
30 ADD_DEFINITIONS("-DQJSON_VERBOSE_DEBUG_OUTPUT") |
|
31 endif(QJSON_VERBOSE_DEBUG_OUTPUT) |
|
32 |
|
33 # Find Qt4 |
|
34 FIND_PACKAGE( Qt4 REQUIRED ) |
|
35 |
|
36 SET( QT_DONT_USE_QTGUI TRUE ) |
|
37 |
|
38 #add extra search paths for libraries and includes |
|
39 SET (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" ) |
|
40 SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Directory where lib will install") |
|
41 SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The directory the headers are installed in") |
|
42 SET (CMAKE_MODULES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/apps/cmake/modules" CACHE PATH "The directory to install FindQRpc.cmake to") |
|
43 |
|
44 |
|
45 set(QJSON_LIB_MAJOR_VERSION "0") |
|
46 set(QJSON_LIB_MINOR_VERSION "7") |
|
47 set(QJSON_LIB_PATCH_VERSION "1") |
|
48 |
|
49 set(QJSON_LIB_VERSION_STRING "${QJSON_LIB_MAJOR_VERSION}.${QJSON_LIB_MINOR_VERSION}.${QJSON_LIB_PATCH_VERSION}") |
|
50 |
|
51 set(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}" ) |
|
52 |
|
53 # pkg-config |
|
54 IF (NOT WIN32) |
|
55 CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/QJson.pc.in |
|
56 ${CMAKE_CURRENT_BINARY_DIR}/QJson.pc |
|
57 @ONLY) |
|
58 INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/QJson.pc |
|
59 DESTINATION lib${LIB_SUFFIX}/pkgconfig) |
|
60 ENDIF (NOT WIN32) |
|
61 |
|
62 # Include the cmake file needed to use qt4 |
|
63 INCLUDE( ${QT_USE_FILE} ) |
|
64 |
|
65 # Subdirs |
|
66 ADD_SUBDIRECTORY(src) |
|
67 IF (KDE4_BUILD_TESTS OR QJSON_BUILD_TESTS) |
|
68 enable_testing() |
|
69 ADD_SUBDIRECTORY(tests) |
|
70 ENDIF (KDE4_BUILD_TESTS OR QJSON_BUILD_TESTS) |
|
71 |
|
72 add_subdirectory(cmake/modules) |
|
73 |
|
74 |
|
75 #CONFIGURE_FILE( |
|
76 # "${CMAKE_MODULE_PATH}/cmake_uninstall.cmake.in" |
|
77 # "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" |
|
78 # IMMEDIATE @ONLY) |
|
79 |
|
80 #ADD_CUSTOM_TARGET(uninstall |
|
81 # "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") |