55 lines
1.8 KiB
CMake
55 lines
1.8 KiB
CMake
|
|
# Общие настройки для всех типов проектов
|
|
|
|
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}' compiler dir: '${CXX_COMPILER_DIR}'")
|
|
message(STATUS "Project '${PROJECT_NAME}' cmake dir: '${CMAKE_BIN_DIR}'")
|
|
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}'")
|
|
|