◐ Shell
clean mode source ↗

deps: update libuv to 1.52.1 · nodejs/node@493ac40

@@ -24,6 +24,7 @@ set(CMAKE_C_STANDARD 11)

24242525

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

262627+2728

option(LIBUV_BUILD_SHARED "Build shared lib" ON)

28292930

cmake_dependent_option(LIBUV_BUILD_TESTS

@@ -700,6 +701,8 @@ if(LIBUV_BUILD_TESTS)

700701

test/test-udp-send-immediate.c

701702

test/test-udp-sendmmsg-error.c

702703

test/test-udp-send-unreachable.c

704+

test/test-udp-recv-cb-close-pollerr.c

705+

test/test-udp-recvmsg-unreachable-error.c

703706

test/test-udp-try-send.c

704707

test/test-udp-recv-in-a-row.c

705708

test/test-udp-reuseport.c

@@ -747,6 +750,14 @@ if(LIBUV_BUILD_TESTS)

747750

"$<TARGET_FILE:uv_run_tests_a>"

748751

"$<TARGET_FILE_DIR:uv_run_tests_a>/uv_run_tests_a_no_ext")

749752

endif()

753+754+

if(QNX)

755+

install(TARGETS uv_run_tests uv_run_tests_a uv_run_benchmarks_a

756+

DESTINATION ${CMAKE_INSTALL_BINDIR}/libuv_tests)

757+758+

install(DIRECTORY test/fixtures

759+

DESTINATION ${CMAKE_INSTALL_BINDIR}/libuv_tests)

760+

endif()

750761

endif()

751762752763

# Now for some gibbering horrors from beyond the stars...

@@ -774,6 +785,11 @@ install(TARGETS uv_a EXPORT libuvConfig

774785

install(EXPORT libuvConfig

775786

DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv

776787

NAMESPACE libuv::)

788+

write_basic_package_version_file(libuvConfigVersion.cmake

789+

VERSION ${PACKAGE_VERSION}

790+

COMPATIBILITY SameMajorVersion)

791+

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libuvConfigVersion.cmake

792+

DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv)

777793778794

if(LIBUV_BUILD_SHARED)

779795

# The version in the filename is mirroring the behaviour of autotools.

@@ -814,3 +830,77 @@ message(STATUS "summary of build options:

814830

C compiler: ${CMAKE_C_COMPILER} (${CMAKE_C_COMPILER_ID})

815831

CFLAGS: ${CMAKE_C_FLAGS_${_build_type}} ${CMAKE_C_FLAGS}

816832

")

833+834+

# clang-tidy support

835+

option(ENABLE_CLANG_TIDY "Enable clang-tidy checks" ON)

836+

if(ENABLE_CLANG_TIDY)

837+

find_program(CLANG_TIDY_EXE NAMES "clang-tidy")

838+

if(CLANG_TIDY_EXE)

839+

set(CMAKE_C_CLANG_TIDY "${CLANG_TIDY_EXE}")

840+

message(STATUS "clang-tidy found: ${CLANG_TIDY_EXE}")

841+

else()

842+

set(CMAKE_C_CLANG_TIDY "clang-tidy")

843+

message(STATUS "clang-tidy not found: install clang-tidy or set -DCLANG_TIDY_EXE to run tidy analysis on this platform")

844+

endif()

845+846+

# Collect source files from existing targets (deduplicated)

847+

set(ALL_SOURCE_FILES)

848+

set(SRC_TARGETS)

849+

set(TEST_TARGETS)

850+

set(TIDY_TARGETS)

851+852+

# Add main library sources

853+

list(APPEND ALL_SOURCE_FILES ${uv_sources})

854+855+

# Add test sources if tests are enabled

856+

if(LIBUV_BUILD_TESTS)

857+

list(APPEND ALL_SOURCE_FILES ${uv_test_sources})

858+

endif()

859+860+

# Remove duplicates and non-existent files

861+

list(REMOVE_DUPLICATES ALL_SOURCE_FILES)

862+863+

foreach(SOURCE_FILE ${ALL_SOURCE_FILES})

864+

# Create a clean target name

865+

string(REPLACE "/" "-" TARGET_NAME ${SOURCE_FILE})

866+

string(REGEX REPLACE "\\.[^.]*$" "" TARGET_NAME ${TARGET_NAME})

867+

set(FULL_TARGET_NAME "tidy-${TARGET_NAME}")

868+869+

# Create individual target for this source file

870+

add_custom_target(${FULL_TARGET_NAME}

871+

COMMAND ${CMAKE_C_CLANG_TIDY} -p "${CMAKE_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE_FILE}"

872+

COMMENT "Running clang-tidy on ${SOURCE_FILE}"

873+

VERBATIM)

874+875+

# Add to appropriate folder list

876+

if(SOURCE_FILE MATCHES "^src/")

877+

list(APPEND SRC_TARGETS ${FULL_TARGET_NAME})

878+

elseif(SOURCE_FILE MATCHES "^test/")

879+

list(APPEND TEST_TARGETS ${FULL_TARGET_NAME})

880+

endif()

881+882+

# Add to list of all tidy targets

883+

list(APPEND TIDY_TARGETS ${FULL_TARGET_NAME})

884+

endforeach()

885+886+

# Create folder-based targets

887+

if(SRC_TARGETS)

888+

add_custom_target(tidy-src

889+

COMMENT "Running clang-tidy on src files"

890+

VERBATIM)

891+

add_dependencies(tidy-src ${SRC_TARGETS})

892+

endif()

893+894+

if(TEST_TARGETS)

895+

add_custom_target(tidy-test

896+

COMMENT "Running clang-tidy on test files"

897+

VERBATIM)

898+

add_dependencies(tidy-test ${TEST_TARGETS})

899+

endif()

900+901+

# Create main tidy target that depends on all individual targets

902+

add_custom_target(tidy

903+

COMMENT "Running clang-tidy on all source files"

904+

VERBATIM)

905+

add_dependencies(tidy ${TIDY_TARGETS})

906+

endif()