mirror of
https://github.com/martinrotter/rssguard.git
synced 2025-02-06 04:14:22 +01:00
try to refactor cmake a bit
This commit is contained in:
parent
2190b5ef07
commit
c4d112db78
@ -62,8 +62,7 @@ set(APP_VERSION "4.2.0")
|
||||
|
||||
set(APP_URL "https://github.com/martinrotter/rssguard")
|
||||
set(APP_URL_DOCUMENTATION "https://github.com/martinrotter/rssguard/blob/master/resources/docs/Documentation.md")
|
||||
set(APP_URL_ISSUES "https://github.com/martinrotter/rssguard/issues")
|
||||
set(APP_URL_ISSUES_NEW "https://github.com/martinrotter/rssguard/issues/new")
|
||||
set(APP_URL_ISSUES_NEW "https://github.com/martinrotter/rssguard/issues/new/choose")
|
||||
|
||||
set(TYPEINFO "????")
|
||||
|
||||
@ -109,15 +108,6 @@ option(UPDATE_TRANSLATIONS "Call lupdate to update translation files from source
|
||||
option(FORCE_COLORED_OUTPUT "Always produce ANSI-colored output (GCC/Clang only)" OFF)
|
||||
option(REVISION_FROM_GIT "Get revision using `git rev-parse`" ON)
|
||||
|
||||
set(FEEDLY_CLIENT_ID "" CACHE STRING "Feedly client ID")
|
||||
set(FEEDLY_CLIENT_SECRET "" CACHE STRING "Feedly client secret")
|
||||
|
||||
set(GMAIL_CLIENT_ID "" CACHE STRING "GMail client ID")
|
||||
set(GMAIL_CLIENT_SECRET "" CACHE STRING "GMail client secret")
|
||||
|
||||
set(INOREADER_CLIENT_ID "" CACHE STRING "Inoreader client ID")
|
||||
set(INOREADER_CLIENT_SECRET "" CACHE STRING "Inoreader client secret")
|
||||
|
||||
# Import Qt libraries.
|
||||
set(QT_COMPONENTS
|
||||
Core
|
||||
@ -174,73 +164,13 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Process oauth service secrets.
|
||||
if(NOT FEEDLY_CLIENT_ID STREQUAL "" AND NOT FEEDLY_CLIENT_SECRET STREQUAL "")
|
||||
add_compile_definitions(
|
||||
FEEDLY_OFFICIAL_SUPPORT
|
||||
FEEDLY_CLIENT_ID="${FEEDLY_CLIENT_ID}"
|
||||
FEEDLY_CLIENT_SECRET="${FEEDLY_CLIENT_SECRET}"
|
||||
)
|
||||
else()
|
||||
message(STATUS "Feedly client ID/secret variables are not set. Disabling official support.")
|
||||
endif()
|
||||
|
||||
if(NOT GMAIL_CLIENT_ID STREQUAL "" AND NOT GMAIL_CLIENT_SECRET STREQUAL "")
|
||||
add_compile_definitions(
|
||||
GMAIL_OFFICIAL_SUPPORT
|
||||
GMAIL_CLIENT_ID="${GMAIL_CLIENT_ID}"
|
||||
GMAIL_CLIENT_SECRET="${GMAIL_CLIENT_SECRET}"
|
||||
)
|
||||
else()
|
||||
message(STATUS "GMail client ID/secret variables are not set. Disabling official support.")
|
||||
endif()
|
||||
|
||||
if(NOT INOREADER_CLIENT_ID STREQUAL "" AND NOT INOREADER_CLIENT_SECRET STREQUAL "")
|
||||
add_compile_definitions(
|
||||
INOREADER_OFFICIAL_SUPPORT
|
||||
INOREADER_CLIENT_ID="${INOREADER_CLIENT_ID}"
|
||||
INOREADER_CLIENT_SECRET="${INOREADER_CLIENT_SECRET}"
|
||||
)
|
||||
else()
|
||||
message(STATUS "Inoreader client ID/secret variables are not set. Disabling official support.")
|
||||
endif()
|
||||
|
||||
# Load git commit hash.
|
||||
if(REVISION_FROM_GIT AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
execute_process(COMMAND "git" "rev-parse" "--short" "HEAD"
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE APP_REVISION
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
message(STATUS "Detected git revision: '${APP_REVISION}'.")
|
||||
else()
|
||||
set(APP_REVISION "")
|
||||
endif()
|
||||
|
||||
if(NOT USE_WEBENGINE)
|
||||
set(APP_REVISION "${APP_REVISION}-nowebengine")
|
||||
endif()
|
||||
|
||||
# Pass needed defines.
|
||||
# Pass common defines.
|
||||
add_compile_definitions(
|
||||
APP_AUTHOR="${APP_AUTHOR}"
|
||||
APP_DONATE_URL="${APP_DONATE_URL}"
|
||||
APP_EMAIL="${APP_EMAIL}"
|
||||
APP_LONG_NAME="${APP_NAME} ${CMAKE_PROJECT_VERSION}"
|
||||
APP_LOW_H_NAME=".${CMAKE_PROJECT_NAME}"
|
||||
APP_LOW_NAME="${CMAKE_PROJECT_NAME}"
|
||||
APP_NAME="${APP_NAME}"
|
||||
APP_REVISION="${APP_REVISION}"
|
||||
APP_SYSTEM_NAME="${CMAKE_SYSTEM_NAME}"
|
||||
APP_SYSTEM_VERSION="${CMAKE_SYSTEM_PROCESSOR}"
|
||||
APP_URL="${APP_URL}"
|
||||
APP_URL_DOCUMENTATION="${APP_URL_DOCUMENTATION}"
|
||||
APP_URL_ISSUES="${APP_URL_ISSUES}"
|
||||
APP_URL_ISSUES_NEW="${APP_URL_ISSUES_NEW}"
|
||||
APP_USERAGENT="${APP_NAME}/${CMAKE_PROJECT_VERSION}"
|
||||
APP_VERSION="${CMAKE_PROJECT_VERSION}"
|
||||
APP_URL="${APP_URL}"
|
||||
APP_LONG_NAME="${APP_NAME} ${CMAKE_PROJECT_VERSION}"
|
||||
APP_LOW_NAME="${CMAKE_PROJECT_NAME}"
|
||||
|
||||
QT_USE_QSTRINGBUILDER
|
||||
QT_USE_FAST_CONCATENATION
|
||||
|
@ -504,6 +504,76 @@ qt_wrap_ui(SOURCES ${UI_FILES})
|
||||
qt_add_resources(SOURCES ${CMAKE_SOURCE_DIR}/resources/sql.qrc)
|
||||
qt_add_resources(SOURCES ${CMAKE_SOURCE_DIR}/resources/rssguard.qrc)
|
||||
|
||||
# Process OAuth service secrets.
|
||||
set(FEEDLY_CLIENT_ID "" CACHE STRING "Feedly client ID")
|
||||
set(FEEDLY_CLIENT_SECRET "" CACHE STRING "Feedly client secret")
|
||||
|
||||
set(GMAIL_CLIENT_ID "" CACHE STRING "GMail client ID")
|
||||
set(GMAIL_CLIENT_SECRET "" CACHE STRING "GMail client secret")
|
||||
|
||||
set(INOREADER_CLIENT_ID "" CACHE STRING "Inoreader client ID")
|
||||
set(INOREADER_CLIENT_SECRET "" CACHE STRING "Inoreader client secret")
|
||||
|
||||
if(NOT FEEDLY_CLIENT_ID STREQUAL "" AND NOT FEEDLY_CLIENT_SECRET STREQUAL "")
|
||||
target_compile_definitions(rssguard
|
||||
PRIVATE
|
||||
|
||||
FEEDLY_OFFICIAL_SUPPORT
|
||||
FEEDLY_CLIENT_ID="${FEEDLY_CLIENT_ID}"
|
||||
FEEDLY_CLIENT_SECRET="${FEEDLY_CLIENT_SECRET}"
|
||||
)
|
||||
|
||||
message(STATUS "Enabling official Feedly support.")
|
||||
else()
|
||||
message(STATUS "Feedly client ID/secret variables are not set. Disabling official support.")
|
||||
endif()
|
||||
|
||||
if(NOT GMAIL_CLIENT_ID STREQUAL "" AND NOT GMAIL_CLIENT_SECRET STREQUAL "")
|
||||
target_compile_definitions(rssguard
|
||||
PRIVATE
|
||||
|
||||
GMAIL_OFFICIAL_SUPPORT
|
||||
GMAIL_CLIENT_ID="${GMAIL_CLIENT_ID}"
|
||||
GMAIL_CLIENT_SECRET="${GMAIL_CLIENT_SECRET}"
|
||||
)
|
||||
|
||||
message(STATUS "Enabling official Gmail support.")
|
||||
else()
|
||||
message(STATUS "Gmail client ID/secret variables are not set. Disabling official support.")
|
||||
endif()
|
||||
|
||||
if(NOT INOREADER_CLIENT_ID STREQUAL "" AND NOT INOREADER_CLIENT_SECRET STREQUAL "")
|
||||
target_compile_definitions(rssguard
|
||||
PRIVATE
|
||||
|
||||
INOREADER_OFFICIAL_SUPPORT
|
||||
INOREADER_CLIENT_ID="${INOREADER_CLIENT_ID}"
|
||||
INOREADER_CLIENT_SECRET="${INOREADER_CLIENT_SECRET}"
|
||||
)
|
||||
|
||||
message(STATUS "Enabling official Inoreader support.")
|
||||
else()
|
||||
message(STATUS "Inoreader client ID/secret variables are not set. Disabling official support.")
|
||||
endif()
|
||||
|
||||
# Load git commit hash.
|
||||
if(REVISION_FROM_GIT AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
execute_process(COMMAND "git" "rev-parse" "--short" "HEAD"
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE APP_REVISION
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
message(STATUS "Detected git revision: '${APP_REVISION}'.")
|
||||
else()
|
||||
set(APP_REVISION "")
|
||||
endif()
|
||||
|
||||
if(NOT USE_WEBENGINE)
|
||||
set(APP_REVISION "${APP_REVISION}-nowebengine")
|
||||
endif()
|
||||
|
||||
# Bundle icons on some platforms which do not provide system-wide icon themes.
|
||||
if(APPLE OR WIN32 OR OS2)
|
||||
qt_add_resources(SOURCES ${CMAKE_SOURCE_DIR}/resources/icons.qrc)
|
||||
@ -517,7 +587,21 @@ endif()
|
||||
|
||||
add_library(rssguard SHARED ${SOURCES} ${QM_FILES})
|
||||
|
||||
target_compile_definitions(rssguard PRIVATE RSSGUARD_DLLSPEC=Q_DECL_EXPORT)
|
||||
target_compile_definitions(rssguard
|
||||
PRIVATE
|
||||
RSSGUARD_DLLSPEC=Q_DECL_EXPORT
|
||||
|
||||
APP_AUTHOR="${APP_AUTHOR}"
|
||||
APP_DONATE_URL="${APP_DONATE_URL}"
|
||||
APP_EMAIL="${APP_EMAIL}"
|
||||
APP_LOW_H_NAME=".${CMAKE_PROJECT_NAME}"
|
||||
APP_REVISION="${APP_REVISION}"
|
||||
APP_SYSTEM_NAME="${CMAKE_SYSTEM_NAME}"
|
||||
APP_SYSTEM_VERSION="${CMAKE_SYSTEM_PROCESSOR}"
|
||||
|
||||
APP_URL_DOCUMENTATION="${APP_URL_DOCUMENTATION}"
|
||||
APP_URL_ISSUES_NEW="${APP_URL_ISSUES_NEW}"
|
||||
APP_USERAGENT="${APP_NAME}/${CMAKE_PROJECT_VERSION}")
|
||||
|
||||
target_include_directories(rssguard
|
||||
PUBLIC
|
||||
@ -526,6 +610,7 @@ target_include_directories(rssguard
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gui/dialogs
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gui/reusable
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/dynamic-shortcuts
|
||||
|
||||
PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gui/notifications
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gui/toolbars
|
||||
|
@ -71,12 +71,16 @@ void FormAbout::loadLicenseAndInformation() {
|
||||
}
|
||||
|
||||
// Set other informative texts.
|
||||
m_ui.m_lblDesc->setText(tr("<b>%8</b><br>" "<b>Version:</b> %1 (built on %2/%3)<br>" "<b>Revision:</b> %4<br>" "<b>Build date:</b> %5<br>"
|
||||
"<b>Qt:</b> %6 (compiled against %7)<br>").arg(
|
||||
m_ui.m_lblDesc->setText(tr("<b>%8</b><br>"
|
||||
"<b>Version:</b> %1 (built on %2/%3)<br>"
|
||||
"<b>Revision:</b> %4<br>"
|
||||
"<b>Build date:</b> %5<br>"
|
||||
"<b>Qt:</b> %6 (compiled against %7)<br>").arg(
|
||||
qApp->applicationVersion(), QSL(APP_SYSTEM_NAME),
|
||||
QSL(APP_SYSTEM_VERSION), QSL(APP_REVISION),
|
||||
QLocale().toString(TextFactory::parseDateTime(QSL("%1 %2").arg(__DATE__, __TIME__)),
|
||||
QLocale::FormatType::ShortFormat),
|
||||
qApp->localization()->loadedLocale().toString(TextFactory::parseDateTime(QSL("%1 %2").arg(__DATE__,
|
||||
__TIME__)),
|
||||
QLocale::FormatType::ShortFormat),
|
||||
qVersion(), QSL(QT_VERSION_STR),
|
||||
QSL(APP_NAME)));
|
||||
m_ui.m_txtInfo->setText(tr("<body>%5 is a (very) tiny feed reader."
|
||||
|
Loading…
x
Reference in New Issue
Block a user