270 lines
5.5 KiB
CMake
270 lines
5.5 KiB
CMake
set_property(GLOBAL PROPERTY AUTOGEN_SOURCE_GROUP "Generated Files")
|
|
|
|
# https://doc.qt.io/qt-6/macos.html#supported-versions
|
|
set(CMAKE_OSX_DEPLOYMENT_TARGET 11)
|
|
|
|
add_executable(${TR_NAME}-qt WIN32)
|
|
|
|
target_sources(${TR_NAME}-qt
|
|
PRIVATE
|
|
AboutDialog.cc
|
|
AboutDialog.h
|
|
AddData.cc
|
|
AddData.h
|
|
Application.cc
|
|
Application.h
|
|
BaseDialog.h
|
|
ColumnResizer.cc
|
|
ColumnResizer.h
|
|
ComInteropHelper.cc
|
|
ComInteropHelper.h
|
|
CustomVariantType.h
|
|
DBusInteropHelper.cc
|
|
DBusInteropHelper.h
|
|
DetailsDialog.cc
|
|
DetailsDialog.h
|
|
FaviconCache.cc
|
|
FileTreeDelegate.cc
|
|
FileTreeDelegate.h
|
|
FileTreeItem.cc
|
|
FileTreeItem.h
|
|
FileTreeModel.cc
|
|
FileTreeModel.h
|
|
FileTreeView.cc
|
|
FileTreeView.h
|
|
FilterBar.cc
|
|
FilterBar.h
|
|
FilterBarComboBox.cc
|
|
FilterBarComboBox.h
|
|
FilterBarComboBoxDelegate.cc
|
|
FilterBarComboBoxDelegate.h
|
|
Filters.cc
|
|
Filters.h
|
|
Formatter.cc
|
|
Formatter.h
|
|
FreeSpaceLabel.cc
|
|
FreeSpaceLabel.h
|
|
IconCache.cc
|
|
IconCache.h
|
|
IconToolButton.cc
|
|
IconToolButton.h
|
|
InteropHelper.cc
|
|
InteropHelper.h
|
|
InteropObject.cc
|
|
InteropObject.h
|
|
LicenseDialog.cc
|
|
LicenseDialog.h
|
|
MainWindow.cc
|
|
MainWindow.h
|
|
MakeDialog.cc
|
|
MakeDialog.h
|
|
OptionsDialog.cc
|
|
OptionsDialog.h
|
|
PathButton.cc
|
|
PathButton.h
|
|
Prefs.cc
|
|
Prefs.h
|
|
PrefsDialog.cc
|
|
PrefsDialog.h
|
|
RelocateDialog.cc
|
|
RelocateDialog.h
|
|
RpcClient.cc
|
|
RpcClient.h
|
|
RpcQueue.cc
|
|
RpcQueue.h
|
|
Session.cc
|
|
Session.h
|
|
SessionDialog.cc
|
|
SessionDialog.h
|
|
Speed.h
|
|
SqueezeLabel.cc
|
|
SqueezeLabel.h
|
|
StatsDialog.cc
|
|
StatsDialog.h
|
|
StyleHelper.cc
|
|
StyleHelper.h
|
|
Torrent.cc
|
|
Torrent.h
|
|
TorrentDelegate.cc
|
|
TorrentDelegate.h
|
|
TorrentDelegateMin.cc
|
|
TorrentDelegateMin.h
|
|
TorrentFilter.cc
|
|
TorrentFilter.h
|
|
TorrentModel.cc
|
|
TorrentModel.h
|
|
TorrentView.cc
|
|
TorrentView.h
|
|
TrackerDelegate.cc
|
|
TrackerDelegate.h
|
|
TrackerModel.cc
|
|
TrackerModel.h
|
|
TrackerModelFilter.cc
|
|
TrackerModelFilter.h
|
|
Typedefs.h
|
|
Utils.cc
|
|
Utils.h
|
|
VariantHelpers.cc
|
|
VariantHelpers.h
|
|
WatchDir.cc
|
|
WatchDir.h)
|
|
|
|
tr_allow_compile_if(
|
|
[=[[ENABLE_QT_COM_INTEROP]]=]
|
|
ComInteropHelper.cc
|
|
[=[[ENABLE_QT_DBUS_INTEROP]]=]
|
|
DBusInteropHelper.cc)
|
|
|
|
target_sources(${TR_NAME}-qt
|
|
PRIVATE
|
|
AboutDialog.ui
|
|
DetailsDialog.ui
|
|
LicenseDialog.ui
|
|
MainWindow.ui
|
|
MakeDialog.ui
|
|
MakeProgressDialog.ui
|
|
OptionsDialog.ui
|
|
PrefsDialog.ui
|
|
RelocateDialog.ui
|
|
SessionDialog.ui
|
|
StatsDialog.ui
|
|
TrackersDialog.ui)
|
|
|
|
source_group(Ui
|
|
REGULAR_EXPRESSION [[.*\.ui$]])
|
|
|
|
target_sources(${TR_NAME}-qt
|
|
PRIVATE
|
|
application.qrc)
|
|
|
|
if(WIN32 OR APPLE)
|
|
target_sources(${TR_NAME}-qt
|
|
PRIVATE
|
|
icons/Faenza/Faenza.qrc)
|
|
endif()
|
|
|
|
source_group(Resources
|
|
REGULAR_EXPRESSION [[.*\.qrc$]])
|
|
|
|
set(LINGUAS
|
|
af
|
|
ca
|
|
da
|
|
de
|
|
el
|
|
en
|
|
es
|
|
eu
|
|
fi
|
|
fr
|
|
he
|
|
hu
|
|
id
|
|
is
|
|
it
|
|
ja
|
|
ka
|
|
kk
|
|
ko
|
|
lt
|
|
nb
|
|
nl
|
|
pl
|
|
pt
|
|
pt_BR
|
|
pt_PT
|
|
ru
|
|
sl
|
|
sv
|
|
tr
|
|
uk
|
|
zh_CN
|
|
zh_TW)
|
|
|
|
if(ENABLE_NLS)
|
|
set(ENABLED_LINGUAS ${LINGUAS})
|
|
else()
|
|
set(ENABLED_LINGUAS)
|
|
endif()
|
|
|
|
set(TS_FILES)
|
|
foreach(LANG ${ENABLED_LINGUAS})
|
|
list(APPEND TS_FILES translations/transmission_${LANG}.ts)
|
|
endforeach()
|
|
|
|
if(TS_FILES)
|
|
tr_qt_add_translation(QM_FILES ${TS_FILES})
|
|
endif()
|
|
|
|
target_sources(${TR_NAME}-qt
|
|
PRIVATE
|
|
${QM_FILES})
|
|
|
|
if(ENABLE_QT_COM_INTEROP)
|
|
tr_target_idl_files(${TR_NAME}-qt
|
|
transmission-qt.idl)
|
|
endif()
|
|
|
|
target_include_directories(${TR_NAME}-qt
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
target_link_libraries(${TR_NAME}-qt
|
|
PRIVATE
|
|
${TR_NAME}
|
|
transmission::qt_impl)
|
|
|
|
target_compile_definitions(${TR_NAME}-qt
|
|
PRIVATE
|
|
"TRANSLATIONS_DIR=\"${CMAKE_INSTALL_FULL_DATADIR}/${TR_NAME}/translations\""
|
|
QT_NO_CAST_FROM_ASCII
|
|
$<$<BOOL:${ENABLE_QT_COM_INTEROP}>:ENABLE_COM_INTEROP>
|
|
$<$<BOOL:${ENABLE_QT_DBUS_INTEROP}>:ENABLE_DBUS_INTEROP>)
|
|
|
|
if(MSVC)
|
|
tr_append_target_property(${TR_NAME}-qt LINK_FLAGS "/ENTRY:mainCRTStartup")
|
|
endif()
|
|
|
|
set_target_properties(
|
|
${TR_NAME}-qt
|
|
PROPERTIES
|
|
AUTOMOC ON
|
|
AUTORCC ON
|
|
AUTOUIC ON)
|
|
|
|
tr_win32_app_info(${TR_NAME}-qt
|
|
"Transmission Qt Client"
|
|
"transmission-qt"
|
|
"transmission-qt.exe"
|
|
"qtr.ico")
|
|
|
|
install(
|
|
TARGETS ${TR_NAME}-qt
|
|
DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
|
|
if(INSTALL_DOC)
|
|
install(
|
|
FILES ${TR_NAME}-qt.1
|
|
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
|
endif()
|
|
|
|
install(
|
|
FILES transmission-qt.desktop
|
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
|
|
|
if(ENABLE_NLS)
|
|
install(
|
|
FILES ${QM_FILES}
|
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/${TR_NAME}/translations)
|
|
endif()
|
|
|
|
if(WIN32)
|
|
file(GENERATE
|
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/dist-qt.conf"
|
|
CONTENT "")
|
|
install(
|
|
FILES "${CMAKE_CURRENT_BINARY_DIR}/dist-qt.conf"
|
|
DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}
|
|
RENAME qt.conf)
|
|
endif()
|