107 lines
3.2 KiB
CMake
107 lines
3.2 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(OGBrowser LANGUAGES CXX)
|
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
set(CMAKE_AUTOUIC ON)
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
|
|
|
|
if (DEFINED $ENV{OGBROWSER_VERSION_MAJOR})
|
|
set(CPACK_PACKAGE_VERSION_MAJOR "$ENV{OGBROWSER_VERSION_MAJOR}")
|
|
else()
|
|
set(CPACK_PACKAGE_VERSION_MAJOR "2")
|
|
endif()
|
|
|
|
|
|
if (DEFINED $ENV{OGBROWSER_VERSION_MINOR})
|
|
set(CPACK_PACKAGE_VERSION_MINOR "$ENV{OGBROWSER_VERSION_MINOR}")
|
|
else()
|
|
set(CPACK_PACKAGE_VERSION_MINOR "0")
|
|
endif()
|
|
|
|
|
|
if (DEFINED $ENV{OGBROWSER_VERSION_PATCH})
|
|
set(CPACK_PACKAGE_VERSION_PATCH "$ENV{OGBROWSER_VERSION_PATCH}")
|
|
else()
|
|
set(CPACK_PACKAGE_VERSION_PATCH "0")
|
|
endif()
|
|
|
|
|
|
set(KB_LAYOUT_DIR "/usr/lib/qtermwidget/kb" CACHE INTERNAL "")
|
|
|
|
|
|
find_package(QT NAMES Qt6 COMPONENTS Widgets LinguistTools Network WebEngineWidgets REQUIRED)
|
|
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets LinguistTools Network WebEngineWidgets REQUIRED)
|
|
|
|
|
|
message(STATUS "Building browser with Qt ${QT_VERSION}")
|
|
message(STATUS "Browser version is ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
|
|
|
set(SOURCES
|
|
main.cpp
|
|
mainwindow.cpp
|
|
ogurlhandler.cpp
|
|
desktopparser.cpp
|
|
ogwebpage.cpp
|
|
)
|
|
|
|
file(GLOB TRANSLATIONS "${PROJECT_SOURCE_DIR}/i18n/*.ts")
|
|
message(STATUS "Translations: ${TRANSLATIONS}")
|
|
|
|
|
|
|
|
|
|
add_executable(OGBrowser ${SOURCES})
|
|
|
|
qt6_add_translations(OGBrowser TS_FILES ${TRANSLATIONS} QM_FILES_OUTPUT_VARIABLE qm_files)
|
|
|
|
set_property(TARGET OGBrowser PROPERTY CXX_STANDARD 17)
|
|
set_property(TARGET OGBrowser PROPERTY CXX_STANDARD_REQUIRED ON)
|
|
|
|
target_include_directories(OGBrowser PRIVATE "digitalclock" "qtermwidget/lib")
|
|
target_link_libraries(OGBrowser PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network Qt${QT_VERSION_MAJOR}::WebEngineWidgets DigitalClock qtermwidget6)
|
|
|
|
message(STATUS "Looking for headers in ${PROJECT_BINARY_DIR}")
|
|
target_include_directories(OGBrowser PRIVATE ${qtermwidget_INCLUDE_DIRS} ${DigitalClock_INCLUDE_DIRS} ${qtermwidget_LIB_DIRS}/lib ${PROJECT_BINARY_DIR}/../lib)
|
|
target_link_directories(OGBrowser PRIVATE ${qtermwidget_LIB_DIRS} ${DigitalClock_LIB_DIRS})
|
|
|
|
|
|
install(TARGETS OGBrowser DESTINATION bin )
|
|
install(FILES ${qm_files} DESTINATION "translations")
|
|
|
|
|
|
|
|
# CPack settings must be set before including CPack
|
|
set(CPACK_PACKAGE_NAME "OGBrowser")
|
|
set(CPACK_PACKAGE_VENDOR "OpenGnsys")
|
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenGnsys Browser")
|
|
set(CMAKE_PROJECT_HOMEPAGE_URL "https://opengnsys.es/web/")
|
|
|
|
set(CPACK_PACKAGE_VERSION_MAJOR "2")
|
|
#set(CPACK_PACKAGE_VERSION "2.0")
|
|
|
|
set(CPACK_SET_DESTDIR true)
|
|
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
|
|
|
|
# Debian package support
|
|
set(CPACK_PACKAGE_CONTACT "Vadim Troshchinskiy <vadim@qindel.com>")
|
|
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Vadim Troshchinskiy <vadim@qindel.com>")
|
|
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS "ON")
|
|
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
|
|
#set(CPACK_DEBIAN_PACKAGE_DEPENDS "")
|
|
set(CPACK_DEBIAN_PACKAGE_SECTION "web")
|
|
|
|
# RedHat package support. Dependencies are automatically detected
|
|
set(CPACK_RPM_PACKAGE_GROUP "Applications/Internet")
|
|
set(CPACK_RPM_PACKAGE_RELEASE "1")
|
|
set(CPACK_RPM_PACKAGE_LICENSE "GPL-3.0")
|
|
|
|
# This goes last
|
|
include(CPack)
|
|
|
|
|