diff options
34 files changed, 643 insertions, 0 deletions
diff --git a/.cmake.conf b/.cmake.conf new file mode 100644 index 0000000..4e73b3d --- /dev/null +++ b/.cmake.conf @@ -0,0 +1 @@ +set(QT_REPO_MODULE_VERSION "6.2.0") diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..88c2b48 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,16 @@ +# Generated from qtspeech.pro. + +cmake_minimum_required(VERSION 3.16) + +include(.cmake.conf) +project(QtSpeech + VERSION "${QT_REPO_MODULE_VERSION}" + DESCRIPTION "Qt Speech Libraries" + HOMEPAGE_URL "https://qt.io/" + LANGUAGES CXX C +) + +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) +find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Gui Multimedia Test) + +qt_build_repo() diff --git a/cmake/FindFlite.cmake b/cmake/FindFlite.cmake new file mode 100644 index 0000000..9ffa150 --- /dev/null +++ b/cmake/FindFlite.cmake @@ -0,0 +1,90 @@ +# We can't create the same interface imported target multiple times, CMake will complain if we do +# that. This can happen if the find_package call is done in multiple different subdirectories. +if(TARGET Flite::Flite) + set(Flite_FOUND 1) + return() +endif() + +find_path(FLITE_INCLUDE_DIR + NAMES + flite/flite.h +) +find_library(FLITE_LIBRARY + NAMES + flite +) + +if(NOT FLITE_INCLUDE_DIR OR NOT FLITE_LIBRARY) + set(Flite_FOUND 0) + return() +endif() + +include(CMakePushCheckState) +include(CheckCXXSourceCompiles) + +# Flite can be built with ALSA support, +# in which case we need to link ALSA as well +find_package(ALSA QUIET) + +cmake_push_check_state(RESET) + +set(CMAKE_REQUIRED_INCLUDES "${FLITE_INCLUDE_DIR}") +set(CMAKE_REQUIRED_LIBRARIES "${FLITE_LIBRARY}") + +if(ALSA_FOUND) +list(APPEND CMAKE_REQUIRED_LIBRARIES "${ALSA_LIBRARIES}") +endif() + +check_cxx_source_compiles(" +#include <flite/flite.h> + +static int fliteAudioCb(const cst_wave *w, int start, int size, + int last, cst_audio_streaming_info *asi) +{ + (void)w; + (void)start; + (void)size; + (void)last; + (void)asi; + return CST_AUDIO_STREAM_STOP; +} + +int main() +{ + cst_audio_streaming_info *asi = new_audio_streaming_info(); + asi->asc = fliteAudioCb; // This fails for old Flite + new_audio_streaming_info(); + return 0; +} +" HAVE_FLITE) + +cmake_pop_check_state() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(FLITE + FOUND_VAR + FLITE_FOUND + REQUIRED_VARS + FLITE_LIBRARY + FLITE_INCLUDE_DIR + HAVE_FLITE +) + +if(FLITE_FOUND) + add_library(Flite::Flite UNKNOWN IMPORTED) + set_target_properties(Flite::Flite PROPERTIES + IMPORTED_LOCATION "${FLITE_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${FLITE_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${ALSA_LIBRARIES}" + ) +endif() + +mark_as_advanced(FLITE_LIBRARY FLITE_INCLUDE_DIR HAVE_FLITE) + + +if(HAVE_FLITE) + set(Flite_FOUND 1) +else() + message("Flite was found, but the version is too old (<2.0.0)") + set(Flite_FOUND 0) +endif() diff --git a/cmake/FindSpeechDispatcher.cmake b/cmake/FindSpeechDispatcher.cmake new file mode 100644 index 0000000..e5f6d1a --- /dev/null +++ b/cmake/FindSpeechDispatcher.cmake @@ -0,0 +1,7 @@ +include(FindPkgConfig) + +pkg_check_modules(SpeechDispatcher "speech-dispatcher" IMPORTED_TARGET GLOBAL) + +if (TARGET PkgConfig::SpeechDispatcher) + add_library(SpeechDispatcher::SpeechDispatcher ALIAS PkgConfig::SpeechDispatcher) +endif() diff --git a/coin/module_config.yaml b/coin/module_config.yaml new file mode 100644 index 0000000..16d158c --- /dev/null +++ b/coin/module_config.yaml @@ -0,0 +1,12 @@ +version: 2 +accept_configuration: + condition: property + property: features + not_contains_value: Disable + +instructions: + Build: + - !include "{{qt/qtbase}}/coin_module_build_template_v2.yaml" + + Test: + - !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml" diff --git a/configure.cmake b/configure.cmake new file mode 100644 index 0000000..53e3f11 --- /dev/null +++ b/configure.cmake @@ -0,0 +1,21 @@ + + +#### Inputs + + + +#### Libraries + + + +#### Tests + + + +#### Features + + +qt_extra_definition("QT_VERSION_STR" "\"${PROJECT_VERSION}\"" PUBLIC) +qt_extra_definition("QT_VERSION_MAJOR" ${PROJECT_VERSION_MAJOR} PUBLIC) +qt_extra_definition("QT_VERSION_MINOR" ${PROJECT_VERSION_MINOR} PUBLIC) +qt_extra_definition("QT_VERSION_PATCH" ${PROJECT_VERSION_PATCH} PUBLIC) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 0000000..38fa822 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1,7 @@ +# Generated from examples.pro. + +qt_examples_build_begin() + +add_subdirectory(speech) + +qt_examples_build_end() diff --git a/examples/speech/CMakeLists.txt b/examples/speech/CMakeLists.txt new file mode 100644 index 0000000..e66e7a0 --- /dev/null +++ b/examples/speech/CMakeLists.txt @@ -0,0 +1,5 @@ +# Generated from speech.pro. + +if(TARGET Qt::Widgets) + add_subdirectory(hello_speak) +endif() diff --git a/examples/speech/hello_speak/CMakeLists.txt b/examples/speech/hello_speak/CMakeLists.txt new file mode 100644 index 0000000..4cadc76 --- /dev/null +++ b/examples/speech/hello_speak/CMakeLists.txt @@ -0,0 +1,42 @@ +# Generated from hello_speak.pro. + +cmake_minimum_required(VERSION 3.14) +project(hello_speak LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/speech/hello_speak") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Widgets) +find_package(Qt6 COMPONENTS TextToSpeech) + +qt_add_executable(hello_speak + main.cpp + mainwindow.cpp mainwindow.h mainwindow.ui +) +set_target_properties(hello_speak PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(hello_speak PUBLIC + Qt::Core + Qt::Gui + Qt::TextToSpeech + Qt::Widgets +) + +install(TARGETS hello_speak + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/qt_cmdline.cmake b/qt_cmdline.cmake new file mode 100644 index 0000000..7e54f50 --- /dev/null +++ b/qt_cmdline.cmake @@ -0,0 +1 @@ +qt_commandline_subconfig(src/tts) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..9a831a4 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,5 @@ +# Generated from src.pro. + +add_subdirectory(tts) +add_subdirectory(plugins) +add_subdirectory(doc) diff --git a/src/doc/CMakeLists.txt b/src/doc/CMakeLists.txt new file mode 100644 index 0000000..21a0ea1 --- /dev/null +++ b/src/doc/CMakeLists.txt @@ -0,0 +1,2 @@ +# Generated from doc.pro. + diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt new file mode 100644 index 0000000..d8e6478 --- /dev/null +++ b/src/plugins/CMakeLists.txt @@ -0,0 +1,5 @@ +# Generated from plugins.pro. + +if(TARGET Qt::TextToSpeech) + add_subdirectory(tts) +endif() diff --git a/src/plugins/tts/.prev_CMakeLists.txt b/src/plugins/tts/.prev_CMakeLists.txt new file mode 100644 index 0000000..86f08c2 --- /dev/null +++ b/src/plugins/tts/.prev_CMakeLists.txt @@ -0,0 +1,23 @@ +# Generated from tts.pro. + +if(QT_FEATURE_speechd AND UNIX) + add_subdirectory(speechdispatcher) +endif() +if(windows AND NOT WINRT) + add_subdirectory(sapi) +endif() +if(WINRT) + add_subdirectory(winrt) +endif() +if(MACOS) + add_subdirectory(osx) +endif() +if(UIKIT) + add_subdirectory(ios) +endif() +if(ANDROID) + add_subdirectory(android) +endif() +if(QT_FEATURE_flite AND TARGET Qt::Multimedia) + add_subdirectory(flite) +endif() diff --git a/src/plugins/tts/CMakeLists.txt b/src/plugins/tts/CMakeLists.txt new file mode 100644 index 0000000..1945434 --- /dev/null +++ b/src/plugins/tts/CMakeLists.txt @@ -0,0 +1,23 @@ +# Generated from tts.pro. + +if(QT_FEATURE_speechd AND UNIX) + add_subdirectory(speechdispatcher) +endif() +if(WIN32 AND NOT WINRT) + add_subdirectory(sapi) +endif() +if(WINRT) + add_subdirectory(winrt) +endif() +if(MACOS AND TARGET Qt::Gui) + add_subdirectory(osx) +endif() +if(UIKIT) + add_subdirectory(ios) +endif() +if(ANDROID) + add_subdirectory(android) +endif() +if(QT_FEATURE_flite AND TARGET Qt::Multimedia) + add_subdirectory(flite) +endif() diff --git a/src/plugins/tts/android/CMakeLists.txt b/src/plugins/tts/android/CMakeLists.txt new file mode 100644 index 0000000..22fe2b6 --- /dev/null +++ b/src/plugins/tts/android/CMakeLists.txt @@ -0,0 +1,4 @@ +# Generated from android.pro. + +add_subdirectory(jar) +add_subdirectory(src) diff --git a/src/plugins/tts/android/jar/CMakeLists.txt b/src/plugins/tts/android/jar/CMakeLists.txt new file mode 100644 index 0000000..89e70e1 --- /dev/null +++ b/src/plugins/tts/android/jar/CMakeLists.txt @@ -0,0 +1,19 @@ +# Generated from jar.pro. + +qt_get_android_sdk_jar_for_api("android-21" android_sdk) + +set(java_sources + src/org/qtproject/qt/android/speech/QtTextToSpeech.java +) + +qt_internal_add_jar(QtAndroidTextToSpeech + INCLUDE_JARS ${android_sdk} + SOURCES ${java_sources} + OUTPUT_DIR "${QT_BUILD_DIR}/jar" +) + +install_jar(QtAndroidTextToSpeech + DESTINATION jar + COMPONENT Devel +) + diff --git a/src/plugins/tts/android/src/CMakeLists.txt b/src/plugins/tts/android/src/CMakeLists.txt new file mode 100644 index 0000000..446e388 --- /dev/null +++ b/src/plugins/tts/android/src/CMakeLists.txt @@ -0,0 +1,20 @@ +# Generated from src.pro. + +##################################################################### +## QTextToSpeechEngineAndroid Plugin: +##################################################################### + +qt_internal_add_plugin(QTextToSpeechEngineAndroid + OUTPUT_NAME qttexttospeech_android + PLUGIN_TYPE texttospeech + SOURCES + qtexttospeech_android.cpp qtexttospeech_android.h + qtexttospeech_android_plugin.cpp qtexttospeech_android_plugin.h + PUBLIC_LIBRARIES + Qt::Core + Qt::CorePrivate + Qt::TextToSpeech +) + +#### Keys ignored in scope 1:.:.:src.pro:<TRUE>: +# OTHER_FILES = "android_plugin.json" diff --git a/src/plugins/tts/flite/CMakeLists.txt b/src/plugins/tts/flite/CMakeLists.txt new file mode 100644 index 0000000..125016c --- /dev/null +++ b/src/plugins/tts/flite/CMakeLists.txt @@ -0,0 +1,33 @@ +# Generated from flite.pro. + +##################################################################### +## QTextToSpeechEngineFlite Plugin: +##################################################################### + +qt_internal_add_plugin(QTextToSpeechEngineFlite + OUTPUT_NAME qttexttospeech_flite + PLUGIN_TYPE texttospeech + SOURCES + ../common/qtexttospeechprocessor.cpp ../common/qtexttospeechprocessor_p.h + qtexttospeech_flite.cpp qtexttospeech_flite.h + qtexttospeech_flite_plugin.cpp qtexttospeech_flite_plugin.h + qtexttospeech_flite_processor.cpp qtexttospeech_flite_processor.h + LIBRARIES + Flite::Flite + PUBLIC_LIBRARIES + Qt::Core + Qt::Multimedia + Qt::TextToSpeech +) + +#### Keys ignored in scope 1:.:.:flite.pro:<TRUE>: +# OTHER_FILES = "flite_plugin.json" +# QT_FOR_CONFIG = "texttospeech-private" + +## Scopes: +##################################################################### + +qt_internal_extend_target(QTextToSpeechEngineFlite CONDITION QT_FEATURE_flite_alsa + LIBRARIES + ALSA::ALSA +) diff --git a/src/plugins/tts/ios/CMakeLists.txt b/src/plugins/tts/ios/CMakeLists.txt new file mode 100644 index 0000000..b7c2480 --- /dev/null +++ b/src/plugins/tts/ios/CMakeLists.txt @@ -0,0 +1,22 @@ +# Generated from ios.pro. + +##################################################################### +## QTextToSpeechPluginIos Plugin: +##################################################################### + +qt_internal_add_plugin(QTextToSpeechPluginIos + OUTPUT_NAME qtexttospeech_speechios + PLUGIN_TYPE texttospeech + SOURCES + qtexttospeech_ios.h qtexttospeech_ios.mm + qtexttospeech_ios_plugin.cpp qtexttospeech_ios_plugin.h + PUBLIC_LIBRARIES + ${FWAVFoundation} + ${FWFoundation} + Qt::Core + Qt::Gui + Qt::TextToSpeech +) + +#### Keys ignored in scope 1:.:.:ios.pro:<TRUE>: +# OTHER_FILES = "ios_plugin.json" diff --git a/src/plugins/tts/osx/CMakeLists.txt b/src/plugins/tts/osx/CMakeLists.txt new file mode 100644 index 0000000..9f3ef57 --- /dev/null +++ b/src/plugins/tts/osx/CMakeLists.txt @@ -0,0 +1,21 @@ +# Generated from osx.pro. + +##################################################################### +## QTextToSpeechPluginOsx Plugin: +##################################################################### + +qt_internal_add_plugin(QTextToSpeechPluginOsx + OUTPUT_NAME qtexttospeech_speechosx + PLUGIN_TYPE texttospeech + SOURCES + qtexttospeech_osx.h qtexttospeech_osx.mm + qtexttospeech_osx_plugin.cpp qtexttospeech_osx_plugin.h + PUBLIC_LIBRARIES + ${FWCocoa} + Qt::Core + Qt::Gui + Qt::TextToSpeech +) + +#### Keys ignored in scope 1:.:.:osx.pro:<TRUE>: +# OTHER_FILES = "osx_plugin.json" diff --git a/src/plugins/tts/sapi/.prev_CMakeLists.txt b/src/plugins/tts/sapi/.prev_CMakeLists.txt new file mode 100644 index 0000000..5c9d555 --- /dev/null +++ b/src/plugins/tts/sapi/.prev_CMakeLists.txt @@ -0,0 +1,37 @@ +# Generated from sapi.pro. + +##################################################################### +## QTextToSpeechPluginSapi Plugin: +##################################################################### + +qt_internal_add_plugin(QTextToSpeechPluginSapi + OUTPUT_NAME qtexttospeech_sapi + TYPE texttospeech + SOURCES + qtexttospeech_sapi.cpp qtexttospeech_sapi.h + qtexttospeech_sapi_plugin.cpp qtexttospeech_sapi_plugin.h + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::TextToSpeech + COMPILE_OPTIONS + --Zc:strictStrings +) + +#### Keys ignored in scope 1:.:.:sapi.pro:<TRUE>: +# OTHER_FILES = "sapi_plugin.json" +# QMAKE_CFLAGS = "--Zc:strictStrings" +# QMAKE_CFLAGS_RELEASE = "--Zc:strictStrings" +# QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = "--Zc:strictStrings" +# QMAKE_CXXFLAGS_RELEASE = "--Zc:strictStrings" +# QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO = "--Zc:strictStrings" + +## Scopes: +##################################################################### + +qt_internal_extend_target(QTextToSpeechPluginSapi CONDITION MINGW + PUBLIC_LIBRARIES + ole32 + sapi + uuid +) diff --git a/src/plugins/tts/sapi/CMakeLists.txt b/src/plugins/tts/sapi/CMakeLists.txt new file mode 100644 index 0000000..365ddfd --- /dev/null +++ b/src/plugins/tts/sapi/CMakeLists.txt @@ -0,0 +1,40 @@ +# Generated from sapi.pro. + +##################################################################### +## QTextToSpeechPluginSapi Plugin: +##################################################################### + +qt_internal_add_plugin(QTextToSpeechPluginSapi + OUTPUT_NAME qtexttospeech_sapi + PLUGIN_TYPE texttospeech + SOURCES + qtexttospeech_sapi.cpp qtexttospeech_sapi.h + qtexttospeech_sapi_plugin.cpp qtexttospeech_sapi_plugin.h + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::TextToSpeech +) + +#### Keys ignored in scope 1:.:.:sapi.pro:<TRUE>: +# OTHER_FILES = "sapi_plugin.json" +# QMAKE_CFLAGS = "--Zc:strictStrings" +# QMAKE_CFLAGS_RELEASE = "--Zc:strictStrings" +# QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = "--Zc:strictStrings" +# QMAKE_CXXFLAGS_RELEASE = "--Zc:strictStrings" +# QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO = "--Zc:strictStrings" + +## Scopes: +##################################################################### + +qt_internal_extend_target(QTextToSpeechPluginSapi CONDITION MSVC + COMPILE_OPTIONS + /Zc:strictStrings +) + +qt_internal_extend_target(QTextToSpeechPluginSapi CONDITION MINGW + PUBLIC_LIBRARIES + ole32 + sapi + uuid +) diff --git a/src/plugins/tts/speechdispatcher/CMakeLists.txt b/src/plugins/tts/speechdispatcher/CMakeLists.txt new file mode 100644 index 0000000..2b5b685 --- /dev/null +++ b/src/plugins/tts/speechdispatcher/CMakeLists.txt @@ -0,0 +1,28 @@ +# Generated from speechdispatcher.pro. + +##################################################################### +## QTextToSpeechPluginSpeechd Plugin: +##################################################################### + +qt_internal_add_plugin(QTextToSpeechPluginSpeechd + OUTPUT_NAME qtexttospeech_speechd + PLUGIN_TYPE texttospeech + SOURCES + qtexttospeech_speechd.cpp qtexttospeech_speechd.h + qtexttospeech_speechd_plugin.cpp qtexttospeech_speechd_plugin.h + PUBLIC_LIBRARIES + Qt::Core + Qt::TextToSpeech +) + +#### Keys ignored in scope 1:.:.:speechdispatcher.pro:<TRUE>: +# OTHER_FILES = "speechd_plugin.json" +# QT_FOR_CONFIG = "texttospeech-private" + +## Scopes: +##################################################################### + +qt_internal_extend_target(QTextToSpeechPluginSpeechd CONDITION QT_FEATURE_speechd + LIBRARIES + SpeechDispatcher::SpeechDispatcher +) diff --git a/src/plugins/tts/winrt/CMakeLists.txt b/src/plugins/tts/winrt/CMakeLists.txt new file mode 100644 index 0000000..45c713d --- /dev/null +++ b/src/plugins/tts/winrt/CMakeLists.txt @@ -0,0 +1,21 @@ +# Generated from winrt.pro. + +##################################################################### +## QTextToSpeechPluginWinRT Plugin: +##################################################################### + +qt_internal_add_plugin(QTextToSpeechPluginWinRT + OUTPUT_NAME qtexttospeech_winrt + PLUGIN_TYPE texttospeech + SOURCES + qtexttospeech_winrt.cpp qtexttospeech_winrt.h + qtexttospeech_winrt_plugin.cpp qtexttospeech_winrt_plugin.h + PUBLIC_LIBRARIES + Qt::Core + Qt::CorePrivate + Qt::Gui + Qt::TextToSpeech +) + +#### Keys ignored in scope 1:.:.:winrt.pro:<TRUE>: +# OTHER_FILES = "winrt_plugin.json" diff --git a/src/tts/CMakeLists.txt b/src/tts/CMakeLists.txt new file mode 100644 index 0000000..ec7f35d --- /dev/null +++ b/src/tts/CMakeLists.txt @@ -0,0 +1,35 @@ +# Generated from tts.pro. + +##################################################################### +## TextToSpeech Module: +##################################################################### + +qt_internal_add_module(TextToSpeech + PLUGIN_TYPES texttospeech + SOURCES + qtexttospeech.cpp qtexttospeech.h qtexttospeech_p.h + qtexttospeech_global.h + qtexttospeechengine.cpp qtexttospeechengine.h + qtexttospeechplugin.cpp qtexttospeechplugin.h + qvoice.cpp qvoice.h qvoice_p.h + DEFINES + QTEXTTOSPEECH_LIBRARY + LIBRARIES + Qt::CorePrivate + PUBLIC_LIBRARIES + Qt::Core + PRIVATE_MODULE_INTERFACE + Qt::CorePrivate +) + +if(ANDROID) + set_property(TARGET TextToSpeech APPEND PROPERTY QT_ANDROID_BUNDLED_JAR_DEPENDENCIES + jar/QtAndroidTextToSpeech.jar + ) + set_property(TARGET TextToSpeech APPEND PROPERTY QT_ANDROID_LIB_DEPENDENCIES + plugins/texttospeech/libplugins_texttospeech_qttexttospeech_android.so + ) +endif() + +#### Keys ignored in scope 1:.:.:tts.pro:<TRUE>: +# MODULE = "texttospeech" diff --git a/src/tts/configure.cmake b/src/tts/configure.cmake new file mode 100644 index 0000000..7b84ce1 --- /dev/null +++ b/src/tts/configure.cmake @@ -0,0 +1,37 @@ + + +#### Inputs + + + +#### Libraries + +qt_find_package(Flite PROVIDED_TARGETS Flite::Flite MODULE_NAME texttospeech QMAKE_LIB flite) +qt_find_package(ALSA PROVIDED_TARGETS ALSA::ALSA MODULE_NAME texttospeech QMAKE_LIB flite_alsa) +qt_find_package(SpeechDispatcher PROVIDED_TARGETS SpeechDispatcher::SpeechDispatcher MODULE_NAME texttospeech QMAKE_LIB speechd) + + +#### Tests + + + +#### Features + +qt_feature("flite" PRIVATE + LABEL "Flite" + CONDITION Flite_FOUND +) +qt_feature("flite_alsa" PRIVATE + LABEL "Flite with ALSA" + CONDITION Flite_FOUND AND ALSA_FOUND +) +qt_feature("speechd" PUBLIC + LABEL "Speech Dispatcher" + AUTODETECT UNIX + CONDITION SpeechDispatcher_FOUND +) +qt_configure_add_summary_section(NAME "Qt TextToSpeech") +qt_configure_add_summary_entry(ARGS "flite") +qt_configure_add_summary_entry(ARGS "flite_alsa") +qt_configure_add_summary_entry(ARGS "speechd") +qt_configure_end_summary_section() # end of "Qt TextToSpeech" section diff --git a/src/tts/qt_cmdline.cmake b/src/tts/qt_cmdline.cmake new file mode 100644 index 0000000..1880fa0 --- /dev/null +++ b/src/tts/qt_cmdline.cmake @@ -0,0 +1,3 @@ +qt_commandline_option(flite TYPE boolean) +qt_commandline_option(flite-alsa TYPE boolean NAME flite_alsa) +qt_commandline_option(speechd TYPE boolean) diff --git a/tests/.prev_CMakeLists.txt b/tests/.prev_CMakeLists.txt new file mode 100644 index 0000000..2214137 --- /dev/null +++ b/tests/.prev_CMakeLists.txt @@ -0,0 +1,7 @@ +# Generated from tests.pro. + +if(QT_BUILD_STANDALONE_TESTS) + # Add qt_find_package calls for extra dependencies that need to be found when building + # the standalone tests here. +endif() +qt_build_tests() diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..2214137 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,7 @@ +# Generated from tests.pro. + +if(QT_BUILD_STANDALONE_TESTS) + # Add qt_find_package calls for extra dependencies that need to be found when building + # the standalone tests here. +endif() +qt_build_tests() diff --git a/tests/auto/.prev_CMakeLists.txt b/tests/auto/.prev_CMakeLists.txt new file mode 100644 index 0000000..52f0893 --- /dev/null +++ b/tests/auto/.prev_CMakeLists.txt @@ -0,0 +1,4 @@ +# Generated from auto.pro. + +add_subdirectory(cmake) +add_subdirectory(texttospeech) diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt new file mode 100644 index 0000000..57e92e7 --- /dev/null +++ b/tests/auto/CMakeLists.txt @@ -0,0 +1,4 @@ +# Generated from auto.pro. + +# add_subdirectory(cmake) # special case +add_subdirectory(texttospeech) diff --git a/tests/auto/texttospeech/.prev_CMakeLists.txt b/tests/auto/texttospeech/.prev_CMakeLists.txt new file mode 100644 index 0000000..35a30fb --- /dev/null +++ b/tests/auto/texttospeech/.prev_CMakeLists.txt @@ -0,0 +1,20 @@ +# Generated from texttospeech.pro. + +##################################################################### +## tst_qtexttospeech Test: +##################################################################### + +add_qt_test(tst_qtexttospeech + SOURCES + tst_qtexttospeech.cpp + PUBLIC_LIBRARIES + Qt::TextToSpeechPrivate +) + +## Scopes: +##################################################################### + +extend_target(tst_qtexttospeech CONDITION QT_FEATURE_speechd + PUBLIC_LIBRARIES + SpeechDispatcher::SpeechDispatcher +) diff --git a/tests/auto/texttospeech/CMakeLists.txt b/tests/auto/texttospeech/CMakeLists.txt new file mode 100644 index 0000000..8bac777 --- /dev/null +++ b/tests/auto/texttospeech/CMakeLists.txt @@ -0,0 +1,21 @@ +# Generated from texttospeech.pro. + +##################################################################### +## tst_qtexttospeech Test: +##################################################################### + +qt_internal_add_test(tst_qtexttospeech + SOURCES + tst_qtexttospeech.cpp + PUBLIC_LIBRARIES + Qt::TextToSpeechPrivate +) + +## Scopes: +##################################################################### + +qt_find_package(SpeechDispatcher PROVIDED_TARGETS SpeechDispatcher::SpeechDispatcher) # special case +qt_internal_extend_target(tst_qtexttospeech CONDITION QT_FEATURE_speechd + PUBLIC_LIBRARIES + SpeechDispatcher::SpeechDispatcher +) |