2 cmake_minimum_required(VERSION 3.0.2)
3 set(CMAKE_AUTOMOC TRUE)
4 set(CMAKE_AUTOUIC TRUE)
5 set(CMAKE_AUTORCC TRUE)
8 option(WITH_DOC "Build documentation (requires Doxygen)" ON)
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})
17 find_package(Katie REQUIRED)
20 ${QT_QTCORE_INCLUDE_DIR}
21 ${QT_QTDBUS_INCLUDE_DIR}
22 ${QT_QTGUI_INCLUDE_DIR}
24 add_definitions(${QT_DEFINITIONS})
26 set(QT_SUFFIX "katie")
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)
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)
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)
45 include(GNUInstallDirs)
46 set(LIB_DESTINATION "${CMAKE_INSTALL_LIBDIR}")
47 set(INCLUDE_INSTALL_DIR "include/dbusmenu-${QT_SUFFIX}")
49 configure_file(dbusmenu-qt.pc.in ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc @ONLY)
52 FILES ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc
53 DESTINATION ${LIB_DESTINATION}/pkgconfig
57 add_subdirectory(tools)
61 add_subdirectory(tests)
65 configure_file(Doxyfile.in ${CMAKE_BINARY_DIR}/Doxyfile @ONLY)
67 add_custom_target(doc ALL doxygen
68 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
72 DIRECTORY ${CMAKE_BINARY_DIR}/html/
73 DESTINATION share/doc/libdbusmenu-${QT_SUFFIX}-doc