# Название основной цели в текущем каталоге set(TRGT example-qt-posix-signal-watcher) # Список файлов исходных текстов set(TRGT_cpp ${CMAKE_CURRENT_SOURCE_DIR}/posix_signal_watcher.cpp) if(MYXLIB_BUILD_EXAMPLES) # Путь поиска библиотек внутри проекта link_directories(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) # Цель для создания исполняемого файла add_executable(${TRGT} ${TRGT_cpp}) common_target_properties(${TRGT}) # Создание цели для проверки утилитой clang-tidy add_clang_tidy_check(${TRGT} ${TRGT_cpp}) # Создание цели для проверки утилитой clang-analyze add_clang_analyze_check(${TRGT} ${TRGT_cpp}) # Создание цели для проверки утилитой clazy add_clazy_check(${TRGT} ${TRGT_cpp}) # Создание цели для проверки утилитой pvs-studio add_pvs_check(${TRGT}) # Создание цели для автоматического форматирования кода add_format_sources(${TRGT} ${TRGT_cpp}) # Qt5 target_include_directories(${TRGT} PRIVATE ${CMAKE_SOURCE_DIR}/src) target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) target_include_directories(${TRGT} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src) add_dependencies(${TRGT} base qt) target_link_libraries(${TRGT} base_static qt_static) target_link_libraries(${TRGT} Qt5::Core) target_link_libraries(${TRGT} Threads::Threads) # Имя выходного файла для цели set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME qt-posix-signal-watcher) add_sanitizers(${TRGT}) cotire(${TRGT}) add_dependencies(${TRGT} create_auxilary_symlinks) # Правила для установки install(TARGETS ${TRGT} COMPONENT examples RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() if(MYXLIB_BUILD_EXAMPLES_HO) set(TRGT_moc_hpp ${CMAKE_SOURCE_DIR}/src/myx/qt/posix_signal_watcher.hpp ${CMAKE_SOURCE_DIR}/src/myx/qt/posix_signal_watcher_p.hpp) qt5_wrap_cpp(TRGT_moc_cpp ${TRGT_moc_hpp}) # Цель для создания исполняемого файла add_executable(${TRGT}-ho ${TRGT_cpp} ${TRGT_moc_cpp}) common_target_properties(${TRGT}-ho) target_include_directories(${TRGT}-ho PRIVATE ${CMAKE_SOURCE_DIR}/src) target_include_directories(${TRGT}-ho SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) add_dependencies(${TRGT}-ho base-header-only qt-header-only) target_link_libraries(${TRGT}-ho Qt5::Core) target_link_libraries(${TRGT}-ho Threads::Threads) # Имя выходного файла для цели set_target_properties(${TRGT}-ho PROPERTIES OUTPUT_NAME qt-posix-signal-watcher-ho) add_sanitizers(${TRGT}-ho) cotire(${TRGT}-ho) add_dependencies(${TRGT}-ho create_auxilary_symlinks) # Правила для установки install(TARGETS ${TRGT}-ho COMPONENT examples RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif()