1
0
Fork 0

Updated cmake sources to TDesktop version 2.4.7

This commit is contained in:
Eric Kotato 2020-11-07 00:04:45 +03:00
commit bf6a99a36e
16 changed files with 129 additions and 151 deletions

View file

@ -22,6 +22,9 @@ if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION)
add_checked_subdirectory(fcitx5_qt5) add_checked_subdirectory(fcitx5_qt5)
endif() endif()
add_checked_subdirectory(ffmpeg) add_checked_subdirectory(ffmpeg)
if (LINUX)
add_checked_subdirectory(glib)
endif()
add_checked_subdirectory(gsl) add_checked_subdirectory(gsl)
if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION) if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION)
add_checked_subdirectory(hime_qt) add_checked_subdirectory(hime_qt)
@ -30,9 +33,7 @@ if (add_hunspell_library)
add_checked_subdirectory(hunspell) add_checked_subdirectory(hunspell)
endif() endif()
add_checked_subdirectory(iconv) add_checked_subdirectory(iconv)
if (LINUX AND NOT DESKTOP_APP_DISABLE_DBUS_INTEGRATION) add_checked_subdirectory(jpeg)
add_checked_subdirectory(lxqt_qtplugin)
endif()
add_checked_subdirectory(lz4) add_checked_subdirectory(lz4)
if (LINUX) if (LINUX)
add_checked_subdirectory(materialdecoration) add_checked_subdirectory(materialdecoration)
@ -62,5 +63,8 @@ add_checked_subdirectory(variant)
if (NOT DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION) if (NOT DESKTOP_APP_DISABLE_WEBRTC_INTEGRATION)
add_checked_subdirectory(webrtc) add_checked_subdirectory(webrtc)
endif() endif()
if (LINUX)
add_checked_subdirectory(xcb)
endif()
add_checked_subdirectory(xxhash) add_checked_subdirectory(xxhash)
add_checked_subdirectory(zlib) add_checked_subdirectory(zlib)

View file

@ -46,37 +46,29 @@ else()
PRIVATE PRIVATE
desktop-app::external_fcitx5_qt5_dbusaddons desktop-app::external_fcitx5_qt5_dbusaddons
desktop-app::external_qt desktop-app::external_qt
desktop-app::external_xcb
) )
if (DESKTOP_APP_USE_PACKAGED) if (DESKTOP_APP_USE_PACKAGED)
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(XKBCOMMON REQUIRED IMPORTED_TARGET xkbcommon) pkg_check_modules(XKBCOMMON REQUIRED IMPORTED_TARGET xkbcommon)
pkg_check_modules(XCB REQUIRED IMPORTED_TARGET xcb)
target_link_libraries(external_fcitx5_qt5 target_link_libraries(external_fcitx5_qt5
PRIVATE PRIVATE
PkgConfig::XKBCOMMON PkgConfig::XKBCOMMON
PkgConfig::XCB
) )
else() else()
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(XKBCOMMON REQUIRED xkbcommon) pkg_check_modules(XKBCOMMON REQUIRED xkbcommon)
pkg_check_modules(XCB REQUIRED xcb)
target_include_directories(external_fcitx5_qt5 target_include_directories(external_fcitx5_qt5
PUBLIC PUBLIC
${XKBCOMMON_INCLUDE_DIRS} ${XKBCOMMON_INCLUDE_DIRS}
${XCB_INCLUDE_DIRS}
) )
target_link_static_libraries(external_fcitx5_qt5 target_link_static_libraries(external_fcitx5_qt5
PRIVATE PRIVATE
xkbcommon xkbcommon
) )
target_link_libraries(external_fcitx5_qt5
PRIVATE
xcb
)
endif() endif()
endif() endif()

36
external/glib/CMakeLists.txt vendored Normal file
View file

@ -0,0 +1,36 @@
# 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
add_library(external_glib INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_glib ALIAS external_glib)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB2 REQUIRED IMPORTED_TARGET glib-2.0)
pkg_check_modules(GOBJECT REQUIRED IMPORTED_TARGET gobject-2.0)
pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0)
if (DESKTOP_APP_USE_PACKAGED)
target_link_libraries(external_glib
INTERFACE
PkgConfig::GIO
PkgConfig::GOBJECT
PkgConfig::GLIB2
)
else()
target_include_directories(external_glib
INTERFACE
${GIO_INCLUDE_DIRS}
${GOBJECT_INCLUDE_DIRS}
${GLIB2_INCLUDE_DIRS}
)
target_link_libraries(external_glib
INTERFACE
gio-2.0
gobject-2.0
glib-2.0
)
endif()

View file

@ -54,29 +54,29 @@ else()
CLIENT_LIB=1 CLIENT_LIB=1
) )
target_link_libraries(external_hime_im_client
PRIVATE
desktop-app::external_glib
)
if (DESKTOP_APP_USE_PACKAGED) if (DESKTOP_APP_USE_PACKAGED)
pkg_check_modules(X11 REQUIRED IMPORTED_TARGET x11) pkg_check_modules(X11 REQUIRED IMPORTED_TARGET x11)
pkg_check_modules(GLIB2 REQUIRED IMPORTED_TARGET glib-2.0)
target_link_libraries(external_hime_im_client target_link_libraries(external_hime_im_client
PRIVATE PRIVATE
PkgConfig::X11 PkgConfig::X11
PkgConfig::GLIB2
) )
else() else()
pkg_check_modules(X11 REQUIRED x11) pkg_check_modules(X11 REQUIRED x11)
pkg_check_modules(GLIB2 REQUIRED glib-2.0)
target_include_directories(external_hime_im_client target_include_directories(external_hime_im_client
PRIVATE PRIVATE
${X11_INCLUDE_DIRS} ${X11_INCLUDE_DIRS}
${GLIB2_INCLUDE_DIRS}
) )
target_link_libraries(external_hime_im_client target_link_libraries(external_hime_im_client
PRIVATE PRIVATE
X11 X11
glib-2.0
) )
endif() endif()
endif() endif()

22
external/jpeg/CMakeLists.txt vendored Normal file
View file

@ -0,0 +1,22 @@
# 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
add_library(external_jpeg INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_jpeg ALIAS external_jpeg)
if (DESKTOP_APP_USE_PACKAGED)
find_package(JPEG)
target_link_libraries(external_jpeg INTERFACE JPEG::JPEG)
elseif (WIN32)
target_include_directories(external_jpeg INTERFACE ${libs_loc}/mozjpeg)
target_link_libraries(external_jpeg INTERFACE ${libs_loc}/mozjpeg/$<IF:$<CONFIG:Debug>,Debug,Release>/jpeg-static.lib)
elseif (APPLE AND NOT build_osx)
target_link_libraries(external_jpeg INTERFACE /usr/local/macos/lib/libjpeg.a)
elseif (APPLE)
target_link_libraries(external_jpeg INTERFACE /usr/local/lib/libjpeg.a)
else()
target_link_static_libraries(external_jpeg INTERFACE jpeg)
endif()

View file

@ -1,48 +0,0 @@
# 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 NOT DESKTOP_APP_USE_PACKAGED_LAZY_PLATFORMTHEMES)
add_library(external_lxqt_qtplugin INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_lxqt_qtplugin ALIAS external_lxqt_qtplugin)
else()
add_library(external_lxqt_qtplugin STATIC)
add_library(desktop-app::external_lxqt_qtplugin ALIAS external_lxqt_qtplugin)
init_target(external_lxqt_qtplugin "(external)")
set(lxqt_qtplugin_loc ${third_party_loc}/lxqt-qtplugin)
set(lxqt_qtplugin_src ${lxqt_qtplugin_loc}/src)
set_target_properties(external_lxqt_qtplugin PROPERTIES AUTOMOC ON)
nice_target_sources(external_lxqt_qtplugin ${lxqt_qtplugin_src}
PRIVATE
main.cpp
lxqtplatformtheme.cpp
lxqtplatformtheme.h
lxqtsystemtrayicon.cpp
lxqtsystemtrayicon.h
)
target_include_directories(external_lxqt_qtplugin
PRIVATE
${lxqt_qtplugin_src}
)
target_compile_definitions(external_lxqt_qtplugin
PRIVATE
QT_STATICPLUGIN
QT_NO_FOREACH
LIB_FM_QT_SONAME="libfm-qt.so.7"
)
add_subdirectory(xdgiconloader)
target_link_libraries(external_lxqt_qtplugin
PRIVATE
desktop-app::external_statusnotifieritem
desktop-app::external_xdgiconloader
desktop-app::external_qt
)
endif()

View file

@ -1,59 +0,0 @@
# 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 NOT DESKTOP_APP_USE_PACKAGED_LAZY_PLATFORMTHEMES)
add_library(external_xdgiconloader INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_xdgiconloader ALIAS external_xdgiconloader)
else()
add_library(external_xdgiconloader STATIC)
add_library(desktop-app::external_xdgiconloader ALIAS external_xdgiconloader)
init_target(external_xdgiconloader "(external)")
set(libqtxdg_loc ${third_party_loc}/libqtxdg)
set(xdgiconloader_src ${libqtxdg_loc}/src/xdgiconloader)
set(xdgiconloader_includedir "${CMAKE_CURRENT_BINARY_DIR}/xdgiconloader")
set_target_properties(external_xdgiconloader PROPERTIES AUTOMOC ON)
nice_target_sources(external_xdgiconloader ${xdgiconloader_src}
PRIVATE
xdgiconloader.cpp
xdgiconloader_p.h
)
include(GenerateExportHeader)
generate_export_header(external_xdgiconloader BASE_NAME XdgIconLoader)
configure_file(
"${CMAKE_CURRENT_BINARY_DIR}/xdgiconloader_export.h"
"${xdgiconloader_includedir}/xdgiconloader_export.h"
COPYONLY
)
file(
COPY
${xdgiconloader_src}/xdgiconloader_p.h
DESTINATION
${xdgiconloader_includedir}/private/xdgiconloader
)
target_include_directories(external_xdgiconloader
PUBLIC
${xdgiconloader_includedir}
PRIVATE
${xdgiconloader_src}
)
target_compile_definitions(external_xdgiconloader
PRIVATE
QT_NO_KEYWORDS
)
target_link_libraries(external_xdgiconloader
PRIVATE
desktop-app::external_qt
)
endif()

View file

@ -23,18 +23,10 @@ else()
im-nimf-qt5.cpp im-nimf-qt5.cpp
) )
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB2 REQUIRED glib-2.0)
pkg_check_modules(GOBJECT REQUIRED gobject-2.0)
pkg_check_modules(GIO REQUIRED gio-2.0)
target_include_directories(external_nimf_qt5 target_include_directories(external_nimf_qt5
PRIVATE PRIVATE
${nimf_qt5_src} ${nimf_qt5_src}
${libnimf_src} ${libnimf_src}
${GLIB2_INCLUDE_DIRS}
${GOBJECT_INCLUDE_DIRS}
${GIO_INCLUDE_DIRS}
) )
target_compile_definitions(external_nimf_qt5 target_compile_definitions(external_nimf_qt5
@ -49,6 +41,7 @@ else()
target_link_libraries(external_nimf_qt5 target_link_libraries(external_nimf_qt5
PRIVATE PRIVATE
desktop-app::external_qt desktop-app::external_qt
desktop-app::external_glib
${CMAKE_DL_LIBS} ${CMAKE_DL_LIBS}
) )
endif() endif()

View file

@ -25,7 +25,7 @@ elseif (WIN32)
) )
target_link_libraries(external_openal target_link_libraries(external_openal
INTERFACE INTERFACE
${libs_loc}/openal-soft/build/$<IF:$<CONFIG:Debug>,Debug,Release>/OpenAL32.lib ${libs_loc}/openal-soft/build/$<IF:$<CONFIG:Debug>,Debug,RelWithDebInfo>/OpenAL32.lib
) )
elseif(APPLE AND NOT build_osx) elseif(APPLE AND NOT build_osx)
target_include_directories(external_openal SYSTEM target_include_directories(external_openal SYSTEM

View file

@ -16,14 +16,12 @@ else()
add_library(external_opus STATIC IMPORTED GLOBAL) add_library(external_opus STATIC IMPORTED GLOBAL)
add_library(desktop-app::external_opus ALIAS external_opus) add_library(desktop-app::external_opus ALIAS external_opus)
target_include_directories(external_opus SYSTEM if (WIN32)
target_include_directories(external_opus
INTERFACE INTERFACE
${libs_loc}/opus/include ${libs_loc}/opus/include
) )
if (WIN32)
set(opus_lib_loc ${libs_loc}/opus/win32/VS2015/Win32) set(opus_lib_loc ${libs_loc}/opus/win32/VS2015/Win32)
set_target_properties(external_opus PROPERTIES set_target_properties(external_opus PROPERTIES
IMPORTED_LOCATION "${opus_lib_loc}/Release/opus.lib" IMPORTED_LOCATION "${opus_lib_loc}/Release/opus.lib"
IMPORTED_LOCATION_DEBUG "${opus_lib_loc}/Debug/opus.lib" IMPORTED_LOCATION_DEBUG "${opus_lib_loc}/Debug/opus.lib"
@ -31,7 +29,7 @@ else()
elseif (APPLE AND NOT build_osx) elseif (APPLE AND NOT build_osx)
target_include_directories(external_opus target_include_directories(external_opus
INTERFACE INTERFACE
/usr/local/macos/include /usr/local/macos/include/opus
) )
set_target_properties(external_opus PROPERTIES set_target_properties(external_opus PROPERTIES
IMPORTED_LOCATION /usr/local/macos/lib/libopus.a IMPORTED_LOCATION /usr/local/macos/lib/libopus.a
@ -39,12 +37,16 @@ else()
elseif (APPLE) elseif (APPLE)
target_include_directories(external_opus target_include_directories(external_opus
INTERFACE INTERFACE
/usr/local/include /usr/local/include/opus
) )
set_target_properties(external_opus PROPERTIES set_target_properties(external_opus PROPERTIES
IMPORTED_LOCATION /usr/local/lib/libopus.a IMPORTED_LOCATION /usr/local/lib/libopus.a
) )
else() else()
target_include_directories(external_opus
INTERFACE
/usr/local/include/opus
)
find_library(OPUS_LIBRARY libopus.a) find_library(OPUS_LIBRARY libopus.a)
set_target_properties(external_opus PROPERTIES set_target_properties(external_opus PROPERTIES
IMPORTED_LOCATION "${OPUS_LIBRARY}" IMPORTED_LOCATION "${OPUS_LIBRARY}"

View file

@ -34,6 +34,7 @@ if (DESKTOP_APP_USE_PACKAGED)
find_library(Qt5ThemeSupport_LIBRARY find_library(Qt5ThemeSupport_LIBRARY
NAMES NAMES
Qt5ThemeSupport Qt5ThemeSupport
REQUIRED
) )
find_path(Qt5ThemeSupport_INCLUDE_DIR find_path(Qt5ThemeSupport_INCLUDE_DIR
@ -43,6 +44,7 @@ if (DESKTOP_APP_USE_PACKAGED)
${Qt5Gui_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS}
PATH_SUFFIXES PATH_SUFFIXES
QtThemeSupport/${Qt5Gui_VERSION} QtThemeSupport/${Qt5Gui_VERSION}
REQUIRED
) )
target_link_libraries(external_qt target_link_libraries(external_qt
@ -200,6 +202,11 @@ else()
foreach (lib ${qt_libs}) foreach (lib ${qt_libs})
list(APPEND qt_libs_list "${qt_loc}/${lib}${qt_lib_suffix}") list(APPEND qt_libs_list "${qt_loc}/${lib}${qt_lib_suffix}")
endforeach() endforeach()
target_link_libraries(external_qt
INTERFACE
desktop-app::external_jpeg
desktop-app::external_zlib
)
elseif (APPLE) elseif (APPLE)
if (NOT build_osx) if (NOT build_osx)
set(qt_libs set(qt_libs
@ -233,6 +240,7 @@ else()
endforeach() endforeach()
target_link_libraries(external_qt target_link_libraries(external_qt
INTERFACE INTERFACE
desktop-app::external_jpeg
desktop-app::external_zlib desktop-app::external_zlib
cups cups
) )
@ -352,6 +360,7 @@ else()
endif() endif()
target_link_libraries(external_qt target_link_libraries(external_qt
INTERFACE INTERFACE
desktop-app::external_jpeg
desktop-app::external_zlib desktop-app::external_zlib
ICE ICE
SM SM

View file

@ -98,5 +98,6 @@ else()
INTERFACE INTERFACE
${webrtc_libs_list} ${webrtc_libs_list}
desktop-app::external_openssl desktop-app::external_openssl
desktop-app::external_jpeg
) )
endif() endif()

18
external/xcb/CMakeLists.txt vendored Normal file
View file

@ -0,0 +1,18 @@
# 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
add_library(external_xcb INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_xcb ALIAS external_xcb)
add_subdirectory(xcb_screensaver)
if (DESKTOP_APP_USE_PACKAGED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(XCB REQUIRED IMPORTED_TARGET xcb)
target_link_libraries(external_xcb INTERFACE PkgConfig::XCB)
else()
target_link_libraries(external_xcb INTERFACE xcb)
endif()

View file

@ -0,0 +1,16 @@
# 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
add_library(external_xcb_screensaver INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_xcb_screensaver ALIAS external_xcb_screensaver)
if (DESKTOP_APP_USE_PACKAGED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(XCB_SCREENSAVER REQUIRED IMPORTED_TARGET xcb-screensaver)
target_link_libraries(external_xcb_screensaver INTERFACE PkgConfig::XCB_SCREENSAVER)
else()
target_link_static_libraries(external_xcb_screensaver INTERFACE xcb-screensaver)
endif()

View file

@ -7,21 +7,13 @@
add_library(external_zlib INTERFACE IMPORTED GLOBAL) add_library(external_zlib INTERFACE IMPORTED GLOBAL)
add_library(desktop-app::external_zlib ALIAS external_zlib) add_library(desktop-app::external_zlib ALIAS external_zlib)
if (NOT DESKTOP_APP_USE_PACKAGED AND NOT LINUX)
target_include_directories(external_zlib SYSTEM
INTERFACE
${libs_loc}/zlib
)
endif()
if (DESKTOP_APP_USE_PACKAGED) if (DESKTOP_APP_USE_PACKAGED)
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
target_link_libraries(external_zlib INTERFACE ZLIB::ZLIB) target_link_libraries(external_zlib INTERFACE ZLIB::ZLIB)
elseif (WIN32) elseif (WIN32)
target_compile_definitions(external_zlib INTERFACE ZLIB_WINAPI) target_compile_definitions(external_zlib INTERFACE ZLIB_WINAPI)
target_include_directories(external_zlib INTERFACE ${libs_loc}/zlib)
set(zlib_lib_loc ${libs_loc}/zlib/contrib/vstudio/vc14/x86/ZlibStat$<IF:$<CONFIG:Debug>,Debug,ReleaseWithoutAsm>) set(zlib_lib_loc ${libs_loc}/zlib/contrib/vstudio/vc14/x86/ZlibStat$<IF:$<CONFIG:Debug>,Debug,ReleaseWithoutAsm>)
target_link_libraries(external_zlib INTERFACE ${zlib_lib_loc}/zlibstat.lib) target_link_libraries(external_zlib INTERFACE ${zlib_lib_loc}/zlibstat.lib)
elseif (APPLE AND NOT build_osx) elseif (APPLE AND NOT build_osx)
target_link_libraries(external_zlib INTERFACE /usr/local/macos/lib/libz.a) target_link_libraries(external_zlib INTERFACE /usr/local/macos/lib/libz.a)

View file

@ -5,7 +5,7 @@
# https://github.com/desktop-app/legal/blob/master/LEGAL # https://github.com/desktop-app/legal/blob/master/LEGAL
set(MAXIMUM_CXX_STANDARD cxx_std_20) set(MAXIMUM_CXX_STANDARD cxx_std_20)
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(MAXIMUM_CXX_STANDARD cxx_std_17) set(MAXIMUM_CXX_STANDARD cxx_std_17)
endif() endif()