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 (NOT DEFINED CPACK_PACKAGE_VERSION_MAJOR) set(CPACK_PACKAGE_VERSION_MAJOR "2") endif() if (NOT DEFINED CPACK_PACKAGE_VERSION_MINOR) set(CPACK_PACKAGE_VERSION_MINOR "0") endif() if (NOT DEFINED CPACK_PACKAGE_VERSION_PATCH) 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 "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") set(CPACK_SET_DESTDIR true) set(CPACK_PACKAGING_INSTALL_PREFIX "/usr") # Debian package support set(CPACK_PACKAGE_CONTACT "Vadim Troshchinskiy ") set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Vadim Troshchinskiy ") 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)