Compare commits
	
		
			6 Commits
		
	
	
		
			2.4.32
			...
			75cde136ba
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 75cde136ba | |||
| 2132fbf6b9 | |||
| c054ac8e78 | |||
| e735546b2d | |||
| 3b9e0373b5 | |||
| 358a03401b | 
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							@@ -13,6 +13,7 @@ v:
 | 
			
		||||
	sed -i "s/VERSION \".*\"/VERSION \"$V\"/" $(TOP_DIR)/MyxxCMake/MyxxCMakeConfigVersion.cmake
 | 
			
		||||
	sed -i "s/VERSION .* LANG/VERSION $V LANG/" $(TOP_DIR)/debian/CMakeLists.txt
 | 
			
		||||
	sed -i "s/(.*)/($(V))/" $(TOP_DIR)/debian/changelog
 | 
			
		||||
	git commit -a -m "$(V)"
 | 
			
		||||
 | 
			
		||||
deb:
 | 
			
		||||
	rm -rf $(DEB_DIR)
 | 
			
		||||
@@ -27,8 +28,9 @@ pack:
 | 
			
		||||
	tar acf $(BUILD_DIR)/myxx-cmake-local-$(V).tar.xz MyxxCMake
 | 
			
		||||
 | 
			
		||||
upload:
 | 
			
		||||
#	git tag -d $(V)
 | 
			
		||||
	git tag $(V)
 | 
			
		||||
	tea r c --repo cmake/myxx -t $(V) --tag $(V) \
 | 
			
		||||
	gitea-tea r c --repo cmake/myxx -t $(V) --tag $(V) \
 | 
			
		||||
		-a $(BUILD_DIR)/myxx-cmake_$(V).dsc \
 | 
			
		||||
		-a $(BUILD_DIR)/myxx-cmake_$(V).tar.xz \
 | 
			
		||||
		-a $(BUILD_DIR)/myxx-cmake_$(V)_all.deb \
 | 
			
		||||
 
 | 
			
		||||
@@ -48,22 +48,40 @@ function(myxx)
 | 
			
		||||
    get_target_property(__target_type ${__iter} TYPE)
 | 
			
		||||
 | 
			
		||||
    if((NOT ${__target_type} STREQUAL "UTILITY") AND
 | 
			
		||||
       (NOT ${__target_type} STREQUAL "INTERFACE_LIBRARY") AND
 | 
			
		||||
       (NOT ${__iter} MATCHES ".*_shared$" ) AND
 | 
			
		||||
       (NOT ${__iter} MATCHES ".*_static$" )
 | 
			
		||||
    )
 | 
			
		||||
      myxx_code_coverage(${__iter})
 | 
			
		||||
      myxx_analyze_pvs_studio(${__iter})
 | 
			
		||||
      if(MYXX_CMAKE_CLANG_TIDY_FIX)
 | 
			
		||||
        myxx_analyze_clang_tidy(${__iter} FIX)
 | 
			
		||||
      else()
 | 
			
		||||
        myxx_analyze_clang_tidy(${__iter})
 | 
			
		||||
      endif()
 | 
			
		||||
 | 
			
		||||
      if(MYXX_CMAKE_CLANG_TIDY_NAMING_FIX)
 | 
			
		||||
        myxx_analyze_clang_tidy_naming(${__iter} FIX)
 | 
			
		||||
      else()
 | 
			
		||||
        myxx_analyze_clang_tidy_naming(${__iter})
 | 
			
		||||
      endif()
 | 
			
		||||
 | 
			
		||||
      if(MYXX_CMAKE_CLANG_CHECK_FIX)
 | 
			
		||||
        myxx_analyze_clang_check(${__iter} FIX)
 | 
			
		||||
      else()
 | 
			
		||||
        myxx_analyze_clang_check(${__iter})
 | 
			
		||||
      endif()
 | 
			
		||||
 | 
			
		||||
      if(MYXX_CMAKE_CLAZY_FIX)
 | 
			
		||||
        myxx_analyze_clazy(${__iter} FIX)
 | 
			
		||||
      else()
 | 
			
		||||
        myxx_analyze_clazy(${__iter})
 | 
			
		||||
      endif()
 | 
			
		||||
      myxx_analyze_pvs_studio(${__iter})
 | 
			
		||||
 | 
			
		||||
      if(NOT ${__target_type} STREQUAL "INTERFACE_LIBRARY")
 | 
			
		||||
        myxx_code_coverage(${__iter})
 | 
			
		||||
        myxx_add_sanitizers(${__iter})
 | 
			
		||||
      endif()
 | 
			
		||||
    endif()
 | 
			
		||||
 | 
			
		||||
  endforeach()
 | 
			
		||||
endfunction(myxx)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
set(MYXX_CMAKE_PACKAGE_VERSION "2.1.92")
 | 
			
		||||
set(MYXX_CMAKE_PACKAGE_VERSION "2.4.34")
 | 
			
		||||
if(MYXX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
 | 
			
		||||
  set(PACKAGE_VERSION_COMPATIBLE FALSE)
 | 
			
		||||
else()
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ include_guard(GLOBAL)
 | 
			
		||||
 | 
			
		||||
if(NOT CLANG_APPLY_REPLACEMENTS_NAME)
 | 
			
		||||
  set(CLANG_APPLY_REPLACEMENTS_NAMES clang-apply-replacements)
 | 
			
		||||
  foreach(V RANGE 9 18)
 | 
			
		||||
  foreach(V RANGE 9 19)
 | 
			
		||||
    list(INSERT CLANG_APPLY_REPLACEMENTS_NAMES 0 "clang-apply-replacements-${V}")
 | 
			
		||||
  endforeach()
 | 
			
		||||
  unset(V)
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ include_guard(GLOBAL)
 | 
			
		||||
 | 
			
		||||
if(NOT CLANG_CHECK_NAME)
 | 
			
		||||
  set(CLANG_CHECK_NAMES clang-check)
 | 
			
		||||
  foreach(V RANGE 9 18)
 | 
			
		||||
  foreach(V RANGE 9 19)
 | 
			
		||||
    list(INSERT CLANG_CHECK_NAMES 0 "clang-check-${V}")
 | 
			
		||||
  endforeach()
 | 
			
		||||
  unset(V)
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ include_guard(GLOBAL)
 | 
			
		||||
 | 
			
		||||
if(NOT CLANG_TIDY_NAME)
 | 
			
		||||
  set(CLANG_TIDY_NAMES clang-tidy)
 | 
			
		||||
  foreach(V RANGE 9 18)
 | 
			
		||||
  foreach(V RANGE 9 19)
 | 
			
		||||
    list(INSERT CLANG_TIDY_NAMES 0 "clang-tidy-${V}")
 | 
			
		||||
  endforeach()
 | 
			
		||||
  unset(V)
 | 
			
		||||
 
 | 
			
		||||
@@ -3,8 +3,7 @@
 | 
			
		||||
# 2020-2022 (c) PVS-Studio LLC
 | 
			
		||||
# Version 12
 | 
			
		||||
 | 
			
		||||
cmake_minimum_required(VERSION 3.0.0)
 | 
			
		||||
cmake_policy(SET CMP0051 NEW)
 | 
			
		||||
cmake_minimum_required(VERSION 3.6)
 | 
			
		||||
cmake_policy(SET CMP0054 NEW)
 | 
			
		||||
 | 
			
		||||
if (PVS_STUDIO_AS_SCRIPT)
 | 
			
		||||
@@ -60,7 +59,7 @@ function (pvs_studio_log TEXT)
 | 
			
		||||
endfunction()
 | 
			
		||||
 | 
			
		||||
function (pvs_studio_relative_path VAR ROOT FILEPATH)
 | 
			
		||||
    if (WIN32)
 | 
			
		||||
    if (CMAKE_HOST_WIN32)
 | 
			
		||||
        STRING(REGEX REPLACE "\\\\" "/" ROOT ${ROOT})
 | 
			
		||||
        STRING(REGEX REPLACE "\\\\" "/" FILEPATH ${FILEPATH})
 | 
			
		||||
    endif()
 | 
			
		||||
@@ -105,6 +104,8 @@ macro (pvs_studio_append_standard_flag FLAGS STANDARD)
 | 
			
		||||
    if ("${STANDARD}" MATCHES "^(99|11|14|17|20)$")
 | 
			
		||||
        if ("${PVS_STUDIO_PREPROCESSOR}" MATCHES "gcc|clang")
 | 
			
		||||
            list(APPEND "${FLAGS}" "-std=c++${STANDARD}")
 | 
			
		||||
        elseif("${PVS_STUDIO_PREPROCESSOR}" MATCHES "visualcpp")
 | 
			
		||||
            list(APPEND "${FLAGS}" "/std:c++${STANDARD}")
 | 
			
		||||
        endif()
 | 
			
		||||
    endif()
 | 
			
		||||
endmacro()
 | 
			
		||||
@@ -184,7 +185,7 @@ function (pvs_studio_analyze_file SOURCE SOURCE_DIR BINARY_DIR)
 | 
			
		||||
    pvs_studio_relative_path(SOURCE_RELATIVE "${SOURCE_DIR}" "${SOURCE}")
 | 
			
		||||
    pvs_studio_join_path(SOURCE "${SOURCE_DIR}" "${SOURCE}")
 | 
			
		||||
 | 
			
		||||
    set(LOG "${BINARY_DIR}/PVS-Studio/${SOURCE_RELATIVE}.plog")
 | 
			
		||||
    set(LOG "${BINARY_DIR}/PVS-Studio/${TARGET}/${SOURCE_RELATIVE}.log")
 | 
			
		||||
    get_filename_component(LOG "${LOG}" REALPATH)
 | 
			
		||||
    get_filename_component(PARENT_DIR "${LOG}" DIRECTORY)
 | 
			
		||||
 | 
			
		||||
@@ -343,7 +344,7 @@ function (pvs_studio_add_target)
 | 
			
		||||
 | 
			
		||||
    set(PATHS)
 | 
			
		||||
 | 
			
		||||
    if (WIN32)
 | 
			
		||||
    if (CMAKE_HOST_WIN32)
 | 
			
		||||
        # The registry value is only read when you do some cache operation on it.
 | 
			
		||||
        # https://stackoverflow.com/questions/1762201/reading-registry-values-with-cmake
 | 
			
		||||
        GET_FILENAME_COMPONENT(ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ProgramVerificationSystems\\PVS-Studio;installDir]" ABSOLUTE CACHE)
 | 
			
		||||
@@ -521,11 +522,31 @@ function (pvs_studio_add_target)
 | 
			
		||||
 | 
			
		||||
    pvs_studio_relative_path(LOG_RELATIVE "${CMAKE_BINARY_DIR}" "${PVS_STUDIO_LOG}")
 | 
			
		||||
    if (PVS_STUDIO_PLOGS OR PVS_STUDIO_COMPILE_COMMANDS)
 | 
			
		||||
        if (WIN32)
 | 
			
		||||
        if (CMAKE_HOST_WIN32)
 | 
			
		||||
            string(REPLACE / \\ PVS_STUDIO_PLOGS "${PVS_STUDIO_PLOGS}")
 | 
			
		||||
        endif()
 | 
			
		||||
        if (WIN32)
 | 
			
		||||
            if (CMAKE_GENERATOR MATCHES "NMake")
 | 
			
		||||
                set(COMMAND_TYPE_FILE "${CMAKE_BINARY_DIR}/PVSConcatAllLogs.cmd")
 | 
			
		||||
 | 
			
		||||
                # The number of files that will be merged in one call to the type command
 | 
			
		||||
                set(STEP_SIZE 30)
 | 
			
		||||
                set(BEGIN 0)
 | 
			
		||||
 | 
			
		||||
                list(APPEND PVS_STUDIO_PLOGS ${PVS_STUDIO_PLOGS_LOGS})
 | 
			
		||||
                list(LENGTH PVS_STUDIO_PLOGS END)
 | 
			
		||||
 | 
			
		||||
                # Creating a bat file to call the 'type' command
 | 
			
		||||
                file(WRITE ${COMMAND_TYPE_FILE} "@echo off\nbreak > ${PVS_STUDIO_LOG}\n")
 | 
			
		||||
 | 
			
		||||
                while(BEGIN LESS END)
 | 
			
		||||
                    list(SUBLIST PVS_STUDIO_PLOGS ${BEGIN} ${STEP_SIZE} NEW_LIST)
 | 
			
		||||
                    file(APPEND ${COMMAND_TYPE_FILE} "type ${NEW_LIST} >> ${PVS_STUDIO_LOG} 2>nul || cd .\n")
 | 
			
		||||
                    math(EXPR BEGIN "${BEGIN} + ${STEP_SIZE}")
 | 
			
		||||
                endwhile()
 | 
			
		||||
 | 
			
		||||
                list(APPEND COMMANDS COMMAND call ${COMMAND_TYPE_FILE})
 | 
			
		||||
            else()
 | 
			
		||||
                set(COMMANDS COMMAND type ${PVS_STUDIO_PLOGS} ${PVS_STUDIO_PLOGS_LOGS} > "${PVS_STUDIO_LOG}" 2>nul || cd .)
 | 
			
		||||
            endif()
 | 
			
		||||
        else()
 | 
			
		||||
            set(COMMANDS COMMAND cat ${PVS_STUDIO_PLOGS} ${PVS_STUDIO_PLOGS_LOGS} > "${PVS_STUDIO_LOG}" 2>/dev/null || true)
 | 
			
		||||
        endif()
 | 
			
		||||
@@ -553,7 +574,7 @@ function (pvs_studio_add_target)
 | 
			
		||||
        set(COMMENT "Generating ${LOG_RELATIVE}: no sources found")
 | 
			
		||||
    endif()
 | 
			
		||||
 | 
			
		||||
    if (WIN32)
 | 
			
		||||
    if (CMAKE_HOST_WIN32)
 | 
			
		||||
        string(REPLACE / \\ PVS_STUDIO_LOG "${PVS_STUDIO_LOG}")
 | 
			
		||||
    endif()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,9 +2,9 @@
 | 
			
		||||
 | 
			
		||||
## Установка
 | 
			
		||||
 | 
			
		||||
Скачать [пакет](../../../releases/download/2.1.92/myxx-cmake_2.1.92_all.deb)
 | 
			
		||||
для Debian и установить его, выполнив команду `sudo dpkg -i myxx-cmake_2.1.92_all.deb`,
 | 
			
		||||
или [архив](../../../releases/download/2.1.92/myxx-cmake-local-2.1.92.tar.xz)
 | 
			
		||||
Скачать [пакет](../../../releases/download/2.4.34/myxx-cmake_2.4.34_all.deb)
 | 
			
		||||
для Debian и установить его, выполнив команду `sudo dpkg -i myxx-cmake_2.4.34_all.deb`,
 | 
			
		||||
или [архив](../../../releases/download/2.4.34/myxx-cmake-local-2.4.34.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.1.92 LANGUAGES)
 | 
			
		||||
project(myxx-cmake VERSION 2.4.34 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.1.92) unstable; urgency=medium
 | 
			
		||||
myxx-cmake (2.4.34) unstable; urgency=medium
 | 
			
		||||
 | 
			
		||||
  * New version.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user