diff options
author | Antenore Gatta (tmow) <antenore@simbiosi.org> | 2021-07-14 17:27:08 +0300 |
---|---|---|
committer | Antenore Gatta (tmow) <antenore@simbiosi.org> | 2021-07-14 17:27:08 +0300 |
commit | 460d70a5c28464c1e350d7c2a478f36e11864394 (patch) | |
tree | 7bd727bec67711c41ea8b1dde127685d04760077 /cmake | |
parent | 7e94add2002bf4e2b7a8e6130b78656442de966a (diff) |
Improved uninstall target. closes 2314
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/cmake_uninstall.cmake.in | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cmake/cmake_uninstall.cmake.in b/cmake/cmake_uninstall.cmake.in new file mode 100644 index 000000000..47a971545 --- /dev/null +++ b/cmake/cmake_uninstall.cmake.in @@ -0,0 +1,28 @@ +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) +string( REGEX REPLACE "\n" ";" files "${files}" ) + +foreach(file ${files}) + + message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") + if(EXISTS "$ENV{DESTDIR}${file}") + + exec_program( "@CMAKE_COMMAND@" + ARGS "-E remove \"$ENV{DESTDIR}${file}\"" + OUTPUT_VARIABLE rm_out + RETURN_VALUE rm_retval + ) + if( NOT "${rm_retval}" STREQUAL 0 ) + message( FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"" ) + endif( NOT "${rm_retval}" STREQUAL 0 ) + + else(EXISTS "$ENV{DESTDIR}${file}") + + message( STATUS "File \"$ENV{DESTDIR}${file}\" does not exist." ) + + endif(EXISTS "$ENV{DESTDIR}${file}") + +endforeach(file) |