diff --git a/CMakeLists.txt b/CMakeLists.txt index c75d04e..5a56251 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,17 +35,17 @@ pkg_check_modules(SPDLOG spdlog>=1.3.1) # Автоматически генерируемый заголовочный файл cmlib_config_hpp_generate() -configure_file(${CMAKE_SOURCE_DIR}/src/base/config_flags.hpp.in +configure_file(${CMAKE_SOURCE_DIR}/src/myx/base/config_flags.hpp.in ${CMAKE_BINARY_DIR}/include/config_flags.hpp) # Подключение внешних проектов include(ExternalProject) # Библиотеки -add_subdirectory(src/base) -add_subdirectory(src/filesystem) -add_subdirectory(src/log) -add_subdirectory(src/qt) +add_subdirectory(src/myx/base) +add_subdirectory(src/myx/filesystem) +add_subdirectory(src/myx/log) +add_subdirectory(src/myx/qt) # Примеры if (BUILD_EXAMPLES) diff --git a/examples/filesystem/01_minimal/minimal.cpp b/examples/filesystem/01_minimal/minimal.cpp index 279fd9b..4e339d5 100644 --- a/examples/filesystem/01_minimal/minimal.cpp +++ b/examples/filesystem/01_minimal/minimal.cpp @@ -1,4 +1,4 @@ -#include "filesystem/paths.hpp" +#include namespace MF = myx::filesystem; diff --git a/examples/log/01_minimal/minimal.cpp b/examples/log/01_minimal/minimal.cpp index a51c557..670d8c6 100644 --- a/examples/log/01_minimal/minimal.cpp +++ b/examples/log/01_minimal/minimal.cpp @@ -1,4 +1,4 @@ -#include "log/spdlog.hpp" +#include namespace ML = myx::log; diff --git a/examples/log/02_qt/qt.cpp b/examples/log/02_qt/qt.cpp index 6ff73db..8ee0382 100644 --- a/examples/log/02_qt/qt.cpp +++ b/examples/log/02_qt/qt.cpp @@ -1,5 +1,5 @@ -#include "log/spdlog.hpp" -#include "log/spdlog_qt.hpp" +#include +#include namespace ML = myx::log; diff --git a/examples/qt/01_translators/translators.cpp b/examples/qt/01_translators/translators.cpp index 9610b17..094880b 100644 --- a/examples/qt/01_translators/translators.cpp +++ b/examples/qt/01_translators/translators.cpp @@ -1,4 +1,4 @@ -#include "qt/translators.hpp" +#include #include #include diff --git a/src/base/config.hpp b/src/base/config.hpp deleted file mode 100644 index 16ded3e..0000000 --- a/src/base/config.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef MYX_BASE_CONFIG_HPP_ -#define MYX_BASE_CONFIG_HPP_ - -#include "cmlib_config.hpp" -#include "config_flags.hpp" - -#if ( defined ( TARGET_LSB_ID_AstraLinuxSE ) && defined ( TARGET_LSB_CODENAME_smolensk ) ) - -#define override - -#if QT_VERSION <= 0x050700 -#include -template< typename ... Args > -struct QOverload -{ - template< typename C, typename R > - static constexpr auto of( R ( C::* pmf )( Args... ) )->decltype( pmf ) - { - return( pmf ); - } -}; - -// this adds const to non-const objects (like std::as_const) -template < typename T > -Q_DECL_CONSTEXPR typename std::add_const< T >::type& qAsConst( T& t ) noexcept { return( t ); } -// prevent rvalue arguments: -template < typename T > -void qAsConst( const T&& ) = delete; - - -#endif // if QT_VERSION <= 0x050700 -#endif // if ( defined ( TARGET_LSB_ID_AstraLinuxSE ) && defined ( TARGET_LSB_CODENAME_smolensk ) ) - -#endif // MYX_BASE_CONFIG_HPP_ diff --git a/src/base/CMakeLists.txt b/src/myx/base/CMakeLists.txt similarity index 100% rename from src/base/CMakeLists.txt rename to src/myx/base/CMakeLists.txt diff --git a/src/base/config.cpp b/src/myx/base/config.cpp similarity index 100% rename from src/base/config.cpp rename to src/myx/base/config.cpp diff --git a/src/myx/base/config.hpp b/src/myx/base/config.hpp new file mode 100644 index 0000000..54e0f02 --- /dev/null +++ b/src/myx/base/config.hpp @@ -0,0 +1,7 @@ +#ifndef MYX_BASE_CONFIG_HPP_ +#define MYX_BASE_CONFIG_HPP_ + +#include "cmlib_config.hpp" +#include "config_flags.hpp" + +#endif // MYX_BASE_CONFIG_HPP_ diff --git a/src/base/config_flags.hpp.in b/src/myx/base/config_flags.hpp.in similarity index 100% rename from src/base/config_flags.hpp.in rename to src/myx/base/config_flags.hpp.in diff --git a/src/filesystem/CMakeLists.txt b/src/myx/filesystem/CMakeLists.txt similarity index 96% rename from src/filesystem/CMakeLists.txt rename to src/myx/filesystem/CMakeLists.txt index 508709d..3c17ce4 100644 --- a/src/filesystem/CMakeLists.txt +++ b/src/myx/filesystem/CMakeLists.txt @@ -27,7 +27,7 @@ add_uncrustify_format(${current_target} ${current_target_sources} ${current_targ target_include_directories(${current_target} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) target_include_directories(${current_target} SYSTEM PUBLIC ${FMT_INCLUDE_DIRS}) target_include_directories(${current_target} SYSTEM PUBLIC ${SPDLOG_INCLUDE_DIRS}) -target_include_directories(${current_target} PRIVATE ${CMAKE_SOURCE_DIR}/src/base) +target_include_directories(${current_target} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src) target_include_directories(${current_target} PRIVATE ${CMAKE_BINARY_DIR}/include) # Цель, используемая только для установки заголовочных файлов без компиляции проекта diff --git a/src/filesystem/paths.cpp b/src/myx/filesystem/paths.cpp similarity index 99% rename from src/filesystem/paths.cpp rename to src/myx/filesystem/paths.cpp index 5a3b9c8..e970659 100644 --- a/src/filesystem/paths.cpp +++ b/src/myx/filesystem/paths.cpp @@ -1,5 +1,5 @@ #include "paths.hpp" -#include "config.hpp" +#include #include "whereami++.h" #include diff --git a/src/filesystem/paths.hpp b/src/myx/filesystem/paths.hpp similarity index 100% rename from src/filesystem/paths.hpp rename to src/myx/filesystem/paths.hpp diff --git a/src/log/CMakeLists.txt b/src/myx/log/CMakeLists.txt similarity index 96% rename from src/log/CMakeLists.txt rename to src/myx/log/CMakeLists.txt index f3a5a5f..1ee6509 100644 --- a/src/log/CMakeLists.txt +++ b/src/myx/log/CMakeLists.txt @@ -25,7 +25,7 @@ add_uncrustify_format(${current_target} ${current_target_sources} ${current_targ target_include_directories(${current_target} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) target_include_directories(${current_target} SYSTEM PUBLIC ${FMT_INCLUDE_DIRS}) target_include_directories(${current_target} SYSTEM PUBLIC ${SPDLOG_INCLUDE_DIRS}) -target_include_directories(${current_target} PRIVATE ${CMAKE_SOURCE_DIR}/src/base) +target_include_directories(${current_target} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src) # Цель, используемая только для установки заголовочных файлов без компиляции проекта add_custom_target(${current_target}-install-headers diff --git a/src/log/spdlog.cpp b/src/myx/log/spdlog.cpp similarity index 99% rename from src/log/spdlog.cpp rename to src/myx/log/spdlog.cpp index ae1c089..9bf99cf 100644 --- a/src/log/spdlog.cpp +++ b/src/myx/log/spdlog.cpp @@ -1,5 +1,5 @@ #include "spdlog.hpp" -#include "config.hpp" +#include namespace myx { diff --git a/src/log/spdlog.hpp b/src/myx/log/spdlog.hpp similarity index 100% rename from src/log/spdlog.hpp rename to src/myx/log/spdlog.hpp diff --git a/src/log/spdlog_qt.cpp b/src/myx/log/spdlog_qt.cpp similarity index 100% rename from src/log/spdlog_qt.cpp rename to src/myx/log/spdlog_qt.cpp diff --git a/src/log/spdlog_qt.hpp b/src/myx/log/spdlog_qt.hpp similarity index 100% rename from src/log/spdlog_qt.hpp rename to src/myx/log/spdlog_qt.hpp diff --git a/src/qt/CMakeLists.txt b/src/myx/qt/CMakeLists.txt similarity index 67% rename from src/qt/CMakeLists.txt rename to src/myx/qt/CMakeLists.txt index db735c6..0939200 100644 --- a/src/qt/CMakeLists.txt +++ b/src/myx/qt/CMakeLists.txt @@ -2,16 +2,14 @@ set(current_target qt) # Список файлов исходных текстов -set(current_target_sources - ${CMAKE_CURRENT_SOURCE_DIR}/translators.cpp -) +set(current_target_sources ${CMAKE_CURRENT_SOURCE_DIR}/translators.cpp) # Список заголовочных файлов (используется для установки) -set(current_target_headers - ${CMAKE_CURRENT_SOURCE_DIR}/translators.hpp -) +set(current_target_headers ${CMAKE_CURRENT_SOURCE_DIR}/backports.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/translators.hpp) -add_common_library(TARGET ${current_target} OUTPUT_NAME myx-${current_target} +add_common_library(TARGET ${current_target} + OUTPUT_NAME myx-${current_target} SOURCES ${current_target_sources}) common_target_properties(${current_target}) add_clang_tidy_check(${current_target} ${current_target_sources}) @@ -23,13 +21,15 @@ add_uncrustify_format(${current_target} ${current_target_sources} ${current_targ target_include_directories(${current_target} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) target_include_directories(${current_target} SYSTEM PUBLIC ${FMT_INCLUDE_DIRS}) target_include_directories(${current_target} SYSTEM PUBLIC ${SPDLOG_INCLUDE_DIRS}) -target_include_directories(${current_target} PRIVATE ${CMAKE_SOURCE_DIR}/src/base) +target_include_directories(${current_target} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src) -# Цель, используемая только для установки заголовочных файлов без компиляции проекта +# Цель, используемая только для установки заголовочных файлов без компиляции +# проекта add_custom_target(${current_target}-install-headers - COMMAND "${CMAKE_COMMAND}" - -DCMAKE_INSTALL_COMPONENT=headers -P "${CMAKE_BINARY_DIR}/cmake_install.cmake" - ) + COMMAND "${CMAKE_COMMAND}" + -DCMAKE_INSTALL_COMPONENT=headers + -P + "${CMAKE_BINARY_DIR}/cmake_install.cmake") # Правила для установки install(TARGETS ${current_target}_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) @@ -39,5 +39,5 @@ endif() install(FILES ${current_target_headers} COMPONENT headers DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${current_target}) -install(FILES ${CMAKE_BINARY_DIR}/${current_target}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - +install(FILES ${CMAKE_BINARY_DIR}/${current_target}.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/src/qt/translators.cpp b/src/myx/qt/translators.cpp similarity index 97% rename from src/qt/translators.cpp rename to src/myx/qt/translators.cpp index a83ddfd..4b29c26 100644 --- a/src/qt/translators.cpp +++ b/src/myx/qt/translators.cpp @@ -1,4 +1,4 @@ -#include "config.hpp" +#include #include "translators.hpp" #include diff --git a/src/qt/translators.hpp b/src/myx/qt/translators.hpp similarity index 91% rename from src/qt/translators.hpp rename to src/myx/qt/translators.hpp index 9bc8738..ce9f6ed 100644 --- a/src/qt/translators.hpp +++ b/src/myx/qt/translators.hpp @@ -1,6 +1,8 @@ #ifndef MYX_LOG_QT_TRANSLATORS_HPP_ #define MYX_LOG_QT_TRANSLATORS_HPP_ +#include + #include namespace myx {