110 lines
2.7 KiB
CMake
110 lines
2.7 KiB
CMake
# This file is part of Desktop App Toolkit,
|
|
# a set of libraries for developing nice desktop applications.
|
|
#
|
|
# For license and copyright information please follow this link:
|
|
# https://github.com/desktop-app/legal/blob/master/LEGAL
|
|
|
|
if (DESKTOP_APP_USE_PACKAGED AND QT_VERSION_MAJOR EQUAL 5)
|
|
add_library(external_sonnet INTERFACE IMPORTED GLOBAL)
|
|
add_library(desktop-app::external_sonnet ALIAS external_sonnet)
|
|
|
|
find_package(KF5Sonnet)
|
|
if (KF5Sonnet_FOUND)
|
|
target_link_libraries(external_sonnet INTERFACE KF5::SonnetCore)
|
|
return()
|
|
endif()
|
|
endif()
|
|
|
|
add_library(external_sonnet STATIC)
|
|
add_library(desktop-app::external_sonnet ALIAS external_sonnet)
|
|
init_target(external_sonnet "(external)")
|
|
|
|
set(sonnet_loc ${third_party_loc}/sonnet)
|
|
set(sonnet_data_loc ${sonnet_loc}/data)
|
|
set(sonnet_core_src ${sonnet_loc}/src/core)
|
|
set(sonnet_plugins_src ${sonnet_loc}/src/plugins)
|
|
|
|
set_target_properties(external_sonnet PROPERTIES AUTOMOC ON)
|
|
|
|
configure_file(${sonnet_data_loc}/trigrams.qrc.in ${CMAKE_CURRENT_BINARY_DIR}/trigrams.qrc @ONLY)
|
|
target_sources(external_sonnet PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/trigrams.qrc)
|
|
|
|
nice_target_sources(external_sonnet ${sonnet_core_src}
|
|
PRIVATE
|
|
client.cpp
|
|
client_p.h
|
|
guesslanguage.cpp
|
|
guesslanguage.h
|
|
loader.cpp
|
|
loader_p.h
|
|
settings.cpp
|
|
settings.h
|
|
settingsimpl.cpp
|
|
settingsimpl_p.h
|
|
speller.cpp
|
|
speller.h
|
|
spellerplugin.cpp
|
|
spellerplugin_p.h
|
|
textbreaks.cpp
|
|
textbreaks_p.h
|
|
tokenizer.cpp
|
|
tokenizer_p.h
|
|
)
|
|
|
|
nice_target_sources(external_sonnet ${sonnet_plugins_src}/hunspell
|
|
PRIVATE
|
|
hunspellclient.cpp
|
|
hunspellclient.h
|
|
hunspelldict.cpp
|
|
hunspelldict.h
|
|
)
|
|
|
|
if (APPLE)
|
|
nice_target_sources(external_sonnet ${sonnet_plugins_src}/nsspellchecker
|
|
PRIVATE
|
|
nsspellcheckerclient.cpp
|
|
nsspellcheckerclient.h
|
|
nsspellcheckerdict.cpp
|
|
nsspellcheckerdict.h
|
|
)
|
|
endif()
|
|
|
|
target_compile_definitions(external_sonnet
|
|
PUBLIC
|
|
SONNETCORE_EXPORT=
|
|
SONNET_STATIC
|
|
PRIVATE
|
|
QT_USE_QSTRINGBUILDER
|
|
)
|
|
|
|
target_include_directories(external_sonnet SYSTEM
|
|
PUBLIC
|
|
${sonnet_core_src}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/headers/public
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/headers/private
|
|
)
|
|
|
|
target_link_libraries(external_sonnet
|
|
PRIVATE
|
|
desktop-app::external_qt
|
|
desktop-app::external_hunspell
|
|
)
|
|
|
|
target_prepare_qrc(external_sonnet)
|
|
|
|
add_executable(external_sonnet_parsetrigrams)
|
|
init_target(external_sonnet_parsetrigrams "(external)")
|
|
|
|
nice_target_sources(external_sonnet_parsetrigrams ${sonnet_data_loc}
|
|
PRIVATE
|
|
parsetrigrams.cpp
|
|
)
|
|
|
|
target_link_libraries(external_sonnet_parsetrigrams
|
|
PRIVATE
|
|
desktop-app::external_qt
|
|
)
|
|
|
|
include(generate_trigrams.cmake)
|
|
generate_trigrams(external_sonnet ${sonnet_data_loc}/trigrams)
|