3 find_package(Qt5Core QUIET CONFIG)
5 message(STATUS "Using Qt5")
6 find_package(Qt5 COMPONENTS Widgets Gui Xml)
8 qt5_use_modules(${ARGN})
13 macro(qt_add_resources)
14 qt5_add_resources(${ARGN})
19 if (NOT Qt5Core_FOUND)
21 message(STATUS "Qt5 not found, searching for Qt4 instead...")
23 message(STATUS "Using Qt4")
25 find_package(Qt4 REQUIRED COMPONENTS QtCore QtXml QtGui)
31 macro(qt_add_resources)
32 qt4_add_resources(${ARGN})
38 ${CMAKE_SOURCE_DIR}/src
39 ${CMAKE_SOURCE_DIR}/qtools
43 set(GENERATED_SRC_WIZARD ${GENERATED_SRC}/doxywizard)
44 file(MAKE_DIRECTORY ${GENERATED_SRC_WIZARD})
46 add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DUNICODE)
47 if (NOT Qt5Core_FOUND)
48 include(${QT_USE_FILE})
52 file(GENERATE OUTPUT ${GENERATED_SRC_WIZARD}/settings.h
53 CONTENT "#ifndef SETTINGS_H
55 #define USE_SQLITE3 ${sqlite3}
56 #define USE_LIBCLANG ${clang}
57 #define IS_SUPPORTED(x) \\
58 ((USE_SQLITE3 && strcmp(\"USE_SQLITE3\",(x))==0) || \\
59 (USE_LIBCLANG && strcmp(\"USE_LIBCLANG\",(x))==0) || \\
62 set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERATED 1)
64 # generate version.cpp
65 file(GENERATE OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp
66 CONTENT "char versionString[]=\"${VERSION}\";"
68 set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENERATED 1)
70 # generate configdoc.cpp
72 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
73 OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
75 set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GENERATED 1)
77 FLEX_TARGET(config_doxyw config_doxyw.l ${GENERATED_SRC_WIZARD}/config_doxyw.cpp COMPILE_FLAGS "${LEX_FLAGS}")
79 qt_wrap_cpp(doxywizard_MOC
90 qt_add_resources(doxywizard_RESOURCES_RCC doxywizard.qrc)
92 add_executable(doxywizard WIN32
100 ${GENERATED_SRC_WIZARD}/settings.h
101 ${GENERATED_SRC_WIZARD}/version.cpp
102 ${GENERATED_SRC_WIZARD}/config_doxyw.cpp
103 ${GENERATED_SRC_WIZARD}/configdoc.cpp
105 ${doxywizard_RESOURCES_RCC}
107 qt_use_modules(doxywizard Core Gui Widgets Xml)
108 target_link_libraries(doxywizard
109 ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY}
112 install(TARGETS doxywizard DESTINATION bin)