Compare commits
4 Commits
3c0fd214b9
...
0b69005b7a
Author | SHA1 | Date | |
---|---|---|---|
0b69005b7a | |||
cebdb82bfa | |||
b5ed0303a1 | |||
3e8511da71 |
@ -1,3 +1,5 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
# ----------------------------------
|
# ----------------------------------
|
||||||
# Options affecting listfile parsing
|
# Options affecting listfile parsing
|
||||||
# ----------------------------------
|
# ----------------------------------
|
||||||
@ -5,15 +7,21 @@ with section("parse"):
|
|||||||
|
|
||||||
# Specify structure for custom cmake functions
|
# Specify structure for custom cmake functions
|
||||||
additional_commands = {
|
additional_commands = {
|
||||||
|
'add_doxygen': { 'flags' : [],
|
||||||
|
'kwargs': { 'LATEX': 1,
|
||||||
|
'HTML': 1,
|
||||||
|
'COMMENT': 1}},
|
||||||
|
'add_breathe': { 'flags' : [],
|
||||||
|
'kwargs': { 'COMMENT': 1}},
|
||||||
'add_common_library': { 'flags' : [],
|
'add_common_library': { 'flags' : [],
|
||||||
'kwargs': { 'OUTPUT_NAME': '*',
|
'kwargs': { 'OUTPUT_NAME': 1,
|
||||||
'SOURCES': '*',
|
'SOURCES': '*',
|
||||||
'TARGET': '1'}},
|
'TARGET': 1}},
|
||||||
'qt5_translation': { 'flags' : [],
|
'qt5_translation': { 'flags' : [],
|
||||||
'kwargs': { 'TS_DIR': '1',
|
'kwargs': { 'OUTPUT_DIR': 1,
|
||||||
'LANGUAGES': '*',
|
'LANGUAGES': '*',
|
||||||
'SOURCES': '*',
|
'SOURCES': '*',
|
||||||
'TARGET': '1'}},
|
'BASE_NAME': 1}},
|
||||||
'pvs_studio_add_target': { 'flags' : [ 'COMPILE_COMMANDS',
|
'pvs_studio_add_target': { 'flags' : [ 'COMPILE_COMMANDS',
|
||||||
'OUTPUT',
|
'OUTPUT',
|
||||||
'HIDE_HELP'],
|
'HIDE_HELP'],
|
||||||
@ -22,7 +30,7 @@ with section("parse"):
|
|||||||
'DEPENDS': '*',
|
'DEPENDS': '*',
|
||||||
'FORMAT': '*',
|
'FORMAT': '*',
|
||||||
'MODE': '*',
|
'MODE': '*',
|
||||||
'TARGET': '*'}},
|
'TARGET': 1}},
|
||||||
'write_compiler_detection_header': { 'flags' : [],
|
'write_compiler_detection_header': { 'flags' : [],
|
||||||
'kwargs': { 'COMPILERS': '*',
|
'kwargs': { 'COMPILERS': '*',
|
||||||
'FEATURES': '*',
|
'FEATURES': '*',
|
||||||
@ -48,11 +56,11 @@ with section("format"):
|
|||||||
|
|
||||||
# If an argument group contains more than this many sub-groups (parg or kwarg
|
# If an argument group contains more than this many sub-groups (parg or kwarg
|
||||||
# groups) then force it to a vertical layout.
|
# groups) then force it to a vertical layout.
|
||||||
max_subgroups_hwrap = 2
|
max_subgroups_hwrap = 3
|
||||||
|
|
||||||
# If a positional argument group contains more than this many arguments, then
|
# If a positional argument group contains more than this many arguments, then
|
||||||
# force it to a vertical layout.
|
# force it to a vertical layout.
|
||||||
max_pargs_hwrap = 6
|
max_pargs_hwrap = 5
|
||||||
|
|
||||||
# If a cmdline positional group consumes more than this many lines without
|
# If a cmdline positional group consumes more than this many lines without
|
||||||
# nesting, then invalidate the layout (and nest)
|
# nesting, then invalidate the layout (and nest)
|
||||||
|
@ -24,37 +24,34 @@ endif()
|
|||||||
if(CMAKE_BUILD_TYPE STREQUAL Profile)
|
if(CMAKE_BUILD_TYPE STREQUAL Profile)
|
||||||
# Ключи компиляции для режима профилирования в зависимости от типа компилятора
|
# Ключи компиляции для режима профилирования в зависимости от типа компилятора
|
||||||
if(CMAKE_CXX_COMPILER_IS_Clang OR CMAKE_CXX_COMPILER_IS_GCC)
|
if(CMAKE_CXX_COMPILER_IS_Clang OR CMAKE_CXX_COMPILER_IS_GCC)
|
||||||
set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE} -ggdb -pg" CACHE STRING "")
|
set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE} -ggdb -pg -fno-omit-frame-pointer" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE} -ggdb -pg" CACHE STRING "")
|
set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE} -ggdb -pg -fno-omit-frame-pointer" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "")
|
set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "")
|
set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_STATIC_LINKER_FLAGS_PROFILE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "")
|
set(CMAKE_STATIC_LINKER_FLAGS_PROFILE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_MODULE_LINKER_FLAGS_PROFILE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "")
|
set(CMAKE_MODULE_LINKER_FLAGS_PROFILE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "" FORCE)
|
||||||
elseif(CMAKE_CXX_COMPILER_IS_Intel)
|
elseif(CMAKE_CXX_COMPILER_IS_Intel)
|
||||||
message("Set options for profiling with Intel C++")
|
message("Set options for profiling with Intel C++")
|
||||||
elseif(CMAKE_CXX_COMPILER_IS_MSVC)
|
elseif(CMAKE_CXX_COMPILER_IS_MSVC)
|
||||||
message("Set options for profiling with Visual Studio C++")
|
message("Set options for profiling with Visual Studio C++")
|
||||||
endif()
|
endif()
|
||||||
|
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "Enable generation of verbose build scripts." FORCE)
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "Enable generation of compile_commands.json." FORCE)
|
||||||
set(PROFILE 1)
|
set(PROFILE 1)
|
||||||
elseif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
elseif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
# В режиме отладки подробный вывод сообщений компилятора
|
# В режиме отладки подробный вывод сообщений компилятора
|
||||||
if(CMAKE_CXX_COMPILER_IS_Clang OR CMAKE_CXX_COMPILER_IS_GCC)
|
if(CMAKE_CXX_COMPILER_IS_Clang OR CMAKE_CXX_COMPILER_IS_GCC)
|
||||||
string(APPEND CMAKE_C_FLAGS_DEBUG " -ggdb")
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -fno-omit-frame-pointer" CACHE STRING "" FORCE)
|
||||||
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -ggdb")
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb -fno-omit-frame-pointer" CACHE STRING "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "Enable verbose build file generation." FORCE)
|
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "Enable generation of verbose build scripts." FORCE)
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "Enable output of compile commands during generation."
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "Enable generation of compile_commands.json." FORCE)
|
||||||
FORCE)
|
|
||||||
set(DEBUG 1)
|
set(DEBUG 1)
|
||||||
elseif(CMAKE_BUILD_TYPE STREQUAL Release)
|
elseif(CMAKE_BUILD_TYPE STREQUAL Release)
|
||||||
set(RELEASE 1)
|
set(RELEASE 1)
|
||||||
elseif(CMAKE_BUILD_TYPE STREQUAL None)
|
elseif(CMAKE_BUILD_TYPE STREQUAL None)
|
||||||
# Режим None используется для статического анализа кода
|
# Режим None используется для статического анализа кода
|
||||||
|
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "Enable generation of verbose build scripts." FORCE)
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "Enable generation of compile_commands.json." FORCE)
|
||||||
set(ANALYSIS 1)
|
set(ANALYSIS 1)
|
||||||
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "Enable verbose build file generation." FORCE)
|
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "Enable output of compile commands during generation."
|
|
||||||
FORCE)
|
|
||||||
# set(USE_CLANG_TIDY ON CACHE BOOL "Use clang-tidy")
|
|
||||||
# set(USE_CPPCHECK ON CACHE BOOL "Use cppcheck")
|
|
||||||
set(USE_PVS_STUDIO ON CACHE BOOL "Use PVS-Studio")
|
|
||||||
endif()
|
endif()
|
||||||
|
@ -4,6 +4,6 @@
|
|||||||
# Таким образом можно выполнять команду make, даже если правила
|
# Таким образом можно выполнять команду make, даже если правила
|
||||||
# сборки проекта сгенерированы для ninja.
|
# сборки проекта сгенерированы для ninja.
|
||||||
|
|
||||||
if("${CMAKE_GENERATOR}" MATCHES ".*Ninja$")
|
if("${CMAKE_GENERATOR}" MATCHES "Ninja")
|
||||||
file(WRITE ${CMAKE_BINARY_DIR}/Makefile ".PHONY: build\n%:\n\t@ninja \$@\nbuild:\n\t@ninja\n")
|
file(WRITE ${CMAKE_BINARY_DIR}/Makefile ".PHONY: build\n%:\n\t@ninja \$@\nbuild:\n\t@ninja\n")
|
||||||
endif()
|
endif()
|
||||||
|
Reference in New Issue
Block a user