# Общие настройки для всех типов проектов set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) if (CMAKE_COMPILER_IS_GNUCXX) if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0.0") set(CMAKE_CXX_STANDARD 20) else() set(CMAKE_CXX_STANDARD 23) endif() else() set(CMAKE_CXX_STANDARD 23) endif() set(CMAKE_CXX_STANDARD_REQUIRED ON) # Поиск библиотек Qt: find_package(QT NAMES Qt6 Qt5 REQUIRED) # Настройки каталогов: include(${CMAKE_CURRENT_LIST_DIR}/setup_directories.cmake) # Определение разрядности: if (${CMAKE_SIZEOF_VOID_P} STREQUAL 4) set(DIR_PREFIX "32") elseif (${CMAKE_SIZEOF_VOID_P} STREQUAL 8) set(DIR_PREFIX "64") endif () # Каталог для готовых приложений и библиотек после компиляции: set(DISTRIB_DIR ${ROOT_PROJECT_DIR}_distrib/${CMAKE_SYSTEM_NAME}_Qt${QT_VERSION}_${DIR_PREFIX}-bit ) if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(IS_DEBUG TRUE) set(IS_RELEASE FALSE) else() set(IS_DEBUG FALSE) set(IS_RELEASE TRUE) endif() message(STATUS "Project '${PROJECT_NAME}' compiler ${CMAKE_CXX_COMPILER} version: ${CMAKE_CXX_COMPILER_VERSION}") message(STATUS "Project '${PROJECT_NAME}' distrib dir: '${DISTRIB_DIR}'") message(STATUS "Project '${PROJECT_NAME}' IS_RELEASE: ${IS_RELEASE}, IS_DEBUG: ${IS_DEBUG}") message(STATUS "Project '${PROJECT_NAME}' CMAKE_PREFIX_PATH: '${CMAKE_PREFIX_PATH}'") message(STATUS "Project '${PROJECT_NAME}' CMAKE_SYSTEM_LIBRARY_PATH: '${CMAKE_SYSTEM_LIBRARY_PATH}'")