2.0.9
This commit is contained in:
parent
fe4129114c
commit
54f8cfc1cc
@ -1,4 +1,4 @@
|
||||
set(MYXX_CMAKE_PACKAGE_VERSION "2.0.8")
|
||||
set(MYXX_CMAKE_PACKAGE_VERSION "2.0.9")
|
||||
if(MYXX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
|
@ -13,14 +13,16 @@ endif()
|
||||
find_program(CLANG_CHECK_EXE NAMES ${CLANG_CHECK_NAMES})
|
||||
unset(CLANG_CHECK_NAMES)
|
||||
|
||||
function(myxx_analyze_clang_check target)
|
||||
function(myxx_analyze_clang_check TARGET_NAME)
|
||||
myx_skip_external_target(${TARGET_NAME})
|
||||
|
||||
if(NOT CLANG_CHECK_EXE)
|
||||
message(STATUS "MyxCMake: Clang Check analyzer is not found")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(TARGET ${target}-analyze-clang-check)
|
||||
message(STATUS "MyxxCMake: target ${target}-analyze-clang-check already exists")
|
||||
if(TARGET ${TARGET_NAME}-analyze-clang-check)
|
||||
message(STATUS "MyxxCMake: target ${TARGET_NAME}-analyze-clang-check already exists")
|
||||
return()
|
||||
endif()
|
||||
|
||||
@ -29,24 +31,24 @@ function(myxx_analyze_clang_check target)
|
||||
set(multiValueArgs EXTRA_ARGS)
|
||||
cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
set(args --analyze --extra-arg=-Wno-unknown-warning-option ${EXTRA_ARGS})
|
||||
get_target_property(sources ${target} SOURCES)
|
||||
foreach(iter ${sources})
|
||||
set(__cmd_args --analyze --extra-arg=-Wno-unknown-warning-option ${EXTRA_ARGS})
|
||||
get_target_property(__sources ${TARGET_NAME} SOURCES)
|
||||
foreach(iter ${__sources})
|
||||
string(FIND ${iter} ${CMAKE_BINARY_DIR} pos)
|
||||
if(pos EQUAL -1)
|
||||
list(APPEND srcs ${iter})
|
||||
list(APPEND __filtered_sources ${iter})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(ARG_FIX)
|
||||
list(APPEND args "--fixit")
|
||||
list(APPEND __cmd_args "--fixit")
|
||||
endif()
|
||||
if(NOT TARGET myxx-analyze-clang-check)
|
||||
add_custom_target(myxx-analyze-clang-check)
|
||||
endif()
|
||||
add_custom_target(${target}-analyze-clang-check
|
||||
add_custom_target(${TARGET_NAME}-analyze-clang-check
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMAND ${CLANG_CHECK_EXE} ${args} -p ${CMAKE_BINARY_DIR} ${srcs})
|
||||
add_dependencies(${target}-analyze-clang-check ${target})
|
||||
add_dependencies(myxx-analyze-clang-check ${target}-analyze-clang-check)
|
||||
COMMAND ${CLANG_CHECK_EXE} ${__cmd_args} -p ${CMAKE_BINARY_DIR} ${__filtered_sources})
|
||||
add_dependencies(${TARGET_NAME}-analyze-clang-check ${TARGET_NAME})
|
||||
add_dependencies(myxx-analyze-clang-check ${TARGET_NAME}-analyze-clang-check)
|
||||
endfunction()
|
||||
|
@ -13,14 +13,16 @@ endif()
|
||||
find_program(CLANG_TIDY_EXE NAMES ${CLANG_TIDY_NAMES})
|
||||
unset(CLANG_TIDY_NAMES)
|
||||
|
||||
function(myxx_analyze_clang_tidy target)
|
||||
function(myxx_analyze_clang_tidy TARGET_NAME)
|
||||
myx_skip_external_target(${TARGET_NAME})
|
||||
|
||||
if(NOT CLANG_TIDY_EXE)
|
||||
message(STATUS "MyxxCMake: Clang Tidy analyzer is not found")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(TARGET ${target}-analyze-clang-tidy)
|
||||
message(STATUS "MyxxCMake: target ${target}-analyze-clang-tidy already exists")
|
||||
if(TARGET ${TARGET_NAME}-analyze-clang-tidy)
|
||||
message(STATUS "MyxxCMake: target ${TARGET_NAME}-analyze-clang-tidy already exists")
|
||||
return()
|
||||
endif()
|
||||
|
||||
@ -29,24 +31,24 @@ function(myxx_analyze_clang_tidy target)
|
||||
set(multiValueArgs EXTRA_ARGS)
|
||||
cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
set(args -extra-arg="-Wno-unknown-warning-option ${ARG_EXTRA_ARGS}")
|
||||
get_target_property(sources ${target} SOURCES)
|
||||
foreach(iter ${sources})
|
||||
set(__cmd_args -extra-arg="-Wno-unknown-warning-option ${ARG_EXTRA_ARGS}")
|
||||
get_target_property(__sources ${TARGET_NAME} SOURCES)
|
||||
foreach(iter ${__sources})
|
||||
string(FIND ${iter} ${CMAKE_BINARY_DIR} pos)
|
||||
if(pos EQUAL -1)
|
||||
list(APPEND srcs ${iter})
|
||||
list(APPEND __filtered_sources ${iter})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(ARG_FIX)
|
||||
list(APPEND args "-fix-errors")
|
||||
list(APPEND __cmd_args "-fix-errors")
|
||||
endif()
|
||||
if(NOT TARGET myxx-analyze-clang-tidy)
|
||||
add_custom_target(myxx-analyze-clang-tidy)
|
||||
endif()
|
||||
add_custom_target(${target}-analyze-clang-tidy
|
||||
add_custom_target(${TARGET_NAME}-analyze-clang-tidy
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMAND ${CLANG_TIDY_EXE} ${args} -p ${CMAKE_BINARY_DIR} ${srcs})
|
||||
add_dependencies(${target}-analyze-clang-tidy ${target})
|
||||
add_dependencies(myxx-analyze-clang-tidy ${target}-analyze-clang-tidy)
|
||||
COMMAND ${CLANG_TIDY_EXE} ${__cmd_args} -p ${CMAKE_BINARY_DIR} ${__filtered_sources})
|
||||
add_dependencies(${TARGET_NAME}-analyze-clang-tidy ${TARGET_NAME})
|
||||
add_dependencies(myxx-analyze-clang-tidy ${TARGET_NAME}-analyze-clang-tidy)
|
||||
endfunction()
|
||||
|
@ -6,14 +6,16 @@ if(CLAZY_EXE AND CLANG_APPLY_REPLACEMENTS_EXE)
|
||||
option(MYXX_CMAKE_CLAZY_FIX "MyxCMake: perform fixes for Clazy" OFF)
|
||||
endif()
|
||||
|
||||
function(myxx_analyze_clazy target)
|
||||
function(myxx_analyze_clazy TARGET_NAME)
|
||||
myx_skip_external_target(${TARGET_NAME})
|
||||
|
||||
if(NOT CLAZY_EXE)
|
||||
message(STATUS "MyxCMake: Clazy standalone analyzer is not found")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(TARGET ${target}-analyze-clazy)
|
||||
message(STATUS "MyxxCMake: target ${target}-analyze-clazy already exists")
|
||||
if(TARGET ${TARGET_NAME}-analyze-clazy)
|
||||
message(STATUS "MyxxCMake: target ${TARGET_NAME}-analyze-clazy already exists")
|
||||
return()
|
||||
endif()
|
||||
|
||||
@ -30,14 +32,14 @@ function(myxx_analyze_clazy target)
|
||||
thread-with-slots,tr-non-literal,unneeded-cast,use-chrono-in-qtimer")
|
||||
endif()
|
||||
|
||||
set(args -checks=${ARG_CHECKS}
|
||||
-extra-arg=-Wno-unknown-warning-option
|
||||
-export-fixes=clazy-fixes-file.yaml)
|
||||
get_target_property(sources ${target} SOURCES)
|
||||
foreach(iter ${sources})
|
||||
set(__cmd_args -checks=${ARG_CHECKS}
|
||||
-extra-arg=-Wno-unknown-warning-option
|
||||
-export-fixes=clazy-fixes-file.yaml)
|
||||
get_target_property(__sources ${TARGET_NAME} SOURCES)
|
||||
foreach(iter ${__sources})
|
||||
string(FIND ${iter} ${CMAKE_BINARY_DIR} pos)
|
||||
if(pos EQUAL -1)
|
||||
list(APPEND srcs ${iter})
|
||||
list(APPEND __filtered_sources ${iter})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
@ -46,15 +48,15 @@ function(myxx_analyze_clazy target)
|
||||
endif()
|
||||
|
||||
if(ARG_FIX)
|
||||
add_custom_target(${target}-analyze-clazy
|
||||
add_custom_target(${TARGET_NAME}-analyze-clazy
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMAND ${CLAZY_EXE} ${args} -p ${CMAKE_BINARY_DIR} ${srcs}
|
||||
COMMAND ${CLAZY_EXE} ${__cmd_args} -p ${CMAKE_BINARY_DIR} ${__filtered_sources}
|
||||
COMMAND ${CLANG_APPLY_REPLACEMENTS_EXE} ${CMAKE_BINARY_DIR})
|
||||
else()
|
||||
add_custom_target(${target}-analyze-clazy
|
||||
add_custom_target(${TARGET_NAME}-analyze-clazy
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMAND ${CLAZY_EXE} ${args} -p ${CMAKE_BINARY_DIR} ${srcs})
|
||||
COMMAND ${CLAZY_EXE} ${__cmd_args} -p ${CMAKE_BINARY_DIR} ${__filtered_sources})
|
||||
endif()
|
||||
add_dependencies(${target}-analyze-clazy ${target})
|
||||
add_dependencies(myxx-analyze-clazy ${target}-analyze-clazy)
|
||||
add_dependencies(${TARGET_NAME}-analyze-clazy ${TARGET_NAME})
|
||||
add_dependencies(myxx-analyze-clazy ${TARGET_NAME}-analyze-clazy)
|
||||
endfunction()
|
||||
|
@ -5,10 +5,13 @@ if(${CMAKE_VERSION} VERSION_LESS "3.17.0")
|
||||
set(MYXX_CMAKE_LIB_PVS_DIR_BACKPORT ${CMAKE_CURRENT_LIST_DIR})
|
||||
endif()
|
||||
|
||||
function(myxx_analyze_pvs_studio target)
|
||||
function(myxx_analyze_pvs_studio TARGET_NAME)
|
||||
if(${CMAKE_VERSION} VERSION_LESS "3.17.0")
|
||||
set(CMAKE_CURRENT_FUNCTION_LIST_DIR ${MYXX_CMAKE_LIB_PVS_DIR_BACKPORT})
|
||||
endif()
|
||||
|
||||
myx_skip_external_target(${TARGET_NAME})
|
||||
|
||||
if(NOT PVS_STUDIO_ANALYZER_EXE)
|
||||
message(STATUS "MyxxCMake: pvs-studio-analyzer not found.")
|
||||
return()
|
||||
@ -34,7 +37,7 @@ function(myxx_analyze_pvs_studio target)
|
||||
set(ARG_MODE "GA:1,2,3;64:1,2;OP:1,2,3;CS:1,2;OWASP:1,2")
|
||||
endif()
|
||||
|
||||
get_target_property(sources ${target} SOURCES)
|
||||
get_target_property(sources ${TARGET_NAME} SOURCES)
|
||||
foreach(iter ${sources})
|
||||
string(FIND ${iter} ${CMAKE_BINARY_DIR} pos)
|
||||
if(pos EQUAL -1)
|
||||
@ -42,8 +45,8 @@ function(myxx_analyze_pvs_studio target)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
pvs_studio_add_target(TARGET ${target}-analyze-pvs-studio
|
||||
ANALYZE ${target}
|
||||
pvs_studio_add_target(TARGET ${TARGET_NAME}-analyze-pvs-studio
|
||||
ANALYZE ${TARGET_NAME}
|
||||
COMPILE_COMMANDS
|
||||
HIDE_HELP
|
||||
OUTPUT
|
||||
@ -51,18 +54,18 @@ function(myxx_analyze_pvs_studio target)
|
||||
ARGS --exclude-path ${CMAKE_CURRENT_BINARY_DIR} ${ARG_ARGS}
|
||||
MODE ${ARG_MODE})
|
||||
|
||||
get_target_property(target_type ${target} TYPE)
|
||||
if(${target_type} STREQUAL INTERFACE_LIBRARY)
|
||||
set(target_type INTERFACE)
|
||||
get_target_property(__target_type ${TARGET_NAME} TYPE)
|
||||
if(${__target_type} STREQUAL INTERFACE_LIBRARY)
|
||||
set(__target_type INTERFACE)
|
||||
else()
|
||||
set(target_type PRIVATE)
|
||||
set(__target_type PRIVATE)
|
||||
endif()
|
||||
if(MSVC)
|
||||
target_compile_options(${target} BEFORE ${target_type} /FI ${ARG_HEADER})
|
||||
target_compile_options(${TARGET_NAME} BEFORE ${__target_type} /FI ${ARG_HEADER})
|
||||
else() # GCC/Clang
|
||||
target_compile_options(${target} BEFORE ${target_type} -include ${ARG_HEADER})
|
||||
target_compile_options(${TARGET_NAME} BEFORE ${__target_type} -include ${ARG_HEADER})
|
||||
endif()
|
||||
|
||||
add_dependencies(${target}-analyze-pvs-studio ${target})
|
||||
add_dependencies(myxx-analyze-pvs-studio ${target}-analyze-pvs-studio)
|
||||
add_dependencies(${TARGET_NAME}-analyze-pvs-studio ${TARGET_NAME})
|
||||
add_dependencies(myxx-analyze-pvs-studio ${TARGET_NAME}-analyze-pvs-studio)
|
||||
endfunction()
|
||||
|
@ -5,10 +5,11 @@ if(MYXX_CODE_COVERAGE)
|
||||
find_program(GENHTML_EXE NAMES genhtml)
|
||||
endif()
|
||||
|
||||
function(myxx_code_coverage target)
|
||||
function(myxx_code_coverage TARGET_NAME)
|
||||
if(NOT MYXX_CODE_COVERAGE)
|
||||
return()
|
||||
endif()
|
||||
myx_skip_external_target(${TARGET_NAME})
|
||||
|
||||
set(options)
|
||||
set(oneValueArgs)
|
||||
@ -16,33 +17,33 @@ function(myxx_code_coverage target)
|
||||
cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set_property(TARGET ${target} APPEND PROPERTY
|
||||
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY
|
||||
COMPILE_OPTIONS --coverage)
|
||||
set_property(TARGET ${target} APPEND PROPERTY LINK_FLAGS --coverage)
|
||||
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY LINK_FLAGS --coverage)
|
||||
endif()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
set_property(TARGET ${target} APPEND PROPERTY
|
||||
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY
|
||||
COMPILE_OPTIONS -fprofile-instr-generate -fcoverage-mapping)
|
||||
set_property(TARGET ${target} APPEND PROPERTY LINK_FLAGS --coverage)
|
||||
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY LINK_FLAGS --coverage)
|
||||
endif()
|
||||
|
||||
if(LCOV_EXE)
|
||||
add_custom_target(${target}-coverage
|
||||
add_custom_target(${TARGET_NAME}-coverage
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMAND ${LCOV_EXE} --test-name ${target} --output "${target}.lcov"
|
||||
COMMAND ${LCOV_EXE} --test-name ${TARGET_NAME} --output "${TARGET_NAME}.lcov"
|
||||
--capture
|
||||
--no-external
|
||||
--base-directory ${CMAKE_SOURCE_DIR}
|
||||
--directory ${CMAKE_BINARY_DIR}
|
||||
--exclude "/usr/\\\*"
|
||||
--exclude "${CMAKE_BINARY_DIR}/\\\*")
|
||||
add_dependencies(${target}-coverage ${target})
|
||||
add_dependencies(${TARGET_NAME}-coverage ${TARGET_NAME})
|
||||
|
||||
if(GENHTML_EXE)
|
||||
add_custom_target(${target}-coverage-report
|
||||
add_custom_target(${TARGET_NAME}-coverage-report
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMAND ${GENHTML_EXE} --output-directory "${target}-coverage-html" "${target}.lcov")
|
||||
add_dependencies(${target}-coverage-report ${target}-coverage)
|
||||
COMMAND ${GENHTML_EXE} --output-directory "${TARGET_NAME}-coverage-html" "${TARGET_NAME}.lcov")
|
||||
add_dependencies(${TARGET_NAME}-coverage-report ${TARGET_NAME}-coverage)
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
## Установка
|
||||
|
||||
Скачать [пакет](../../../releases/download/2.0.8/myxx-cmake_2.0.8_all.deb)
|
||||
для Debian и установить его, выполнив команду `sudo dpkg -i myxx-cmake_2.0.8_all.deb`,
|
||||
или [архив](../../../releases/download/2.0.8/myxx-cmake-local-2.0.8.tar.xz)
|
||||
Скачать [пакет](../../../releases/download/2.0.9/myxx-cmake_2.0.9_all.deb)
|
||||
для Debian и установить его, выполнив команду `sudo dpkg -i myxx-cmake_2.0.9_all.deb`,
|
||||
или [архив](../../../releases/download/2.0.9/myxx-cmake-local-2.0.9.tar.xz)
|
||||
и распаковать его в каталог `$HOME/.local/share/cmake`.
|
||||
|
||||
## Использование
|
||||
|
2
debian/CMakeLists.txt
vendored
2
debian/CMakeLists.txt
vendored
@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
|
||||
project(myxx-cmake VERSION 2.0.8 LANGUAGES)
|
||||
project(myxx-cmake VERSION 2.0.9 LANGUAGES)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
file(WRITE ${CMAKE_SOURCE_DIR}/MyxxCMake/MyxxCMakeConfigVersion.cmake
|
||||
|
2
debian/changelog
vendored
2
debian/changelog
vendored
@ -1,4 +1,4 @@
|
||||
myxx-cmake (2.0.8) unstable; urgency=medium
|
||||
myxx-cmake (2.0.9) unstable; urgency=medium
|
||||
|
||||
* New version.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user