diff --git a/src/cmlib-example/CMakeLists.txt b/src/cmlib-example/CMakeLists.txt index 87c09e8..5611b2a 100644 --- a/src/cmlib-example/CMakeLists.txt +++ b/src/cmlib-example/CMakeLists.txt @@ -4,6 +4,13 @@ set(TRGT cmlib-example-app-qt5-con) # Список файлов исходных текстов set(TRGT_cpp ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp) +# Заголовочные файлы, для которых необходима обработка препроцессором moc +# (содержат класс, унаследованный от QObject, использующий сигналы и/или слоты) +set(TRGT_moc_hpp ${CMAKE_CURRENT_SOURCE_DIR}/fsh.hpp) + +# Правило для автоматической генерации препроцессором moc +qt5_wrap_cpp(TRGT_moc_cpp ${TRGT_moc_hpp}) + # Правила для создания файла ресурсов с вложенными файлами переводов qt5_translation( TRGT_qrc @@ -17,7 +24,7 @@ qt5_translation( link_directories(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) # Функция для создания цели, результатом которой будет сборка приложения -add_executable(${TRGT} ${TRGT_cpp} ${TRGT_qrc}) +add_executable(${TRGT} ${TRGT_cpp} ${TRGT_moc_cpp} ${TRGT_qrc}) common_target_properties(${TRGT}) # Создание цели clazy-check для проверки утилитой clazy diff --git a/src/cmlib-example/main.cpp b/src/cmlib-example/main.cpp index f016ec8..2a8458d 100644 --- a/src/cmlib-example/main.cpp +++ b/src/cmlib-example/main.cpp @@ -2,6 +2,9 @@ #include #include +#include +#include "fsh.hpp" + // function args by ref int sum(QStringList sl) @@ -44,5 +47,10 @@ int main( int argc, char** argv ) // function args by ref auto ir = sum(sl); + // old style connect + QFile f; + FileSignalHandler fsh; + QObject::connect(&f, SIGNAL(aboutToClose()), &fsh, SLOT(process())); + return( 0 ); }