# Название основной цели в текущем каталоге set(TRGT example-qt-translators) # Список файлов исходных текстов set(TRGT_cpp ${CMAKE_CURRENT_SOURCE_DIR}/translators.cpp) qt5_translation( TRGT_qrc OUTPUT_DIR ${CMAKE_SOURCE_DIR}/l10n BASE_NAME ${TRGT} LANGUAGES ru_RU) if(MYXLIB_BUILD_EXAMPLES) # Путь поиска библиотек внутри проекта link_directories(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) # Цель для создания исполняемого файла add_executable(${TRGT} ${TRGT_cpp} ${TRGT_qrc}) 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_compile_definitions(${TRGT} PUBLIC MYXLIB_HEADER_ONLY) target_include_directories(${TRGT} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src) add_dependencies(${TRGT} base qt) target_link_libraries(${TRGT} Qt5::Core) # Имя выходного файла для цели set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME qt-translators) 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) # Цель для создания исполняемого файла add_executable(${TRGT}-ho ${TRGT_cpp} ${TRGT_qrc}) 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-translators-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()