Skip to content

Commit 50cc597

Browse files
committed
Move the distclean definition to add_custom_target
Normally this should not be provided since most builds in CMake land are out-of-source and if provided it should be by CMake to account for specific generator files
1 parent 3cbee85 commit 50cc597

File tree

1 file changed

+25
-26
lines changed

1 file changed

+25
-26
lines changed

zproject_cmake.gsl

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -602,34 +602,33 @@ include(CTest)
602602
# cleanup
603603
########################################################################
604604
if (NOT TARGET distclean)
605-
add_custom_target (distclean @echo Cleaning for source distribution)
605+
if (CMAKE_VERSION VERSION_LESS 3.17)
606+
set(rm_command rm -rf)
607+
else()
608+
set(rm_command ${CMAKE_COMMAND} -E rm -rf --)
609+
endif()
610+
set(cmake_generated ${PROJECT_BINARY_DIR}/CMakeCache.txt
611+
${PROJECT_BINARY_DIR}/cmake_install.cmake
612+
${PROJECT_BINARY_DIR}/Makefile
613+
${PROJECT_BINARY_DIR}/CMakeFiles
614+
${PROJECT_BINARY_DIR}/CTestTestfile.cmake
615+
${PROJECT_BINARY_DIR}/DartConfiguration.tcl
616+
${PROJECT_BINARY_DIR}/Testing
617+
${PROJECT_BINARY_DIR}/compile_commands.json
618+
${PROJECT_BINARY_DIR}/platform.h
619+
${PROJECT_BINARY_DIR}/src/$(project.libname).pc
620+
${PROJECT_BINARY_DIR}/src/$(project.libname).so
621+
${PROJECT_BINARY_DIR}/src/$(project.name)_selftest
622+
.for project.main
623+
${PROJECT_BINARY_DIR}/src/$(main.name)
624+
.endfor
625+
)
626+
add_custom_target(distclean
627+
COMMAND ${rm_command} CMakeTmp ${cmake_generated}
628+
COMMENT Cleaning for source distribution
629+
)
606630
endif()
607631

608-
set(cmake_generated ${PROJECT_BINARY_DIR}/CMakeCache.txt
609-
${PROJECT_BINARY_DIR}/cmake_install.cmake
610-
${PROJECT_BINARY_DIR}/Makefile
611-
${PROJECT_BINARY_DIR}/CMakeFiles
612-
${PROJECT_BINARY_DIR}/CTestTestfile.cmake
613-
${PROJECT_BINARY_DIR}/DartConfiguration.tcl
614-
${PROJECT_BINARY_DIR}/Testing
615-
${PROJECT_BINARY_DIR}/compile_commands.json
616-
${PROJECT_BINARY_DIR}/platform.h
617-
${PROJECT_BINARY_DIR}/src/$(project.libname).pc
618-
${PROJECT_BINARY_DIR}/src/$(project.libname).so
619-
${PROJECT_BINARY_DIR}/src/$(project.name)_selftest
620-
.for project.main
621-
${PROJECT_BINARY_DIR}/src/$(main.name)
622-
.endfor
623-
)
624-
625-
add_custom_command(
626-
DEPENDS clean
627-
COMMENT "distribution clean"
628-
COMMAND rm
629-
ARGS -rf CMakeTmp ${cmake_generated}
630-
TARGET distclean
631-
)
632-
633632
include(ClangFormat OPTIONAL)
634633

635634
########################################################################

0 commit comments

Comments
 (0)