mirror of https://github.com/procxx/kepka.git
Initial Linux build.
This commit is contained in:
parent
01ecd73a62
commit
619dbe9b11
|
@ -43,6 +43,7 @@ stage
|
|||
/snap/plugins/__pycache__
|
||||
|
||||
/Telegram/*.user.*
|
||||
*.txt.user
|
||||
*.pro.user
|
||||
/Linux/
|
||||
/Telegram/Makefile
|
||||
|
|
|
@ -20,6 +20,7 @@ project(Telegram
|
|||
)
|
||||
|
||||
include(cmake/nice_target_sources.cmake)
|
||||
include(cmake/target_link_static_libraries.cmake)
|
||||
include(cmake/target_link_frameworks.cmake)
|
||||
include(cmake/init_target.cmake)
|
||||
include(cmake/generate_target.cmake)
|
||||
|
|
|
@ -79,10 +79,10 @@ PRIVATE
|
|||
desktop-app::lib_ffmpeg
|
||||
desktop-app::external_lz4
|
||||
desktop-app::external_rlottie
|
||||
desktop-app::external_zlib
|
||||
desktop-app::external_qt
|
||||
desktop-app::external_auto_updates
|
||||
desktop-app::external_openssl
|
||||
desktop-app::external_zlib
|
||||
desktop-app::external_opus
|
||||
desktop-app::external_openal
|
||||
)
|
||||
|
@ -91,7 +91,8 @@ if (NOT DESKTOP_APP_DISABLE_CRASH_REPORTS)
|
|||
target_link_libraries(Telegram PRIVATE desktop-app::external_crash_reports)
|
||||
endif()
|
||||
|
||||
set(telegram_sources
|
||||
target_precompile_headers(Telegram PRIVATE ${src_loc}/stdafx.h)
|
||||
nice_target_sources(Telegram ${src_loc}
|
||||
PRIVATE
|
||||
${style_files}
|
||||
|
||||
|
@ -931,9 +932,8 @@ PRIVATE
|
|||
settings.cpp
|
||||
settings.h
|
||||
)
|
||||
nice_target_sources(Telegram ${src_loc} "${telegram_sources}")
|
||||
|
||||
set(telegram_resources
|
||||
nice_target_sources(Telegram ${res_loc}
|
||||
PRIVATE
|
||||
qrc/emoji_1.qrc
|
||||
qrc/emoji_2.qrc
|
||||
|
@ -948,9 +948,6 @@ PRIVATE
|
|||
langs/lang.strings
|
||||
numbers.txt
|
||||
)
|
||||
nice_target_sources(Telegram ${res_loc} "${telegram_resources}")
|
||||
|
||||
target_precompile_headers(Telegram PRIVATE ${src_loc}/stdafx.h)
|
||||
|
||||
if (WIN32)
|
||||
# message(${CMAKE_GENERATOR})
|
||||
|
@ -1009,6 +1006,34 @@ elseif (APPLE)
|
|||
)
|
||||
endif()
|
||||
endif()
|
||||
elseif (LINUX)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
pkg_check_modules(GTK2 REQUIRED gtk+-2.0)
|
||||
target_include_directories(Telegram PRIVATE ${GTK2_INCLUDE_DIRS})
|
||||
target_compile_options(Telegram PRIVATE -Wno-register)
|
||||
|
||||
set(appindicator_packages
|
||||
ayatana-appindicator3-0.1
|
||||
ayatana-appindicator-0.1
|
||||
appindicator3-0.1
|
||||
appindicator-0.1
|
||||
)
|
||||
set(appindicator_found 0)
|
||||
foreach (package ${appindicator_packages})
|
||||
pkg_check_modules(APPIND_${package} ${package})
|
||||
if (APPIND_${package}_FOUND)
|
||||
set(appindicator_found 1)
|
||||
target_include_directories(Telegram PRIVATE "${APPIND_${package}_INCLUDE_DIRS}")
|
||||
if (${package} MATCHES "ayatana")
|
||||
target_compile_definitions(Telegram PRIVATE TDESKTOP_USE_AYATANA_INDICATORS)
|
||||
endif()
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
if (NOT ${appindicator_found})
|
||||
message(FATAL_ERROR "No libappindicator found by pkg-config.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (build_macstore)
|
||||
|
@ -1081,7 +1106,13 @@ if (disable_autoupdate)
|
|||
)
|
||||
endif()
|
||||
|
||||
set_target_properties(Telegram PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
|
||||
if (${CMAKE_GENERATOR} MATCHES "(Visual Studio|Xcode|Ninja)")
|
||||
set(output_folder ${CMAKE_BINARY_DIR})
|
||||
else()
|
||||
set(output_folder ${CMAKE_BINARY_DIR}/$<IF:$<CONFIG:Debug>,Debug,Release>)
|
||||
endif()
|
||||
|
||||
set_target_properties(Telegram PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
|
||||
|
||||
if (NOT build_macstore AND NOT build_winstore)
|
||||
add_executable(Updater WIN32)
|
||||
|
@ -1089,14 +1120,13 @@ if (NOT build_macstore AND NOT build_winstore)
|
|||
|
||||
add_dependencies(Telegram Updater)
|
||||
|
||||
set(updater_sources
|
||||
nice_target_sources(Updater ${src_loc}
|
||||
PRIVATE
|
||||
_other/updater_win.cpp
|
||||
_other/updater_linux.cpp
|
||||
_other/updater_osx.m
|
||||
_other/updater.h
|
||||
)
|
||||
nice_target_sources(Updater ${src_loc} "${updater_sources}")
|
||||
|
||||
set_target_properties(Updater PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
|
||||
set_target_properties(Updater PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
|
||||
endif()
|
||||
|
|
|
@ -8,17 +8,17 @@ function(generate_lang target_name lang_file)
|
|||
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
||||
file(MAKE_DIRECTORY ${gen_dst})
|
||||
|
||||
set(generated_files
|
||||
set(gen_timestamp ${gen_dst}/lang_auto.timestamp)
|
||||
set(gen_files
|
||||
${gen_dst}/lang_auto.cpp
|
||||
${gen_dst}/lang_auto.h
|
||||
${gen_dst}/lang_auto.timestamp
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${gen_dst}/lang_auto.timestamp
|
||||
${gen_timestamp}
|
||||
BYPRODUCTS
|
||||
${gen_dst}/lang_auto.cpp
|
||||
${gen_dst}/lang_auto.h
|
||||
${gen_files}
|
||||
COMMAND
|
||||
codegen_lang
|
||||
-o${gen_dst}
|
||||
|
@ -28,5 +28,5 @@ function(generate_lang target_name lang_file)
|
|||
codegen_lang
|
||||
${lang_file}
|
||||
)
|
||||
generate_target(${target_name} lang "${generated_files}" ${gen_dst})
|
||||
generate_target(${target_name} lang ${gen_timestamp} "${gen_files}" ${gen_dst})
|
||||
endfunction()
|
||||
|
|
|
@ -8,17 +8,17 @@ function(generate_numbers target_name numbers_file)
|
|||
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
||||
file(MAKE_DIRECTORY ${gen_dst})
|
||||
|
||||
set(generated_files
|
||||
set(gen_timestamp ${gen_dst}/numbers.timestamp)
|
||||
set(gen_files
|
||||
${gen_dst}/numbers.cpp
|
||||
${gen_dst}/numbers.h
|
||||
${gen_dst}/numbers.timestamp
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${gen_dst}/numbers.timestamp
|
||||
${gen_timestamp}
|
||||
BYPRODUCTS
|
||||
${gen_dst}/numbers.cpp
|
||||
${gen_dst}/numbers.h
|
||||
${gen_files}
|
||||
COMMAND
|
||||
codegen_numbers
|
||||
-o${gen_dst}
|
||||
|
@ -28,5 +28,5 @@ function(generate_numbers target_name numbers_file)
|
|||
codegen_numbers
|
||||
${numbers_file}
|
||||
)
|
||||
generate_target(${target_name} numbers "${generated_files}" ${gen_dst})
|
||||
generate_target(${target_name} numbers ${gen_timestamp} "${gen_files}" ${gen_dst})
|
||||
endfunction()
|
||||
|
|
|
@ -8,17 +8,17 @@ function(generate_scheme target_name script scheme_files)
|
|||
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
||||
file(MAKE_DIRECTORY ${gen_dst})
|
||||
|
||||
set(generated_files
|
||||
set(gen_timestamp ${gen_dst}/scheme.timestamp)
|
||||
set(gen_files
|
||||
${gen_dst}/scheme.cpp
|
||||
${gen_dst}/scheme.h
|
||||
${gen_dst}/scheme.timestamp
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${gen_dst}/scheme.timestamp
|
||||
${gen_timestamp}
|
||||
BYPRODUCTS
|
||||
${gen_dst}/scheme.cpp
|
||||
${gen_dst}/scheme.h
|
||||
${gen_files}
|
||||
COMMAND
|
||||
python
|
||||
${script}
|
||||
|
@ -30,5 +30,5 @@ function(generate_scheme target_name script scheme_files)
|
|||
${submodules_loc}/lib_tl/tl/generate_tl.py
|
||||
${scheme_files}
|
||||
)
|
||||
generate_target(${target_name} scheme "${generated_files}" ${gen_dst})
|
||||
generate_target(${target_name} scheme ${gen_timestamp} "${gen_files}" ${gen_dst})
|
||||
endfunction()
|
||||
|
|
|
@ -8,7 +8,8 @@ add_library(lib_export OBJECT)
|
|||
init_target(lib_export)
|
||||
add_library(tdesktop::lib_export ALIAS lib_export)
|
||||
|
||||
set(lib_export_sources
|
||||
target_precompile_headers(lib_export PRIVATE ${src_loc}/export/export_pch.h)
|
||||
nice_target_sources(lib_export ${src_loc}
|
||||
PRIVATE
|
||||
export/export_api_wrap.cpp
|
||||
export/export_api_wrap.h
|
||||
|
@ -32,9 +33,6 @@ PRIVATE
|
|||
export/output/export_output_text.cpp
|
||||
export/output/export_output_text.h
|
||||
)
|
||||
nice_target_sources(lib_export ${src_loc} "${lib_export_sources}")
|
||||
|
||||
target_precompile_headers(lib_export PRIVATE ${src_loc}/export/export_pch.h)
|
||||
|
||||
target_include_directories(lib_export
|
||||
PUBLIC
|
||||
|
|
|
@ -8,27 +8,19 @@ add_library(lib_ffmpeg OBJECT)
|
|||
add_library(desktop-app::lib_ffmpeg ALIAS lib_ffmpeg)
|
||||
init_target(lib_ffmpeg)
|
||||
|
||||
set(lib_ffmpeg_sources
|
||||
nice_target_sources(lib_ffmpeg ${src_loc}
|
||||
PRIVATE
|
||||
ffmpeg/ffmpeg_utility.cpp
|
||||
ffmpeg/ffmpeg_utility.h
|
||||
)
|
||||
nice_target_sources(lib_ffmpeg ${src_loc} "${lib_ffmpeg_sources}")
|
||||
|
||||
target_include_directories(lib_ffmpeg
|
||||
PUBLIC
|
||||
${src_loc}
|
||||
${libs_loc}/ffmpeg
|
||||
)
|
||||
|
||||
set(ffmpeg_lib_loc ${libs_loc}/ffmpeg)
|
||||
|
||||
target_link_libraries(lib_ffmpeg
|
||||
PUBLIC
|
||||
desktop-app::lib_base
|
||||
${ffmpeg_lib_loc}/libavformat/libavformat.a
|
||||
${ffmpeg_lib_loc}/libavcodec/libavcodec.a
|
||||
${ffmpeg_lib_loc}/libavutil/libavutil.a
|
||||
${ffmpeg_lib_loc}/libswresample/libswresample.a
|
||||
${ffmpeg_lib_loc}/libswscale/libswscale.a
|
||||
desktop-app::external_ffmpeg
|
||||
)
|
||||
|
|
|
@ -8,7 +8,8 @@ add_library(lib_mtproto OBJECT)
|
|||
init_target(lib_mtproto)
|
||||
add_library(tdesktop::lib_mtproto ALIAS lib_mtproto)
|
||||
|
||||
set(lib_mtproto_sources
|
||||
target_precompile_headers(lib_mtproto PRIVATE ${src_loc}/mtproto/mtp_pch.h)
|
||||
nice_target_sources(lib_mtproto ${src_loc}
|
||||
PRIVATE
|
||||
mtproto/mtp_abstract_socket.cpp
|
||||
mtproto/mtp_abstract_socket.h
|
||||
|
@ -17,9 +18,6 @@ PRIVATE
|
|||
mtproto/mtp_tls_socket.cpp
|
||||
mtproto/mtp_tls_socket.h
|
||||
)
|
||||
nice_target_sources(lib_mtproto ${src_loc} "${lib_mtproto_sources}")
|
||||
|
||||
target_precompile_headers(lib_mtproto PRIVATE ${src_loc}/mtproto/mtp_pch.h)
|
||||
|
||||
target_include_directories(lib_mtproto
|
||||
PUBLIC
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
|
||||
add_library(lib_tgvoip STATIC)
|
||||
init_target(lib_tgvoip cxx_std_11)
|
||||
init_target(lib_tgvoip)
|
||||
add_library(tdesktop::lib_tgvoip ALIAS lib_tgvoip)
|
||||
|
||||
set(tgvoip_loc ${third_party_loc}/libtgvoip)
|
||||
|
||||
set(lib_tgvoip_sources
|
||||
nice_target_sources(lib_tgvoip ${tgvoip_loc}
|
||||
PRIVATE
|
||||
BlockingQueue.cpp
|
||||
BlockingQueue.h
|
||||
|
@ -710,10 +710,8 @@ PRIVATE
|
|||
# webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12_armv7.S
|
||||
)
|
||||
|
||||
nice_target_sources(lib_tgvoip ${tgvoip_loc} "${lib_tgvoip_sources}")
|
||||
|
||||
target_compile_definitions(lib_tgvoip
|
||||
PRIVATE
|
||||
PUBLIC
|
||||
WEBRTC_APM_DEBUG_DUMP=0
|
||||
TGVOIP_USE_DESKTOP_DSP
|
||||
WEBRTC_NS_FLOAT
|
||||
|
@ -726,12 +724,12 @@ if (WIN32)
|
|||
/wd4244 # conversion from 'int' to 'float', possible loss of data (several in webrtc)
|
||||
)
|
||||
target_compile_definitions(lib_tgvoip
|
||||
PRIVATE
|
||||
PUBLIC
|
||||
WEBRTC_WIN
|
||||
)
|
||||
elseif (APPLE)
|
||||
target_compile_definitions(lib_tgvoip
|
||||
PRIVATE
|
||||
PUBLIC
|
||||
WEBRTC_POSIX
|
||||
WEBRTC_MAC
|
||||
TARGET_OS_OSX
|
||||
|
@ -739,13 +737,22 @@ elseif (APPLE)
|
|||
)
|
||||
if (build_macstore)
|
||||
target_compile_definitions(lib_tgvoip
|
||||
PRIVATE
|
||||
PUBLIC
|
||||
TGVOIP_NO_OSX_PRIVATE_API
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
target_compile_definitions(lib_tgvoip
|
||||
target_compile_options(lib_tgvoip
|
||||
PRIVATE
|
||||
-Wno-unknown-pragmas
|
||||
-Wno-error=sequence-point
|
||||
-Wno-error=unused-result
|
||||
)
|
||||
if (build_linux32)
|
||||
target_compile_options(lib_tgvoip PRIVATE -msse2)
|
||||
endif()
|
||||
target_compile_definitions(lib_tgvoip
|
||||
PUBLIC
|
||||
WEBRTC_POSIX
|
||||
WEBRTC_LINUX
|
||||
)
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit bbb6f6a2a7913cca35685e78de168ae0a3ec0b09
|
||||
Subproject commit ee55a0b69f65622fe25487745e5537ebcffd8372
|
|
@ -1 +1 @@
|
|||
Subproject commit d245266b2e4b8251eeadf01b13d6b256290ae7e6
|
||||
Subproject commit 3c7b504dd46868345c00d642b4f9eb40f6da2d52
|
|
@ -1 +1 @@
|
|||
Subproject commit 7ef466b21c4116eb6e3447403d5c4665dd5264e7
|
||||
Subproject commit 5a740bf0b7fe8f1f9a7f3e0878d5238f56502da1
|
|
@ -1 +1 @@
|
|||
Subproject commit 38bca2d3f2bbf7c4a3c39f744490eb9fb869138c
|
||||
Subproject commit 133364fc6ca6b81cee6bce55acce108c9e78c576
|
|
@ -1 +1 @@
|
|||
Subproject commit 370de851feff5612954189deb16a2154d6d1ef2d
|
||||
Subproject commit bd850834fc9ba6c62784306b65506ab19d64ab89
|
|
@ -1 +1 @@
|
|||
Subproject commit 62e220b9f142b64071fd21d64bdbccf665acc2fd
|
||||
Subproject commit 3bda79beefaa7f8237f832a1ff1da3eba08059e7
|
|
@ -1 +1 @@
|
|||
Subproject commit aee02d865b67cfc2215d2e3f7e21be9e1f723376
|
||||
Subproject commit 529559508ab729451b034414e3d4a080ab6f2b78
|
|
@ -1 +1 @@
|
|||
Subproject commit 18cde5931f09a82a142bc39a4af5ae4cfad74b94
|
||||
Subproject commit 52a9c9f58ff4b22cb68f739ce85e187069f408ab
|
|
@ -1 +1 @@
|
|||
Subproject commit 1c19e874bbeddded6b729bd37aa6da1c872eb206
|
||||
Subproject commit fcb44b320c008b21f9e168149a3ac72f68530b4c
|
2
cmake
2
cmake
|
@ -1 +1 @@
|
|||
Subproject commit 382380d513af1b80c3ab22de8863da9906a47e59
|
||||
Subproject commit af968dc8eab6bde381ad62ef6a516bdfccb7d038
|
Loading…
Reference in New Issue