# rekonq project # Andrea Diamantini - adjam7 at gmail dot com # ================================================================================== cmake_minimum_required(VERSION 3.23) project(rekonq VERSION 3.0.0 HOMEPAGE_URL https://bitbucket.org/celestriad/rekonq LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) # ================================================================================== # Information to update before to release this package. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-version.h.cmake config-version.h) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) # ================================================================================== include(FeatureSummary) include(GNUInstallDirs) find_package(Qt6 6.3.0 COMPONENTS Core Gui Network WebEngineWidgets REQUIRED) # turn on automatic moc/uic/rcc for all targets set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) #ADD_DEFINITIONS(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) option(TESTING "Enable tests" OFF) if(TESTING) include(CTest) enable_testing() find_package(GTest REQUIRED) add_definitions(-DREKONQ_TEST_EXPORT) endif() # ================================================================================== # third-party requirements set(QAPPLICATION_CLASS QApplication CACHE STRING "Inheritance class for SingleApplication") add_subdirectory(third-party/SingleApplication) # ================================================================================== # optional nepomuk requirements if(WITH_NEPOMUK) FIND_PACKAGE(Soprano) FIND_PACKAGE(NepomukCore 0.1.0) endif() IF(SOPRANO_FOUND AND NepomukCore_FOUND) ADD_DEFINITIONS(-DHAVE_NEPOMUK) ENDIF(SOPRANO_FOUND AND NepomukCore_FOUND) # ================================================================================== # optional QCA2 & QtOAuth requirements #MACRO_OPTIONAL_FIND_PACKAGE(QCA2) #MACRO_BOOL_TO_01(QCA2_FOUND HAVE_QCA2) #configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-qca2.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config-qca2.h ) #MACRO_OPTIONAL_FIND_PACKAGE(QtOAuth) #MACRO_BOOL_TO_01(QTOAUTH_FOUND HAVE_QTOAUTH) #configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-qtoauth.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config-qtoauth.h ) # ================================================================================== # optional KActivities requirements #MACRO_OPTIONAL_FIND_PACKAGE(KActivities 6.1.0) #MACRO_BOOL_TO_01(KActivities_FOUND HAVE_KACTIVITIES) #configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-kactivities.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config-kactivities.h ) # ================================================================================== # Log messages MESSAGE(STATUS "-----------------------------------------------------------------------") MESSAGE(STATUS " rekonq ${CMAKE_PROJECT_VERSION} <${CMAKE_PROJECT_HOMEPAGE_URL}>") MESSAGE(STATUS "") feature_summary(WHAT ALL) # =============================================================================== #ADD_SUBDIRECTORY( icons ) add_subdirectory(plugins/webengine) add_subdirectory(src) add_executable(rekonq ${rekonq_SRCS}) target_include_directories(rekonq PRIVATE src) target_link_libraries(rekonq Qt6::Widgets SingleApplication::SingleApplication pluginloader ) add_custom_target(rekonq_check_license python scripts/check_license.py ${rekonq_SRCS} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) # ================================================================================ # doc & translations #set_property(GLOBAL PROPERTY ALLOW_DUPLICATE_CUSTOM_TARGETS 1) # Do not remove or modify these. # The release script substitutes in for these comments with appropriate doc and translation directories. #PO_SUBDIR #DOC_SUBDIR