ogbrowser/src/CMakeLists.txt

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)