Compare commits

...

6 Commits

30 changed files with 131 additions and 122 deletions

View File

@ -13,6 +13,7 @@ portability-*,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-llvm-header-guard,
-readability-magic-numbers,
-readability-else-after-return,
-modernize-use-trailing-return-type,
@ -88,9 +89,9 @@ CheckOptions:
- key: readability-identifier-naming.ConstexprMethodSuffix
value: ''
- key: readability-identifier-naming.ConstexprVariableCase
value: lower_case
value: CamelCase
- key: readability-identifier-naming.ConstexprVariablePrefix
value: ''
value: 'k_'
- key: readability-identifier-naming.ConstexprVariableSuffix
value: ''
- key: readability-identifier-naming.EnumCase
@ -102,7 +103,7 @@ CheckOptions:
- key: readability-identifier-naming.EnumConstantCase
value: CamelCase
- key: readability-identifier-naming.EnumConstantPrefix
value: 'k_'
value: 'k'
- key: readability-identifier-naming.EnumConstantSuffix
value: ''
- key: readability-identifier-naming.FunctionCase
@ -114,7 +115,7 @@ CheckOptions:
- key: readability-identifier-naming.GlobalConstantCase
value: CamelCase
- key: readability-identifier-naming.GlobalConstantPrefix
value: 'k_'
value: ''
- key: readability-identifier-naming.GlobalConstantSuffix
value: ''
- key: readability-identifier-naming.GlobalConstantPointerCase

View File

@ -15,10 +15,11 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/find)
include(CMLibCommon)
option(BUILD_EXAMPLES "Build examples" OFF)
option(MYXLIB_HEADER_ONLY "Build header only version of library" ON)
option(MYXLIB_BUILD_EXAMPLES "Build examples" OFF)
# Поиск библиотек с помощью pkgconfig
find_package(PkgConfig)
find_package(PkgConfig REQUIRED)
# Потоки
set(THREADS_PREFER_PTHREAD_FLAG ON)
@ -41,7 +42,7 @@ find_package(
cmlib_config_hpp_generate()
configure_file(${CMAKE_SOURCE_DIR}/src/myx/base/config_flags.hpp.in
${CMAKE_BINARY_DIR}/include/config_flags.hpp)
${CMAKE_BINARY_DIR}/include/myx/base/config_flags.hpp)
# Подключение внешних проектов
include(ExternalProject)
@ -63,4 +64,3 @@ endif()
# Документация
add_subdirectory(cmake/doc)

@ -1 +1 @@
Subproject commit 2909f5a9d42ea4b0182329941a52b83e60c720d6
Subproject commit e5fbb9023546a5e98c832e8596586c71edcc5b2f

View File

@ -10,19 +10,5 @@ set(CPACK_COMPONENTS_ALL EXAMPLES)
set(CPACK_GENERATOR "TXZ;DEB")
set(CPACK_PACKAGE_CONTACT "Andrei Astafev <dev@246060.ru>")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mixed functions")
set(CPACK_DEBIAN_PACKAGE_SECTION "misc")
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
set(CPACK_SOURCE_IGNORE_FILES
.git/
obj.*/
build
files/var
debian/tmp/
debian/files
debian/.*\\\\.log$
debian/.*.substvars
debian/stamp.*
CMakeLists.txt.user
cmake/lib/.git$
~$
\\\\..*\\\\.swp$)
set(CMLIB_GENERATED_HEADERS_PATH ${CMAKE_BINARY_DIR}/include/myx/base)

View File

@ -3,35 +3,38 @@ set(TRGT base)
# cmake-format: off
# Список файлов исходных текстов
set(TRGT_sources
set(TRGT_cpp
${CMAKE_CURRENT_SOURCE_DIR}/config.cpp)
# Список заголовочных файлов
set(TRGT_headers
set(TRGT_hpp
${CMAKE_CURRENT_SOURCE_DIR}/config.hpp
${CMAKE_CURRENT_SOURCE_DIR}/config-inl.hpp
${CMAKE_CURRENT_SOURCE_DIR}/limits.hpp
${CMAKE_CURRENT_SOURCE_DIR}/enum_bitmask_operations.hpp)
set(TRGT_headers ${TRGT_hpp})
# cmake-format: on
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources} ${TRGT_headers})
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_cpp} ${TRGT_headers})
common_target_properties(${TRGT})
# Создание цели для проверки утилитой clang-tidy
add_clang_tidy_check(${TRGT} ${TRGT_sources})
add_clang_tidy_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой clang-analyze
add_clang_analyze_check(${TRGT} ${TRGT_sources})
add_clang_analyze_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой clazy
add_clazy_check(${TRGT} ${TRGT_sources})
add_clazy_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой pvs-studio
add_pvs_check(${TRGT})
# Создание цели для автоматического форматирования кода
add_format_sources(${TRGT} ${TRGT_sources} ${TRGT_headers})
add_format_sources(${TRGT} ${TRGT_cpp} ${TRGT_headers})
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
target_include_directories(${TRGT} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src)
cotire(${TRGT})

View File

@ -0,0 +1,10 @@
#ifndef MYX_BASE_CONFIG_INL_HPP_
#define MYX_BASE_CONFIG_INL_HPP_
#pragma once
#ifndef MYXLIB_HEADER_ONLY
#include <myx/base/config.hpp>
#endif
#endif // MYX_BASE_CONFIG_INL_HPP_

View File

@ -1,6 +1,12 @@
#ifndef MYX_BASE_CONFIG_HPP_
#define MYX_BASE_CONFIG_HPP_
#include "config_flags.hpp"
#pragma once
#include <myx/base/config_flags.hpp>
#ifdef MYXLIB_HEADER_ONLY
#include "config-inl.hpp"
#endif
#endif // MYX_BASE_CONFIG_HPP_

View File

@ -13,17 +13,17 @@ namespace base {
template< typename Enum >
struct EnableBitMaskOperators
{
static const bool enable = false;
static const bool k_Enable = false;
};
template< typename Enum >
typename std::enable_if< EnableBitMaskOperators< Enum >::enable, Enum >::type
typename std::enable_if< EnableBitMaskOperators< Enum >::k_Enable, Enum >::type
operator |( Enum lhs, Enum rhs )
{
using underlying = typename std::underlying_type< Enum >::type;
using Underlying = typename std::underlying_type< Enum >::type;
return( static_cast< Enum >(
static_cast< underlying >( lhs ) |
static_cast< underlying >( rhs )
static_cast< Underlying >( lhs ) |
static_cast< Underlying >( rhs )
) );
}
@ -52,7 +52,7 @@ operator |( Enum lhs, Enum rhs )
template<> \
struct myx::base::EnableBitMaskOperators< x > \
{ \
static const bool enable = true; \
static const bool k_Enable = true; \
};
#endif // ifndef MYX_BASE_ENUM_BITWISE_OPERATIONS_HPP_

View File

@ -3,39 +3,40 @@ set(TRGT filesystem)
# cmake-format: off
# Список файлов исходных текстов
set(TRGT_sources
set(TRGT_cpp
${CMAKE_CURRENT_SOURCE_DIR}/current_executable.cpp
${CMAKE_CURRENT_SOURCE_DIR}/paths.cpp
${CMAKE_CURRENT_SOURCE_DIR}/paths_mt.cpp)
# Список заголовочных файлов
set(TRGT_headers
set(TRGT_hpp
${CMAKE_CURRENT_SOURCE_DIR}/current_executable.hpp
${CMAKE_CURRENT_SOURCE_DIR}/paths.hpp
${CMAKE_CURRENT_SOURCE_DIR}/paths_mt.hpp)
set(TRGT_headers ${TRGT_hpp})
# cmake-format: on
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources})
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_cpp} ${TRGT_headers})
common_target_properties(${TRGT})
# Создание цели для проверки утилитой clang-tidy
add_clang_tidy_check(${TRGT} ${TRGT_sources})
add_clang_tidy_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой clang-analyze
add_clang_analyze_check(${TRGT} ${TRGT_sources})
add_clang_analyze_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой clazy
add_clazy_check(${TRGT} ${TRGT_sources})
add_clazy_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой pvs-studio
add_pvs_check(${TRGT})
# Создание цели для автоматического форматирования кода
add_format_sources(${TRGT} ${TRGT_sources} ${TRGT_headers})
add_format_sources(${TRGT} ${TRGT_cpp} ${TRGT_headers})
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
target_include_directories(${TRGT} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src)
target_include_directories(${TRGT} PRIVATE ${CMAKE_BINARY_DIR}/include)
cotire(${TRGT})

View File

@ -8,9 +8,9 @@
#pragma once
#include <QString>
#include <QDir>
#include <QFileInfo>
#include <QString>
namespace myx {

View File

@ -10,9 +10,9 @@
#include <myx/filesystem/current_executable.hpp>
#include <QString>
#include <QDir>
#include <QFileInfo>
#include <QString>
namespace myx {
@ -88,8 +88,8 @@ class Paths
protected:
Paths();
~Paths() = default;
Paths( const Paths& ) = delete;
Paths& operator=( const Paths& ) = delete;
Paths( const Paths& ) = delete; // NOLINT
Paths& operator=( const Paths& ) = delete; // NOLINT
public:
/**

View File

@ -8,12 +8,12 @@
#pragma once
#include <myx/filesystem/paths.hpp>
#include <myx/filesystem/current_executable.hpp>
#include <myx/filesystem/paths.hpp>
#include <QString>
#include <QDir>
#include <QFileInfo>
#include <QString>
#include <atomic>
#include <future>
@ -29,8 +29,8 @@ class PathsMT : public Paths
{
PathsMT();
~PathsMT() = default;
PathsMT( const PathsMT& ) = delete;
PathsMT& operator=( const PathsMT& ) = delete;
PathsMT( const PathsMT& ) = delete; // NOLINT
PathsMT& operator=( const PathsMT& ) = delete; // NOLINT
static std::atomic< PathsMT* > mInstance;
static std::mutex mMutex;

View File

@ -11,7 +11,7 @@ set(TRGT_sources
${CMAKE_CURRENT_SOURCE_DIR}/constants.cpp)
# Список заголовочных файлов
set(TRGT_headers
set(TRGT_hpp
${CMAKE_CURRENT_SOURCE_DIR}/all.hpp
${CMAKE_CURRENT_SOURCE_DIR}/almost_equal_relative.hpp
${CMAKE_CURRENT_SOURCE_DIR}/almost_equal_relative_and_abs.hpp
@ -22,19 +22,21 @@ set(TRGT_headers
${CMAKE_CURRENT_SOURCE_DIR}/functions.hpp
${CMAKE_CURRENT_SOURCE_DIR}/radar.hpp
${CMAKE_CURRENT_SOURCE_DIR}/units.hpp)
set(TRGT_headers ${TRGT_hpp})
# cmake-format: on
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources})
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources} ${TRGT_headers})
common_target_properties(${TRGT})
# Создание цели для проверки утилитой clang-tidy
add_clang_tidy_check(${TRGT} ${TRGT_sources})
add_clang_tidy_check(${TRGT} ${TRGT_sources} ${TRGT_headers})
# Создание цели для проверки утилитой clang-analyze
add_clang_analyze_check(${TRGT} ${TRGT_sources})
add_clang_analyze_check(${TRGT} ${TRGT_sources} ${TRGT_headers})
# Создание цели для проверки утилитой clazy
add_clazy_check(${TRGT} ${TRGT_sources})
add_clazy_check(${TRGT} ${TRGT_sources} ${TRGT_headers})
# Создание цели для проверки утилитой pvs-studio
add_pvs_check(${TRGT})
@ -42,9 +44,7 @@ add_pvs_check(${TRGT})
# Создание цели для автоматического форматирования кода
add_format_sources(${TRGT} ${TRGT_sources} ${TRGT_headers})
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
target_include_directories(${TRGT} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src)
target_include_directories(${TRGT} PRIVATE ${CMAKE_BINARY_DIR}/include)
cotire(${TRGT})

View File

@ -1,8 +1,8 @@
#include <myx/math/almost_equal_relative.hpp>
#include <myx/math/almost_equal_relative_and_abs.hpp>
#include <myx/math/almost_equal_ulps.hpp>
#include <myx/math/almost_equal_ulps_and_abs.hpp>
#include <myx/math/constants.hpp>
#include <myx/math/functions.hpp>
#include <myx/math/units.hpp>
#include <myx/math/radar.hpp>
#include <myx/math/almost_equal_relative_and_abs.hpp>
#include <myx/math/almost_equal_relative.hpp>
#include <myx/math/almost_equal_ulps_and_abs.hpp>
#include <myx/math/almost_equal_ulps.hpp>
#include <myx/math/units.hpp>

View File

@ -14,15 +14,15 @@ namespace math {
* Параметр maxRelDiff определяет максимальную относительную допустимую разницу,
* при которой аргументы считаются равными.
*/
bool almost_equal_relative( const float a, const float b,
const float maxRelDiff = FLT_EPSILON );
bool almost_equal_relative( float a, float b,
float maxRelDiff = FLT_EPSILON );
/**
* @brief Проверка на равенство двух аргументов типа double.
* Параметр maxRelDiff определяет максимальную относительную допустимую разницу,
* при которой аргументы считаются равными.
*/
bool almost_equal_relative( const double a, const double b,
const double maxRelDiff = DBL_EPSILON );
bool almost_equal_relative( double a, double b,
double maxRelDiff = DBL_EPSILON );
} // namespace math

View File

@ -13,16 +13,16 @@ namespace math {
* Параметр maxRelDiff определяет максимальную относительную допустимую разницу,
* при которой аргументы считаются равными.
*/
bool almost_equal_relative_and_abs( const float a, const float b,
const float maxAbsDiff, const float maxRelDiff = FLT_EPSILON );
bool almost_equal_relative_and_abs( float a, float b,
float maxAbsDiff, float maxRelDiff = FLT_EPSILON );
/**
* @brief Проверка на равенство двух аргументов типа double.
* Параметр maxAbsDiff определяет максимальную абсолютную допустимую разницу.
* Параметр maxRelDiff определяет максимальную относительную допустимую разницу,
* при которой аргументы считаются равными.
*/
bool almost_equal_relative_and_abs( const double a, const double b,
const double maxAbsDiff, const double maxRelDiff = DBL_EPSILON );
bool almost_equal_relative_and_abs( double a, double b,
double maxAbsDiff, double maxRelDiff = DBL_EPSILON );
} // namespace math

View File

@ -10,8 +10,8 @@ namespace math {
bool almost_equal_ulps( const float a, const float b,
const int maxUlpsDiff )
{
float_cmp_t uA( a );
float_cmp_t uB( b );
FloatCmp uA( a );
FloatCmp uB( b );
// Если знаки разные, то числа не равны.
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-union-access)
@ -46,8 +46,8 @@ bool almost_equal_ulps( const float a, const float b,
bool almost_equal_ulps( const double a, const double b,
const int maxUlpsDiff )
{
double_cmp_t uA( a );
double_cmp_t uB( b );
DoubleCmp uA( a );
DoubleCmp uB( b );
// Если знаки разные, то числа не равны.
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-union-access)

View File

@ -14,15 +14,15 @@ namespace math {
* Параметр maxUlpsDiff определяет максимальную разницу между аргументами,
* при которой они считаются равными.
*/
bool almost_equal_ulps( const float a, const float b,
const int maxUlpsDiff );
bool almost_equal_ulps( float a, float b,
int maxUlpsDiff );
/**
* @brief Проверка на равенство двух аргументов типа double.
* Параметр maxUlpsDiff определяет максимальную разницу между аргументами,
* при которой они считаются равными.
*/
bool almost_equal_ulps( const double a, const double b,
const int maxUlpsDiff );
bool almost_equal_ulps( double a, double b,
int maxUlpsDiff );
} // namespace math

View File

@ -18,8 +18,8 @@ bool almost_equal_ulps_and_abs( const float a, const float b,
return( true );
}
float_cmp_t uA( a );
float_cmp_t uB( b );
FloatCmp uA( a );
FloatCmp uB( b );
// Different signs means they do not match.
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-union-access)
@ -51,8 +51,8 @@ bool almost_equal_ulps_and_abs( const double a, const double b,
return( true );
}
double_cmp_t uA( a );
double_cmp_t uB( b );
DoubleCmp uA( a );
DoubleCmp uB( b );
// Different signs means they do not match.
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-union-access)

View File

@ -11,16 +11,16 @@ namespace math {
* Параметр maxUlpsDiff определяет максимальную разницу между аргументами,
* при которой они считаются равными.
*/
bool almost_equal_ulps_and_abs( const float a, const float b,
const float maxAbsDiff, const int maxUlpsDiff );
bool almost_equal_ulps_and_abs( float a, float b,
float maxAbsDiff, int maxUlpsDiff );
/**
* @brief Проверка на равенство двух аргументов типа double.
* Параметр maxAbsDiff определяет максимальную абсолютную допустимую разницу.
* Параметр maxUlpsDiff определяет максимальную разницу между аргументами,
* при которой они считаются равными.
*/
bool almost_equal_ulps_and_abs( const double a, const double b,
const double maxAbsDiff, const int maxUlpsDiff );
bool almost_equal_ulps_and_abs( double a, double b,
double maxAbsDiff, int maxUlpsDiff );
} // namespace math

View File

@ -1,8 +1,8 @@
#ifndef MYX_MATH_CONSTANTS_HPP_
#define MYX_MATH_CONSTANTS_HPP_
#include <type_traits>
#include <cmath>
#include <type_traits>
namespace myx {

View File

@ -6,7 +6,7 @@
/**
* @brief Объединение для получения знака аргумента типа float.
*/
union float_cmp_t
union FloatCmp
{
int32_t i;
float f;
@ -14,7 +14,7 @@ union float_cmp_t
/**
* @brief Инициализация.
*/
float_cmp_t( float num = 0.0f ) : f( num )
explicit FloatCmp( float num = 0.0F ) : f( num )
{
}
@ -30,7 +30,7 @@ union float_cmp_t
/**
* @brief Объединение для получения знака аргумента типа double.
*/
union double_cmp_t
union DoubleCmp
{
int64_t i;
double d;
@ -38,7 +38,7 @@ union double_cmp_t
/**
* @brief Инициализация.
*/
double_cmp_t( double num = 0.0l ) : d( num )
explicit DoubleCmp( double num = 0.0L ) : d( num )
{
}

View File

@ -1,9 +1,9 @@
#ifndef MYX_MATH_FUNCTIONS_HPP_
#define MYX_MATH_FUNCTIONS_HPP_
#include <type_traits>
#include <cmath>
#include <boost/math/special_functions/pow.hpp>
#include <cmath>
#include <type_traits>
namespace myx {

View File

@ -1,8 +1,8 @@
#ifndef MYX_MATH_RADAR_HPP_
#define MYX_MATH_RADAR_HPP_
#include <type_traits>
#include <cmath>
#include <type_traits>
namespace myx {

View File

@ -1,8 +1,8 @@
#ifndef MYX_MATH_UNITS_HPP_
#define MYX_MATH_UNITS_HPP_
#include <type_traits>
#include <cmath>
#include <type_traits>
namespace myx {
@ -14,7 +14,7 @@ namespace math {
* \return Значение в градусах
*/
template < typename T >
T radians_to_degrees( const T& radians, typename std::enable_if< std::is_floating_point< T >::value >::type* = 0 )
T radians_to_degrees( const T& radians, typename std::enable_if< std::is_floating_point< T >::value >::type* /*unused*/ = 0 )
{
static_assert( std::is_arithmetic< T >::value, "Arithmetic type is required." );
return( radians * M_1_PI * 180.0 );
@ -27,7 +27,7 @@ T radians_to_degrees( const T& radians, typename std::enable_if< std::is_floatin
* \return Значение в радианах
*/
template < typename T >
T degrees_to_radians( const T& degrees, typename std::enable_if< std::is_floating_point< T >::value >::type* = 0 )
T degrees_to_radians( const T& degrees, typename std::enable_if< std::is_floating_point< T >::value >::type* /*unused*/ = 0 )
{
static_assert( std::is_arithmetic< T >::value, "Arithmetic type is required." );
return( degrees * M_PI / 180.0 );

View File

@ -3,32 +3,34 @@ set(TRGT qt)
# cmake-format: off
# Список файлов исходных текстов
set(TRGT_sources
set(TRGT_cpp
${CMAKE_CURRENT_SOURCE_DIR}/translators.cpp)
# Список заголовочных файлов (используется для установки)
set(TRGT_headers
set(TRGT_hpp
${CMAKE_CURRENT_SOURCE_DIR}/backports.hpp
${CMAKE_CURRENT_SOURCE_DIR}/translators.hpp)
set(TRGT_headers ${TRGT_hpp})
# cmake-format: on
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources})
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_cpp} ${TRGT_headers})
common_target_properties(${TRGT})
# Создание цели для проверки утилитой clang-tidy
add_clang_tidy_check(${TRGT} ${TRGT_sources})
add_clang_tidy_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой clang-analyze
add_clang_analyze_check(${TRGT} ${TRGT_sources})
add_clang_analyze_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой clazy
add_clazy_check(${TRGT} ${TRGT_sources})
add_clazy_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой pvs-studio
add_pvs_check(${TRGT})
# Создание цели для автоматического форматирования кода
add_format_sources(${TRGT} ${TRGT_sources} ${TRGT_headers})
add_format_sources(${TRGT} ${TRGT_cpp} ${TRGT_headers})
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
target_include_directories(${TRGT} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src)

View File

@ -36,7 +36,6 @@ void append_translators( QTranslatorsList& translators, const QString& appName )
translator->deleteLater();
}
translator = new QTranslator( qApp );
if ( translator->load( "qtbase_" + QLocale::system().name(),
QLibraryInfo::location( QLibraryInfo::TranslationsPath ) ) )

View File

@ -9,9 +9,9 @@ namespace myx {
namespace qt {
typedef QList< QTranslator* > QTranslatorsList;
using QTranslatorsList = QList< QTranslator* >;
void append_translators( QTranslatorsList& translators, const QString& appName );
void append_translators( QTranslatorsList& translators, const QString& appName ); // NOLINT
} // namespace qt

View File

@ -3,7 +3,7 @@ set(TRGT redis)
# cmake-format: off
# Список файлов исходных текстов
set(TRGT_sources
set(TRGT_cpp
${CMAKE_CURRENT_SOURCE_DIR}/client.cpp
${CMAKE_CURRENT_SOURCE_DIR}/config.cpp
${CMAKE_CURRENT_SOURCE_DIR}/lexer.cpp
@ -11,37 +11,38 @@ set(TRGT_sources
${CMAKE_CURRENT_SOURCE_DIR}/request.cpp)
# Список заголовочных файлов (используется для установки)
set(TRGT_headers
set(TRGT_moc_hpp
${CMAKE_CURRENT_SOURCE_DIR}/client.hpp
${CMAKE_CURRENT_SOURCE_DIR}/config.hpp
${CMAKE_CURRENT_SOURCE_DIR}/lexer.hpp
${CMAKE_CURRENT_SOURCE_DIR}/parser.hpp
${CMAKE_CURRENT_SOURCE_DIR}/reply.hpp
${CMAKE_CURRENT_SOURCE_DIR}/request.hpp)
set(TRGT_headers ${TRGT_hpp})
# cmake-format: on
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_sources})
add_common_library(${TRGT} OUTPUT_NAME myx-${TRGT} SOURCES ${TRGT_cpp} ${TRGT_headers})
common_target_properties(${TRGT})
# Создание цели для проверки утилитой clang-tidy
add_clang_tidy_check(${TRGT} ${TRGT_sources})
add_clang_tidy_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой clang-analyze
add_clang_analyze_check(${TRGT} ${TRGT_sources})
add_clang_analyze_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой clazy
add_clazy_check(${TRGT} ${TRGT_sources})
add_clazy_check(${TRGT} ${TRGT_cpp} ${TRGT_headers})
# Создание цели для проверки утилитой pvs-studio
add_pvs_check(${TRGT})
# Создание цели для автоматического форматирования кода
add_format_sources(${TRGT} ${TRGT_sources} ${TRGT_headers})
add_format_sources(${TRGT} ${TRGT_cpp} ${TRGT_headers})
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Network_INCLUDE_DIRS})
target_include_directories(${TRGT} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src)
target_include_directories(${TRGT} PRIVATE ${CMAKE_BINARY_DIR}/include)
cotire(${TRGT})

View File

@ -9,6 +9,6 @@
// #define MYX_REDIS_EXPORT Q_DECL_IMPORT
// #endif
#include "config_flags.hpp"
#include <myx/base/config_flags.hpp>
#endif // MYX_REDIS_CONFIG_HPP_