OSDN Git Service

do not install CMake config files
[kde/libdbusmenu-qt.git] / CMakeLists.txt
1 project(dbusmenu-qt)
2 cmake_minimum_required(VERSION 3.0.2)
3 set(CMAKE_AUTOMOC TRUE)
4 set(CMAKE_AUTOUIC TRUE)
5 set(CMAKE_AUTORCC TRUE)
6
7 # Build options
8 option(WITH_DOC "Build documentation (requires Doxygen)" ON)
9
10 # Versions
11 ## Package version
12 set(dbusmenu_qt_VERSION_MAJOR 0)
13 set(dbusmenu_qt_VERSION_MINOR 9)
14 set(dbusmenu_qt_VERSION_PATCH 2)
15 set(dbusmenu_qt_VERSION ${dbusmenu_qt_VERSION_MAJOR}.${dbusmenu_qt_VERSION_MINOR}.${dbusmenu_qt_VERSION_PATCH})
16
17 find_package(Katie REQUIRED)
18 include_directories(
19     ${QT_INCLUDE_DIR}
20     ${QT_QTCORE_INCLUDE_DIR}
21     ${QT_QTDBUS_INCLUDE_DIR}
22     ${QT_QTGUI_INCLUDE_DIR}
23 )
24 add_definitions(${QT_DEFINITIONS})
25
26 set(QT_SUFFIX "katie")
27
28 include (CheckCXXCompilerFlag)
29 # Check some compiler flags
30 check_cxx_compiler_flag(-fvisibility=hidden __DBUSMENU_HAVE_GCC_VISIBILITY)
31 if (__DBUSMENU_HAVE_GCC_VISIBILITY AND NOT WIN32)
32     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
33 endif (__DBUSMENU_HAVE_GCC_VISIBILITY AND NOT WIN32)
34
35 check_cxx_compiler_flag(-Woverloaded-virtual __DBUSMENU_HAVE_W_OVERLOADED_VIRTUAL)
36 if (__DBUSMENU_HAVE_W_OVERLOADED_VIRTUAL)
37     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual")
38 endif (__DBUSMENU_HAVE_W_OVERLOADED_VIRTUAL)
39
40 check_cxx_compiler_flag(-std=c++11 __DBUSMENU_HAVE_CXX11)
41 if (__DBUSMENU_HAVE_CXX11)
42     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
43 endif (__DBUSMENU_HAVE_CXX11)
44
45 include(GNUInstallDirs)
46 set(LIB_DESTINATION "${CMAKE_INSTALL_LIBDIR}")
47 set(INCLUDE_INSTALL_DIR "include/dbusmenu-${QT_SUFFIX}")
48
49 configure_file(dbusmenu-qt.pc.in ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc @ONLY)
50
51 install(
52     FILES ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc
53     DESTINATION ${LIB_DESTINATION}/pkgconfig
54 )
55
56 add_subdirectory(src)
57 add_subdirectory(tools)
58
59 if (ENABLE_TESTING)
60     enable_testing()
61     add_subdirectory(tests)
62 endif()
63
64 if (WITH_DOC)
65     configure_file(Doxyfile.in ${CMAKE_BINARY_DIR}/Doxyfile @ONLY)
66
67     add_custom_target(doc ALL doxygen
68         WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
69     )
70
71     install(
72         DIRECTORY ${CMAKE_BINARY_DIR}/html/
73         DESTINATION share/doc/libdbusmenu-${QT_SUFFIX}-doc
74     )
75 endif(WITH_DOC)