Compare commits
	
		
			10 Commits
		
	
	
		
			f63c6b8302
			...
			576bafd70b
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 576bafd70b | |||
| 7a3023ab8b | |||
| a51ddf2a06 | |||
| 1c7863904d | |||
| 4d9fe62e79 | |||
| 614d720f40 | |||
| 78ecc0f7c0 | |||
| bea1da9c15 | |||
| 0cd0284aad | |||
| 22cee208d1 | 
 Submodule cmake/cmlib updated: 4768c5efc7...0b69005b7a
									
								
							 Submodule cmake/doc updated: 81fe90131c...acdfb6a9dd
									
								
							 Submodule cmake/generators updated: c015300d63...74d499b9cb
									
								
							@@ -27,20 +27,19 @@ add_pvs_check(${TRGT})
 | 
			
		||||
# Создание цели для автоматического форматирования кода
 | 
			
		||||
add_format_sources(${TRGT} ${TRGT_cpp})
 | 
			
		||||
 | 
			
		||||
add_dependencies(${TRGT} base)
 | 
			
		||||
add_dependencies(${TRGT} filesystem)
 | 
			
		||||
add_dependencies(${TRGT} base_static)
 | 
			
		||||
add_dependencies(${TRGT} filesystem_static)
 | 
			
		||||
 | 
			
		||||
target_include_directories(${TRGT} PRIVATE ${CMAKE_SOURCE_DIR}/src)
 | 
			
		||||
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
 | 
			
		||||
target_include_directories(${TRGT} 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(
 | 
			
		||||
  ${TRGT} PROPERTIES OUTPUT_NAME filesystem-minimal RUNTIME_OUTPUT_DIRECTORY
 | 
			
		||||
                                                              ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME filesystem-minimal
 | 
			
		||||
                                         RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
 | 
			
		||||
add_sanitizers(${TRGT})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,11 @@ 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)
 | 
			
		||||
qt5_translation(
 | 
			
		||||
  TRGT_qrc
 | 
			
		||||
  OUTPUT_DIR ${CMAKE_SOURCE_DIR}/l10n
 | 
			
		||||
  BASE_NAME ${TRGT}
 | 
			
		||||
  LANGUAGES ru_RU)
 | 
			
		||||
 | 
			
		||||
# Путь поиска библиотек внутри проекта
 | 
			
		||||
link_directories(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
 | 
			
		||||
@@ -29,20 +33,19 @@ add_pvs_check(${TRGT})
 | 
			
		||||
# Создание цели для автоматического форматирования кода
 | 
			
		||||
add_format_sources(${TRGT} ${TRGT_cpp})
 | 
			
		||||
 | 
			
		||||
add_dependencies(${TRGT} base)
 | 
			
		||||
add_dependencies(${TRGT} qt)
 | 
			
		||||
add_dependencies(${TRGT} base_static)
 | 
			
		||||
add_dependencies(${TRGT} qt_static)
 | 
			
		||||
 | 
			
		||||
# Qt5
 | 
			
		||||
target_include_directories(${TRGT} PRIVATE ${CMAKE_SOURCE_DIR}/src)
 | 
			
		||||
target_include_directories(${TRGT} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS})
 | 
			
		||||
target_include_directories(${TRGT} PUBLIC ${Qt5Core_INCLUDE_DIRS})
 | 
			
		||||
 | 
			
		||||
target_link_libraries(${TRGT} myx-qt)
 | 
			
		||||
target_link_libraries(${TRGT} Qt5::Core)
 | 
			
		||||
 | 
			
		||||
# Имя выходного файла для цели
 | 
			
		||||
set_target_properties(
 | 
			
		||||
  ${TRGT} PROPERTIES OUTPUT_NAME qt-translators RUNTIME_OUTPUT_DIRECTORY
 | 
			
		||||
                                                          ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME qt-translators
 | 
			
		||||
                                         RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
 | 
			
		||||
add_sanitizers(${TRGT})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -31,15 +31,14 @@ 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} PUBLIC ${Qt5Core_INCLUDE_DIRS})
 | 
			
		||||
 | 
			
		||||
cotire(${TRGT})
 | 
			
		||||
 | 
			
		||||
# Цель, используемая только для установки заголовочных файлов без компиляции проекта
 | 
			
		||||
add_custom_target(${TRGT}-install-headers COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=DEV -P
 | 
			
		||||
                                                  "${CMAKE_BINARY_DIR}/cmake_install.cmake")
 | 
			
		||||
 | 
			
		||||
set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME myx-base RUNTIME_OUTPUT_DIRECTORY
 | 
			
		||||
                                                              ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
 | 
			
		||||
# Правила для установки
 | 
			
		||||
install(TARGETS ${TRGT}_static COMPONENT DEV ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
 | 
			
		||||
if(BUILD_SHARED_LIBS)
 | 
			
		||||
 
 | 
			
		||||
@@ -33,17 +33,16 @@ 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} PUBLIC ${Qt5Core_INCLUDE_DIRS})
 | 
			
		||||
target_include_directories(${TRGT} PRIVATE ${CMAKE_SOURCE_DIR}/src)
 | 
			
		||||
target_include_directories(${TRGT} PRIVATE ${CMAKE_BINARY_DIR}/include)
 | 
			
		||||
 | 
			
		||||
cotire(${TRGT})
 | 
			
		||||
 | 
			
		||||
# Цель, используемая только для установки заголовочных файлов без компиляции проекта
 | 
			
		||||
add_custom_target(${TRGT}-install-headers COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=DEV -P
 | 
			
		||||
                                                  "${CMAKE_BINARY_DIR}/cmake_install.cmake")
 | 
			
		||||
 | 
			
		||||
set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME myx-filesystem
 | 
			
		||||
                                         RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
 | 
			
		||||
# Правила для установки
 | 
			
		||||
install(TARGETS ${TRGT}_static COMPONENT DEV ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
 | 
			
		||||
if(BUILD_SHARED_LIBS)
 | 
			
		||||
 
 | 
			
		||||
@@ -15,9 +15,34 @@ Paths::Paths() = default;
 | 
			
		||||
 | 
			
		||||
Paths::HierarchyType Paths::getHierarchyType()
 | 
			
		||||
{
 | 
			
		||||
	QRegExp binUnityRegexp( "/s*bin/unity$" );
 | 
			
		||||
	QRegExp binRegexp( "/s*bin$" );
 | 
			
		||||
	auto binaryDir = m_currentExecutable.m_canonicalFilePath.canonicalPath();
 | 
			
		||||
 | 
			
		||||
	if ( binUnityRegexp.indexIn( binaryDir ) >= 0 )
 | 
			
		||||
	{
 | 
			
		||||
		binaryDir.remove( binUnityRegexp );
 | 
			
		||||
 | 
			
		||||
		QFileInfo etcDirInfo { binaryDir + "/etc" };
 | 
			
		||||
		if ( !etcDirInfo.isDir() || !etcDirInfo.isReadable() ) { return( HierarchyType::kFlat ); }
 | 
			
		||||
 | 
			
		||||
		QFileInfo constDataDirInfo { binaryDir + "/files/data" };
 | 
			
		||||
		if ( !constDataDirInfo.isDir() || !constDataDirInfo.isReadable() ) { return( HierarchyType::kFlat ); }
 | 
			
		||||
 | 
			
		||||
		QFileInfo varDataDirInfo { binaryDir + "/files/lib" };
 | 
			
		||||
		if ( !varDataDirInfo.isDir() || !varDataDirInfo.isWritable() ) { return( HierarchyType::kFlat ); }
 | 
			
		||||
 | 
			
		||||
		QFileInfo logDirInfo { binaryDir + "/files/log" };
 | 
			
		||||
		if ( !logDirInfo.isDir() || !logDirInfo.isWritable() ) { return( HierarchyType::kFlat ); }
 | 
			
		||||
 | 
			
		||||
		m_systemConfigDirectory    = etcDirInfo.canonicalFilePath();
 | 
			
		||||
		m_systemConstDataDirectory = constDataDirInfo.canonicalFilePath();
 | 
			
		||||
		m_systemVarDataDirectory   = varDataDirInfo.canonicalFilePath();
 | 
			
		||||
		m_systemLogDirectory       = logDirInfo.canonicalFilePath();
 | 
			
		||||
 | 
			
		||||
		return ( HierarchyType::kDevelopment );
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if ( binRegexp.indexIn( binaryDir ) == -1 )
 | 
			
		||||
	{
 | 
			
		||||
		return ( HierarchyType::kFlat );
 | 
			
		||||
 
 | 
			
		||||
@@ -42,17 +42,16 @@ 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} PUBLIC ${Qt5Core_INCLUDE_DIRS})
 | 
			
		||||
target_include_directories(${TRGT} PRIVATE ${CMAKE_SOURCE_DIR}/src)
 | 
			
		||||
target_include_directories(${TRGT} PRIVATE ${CMAKE_BINARY_DIR}/include)
 | 
			
		||||
 | 
			
		||||
cotire(${TRGT})
 | 
			
		||||
 | 
			
		||||
# Цель, используемая только для установки заголовочных файлов без компиляции проекта
 | 
			
		||||
add_custom_target(${TRGT}-install-headers COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=DEV -P
 | 
			
		||||
                                                  "${CMAKE_BINARY_DIR}/cmake_install.cmake")
 | 
			
		||||
 | 
			
		||||
set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME myx-math RUNTIME_OUTPUT_DIRECTORY
 | 
			
		||||
                                                              ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
 | 
			
		||||
# Правила для установки
 | 
			
		||||
install(TARGETS ${TRGT}_static COMPONENT DEV ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
 | 
			
		||||
if(BUILD_SHARED_LIBS)
 | 
			
		||||
 
 | 
			
		||||
@@ -30,8 +30,10 @@ 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} PUBLIC ${Qt5Core_INCLUDE_DIRS})
 | 
			
		||||
target_include_directories(${TRGT} PRIVATE ${CMAKE_SOURCE_DIR}/src)
 | 
			
		||||
 | 
			
		||||
cotire(${TRGT})
 | 
			
		||||
 | 
			
		||||
# Цель, используемая только для установки заголовочных файлов без компиляции проекта
 | 
			
		||||
add_custom_target(${TRGT}-install-headers COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=DEV -P
 | 
			
		||||
 
 | 
			
		||||
@@ -4,8 +4,10 @@ set(TRGT redis)
 | 
			
		||||
# cmake-format: off
 | 
			
		||||
# Список файлов исходных текстов
 | 
			
		||||
set(TRGT_sources
 | 
			
		||||
    ${CMAKE_CURRENT_SOURCE_DIR}/client.cpp ${CMAKE_CURRENT_SOURCE_DIR}/config.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_SOURCE_DIR}/lexer.cpp ${CMAKE_CURRENT_SOURCE_DIR}/parser.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_SOURCE_DIR}/client.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_SOURCE_DIR}/config.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_SOURCE_DIR}/lexer.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_SOURCE_DIR}/parser.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_SOURCE_DIR}/request.cpp)
 | 
			
		||||
 | 
			
		||||
# Список заголовочных файлов (используется для установки)
 | 
			
		||||
@@ -36,18 +38,17 @@ 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 PUBLIC ${Qt5Network_INCLUDE_DIRS})
 | 
			
		||||
target_include_directories(${TRGT} SYSTEM PRIVATE ${CMAKE_SOURCE_DIR}/src)
 | 
			
		||||
target_include_directories(${TRGT} PUBLIC ${Qt5Core_INCLUDE_DIRS})
 | 
			
		||||
target_include_directories(${TRGT} PUBLIC ${Qt5Network_INCLUDE_DIRS})
 | 
			
		||||
target_include_directories(${TRGT} PRIVATE ${CMAKE_SOURCE_DIR}/src)
 | 
			
		||||
target_include_directories(${TRGT} PRIVATE ${CMAKE_BINARY_DIR}/include)
 | 
			
		||||
 | 
			
		||||
cotire(${TRGT})
 | 
			
		||||
 | 
			
		||||
# Цель, используемая только для установки заголовочных файлов без компиляции проекта
 | 
			
		||||
add_custom_target(${TRGT}-install-headers COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_COMPONENT=DEV -P
 | 
			
		||||
                                                  "${CMAKE_BINARY_DIR}/cmake_install.cmake")
 | 
			
		||||
 | 
			
		||||
set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME qxredis RUNTIME_OUTPUT_DIRECTORY
 | 
			
		||||
                                                             ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
 | 
			
		||||
# Правила для установки
 | 
			
		||||
install(TARGETS ${TRGT}_static COMPONENT DEV ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
 | 
			
		||||
if(BUILD_SHARED_LIBS)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user