All curl-supported CMake versions support the modern method, along with
the `--` marker.
Also:
- make sure to pass `-f` to not fail if the file is missing, as before
this patch.
- drop now redundant `OUTPUT_QUIET`, `ERROR_QUIET` and error handling
in `cmake_uninstall`.
- move filename to end of the error message for readability.
- GHA/linux: test these two 'clean' targets in the aws-lc job.
Refs:
https://cmake.org/cmake/help/v4.4/manual/cmake.1.html#cmdoption-cmake-E-arg-remove
https://cmake.org/cmake/help/v3.18/manual/cmake.1.html#run-a-command-line-tool
Closes #22193
- name: 'awslc'
install_packages: libidn2-dev
- install_steps: awslc
+ install_steps: awslc clean
generate: -DOPENSSL_ROOT_DIR=/home/runner/awslc -DUSE_ECH=ON -DCMAKE_UNITY_BUILD=OFF -DCURL_DROP_UNUSED=ON -DCURL_PATCHSTAMP=test-patch -DCURL_ENABLE_NTLM=ON
- name: 'boringssl'
run: |
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
cmake --install bld --strip
+ if [[ "${MATRIX_INSTALL_STEPS}" = *'clean'* ]]; then
+ cmake --build bld --target curl_uninstall
+ fi
else
make -C bld V=1 install
fi
fi
if [ "${MATRIX_BUILD}" = 'cmake' ]; then
cmake --build bld --verbose --target "${TEST_TARGET}"
+ if [[ "${MATRIX_INSTALL_STEPS}" = *'clean'* ]]; then
+ cmake --build bld --target clean-certs
+ fi
else
make -C bld V=1 "${TEST_TARGET}"
fi
foreach(_file ${_files})
message(STATUS "Uninstalling $ENV{DESTDIR}${_file}")
if(IS_SYMLINK "$ENV{DESTDIR}${_file}" OR EXISTS "$ENV{DESTDIR}${_file}")
- execute_process(
- COMMAND "@CMAKE_COMMAND@" -E remove "$ENV{DESTDIR}${_file}"
- RESULT_VARIABLE rm_retval
- OUTPUT_QUIET
- ERROR_QUIET
- )
- if(NOT "${rm_retval}" STREQUAL 0)
- message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${_file}")
- endif()
+ execute_process(COMMAND "@CMAKE_COMMAND@" -E rm -f -- "$ENV{DESTDIR}${_file}")
else()
- message(STATUS "File $ENV{DESTDIR}${_file} does not exist.")
+ message(STATUS "File does not exist: $ENV{DESTDIR}${_file}")
endif()
endforeach()
endif()
add_custom_target(clean-certs
- COMMAND ${CMAKE_COMMAND} -E remove ${GENERATEDCERTS}
+ COMMAND ${CMAKE_COMMAND} -E rm -f ${GENERATEDCERTS}
"test-*.csr"
"test-*.der"
"test-*.keyenc"