File tree Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -679,3 +679,14 @@ set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
679
679
set (CPACK_NSIS_MODIFY_PATH ON )
680
680
set (CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON )
681
681
include (CPack)
682
+
683
+ #add uninstall target
684
+ if (NOT TARGET uninstall)
685
+ configure_file (
686
+ "cmake/UninstallHelper.cmake.in"
687
+ "${CMAKE_CURRENT_BINARY_DIR} /UninstallHelper.cmake"
688
+ IMMEDIATE @ONLY)
689
+
690
+ add_custom_target (uninstall
691
+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR} /UninstallHelper.cmake)
692
+ endif ()
Original file line number Diff line number Diff line change
1
+ if (NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt" )
2
+ message (FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt" )
3
+ endif ()
4
+
5
+ file (READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files )
6
+ string (REGEX REPLACE "\n " ";" files "${files} " )
7
+ foreach (file ${files} )
8
+ message (STATUS "Uninstalling $ENV{DESTDIR}${file} " )
9
+ if (IS_SYMLINK "$ENV{DESTDIR}${file} " OR EXISTS "$ENV{DESTDIR}${file} " )
10
+ exec_program (
11
+ "@CMAKE_COMMAND@" ARGS "-E remove \" $ENV{DESTDIR}${file} \" "
12
+ OUTPUT_VARIABLE rm_out
13
+ RETURN_VALUE rm_retval
14
+ )
15
+ if (NOT "${rm_retval} " STREQUAL 0)
16
+ message (FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file} " )
17
+ endif ()
18
+ else (IS_SYMLINK "$ENV{DESTDIR}${file} " OR EXISTS "$ENV{DESTDIR}${file} " )
19
+ message (STATUS "File $ENV{DESTDIR}${file} does not exist." )
20
+ endif ()
21
+ endforeach ()
You can’t perform that action at this time.
0 commit comments