Я хотел бы использовать инструмент командной строки clang static analyzer scan-build
с удобством cmake --build
.
Наиболее из Ресурсы Я обнаружил, что в Интернете указывается, что вам нужен двухэтапный процесс:
scan-build cmake .
scan-build make
Например, для этого небольшого примера программы с ошибкой, которая scan-build
уловы:
#include <iostream>
int fun() {
int x;
return x; # main.cpp:5:5: warning: Undefined or garbage value returned to caller
}
int main() {
int a = fun();
std::cout << "Hello, World! " << a << std::endl;
}
CMakeLists.txt
:
cmake_minimum_required(VERSION 3.5)
project(test_program)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)
add_executable(test_program ${SOURCE_FILES})
Если я бегу scan-build cmake --build cmake-build-release/
он не находит ошибку, даже если двоичный файл собран. Есть ли в любом случае, чтобы получить scan-build
работать с CMake в один шаг?
Задача ещё не решена.
Других решений пока нет …