--- clazy-1.12.orig/CMakeLists.txt 2024-06-30 21:33:30.000000000 +0200 +++ clazy-1.12/CMakeLists.txt 2024-08-04 17:17:37.878433212 +0200 @@ -26,9 +26,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/cmake) if (NOT CLAZY_BUILD_WITH_CLANG) - find_package(Clang 11.0 MODULE REQUIRED) + find_package(Clang CONFIG REQUIRED) - if (CLANG_CLANG-CPP_LIB AND NOT APPLE) + if (TARGET clang-cpp AND NOT APPLE) set(default_use_clang_cpp ON) else() set(default_use_clang_cpp OFF) @@ -155,6 +155,7 @@ foreach(llvm_system_lib ${LLVM_SYSTEM_LIBS}) target_link_libraries(${name} ${llvm_system_lib}) endforeach() + target_link_libraries(${name} LLVM) if(WIN32) target_link_libraries(${name} version.lib) --- clazy-1.12.orig/cmake/FindClang.cmake 2024-06-30 21:33:30.000000000 +0200 +++ clazy-1.12/cmake/FindClang.cmake 1970-01-01 01:00:00.000000000 +0100 @@ -1,112 +0,0 @@ -# Detect Clang libraries -# -# Defines the following variables: -# CLANG_FOUND - True if Clang was found -# CLANG_INCLUDE_DIRS - Where to find Clang includes -# CLANG_LIBRARY_DIRS - Where to find Clang libraries -# -# CLANG_LIBCLANG_LIB - Libclang C library -# -# CLANG_CLANGFRONTEND_LIB - Clang Frontend (C++) Library -# CLANG_CLANGDRIVER_LIB - Clang Driver (C++) Library -# ... -# -# CLANG_LIBS - All the Clang C++ libraries -# -# Uses the same include and library paths detected by FindLLVM.cmake -# -# See http://clang.llvm.org/docs/InternalsManual.html for full list of libraries - -#============================================================================= -# SPDX-FileCopyrightText: 2014-2015 Kevin Funk -# -# SPDX-License-Identifier: BSD-2-Clause -#============================================================================= - -if (${Clang_FIND_REQUIRED}) - find_package(LLVM ${Clang_FIND_VERSION} REQUIRED) -else () - find_package(LLVM ${Clang_FIND_VERSION}) -endif () - -set(CLANG_FOUND FALSE) - -if (LLVM_FOUND AND LLVM_LIBRARY_DIRS) - macro(FIND_CLANG_LIB _libname_) - string(TOUPPER ${_libname_} _prettylibname_) - find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_} HINTS ${LLVM_LIBRARY_DIRS}) - endmacro(FIND_CLANG_LIB) - macro(FIND_AND_ADD_CLANG_LIB _libname_) - string(TOUPPER ${_libname_} _prettylibname_) - find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_} HINTS ${LLVM_LIBRARY_DIRS}) - if(CLANG_${_prettylibname_}_LIB) - set(CLANG_LIBS ${CLANG_LIBS} ${CLANG_${_prettylibname_}_LIB}) - endif() - endmacro(FIND_AND_ADD_CLANG_LIB) - - # note: On Windows there's 'libclang.dll' instead of 'clang.dll' -> search for 'libclang', too - find_library(CLANG_LIBCLANG_LIB NAMES clang libclang HINTS ${LLVM_LIBRARY_DIRS}) # LibClang: high-level C interface - - FIND_CLANG_LIB(clang-cpp) - FIND_AND_ADD_CLANG_LIB(clangFrontend) - FIND_AND_ADD_CLANG_LIB(clangDriver) - FIND_AND_ADD_CLANG_LIB(clangCodeGen) - FIND_AND_ADD_CLANG_LIB(clangSema) - FIND_AND_ADD_CLANG_LIB(clangChecker) - FIND_AND_ADD_CLANG_LIB(clangAnalysis) - FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend) - FIND_AND_ADD_CLANG_LIB(clangRewrite) - FIND_AND_ADD_CLANG_LIB(clangAST) - FIND_AND_ADD_CLANG_LIB(clangASTMatchers) - FIND_AND_ADD_CLANG_LIB(clangParse) - FIND_AND_ADD_CLANG_LIB(clangLex) - FIND_AND_ADD_CLANG_LIB(clangBasic) - FIND_AND_ADD_CLANG_LIB(clangARCMigrate) - FIND_AND_ADD_CLANG_LIB(clangEdit) - FIND_AND_ADD_CLANG_LIB(clangFrontendTool) - FIND_AND_ADD_CLANG_LIB(clangRewrite) - FIND_AND_ADD_CLANG_LIB(clangSerialization) - FIND_AND_ADD_CLANG_LIB(clangTooling) - FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers) - FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore) - FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend) - FIND_AND_ADD_CLANG_LIB(clangSema) - FIND_AND_ADD_CLANG_LIB(clangRewriteCore) - FIND_AND_ADD_CLANG_LIB(clangAPINotes) -endif() - -if(CLANG_LIBS OR CLANG_LIBCLANG_LIB OR CLANG_CLANG-CPP_LIB) - set(CLANG_FOUND TRUE) -else() - message(STATUS "Could not find any Clang libraries in ${LLVM_LIBRARY_DIRS}") -endif() - -if(CLANG_FOUND) - set(CLANG_LIBRARY_DIRS ${LLVM_LIBRARY_DIRS}) - set(CLANG_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS}) - - # check whether llvm-config comes from an install prefix - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root - OUTPUT_VARIABLE _llvmSourceRoot - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - string(FIND "${LLVM_INCLUDE_DIRS}" "${_llvmSourceRoot}" _llvmIsInstalled) - if (NOT _llvmIsInstalled) - message(STATUS "Detected that llvm-config comes from a build-tree, adding more include directories for Clang") - list(APPEND CLANG_INCLUDE_DIRS - "${LLVM_INSTALL_PREFIX}/tools/clang/include" # build dir - "${_llvmSourceRoot}/tools/clang/include" # source dir - ) - endif() - - message(STATUS "Found Clang (LLVM version: ${LLVM_VERSION})") - message(STATUS " Include dirs: ${CLANG_INCLUDE_DIRS}") - message(STATUS " Clang libraries: ${CLANG_LIBS}") - message(STATUS " Libclang C library: ${CLANG_LIBCLANG_LIB}") - message(STATUS " Clang dynamic library: ${CLANG_CLANG-CPP_LIB}") -else() - if(Clang_FIND_REQUIRED) - message(FATAL_ERROR "Could NOT find Clang") - endif() -endif() --- clazy-1.12.orig/cmake/FindLLVM.cmake 2024-06-30 21:33:30.000000000 +0200 +++ clazy-1.12/cmake/FindLLVM.cmake 1970-01-01 01:00:00.000000000 +0100 @@ -1,143 +0,0 @@ -# Find the native LLVM includes and libraries -# -# Defines the following variables -# LLVM_INCLUDE_DIRS - where to find llvm include files -# LLVM_LIBRARY_DIRS - where to find llvm libs -# LLVM_CFLAGS - llvm compiler flags -# LLVM_LFLAGS - llvm linker flags -# LLVM_MODULE_LIBS - list of llvm libs for working with modules. -# LLVM_INSTALL_PREFIX - LLVM installation prefix -# LLVM_FOUND - True if llvm found. -# LLVM_VERSION - Version string ("llvm-config --version") -# -# This module reads hints about search locations from variables -# LLVM_ROOT - Preferred LLVM installation prefix (containing bin/, lib/, ...) -# -# Note: One may specify these as environment variables if they are not specified as -# CMake variables or cache entries. - -#============================================================================= -# SPDX-FileCopyrightText: 2014 Kevin Funk -# -# SPDX-License-Identifier: BSD-2-Clause -#============================================================================= - -if (NOT LLVM_ROOT AND DEFINED ENV{LLVM_ROOT}) - file(TO_CMAKE_PATH "$ENV{LLVM_ROOT}" LLVM_ROOT) -endif() - -# if the user specified LLVM_ROOT, use that and fail otherwise -if (LLVM_ROOT) - find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config HINTS ${LLVM_ROOT}/bin DOC "llvm-config executable" NO_DEFAULT_PATH) -else() - # find llvm-config, prefer the one with a version suffix, e.g. llvm-config-3.5 - # note: FreeBSD installs llvm-config as llvm-config35 and so on - # note: on some distributions, only 'llvm-config' is shipped, so let's always try to fallback on that - string(REPLACE "." "" LLVM_FIND_VERSION_CONCAT ${LLVM_FIND_VERSION}) - find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config-${LLVM_FIND_VERSION} llvm-config${LLVM_FIND_VERSION_CONCAT} llvm-config DOC "llvm-config executable") - - # other distributions don't ship llvm-config, but only some llvm-config-VERSION binary - # try to deduce installed LLVM version by looking up llvm-nm in PATH and *then* find llvm-config-VERSION via that - if (NOT LLVM_CONFIG_EXECUTABLE) - find_program(_llvmNmExecutable llvm-nm) - if (_llvmNmExecutable) - execute_process(COMMAND ${_llvmNmExecutable} --version OUTPUT_VARIABLE _out) - string(REGEX REPLACE ".*LLVM version ([^ \n]+).*" "\\1" _versionString "${_out}") - find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config-${_versionString} DOC "llvm-config executable") - endif() - endif() -endif() - -set(LLVM_FOUND FALSE) - -if (LLVM_CONFIG_EXECUTABLE) - # verify that we've found the correct version of llvm-config - execute_process(COMMAND ${LLVM_CONFIG_EXECUTABLE} --version - OUTPUT_VARIABLE LLVM_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) - - if (NOT LLVM_VERSION) - set(_LLVM_ERROR_MESSAGE "Failed to parse version from llvm-config") - elseif (LLVM_FIND_VERSION VERSION_GREATER LLVM_VERSION) - set(_LLVM_ERROR_MESSAGE "LLVM version too old: ${LLVM_VERSION}") - else() - set(LLVM_FOUND TRUE) - endif() -else() - set(_LLVM_ERROR_MESSAGE "Could NOT find 'llvm-config' executable") -endif() - -if (LLVM_FOUND) - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --includedir - OUTPUT_VARIABLE LLVM_INCLUDE_DIRS - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --libdir - OUTPUT_VARIABLE LLVM_LIBRARY_DIRS - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --cppflags - OUTPUT_VARIABLE LLVM_CFLAGS - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --ldflags - OUTPUT_VARIABLE LLVM_LFLAGS - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --libs core bitreader asmparser analysis - OUTPUT_VARIABLE LLVM_MODULE_LIBS - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --libfiles - OUTPUT_VARIABLE LLVM_LIBS - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - string(REPLACE " " ";" LLVM_LIBS ${LLVM_LIBS}) # Make it consistent with --libs - - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --system-libs - OUTPUT_VARIABLE LLVM_SYSTEM_LIBS - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --prefix - OUTPUT_VARIABLE LLVM_INSTALL_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - # potentially add include dir from binary dir for non-installed LLVM - execute_process( - COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root - OUTPUT_VARIABLE _llvmSourceRoot - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - string(FIND "${LLVM_INCLUDE_DIRS}" "${_llvmSourceRoot}" _llvmIsInstalled) - if (NOT _llvmIsInstalled) - list(APPEND LLVM_INCLUDE_DIRS "${LLVM_INSTALL_PREFIX}/include") - endif() -endif() - -if (LLVM_FIND_REQUIRED AND NOT LLVM_FOUND) - message(FATAL_ERROR "Could not find LLVM: ${_LLVM_ERROR_MESSAGE}") -elseif(_LLVM_ERROR_MESSAGE) - message(STATUS "Could not find LLVM: ${_LLVM_ERROR_MESSAGE}") -endif() - -if (LLVM_FOUND) - message(STATUS "Found LLVM (version: ${LLVM_VERSION}): (using ${LLVM_CONFIG_EXECUTABLE})") - message(STATUS " Include dirs: ${LLVM_INCLUDE_DIRS}") - message(STATUS " LLVM libraries: ${LLVM_LIBS}") - message(STATUS " LLVM System libraries: ${LLVM_SYSTEM_LIBS}") -endif()