cmake_minimum_required(VERSION 3.22) if(NOT EXISTS ${CMAKE_SOURCE_DIR}/common/CMakeLists.txt) message(FATAL_ERROR "common submodule directory empty, did you 'git clone --recursive'?") endif() project(qdigidoc4 VERSION 4.9.0) macro(SET_ENV NAME DEF) if(DEFINED ENV{${NAME}}) set(${NAME} $ENV{${NAME}} ${ARGN}) else() set(${NAME} ${DEF} ${ARGN}) endif() endmacro() set_env(BUILD_NUMBER 0) set_env( TSL_URL "https://ec.europa.eu/tools/lotl/eu-lotl.xml" CACHE STRING "TSL trust list primary URL" ) set_env( TSL_INCLUDE "EE" CACHE STRING "TSL list include in binary" ) set_env(CDOC2_GET_URL "https://cdoc2.id.ee:8444" CACHE STRING "CDoc 2.0 Key Server get URL") set_env(CDOC2_POST_URL "https://cdoc2.id.ee:8443" CACHE STRING "CDoc 2.0 Key Server post URL") set_env(MOBILEID_URL "https://eid-dd.ria.ee/mid" CACHE STRING "URL for Mobile-ID") set_env(SMARTID_URL "https://eid-dd.ria.ee/sid/v2" CACHE STRING "URL for Smart-ID") set(VERSION ${PROJECT_VERSION}.${BUILD_NUMBER}) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_C_VISIBILITY_PRESET hidden) set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_VISIBILITY_INLINES_HIDDEN YES) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED YES) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION YES) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_DEBUG NO) set(CPACK_PACKAGE_VERSION ${VERSION}) set(CPACK_GENERATOR RPM) set(CPACK_PACKAGE_CONTACT "RIA ") set(CPACK_PACKAGE_VENDOR RIA) set(CPACK_PACKAGING_INSTALL_PREFIX /usr) set(CPACK_RPM_FILE_NAME RPM-DEFAULT) set(CPACK_RPM_PACKAGE_RELEASE_DIST ON) include(CPack) include(GNUInstallDirs) find_package(libdigidocpp 4.2.0 REQUIRED HINTS /Library) message("-- Found libdigidocpp: ${libdigidocpp_DIR} (found version \"${libdigidocpp_VERSION}\")") find_package(LDAP REQUIRED) find_package(Qt6 6.2.0 REQUIRED COMPONENTS Core Widgets Network PrintSupport SvgWidgets LinguistTools) find_package(FlatBuffers CONFIG REQUIRED NAMES FlatBuffers Flatbuffers) find_package(ZLIB REQUIRED) if(APPLE) add_subdirectory(extensions/DigiDocQL) elseif(WIN32) add_subdirectory(extensions/windows) elseif(UNIX) option(ENABLE_KDE "Install KDE service menu (default: TRUE)" TRUE) option(ENABLE_NAUTILUS_EXTENSION "Build Nautilus extension (default: TRUE)" TRUE) if (ENABLE_KDE) add_subdirectory(extensions/kde) endif() if (ENABLE_NAUTILUS_EXTENSION) add_subdirectory(extensions/nautilus) endif() endif() add_subdirectory( common ) add_subdirectory( client )