From f63c6b8302c8cc588a81b8ba888dd0d10c95ea31 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Mon, 13 Apr 2020 21:12:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D1=91=D0=BD?= =?UTF-8?q?=D0=BD=D0=BE=D0=B9=20CMLib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmake/cmlib | 2 +- cmake/doc | 2 +- examples/filesystem/01_minimal/CMakeLists.txt | 55 ++++++++++--------- examples/qt/01_translators/CMakeLists.txt | 54 ++++++++++-------- src/myx/base/CMakeLists.txt | 2 +- src/myx/filesystem/CMakeLists.txt | 2 +- src/myx/filesystem/paths.cpp | 2 +- src/myx/filesystem/paths.hpp | 2 +- src/myx/math/CMakeLists.txt | 2 +- src/myx/qt/CMakeLists.txt | 2 +- src/myx/redis/CMakeLists.txt | 2 +- 11 files changed, 70 insertions(+), 57 deletions(-) diff --git a/cmake/cmlib b/cmake/cmlib index 026655f..4768c5e 160000 --- a/cmake/cmlib +++ b/cmake/cmlib @@ -1 +1 @@ -Subproject commit 026655f7121203f5a51db10c44178bf5b4bcf713 +Subproject commit 4768c5efc7ce3ca9fc80baf72df303e91f348a96 diff --git a/cmake/doc b/cmake/doc index 62d017b..81fe901 160000 --- a/cmake/doc +++ b/cmake/doc @@ -1 +1 @@ -Subproject commit 62d017b2e976df437afb27716b910ad66333ca06 +Subproject commit 81fe90131c2d93d5d3e0f3b48c38fad0418fb953 diff --git a/examples/filesystem/01_minimal/CMakeLists.txt b/examples/filesystem/01_minimal/CMakeLists.txt index eb10fd2..6426148 100644 --- a/examples/filesystem/01_minimal/CMakeLists.txt +++ b/examples/filesystem/01_minimal/CMakeLists.txt @@ -1,47 +1,52 @@ # Название основной цели в текущем каталоге -set(current_target example-filesystem-minimal) +set(TRGT example-filesystem-minimal) # Список файлов исходных текстов -set(current_target_sources ${CMAKE_CURRENT_SOURCE_DIR}/minimal.cpp) +set(TRGT_cpp ${CMAKE_CURRENT_SOURCE_DIR}/minimal.cpp) # Путь поиска библиотек внутри проекта link_directories(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) link_directories(${CMAKE_BINARY_DIR}/src/myx/filesystem/lib) # Цель для создания исполняемого файла -add_executable(${current_target} ${current_target_sources}) -common_target_properties(${current_target}) -add_clang_tidy_check(${current_target} ${current_target_sources}) -add_clang_analyze_check(${current_target} ${current_target_sources}) -add_clazy_check(${current_target} ${current_target_sources}) -add_pvs_check(${current_target}) +add_executable(${TRGT} ${TRGT_cpp} ${TRGT_qrc}) +common_target_properties(${TRGT}) -# Форматирование исходников -add_format_sources(${current_target} ${current_target_sources} ${current_target_headers}) +# Создание цели для проверки утилитой clang-tidy +add_clang_tidy_check(${TRGT} ${TRGT_cpp}) -add_dependencies(${current_target} base) -add_dependencies(${current_target} filesystem) +# Создание цели для проверки утилитой clang-analyze +add_clang_analyze_check(${TRGT} ${TRGT_cpp}) -# Qt5 qt_translation(TARGET ${current_target} TS_DIR ${CMAKE_SOURCE_DIR}/l10n -# LANGUAGES ru_RU) -target_include_directories(${current_target} PRIVATE ${CMAKE_SOURCE_DIR}/src) -target_include_directories(${current_target} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) -target_compile_options(${current_target} PUBLIC "${Qt5Core_EXECUTABLE_COMPILE_FLAGS}") +# Создание цели для проверки утилитой clazy +add_clazy_check(${TRGT} ${TRGT_cpp}) -target_link_libraries(${current_target} myx-filesystem) -target_link_libraries(${current_target} Qt5::Core) -target_link_libraries(${current_target} Threads::Threads) +# Создание цели для проверки утилитой pvs-studio +add_pvs_check(${TRGT}) + +# Создание цели для автоматического форматирования кода +add_format_sources(${TRGT} ${TRGT_cpp}) + +add_dependencies(${TRGT} base) +add_dependencies(${TRGT} filesystem) + +target_include_directories(${TRGT} PRIVATE ${CMAKE_SOURCE_DIR}/src) +target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) + +target_link_libraries(${TRGT} myx-filesystem) +target_link_libraries(${TRGT} Qt5::Core) +target_link_libraries(${TRGT} Threads::Threads) # Имя выходного файла для цели set_target_properties( - ${current_target} PROPERTIES OUTPUT_NAME filesystem-minimal RUNTIME_OUTPUT_DIRECTORY + ${TRGT} PROPERTIES OUTPUT_NAME filesystem-minimal RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) -add_sanitizers(${current_target}) +add_sanitizers(${TRGT}) -# cotire(${current_target}) +cotire(${TRGT}) -add_dependencies(${current_target} create_auxilary_symlinks) +add_dependencies(${TRGT} create_auxilary_symlinks) # Правила для установки -install(TARGETS ${current_target} COMPONENT EXAMPLES RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(TARGETS ${TRGT} COMPONENT EXAMPLES RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/examples/qt/01_translators/CMakeLists.txt b/examples/qt/01_translators/CMakeLists.txt index 5a770ef..97d6506 100644 --- a/examples/qt/01_translators/CMakeLists.txt +++ b/examples/qt/01_translators/CMakeLists.txt @@ -1,46 +1,54 @@ # Название основной цели в текущем каталоге -set(current_target example-qt-translators) +set(TRGT example-qt-translators) # Список файлов исходных текстов -set(current_target_sources ${CMAKE_CURRENT_SOURCE_DIR}/translators.cpp) +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) # Путь поиска библиотек внутри проекта link_directories(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) link_directories(${CMAKE_BINARY_DIR}/src/myx/qt/lib) # Цель для создания исполняемого файла -add_executable(${current_target} ${current_target_sources}) -common_target_properties(${current_target}) -add_clang_tidy_check(${current_target} ${current_target_sources}) -add_clang_analyze_check(${current_target} ${current_target_sources}) -add_clazy_check(${current_target} ${current_target_sources}) -add_pvs_check(${current_target}) +add_executable(${TRGT} ${TRGT_cpp} ${TRGT_qrc}) +common_target_properties(${TRGT}) -# Форматирование исходников -add_format_sources(${current_target} ${current_target_sources} ${current_target_headers}) +# Создание цели для проверки утилитой clang-tidy +add_clang_tidy_check(${TRGT} ${TRGT_cpp}) -add_dependencies(${current_target} base) -add_dependencies(${current_target} qt) +# Создание цели для проверки утилитой 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}) + +add_dependencies(${TRGT} base) +add_dependencies(${TRGT} qt) # Qt5 -qt5_translation(TARGET ${current_target} TS_DIR ${CMAKE_SOURCE_DIR}/l10n LANGUAGES ru_RU) -target_include_directories(${current_target} PRIVATE ${CMAKE_SOURCE_DIR}/src) -target_include_directories(${current_target} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) -target_compile_options(${current_target} PUBLIC "${Qt5Core_EXECUTABLE_COMPILE_FLAGS}") +target_include_directories(${TRGT} PRIVATE ${CMAKE_SOURCE_DIR}/src) +target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) -target_link_libraries(${current_target} myx-qt) -target_link_libraries(${current_target} Qt5::Core) +target_link_libraries(${TRGT} myx-qt) +target_link_libraries(${TRGT} Qt5::Core) # Имя выходного файла для цели set_target_properties( - ${current_target} PROPERTIES OUTPUT_NAME qt-translators RUNTIME_OUTPUT_DIRECTORY + ${TRGT} PROPERTIES OUTPUT_NAME qt-translators RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) -add_sanitizers(${current_target}) +add_sanitizers(${TRGT}) -# cotire(${current_target}) +cotire(${TRGT}) -add_dependencies(${current_target} create_auxilary_symlinks) +add_dependencies(${TRGT} create_auxilary_symlinks) # Правила для установки -install(TARGETS ${current_target} COMPONENT EXAMPLES RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(TARGETS ${TRGT} COMPONENT EXAMPLES RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/src/myx/base/CMakeLists.txt b/src/myx/base/CMakeLists.txt index 91744d5..681a093 100644 --- a/src/myx/base/CMakeLists.txt +++ b/src/myx/base/CMakeLists.txt @@ -13,7 +13,7 @@ set(TRGT_headers ${CMAKE_CURRENT_SOURCE_DIR}/enum_bitmask_operations.hpp) # cmake-format: on -add_common_library(TARGET ${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources} ${TRGT_headers}) +add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources} ${TRGT_headers}) common_target_properties(${TRGT}) # Создание цели для проверки утилитой clang-tidy diff --git a/src/myx/filesystem/CMakeLists.txt b/src/myx/filesystem/CMakeLists.txt index 05d4585..adda2e1 100644 --- a/src/myx/filesystem/CMakeLists.txt +++ b/src/myx/filesystem/CMakeLists.txt @@ -15,7 +15,7 @@ set(TRGT_headers ${CMAKE_CURRENT_SOURCE_DIR}/paths_mt.hpp) # cmake-format: on -add_common_library(TARGET ${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources}) +add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources}) common_target_properties(${TRGT}) # Создание цели для проверки утилитой clang-tidy diff --git a/src/myx/filesystem/paths.cpp b/src/myx/filesystem/paths.cpp index 98f1819..7285328 100644 --- a/src/myx/filesystem/paths.cpp +++ b/src/myx/filesystem/paths.cpp @@ -218,7 +218,7 @@ QString Paths::findConfigFile( const QString& defaultConfigFile ) } // Paths::findConfigFile -QDir Paths::binaryDirectory() const +QDir Paths::executableFileDirectory() const { return( m_currentExecutable.m_canonicalFilePath.dir() ); } diff --git a/src/myx/filesystem/paths.hpp b/src/myx/filesystem/paths.hpp index 3652513..126da5c 100644 --- a/src/myx/filesystem/paths.hpp +++ b/src/myx/filesystem/paths.hpp @@ -131,7 +131,7 @@ public: /** * @brief Полный путь к каталогу с исполняемым файлом */ - QDir binaryDirectory() const; + QDir executableFileDirectory() const; /** * @brief Полный путь к пользовательскому каталогу с файлами настройки diff --git a/src/myx/math/CMakeLists.txt b/src/myx/math/CMakeLists.txt index 0174187..7180195 100644 --- a/src/myx/math/CMakeLists.txt +++ b/src/myx/math/CMakeLists.txt @@ -24,7 +24,7 @@ set(TRGT_headers ${CMAKE_CURRENT_SOURCE_DIR}/units.hpp) # cmake-format: on -add_common_library(TARGET ${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources}) +add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources}) common_target_properties(${TRGT}) # Создание цели для проверки утилитой clang-tidy diff --git a/src/myx/qt/CMakeLists.txt b/src/myx/qt/CMakeLists.txt index 5ce9b57..79f8222 100644 --- a/src/myx/qt/CMakeLists.txt +++ b/src/myx/qt/CMakeLists.txt @@ -12,7 +12,7 @@ set(TRGT_headers ${CMAKE_CURRENT_SOURCE_DIR}/translators.hpp) # cmake-format: on -add_common_library(TARGET ${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources}) +add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources}) common_target_properties(${TRGT}) # Создание цели для проверки утилитой clang-tidy diff --git a/src/myx/redis/CMakeLists.txt b/src/myx/redis/CMakeLists.txt index 8f6f2cd..cb54638 100644 --- a/src/myx/redis/CMakeLists.txt +++ b/src/myx/redis/CMakeLists.txt @@ -18,7 +18,7 @@ set(TRGT_headers ${CMAKE_CURRENT_SOURCE_DIR}/request.hpp) # cmake-format: on -add_common_library(TARGET ${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources}) +add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources}) common_target_properties(${TRGT}) # Создание цели для проверки утилитой clang-tidy