Own omemo key display, a bit of CMake clean up

This commit is contained in:
Blue 2023-11-13 19:05:26 -03:00
parent 19835af3cf
commit 00af582287
Signed by untrusted user: blue
GPG key ID: 9B203B252A63EE38
16 changed files with 443 additions and 360 deletions

View file

@ -47,7 +47,7 @@ find_package(Boost COMPONENTS)
target_include_directories(squawk PRIVATE ${Boost_INCLUDE_DIRS})
#OMEMO
## OMEMO
if (WITH_OMEMO)
find_package(PkgConfig)
if (PKG_CONFIG_FOUND)
@ -65,22 +65,6 @@ if (WITH_OMEMO)
endif ()
endif ()
## QXmpp
if (SYSTEM_QXMPP)
if (WITH_OMEMO)
find_package(QXmpp CONFIG COMPONENTS Omemo)
else ()
find_package(QXmpp CONFIG)
endif ()
if (NOT QXmpp_FOUND)
set(SYSTEM_QXMPP OFF)
message("QXmpp package wasn't found, trying to build with bundled QXmpp")
else ()
message("Building with system QXmpp")
endif ()
endif ()
## KIO
if (WITH_KIO)
find_package(KF5KIO CONFIG)
@ -107,6 +91,7 @@ if (WITH_KWALLET)
endif ()
endif ()
## KConfig
if (WITH_KCONFIG)
find_package(KF5Config CONFIG)
if (NOT KF5Config_FOUND)
@ -125,7 +110,22 @@ if (WITH_KCONFIG)
endif()
endif()
if (NOT SYSTEM_QXMPP)
## QXmpp
if (SYSTEM_QXMPP)
if (WITH_OMEMO)
find_package(QXmpp CONFIG COMPONENTS Omemo)
else ()
find_package(QXmpp CONFIG)
endif ()
if (NOT QXmpp_FOUND)
set(SYSTEM_QXMPP OFF)
message("QXmpp package wasn't found, trying to build with bundled QXmpp")
else ()
message("Building with system QXmpp")
endif ()
endif () #it's endif() + if() and not else() because I want it to have a fallback behaviour
if (NOT SYSTEM_QXMPP) #we can fail finding system QXmpp and this way we'll check bundled before failing completely
message("Building with bundled QXmpp")
target_include_directories(squawk PRIVATE ${CMAKE_SOURCE_DIR}/external/qxmpp/src/base)
@ -141,19 +141,10 @@ if (NOT SYSTEM_QXMPP)
set(BUILD_OMEMO OFF)
endif ()
add_subdirectory(external/qxmpp)
add_library(QXmpp::QXmpp ALIAS QXmppQt${QT_VERSION_MAJOR})
if (WITH_OMEMO)
target_include_directories(QXmppOmemoQt${QT_VERSION_MAJOR} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/external/qxmpp/src)
endif()
target_link_libraries(squawk PRIVATE QXmppQt${QT_VERSION_MAJOR})
if (WITH_OMEMO)
target_link_libraries(squawk PRIVATE QXmppOmemoQt${QT_VERSION_MAJOR})
endif ()
else ()
target_link_libraries(squawk PRIVATE QXmpp::QXmpp)
if (WITH_OMEMO)
target_link_libraries(squawk PRIVATE QXmpp::Omemo)
add_library(QXmpp::Omemo ALIAS QXmppOmemoQt${QT_VERSION_MAJOR})
endif ()
endif ()
@ -166,18 +157,14 @@ if (SYSTEM_LMDBAL)
else ()
message("Building with system LMDBAL")
endif ()
endif()
if (NOT SYSTEM_LMDBAL)
else()
message("Building with bundled LMDBAL")
set(BUILD_STATIC ON)
add_subdirectory(external/lmdbal)
add_library(LMDBAL::LMDBAL ALIAS LMDBAL)
endif()
target_link_libraries(squawk PRIVATE LMDBAL::LMDBAL)
# Linking
## Linking
target_link_libraries(squawk
PRIVATE
Qt${QT_VERSION_MAJOR}::Core
@ -186,17 +173,23 @@ target_link_libraries(squawk
Qt${QT_VERSION_MAJOR}::Network
Qt${QT_VERSION_MAJOR}::Gui
Qt${QT_VERSION_MAJOR}::Xml
LMDBAL::LMDBAL
QXmpp::QXmpp
simpleCrypt
)
target_link_libraries(squawk PRIVATE lmdb)
target_link_libraries(squawk PRIVATE simpleCrypt)
# Link thread libraries on Linux
if (WITH_OMEMO)
target_link_libraries(squawk PRIVATE QXmpp::Omemo)
endif ()
## Link thread libraries on Linux
if(UNIX AND NOT APPLE)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
target_link_libraries(squawk PRIVATE Threads::Threads)
endif()
# Build type
## Build type
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Debug)
endif ()
@ -228,7 +221,7 @@ add_subdirectory(shared)
add_subdirectory(translations)
add_subdirectory(ui)
# Install the executable
## Install the executable
install(TARGETS squawk DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES README.md DESTINATION ${CMAKE_INSTALL_DATADIR}/macaw.me/squawk)
install(FILES LICENSE.md DESTINATION ${CMAKE_INSTALL_DATADIR}/macaw.me/squawk)