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
|
||||
# ----------------------------------
|
||||
@ -5,15 +7,21 @@ with section("parse"):
|
||||
|
||||
# Specify structure for custom cmake functions
|
||||
additional_commands = {
|
||||
'add_doxygen': { 'flags' : [],
|
||||
'kwargs': { 'LATEX': 1,
|
||||
'HTML': 1,
|
||||
'COMMENT': 1}},
|
||||
'add_breathe': { 'flags' : [],
|
||||
'kwargs': { 'COMMENT': 1}},
|
||||
'add_common_library': { 'flags' : [],
|
||||
'kwargs': { 'OUTPUT_NAME': '*',
|
||||
'kwargs': { 'OUTPUT_NAME': 1,
|
||||
'SOURCES': '*',
|
||||
'TARGET': '1'}},
|
||||
'TARGET': 1}},
|
||||
'qt5_translation': { 'flags' : [],
|
||||
'kwargs': { 'TS_DIR': '1',
|
||||
'kwargs': { 'OUTPUT_DIR': 1,
|
||||
'LANGUAGES': '*',
|
||||
'SOURCES': '*',
|
||||
'TARGET': '1'}},
|
||||
'BASE_NAME': 1}},
|
||||
'pvs_studio_add_target': { 'flags' : [ 'COMPILE_COMMANDS',
|
||||
'OUTPUT',
|
||||
'HIDE_HELP'],
|
||||
@ -22,7 +30,7 @@ with section("parse"):
|
||||
'DEPENDS': '*',
|
||||
'FORMAT': '*',
|
||||
'MODE': '*',
|
||||
'TARGET': '*'}},
|
||||
'TARGET': 1}},
|
||||
'write_compiler_detection_header': { 'flags' : [],
|
||||
'kwargs': { 'COMPILERS': '*',
|
||||
'FEATURES': '*',
|
||||
@ -48,11 +56,11 @@ with section("format"):
|
||||
|
||||
# If an argument group contains more than this many sub-groups (parg or kwarg
|
||||
# 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
|
||||
# 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
|
||||
# nesting, then invalidate the layout (and nest)
|
||||
|
@ -24,37 +24,34 @@ endif()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL Profile)
|
||||
# Ключи компиляции для режима профилирования в зависимости от типа компилятора
|
||||
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_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE} -ggdb -pg" CACHE STRING "")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS_PROFILE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} -pg" CACHE STRING "")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_PROFILE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} -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 -fno-omit-frame-pointer" CACHE STRING "" FORCE)
|
||||
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 "" FORCE)
|
||||
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 "" FORCE)
|
||||
elseif(CMAKE_CXX_COMPILER_IS_Intel)
|
||||
message("Set options for profiling with Intel C++")
|
||||
elseif(CMAKE_CXX_COMPILER_IS_MSVC)
|
||||
message("Set options for profiling with Visual Studio C++")
|
||||
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)
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
# В режиме отладки подробный вывод сообщений компилятора
|
||||
if(CMAKE_CXX_COMPILER_IS_Clang OR CMAKE_CXX_COMPILER_IS_GCC)
|
||||
string(APPEND CMAKE_C_FLAGS_DEBUG " -ggdb")
|
||||
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -ggdb")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -fno-omit-frame-pointer" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb -fno-omit-frame-pointer" CACHE STRING "" FORCE)
|
||||
endif()
|
||||
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(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(DEBUG 1)
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL Release)
|
||||
set(RELEASE 1)
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL 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(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()
|
||||
|
@ -4,6 +4,6 @@
|
||||
# Таким образом можно выполнять команду make, даже если правила
|
||||
# сборки проекта сгенерированы для 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")
|
||||
endif()
|
||||
|
Reference in New Issue
Block a user