Обновление MyxCMake

This commit is contained in:
Andrei Astafev 2023-07-30 16:09:51 +03:00
parent 0eaac00f4a
commit b3519ab427
8 changed files with 9 additions and 78 deletions

View File

@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
cmake_policy(VERSION 3.6..3.7)
# Название и версия проекта и используемые языки программирования
project(myx-example-qt5-gui VERSION 0.4.0 LANGUAGES C CXX)
project(myx-example-qt-gui VERSION 0.4.0 LANGUAGES C CXX)
# Рекомендуемый способ подключения MyxCMake
include(cmake/myx_setup.cmake)

View File

@ -4,7 +4,7 @@
<context>
<name>QObject</name>
<message>
<location filename="../src/myx-example-qt5-gui/main.cpp" line="21"/>
<location filename="../src/myx-example-qt-gui/main.cpp" line="21"/>
<source>Test title</source>
<translation type="unfinished"></translation>
</message>
@ -12,12 +12,12 @@
<context>
<name>TestWindow</name>
<message>
<location filename="../src/myx-example-qt5-gui/test_window.ui" line="14"/>
<location filename="../src/myx-example-qt-gui/test_window.ui" line="14"/>
<source>Test Window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/myx-example-qt5-gui/test_window.ui" line="27"/>
<location filename="../src/myx-example-qt-gui/test_window.ui" line="27"/>
<source>Press me!</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,7 +4,7 @@
<context>
<name>QObject</name>
<message>
<location filename="../src/myx-example-qt5-gui/main.cpp" line="21"/>
<location filename="../src/myx-example-qt-gui/main.cpp" line="21"/>
<source>Test title</source>
<translation>Тестовый заголовок</translation>
</message>
@ -12,18 +12,14 @@
<context>
<name>TestWindow</name>
<message>
<location filename="../src/myx-example-qt5-gui/test_window.ui" line="14"/>
<location filename="../src/myx-example-qt-gui/test_window.ui" line="14"/>
<source>Test Window</source>
<translation>Тестовое окно</translation>
</message>
<message>
<location filename="../src/myx-example-qt5-gui/test_window.ui" line="27"/>
<location filename="../src/myx-example-qt-gui/test_window.ui" line="27"/>
<source>Press me!</source>
<translation>Нажми меня!</translation>
</message>
<message>
<source>Press me</source>
<translation type="vanished">Нажми меня</translation>
</message>
</context>
</TS>

View File

@ -1,5 +1,5 @@
#include "config_p.hpp"
#include "myx-example-qt5-gui/test_window.hpp"
#include "myx-example-qt-gui/test_window.hpp"
#include <QApplication>
#include <QIcon>

View File

@ -1,4 +1,4 @@
#include "myx-example-qt5-gui/test_window.hpp"
#include "myx-example-qt-gui/test_window.hpp"
TestWindow::TestWindow( QMainWindow* parent ) :
QMainWindow ( parent ),

View File

@ -1,65 +0,0 @@
# Название основной цели и имени программы в текущем каталоге
set(TRGT myx-cmake-example-qt5-gui)
# cmake-format: off
###
# Списки файлов проекта
###
# Исходные коды
set(TRGT_cpp
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test_window.cpp)
# Заголовочные файлы, для которых необходима обработка препроцессором moc
# (содержат класс, унаследованный от QObject, использующий сигналы и/или слоты)
set(TRGT_moc_hpp
${CMAKE_CURRENT_SOURCE_DIR}/test_window.hpp)
# Другие заголовочные файлы
set(TRGT_hpp)
# Файлы с описанием графического интерфейса для Qt
set(TRGT_ui
${CMAKE_CURRENT_SOURCE_DIR}/test_window.ui)
# Файлы описания ресурсов, включаемых в исполняемый файл
set(TRGT_qrc
${CMAKE_SOURCE_DIR}/files/share/icon.qrc)
###
# Конец списков файлов
###
# cmake-format: on
set(TRGT_headers ${TRGT_hpp} ${TRGT_moc_hpp})
# Правило для автоматической генерации препроцессором uic
qt5_wrap_ui(TRGT_ui_h ${TRGT_ui})
# Правило для автоматической генерации препроцессором moc
qt5_wrap_cpp(TRGT_moc_cpp ${TRGT_moc_hpp})
# Поиск строк для локализации в файлах, перечисленных в ${TRGT_cpp} ${TRGT_ui}
# Создание и обновление файлов переводов в каталоге ${CMAKE_SOURCE_DIR}/l10n
# Интеграция переводов в исполняемый файл для подключения классом QTranslator
myx_cmake_qt5_translation(TRGT_qrc_cpp
OUTPUT_DIR ${CMAKE_SOURCE_DIR}/l10n
BASE_NAME ${TRGT}
SOURCES ${TRGT_cpp} ${TRGT_ui}
LANGUAGES ru_RU)
# Правило для автоматической генерации препроцессором qrc
# (обязательно после вызова функции qt5_translation, если она есть,
# так как она инициализирует переменную со списком ресурсов)
qt5_add_resources(TRGT_qrc_cpp ${TRGT_qrc})
# Функция для создания цели, результатом которой будет сборка приложения
add_executable(${TRGT} ${TRGT_headers} ${TRGT_ui_h} ${TRGT_moc_cpp} ${TRGT_qrc_cpp} ${TRGT_cpp})
myx_cmake_common_target_properties(${TRGT})
# Qt5: подключение заголовочных файлов
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Gui_INCLUDE_DIRS})
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Widgets_INCLUDE_DIRS})
# Qt5: подключение библиотек
target_link_libraries(${TRGT} Qt5::Core Qt5::Gui Qt5::Widgets)