2022-10-04 12:18:05 +00:00
|
|
|
|
# Минимальная версия CMake, требуемая для сборки проекта
|
|
|
|
|
cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
|
|
|
|
|
|
|
|
|
|
# Предпочтительно следовать стандартам принятым в указанном диапазоне версий
|
|
|
|
|
cmake_policy(VERSION 3.6..3.7)
|
|
|
|
|
|
|
|
|
|
# Название и версия проекта и используемые языки программирования
|
2023-07-30 13:09:51 +00:00
|
|
|
|
project(myx-example-qt-gui VERSION 0.4.0 LANGUAGES C CXX)
|
2022-10-04 12:18:05 +00:00
|
|
|
|
|
|
|
|
|
# Рекомендуемый способ подключения MyxCMake
|
|
|
|
|
include(cmake/myx_setup.cmake)
|
|
|
|
|
|
2023-08-02 09:26:45 +00:00
|
|
|
|
# Поиск компонентов Qt
|
|
|
|
|
if(NOT QT_DEFAULT_MAJOR_VERSION)
|
|
|
|
|
set(QT_DEFAULT_MAJOR_VERSION "5")
|
|
|
|
|
endif()
|
|
|
|
|
myx_find_qt(COMPONENTS Core Gui Widgets LinguistTools REQUIRED)
|
|
|
|
|
|
2022-10-06 12:23:27 +00:00
|
|
|
|
# Цель для создания исполняемого файла
|
2022-10-20 10:14:02 +00:00
|
|
|
|
myx_add_executable(${PROJECT_NAME})
|
2022-10-04 12:18:05 +00:00
|
|
|
|
|
|
|
|
|
# Настройка свойств цели
|
|
|
|
|
myx_target_setup(${PROJECT_NAME}
|
|
|
|
|
CPP
|
|
|
|
|
${PROJECT_SOURCE_DIR}/src/${PROJECT_NAME}/main.cpp
|
|
|
|
|
${PROJECT_SOURCE_DIR}/src/${PROJECT_NAME}/test_window.cpp
|
|
|
|
|
)
|
|
|
|
|
|
2022-10-06 12:23:27 +00:00
|
|
|
|
# Настройка Qt для цели
|
2023-08-02 09:26:45 +00:00
|
|
|
|
myx_target_setup_qt(${PROJECT_NAME}
|
|
|
|
|
COMPONENTS Core Gui Widgets
|
2022-10-04 12:18:05 +00:00
|
|
|
|
LANGS ru_RU en_US
|
|
|
|
|
PRIVATE_MOC
|
|
|
|
|
${PROJECT_SOURCE_DIR}/include/${PROJECT_NAME}/test_window.hpp
|
|
|
|
|
UI
|
|
|
|
|
${PROJECT_SOURCE_DIR}/src/${PROJECT_NAME}/test_window.ui
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Автоматически генерируемый файл с информацией о репозитории
|
|
|
|
|
myx_generate_git_info_header(${PROJECT_NAME} "git_info_p.hpp")
|
|
|
|
|
|
|
|
|
|
# Автоматически генерируемый приватный заголовочный файл
|
|
|
|
|
myx_generate_private_config_header(${PROJECT_NAME} "config_p.hpp")
|
2022-10-06 12:23:27 +00:00
|
|
|
|
|
|
|
|
|
# Форматирование исходных текстов с помощью uncrustify
|
|
|
|
|
myx_uncrustify(${PROJECT_NAME})
|