mirror of
https://github.com/opencv/opencv.git
synced 2024-11-24 03:00:14 +08:00
cmake: update generation of 'uninstall' target
Details: https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake
This commit is contained in:
parent
0812207db7
commit
5504d94e36
@ -1,17 +1,22 @@
|
|||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Uninstall target, for "make uninstall"
|
# Uninstall target, for "make uninstall"
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
CONFIGURE_FILE(
|
if(NOT TARGET uninstall) # avoid conflicts with parent projects
|
||||||
"${OpenCV_SOURCE_DIR}/cmake/templates/cmake_uninstall.cmake.in"
|
configure_file(
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
"${OpenCV_SOURCE_DIR}/cmake/templates/cmake_uninstall.cmake.in"
|
||||||
@ONLY)
|
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
add_custom_target(uninstall
|
||||||
if(ENABLE_SOLUTION_FOLDERS)
|
COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||||
set_target_properties(uninstall PROPERTIES FOLDER "CMakeTargets")
|
)
|
||||||
|
|
||||||
|
if(ENABLE_SOLUTION_FOLDERS)
|
||||||
|
set_target_properties(uninstall PROPERTIES FOLDER "CMakeTargets")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# target building all OpenCV modules
|
# target building all OpenCV modules
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
|
@ -1,25 +1,28 @@
|
|||||||
# -----------------------------------------------
|
# -----------------------------------------------
|
||||||
# File that provides "make uninstall" target
|
# File that provides "make uninstall" target
|
||||||
# We use the file 'install_manifest.txt'
|
# We use the file 'install_manifest.txt'
|
||||||
|
#
|
||||||
|
# Details: https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake
|
||||||
# -----------------------------------------------
|
# -----------------------------------------------
|
||||||
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
|
||||||
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
|
|
||||||
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
|
||||||
|
|
||||||
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
|
||||||
STRING(REGEX REPLACE "\n" ";" files "${files}")
|
message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_BINARY_DIR@/install_manifest.txt\"")
|
||||||
FOREACH(file ${files})
|
endif()
|
||||||
MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
|
|
||||||
IF(EXISTS "$ENV{DESTDIR}${file}")
|
file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
|
||||||
EXEC_PROGRAM(
|
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||||
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
|
foreach(file ${files})
|
||||||
OUTPUT_VARIABLE rm_out
|
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
|
||||||
RETURN_VALUE rm_retval
|
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||||
)
|
exec_program(
|
||||||
IF(NOT "${rm_retval}" STREQUAL 0)
|
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
|
||||||
MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
|
OUTPUT_VARIABLE rm_out
|
||||||
ENDIF(NOT "${rm_retval}" STREQUAL 0)
|
RETURN_VALUE rm_retval
|
||||||
ELSE(EXISTS "$ENV{DESTDIR}${file}")
|
)
|
||||||
MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
|
if(NOT "${rm_retval}" STREQUAL 0)
|
||||||
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
|
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
|
||||||
ENDFOREACH(file)
|
endif()
|
||||||
|
else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
Loading…
Reference in New Issue
Block a user