~neon/kmouth/master

641 by Laurent Montel
Time to increase version
1
cmake_minimum_required(VERSION 3.16)
487 by Jeremy Whiting
Initial port to kf5/qt5/QtSpeech.
2
689.1.1 by Friedrich W. H. Kossebau
Use ECMSetupVersion & release service version macros
3
# KDE Gear version, managed by release script
839 by Albert Astals Cid
GIT_SILENT Upgrade release service version to 24.01.75.
4
set (RELEASE_SERVICE_VERSION_MAJOR "24")
5
set (RELEASE_SERVICE_VERSION_MINOR "01")
860 by Albert Astals Cid
GIT_SILENT Upgrade release service version to 24.01.90.
6
set (RELEASE_SERVICE_VERSION_MICRO "90")
689.1.1 by Friedrich W. H. Kossebau
Use ECMSetupVersion & release service version macros
7
set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
8
9
project(kmouth VERSION ${RELEASE_SERVICE_VERSION})
814 by Laurent Montel
It's only Qt6 => remove KF_ variable
10
set(QT_REQUIRED_VERSION "6.4.0")
11
set(KF_MIN_VERSION "5.240.0")
12
214 by Laurent Montel
Initial port to cmake build system ksayit/kttsd doesn't compile.
13
487 by Jeremy Whiting
Initial port to kf5/qt5/QtSpeech.
14
if(NOT MSVC)
15
    set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wno-switch -O2 -g")
16
    set(CMAKE_CXX_FLAGS_RELEASE "-Wall -Wno-switch -O2")
17
    set(CMAKE_CXX_FLAGS_DEBUG  "-Wall -Wno-switch -g3 -ggdb -O0" CACHE STRING "Debug options." FORCE)
18
endif(NOT MSVC)
19
20
include(FeatureSummary)
560 by Laurent Montel
Fix compile with KDEFrameworkCompilerSettings
21
814 by Laurent Montel
It's only Qt6 => remove KF_ variable
22
find_package(ECM ${KF_MIN_VERSION} NO_MODULE REQUIRED)
807 by Jeremy Whiting
Port KMouth from Qt5/KF5 to Qt6/KF6.
23
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} )
24
include(ECMAddAppIcon)
487 by Jeremy Whiting
Initial port to kf5/qt5/QtSpeech.
25
include(KDEInstallDirs)
26
include(KDECMakeSettings)
807 by Jeremy Whiting
Port KMouth from Qt5/KF5 to Qt6/KF6.
27
include(KDECompilerSettings NO_POLICY_SCOPE)
28
include(ECMInstallIcons)
29
include(ECMSetupVersion)
731 by Laurent Montel
Use ECMDeprecationSettings
30
include(ECMDeprecationSettings)
807 by Jeremy Whiting
Port KMouth from Qt5/KF5 to Qt6/KF6.
31
804 by Nicolas Fella
Add and make use of ECM clang-format integration
32
include(KDEClangFormat)
33
include(KDEGitCommitHooks)
658 by Friedrich W. H. Kossebau
Use KDECompilerSettings instead of KDEFrameworkCompilerSettings
34
814 by Laurent Montel
It's only Qt6 => remove KF_ variable
35
find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS
658 by Friedrich W. H. Kossebau
Use KDECompilerSettings instead of KDEFrameworkCompilerSettings
36
    Core
37
    PrintSupport
38
    TextToSpeech
39
    Xml
40
    Widgets
41
)
42
814 by Laurent Montel
It's only Qt6 => remove KF_ variable
43
find_package(KF6  ${KF_MIN_VERSION} REQUIRED COMPONENTS
487 by Jeremy Whiting
Initial port to kf5/qt5/QtSpeech.
44
    Crash
500 by Jeremy Whiting
Remove KDE4LibsSupport dependency.
45
    Completion
487 by Jeremy Whiting
Initial port to kf5/qt5/QtSpeech.
46
    Config
47
    ConfigWidgets
48
    CoreAddons
49
    DocTools
500 by Jeremy Whiting
Remove KDE4LibsSupport dependency.
50
    I18n
487 by Jeremy Whiting
Initial port to kf5/qt5/QtSpeech.
51
    KIO
500 by Jeremy Whiting
Remove KDE4LibsSupport dependency.
52
    WidgetsAddons
53
    XmlGui
487 by Jeremy Whiting
Initial port to kf5/qt5/QtSpeech.
54
)
689.1.1 by Friedrich W. H. Kossebau
Use ECMSetupVersion & release service version macros
55
56
ecm_setup_version(${kmouth_VERSION}
57
    VARIABLE_PREFIX KMOUTH
58
    VERSION_HEADER version.h
59
)
60
487 by Jeremy Whiting
Initial port to kf5/qt5/QtSpeech.
61
include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )
831 by Laurent Montel
GIT_SILENT: Increase minimum Qt/KF deprecated version
62
ecm_set_disabled_deprecation_versions(QT 6.6  KF 5.240.0)
245 by Gary Cramblitt
ui v3 to 4
63
445 by Jeremy Paul Whiting
move documentation into app folders
64
add_subdirectory( doc )
484.1.1 by Jeremy Whiting
Start migrating away from Qt3Support classes.
65
add_subdirectory( icons )
66
add_subdirectory( books )
214 by Laurent Montel
Initial port to cmake build system ksayit/kttsd doesn't compile.
67
370 by Laurent Montel
Make it relative
68
include_directories(./wordcompletion/  )
214 by Laurent Montel
Initial port to cmake build system ksayit/kttsd doesn't compile.
69
70
71
########### next target ###############
646 by Laurent Montel
Use more target-centric cmake code
72
add_executable(kmouth)
214 by Laurent Montel
Initial port to cmake build system ksayit/kttsd doesn't compile.
73
646 by Laurent Montel
Use more target-centric cmake code
74
target_sources(kmouth PRIVATE
669 by Jeremy Whiting
Use QXmlStreamReader instead of deprecated QXmlInputSource, etc.
75
    ./phrasebook/phrasebookreader.cpp
490 by Jeremy Whiting
Simplify CMakeLists.txt
76
    ./phrasebook/phrasebookdialog.cpp
77
    ./phrasebook/initialphrasebookwidget.cpp
78
    ./phrasebook/phrasebook.cpp
79
    ./wordcompletion/wordlist.cpp
80
    ./wordcompletion/wordcompletion.cpp
81
    ./wordcompletion/wordcompletionwidget.cpp
82
    ./wordcompletion/dictionarycreationwizard.cpp
83
    texttospeechconfigurationwidget.cpp
84
    optionsdialog.cpp
85
    configwizard.cpp
86
    phraselist.cpp
87
    speech.cpp
88
    texttospeechsystem.cpp
89
    kmouth.cpp
799 by Friedrich W. H. Kossebau
Deploy ui.rc files as Qt resource
90
    main.cpp
91
92
    kmouth.qrc
93
)
214 by Laurent Montel
Initial port to cmake build system ksayit/kttsd doesn't compile.
94
646 by Laurent Montel
Use more target-centric cmake code
95
ki18n_wrap_ui(kmouth
490 by Jeremy Whiting
Simplify CMakeLists.txt
96
    ./phrasebook/phrasebookdialog.ui
97
    ./wordcompletion/creationsourceui.ui
98
    ./wordcompletion/creationsourcedetailsui.ui
99
    ./wordcompletion/kdedocsourceui.ui
100
    ./wordcompletion/wordcompletionui.ui
101
    preferencesui.ui
102
    texttospeechconfigurationui.ui )
487 by Jeremy Whiting
Initial port to kf5/qt5/QtSpeech.
103
104
105
target_link_libraries(kmouth
814 by Laurent Montel
It's only Qt6 => remove KF_ variable
106
                      KF6::Completion
107
                      KF6::ConfigCore
108
                      KF6::Crash
109
                      KF6::KIOCore
110
                      KF6::KIOWidgets
111
                      KF6::I18n
112
                      KF6::WidgetsAddons
113
                      KF6::XmlGui
643 by Laurent Montel
Use Qt::
114
                      Qt::PrintSupport
115
                      Qt::TextToSpeech
116
                      Qt::Widgets
117
                      Qt::Xml )
214 by Laurent Montel
Initial port to cmake build system ksayit/kttsd doesn't compile.
118
635 by Laurent Montel
GIT_SILENT: don't use deprecated cmake variable
119
install(TARGETS kmouth  ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} )
214 by Laurent Montel
Initial port to cmake build system ksayit/kttsd doesn't compile.
120
121
122
########### install files ###############
123
635 by Laurent Montel
GIT_SILENT: don't use deprecated cmake variable
124
install( PROGRAMS org.kde.kmouth.desktop  DESTINATION  ${KDE_INSTALL_APPDIR} )
125
install( FILES kmouthrc  DESTINATION  ${KDE_INSTALL_CONFDIR} )
126
install(FILES org.kde.kmouth.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
214 by Laurent Montel
Initial port to cmake build system ksayit/kttsd doesn't compile.
127
678 by Albert Astals Cid
Add ki18n_install and kdoctools_install
128
ki18n_install(po)
129
kdoctools_install(po)
130
804 by Nicolas Fella
Add and make use of ECM clang-format integration
131
file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
132
kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
133
134
kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
135
511 by Nicolas Lécureuil
Add feature_summary macro
136
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
214 by Laurent Montel
Initial port to cmake build system ksayit/kttsd doesn't compile.
137