- highlight goals updated less than 5 minutes ago
[buliscores] / qjson / CMakeLists.txt
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_ROOT}/Modules" CACHE PATH "The directory to install FindQJSON.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 GET_TARGET_PROPERTY(LIB_OUT_NAME qjson LOCATION)
81 GET_FILENAME_COMPONENT(LIB_OUT_NAME  ${LIB_OUT_NAME} NAME)
82
83 # cmake-modules
84 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/qjson-config.cmake.in
85                ${CMAKE_CURRENT_BINARY_DIR}/qjson-config.cmake
86                @ONLY)
87 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/qjson-config-version.cmake.in
88                ${CMAKE_CURRENT_BINARY_DIR}/qjson-config-version.cmake
89                @ONLY)
90 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/qjson-config.cmake
91               ${CMAKE_CURRENT_BINARY_DIR}/qjson-config-version.cmake
92         DESTINATION "lib/cmake/qjson")
93
94 ADD_CUSTOM_TARGET(uninstall
95   "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")