-
Notifications
You must be signed in to change notification settings - Fork 79
/
Copy pathuninstall.cmake.in
40 lines (33 loc) · 1.25 KB
/
uninstall.cmake.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
set(LINUX @LINUX@)
set(ENABLE_INSTALL_LDCONFIG @ENABLE_INSTALL_LDCONFIG@)
set(MANIFEST "${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt")
if(NOT EXISTS ${MANIFEST})
message(FATAL_ERROR "Cannot find install manifest: '${MANIFEST}'")
endif()
file(STRINGS ${MANIFEST} files)
foreach(file ${files})
if(EXISTS ${file})
message(STATUS "Removing file: '${file}'")
exec_program(
${CMAKE_COMMAND} ARGS "-E remove ${file}"
OUTPUT_VARIABLE stdout
RETURN_VALUE result
)
if(NOT "${result}" STREQUAL 0)
message(FATAL_ERROR "Failed to remove file: '${file}'.")
endif()
else()
message(STATUS "File '${file}' does not exist.")
endif()
endforeach(file)
if(ENABLE_INSTALL_LDCONFIG)
if(LINUX)
message(STATUS "Remove file ${SHARE_INSTALL_DIRECTORY}/ld_conf/hal.conf to /etc/ld.so.conf.d/hal.conf")
execute_process(COMMAND ${CMAKE_COMMAND} -E remove /etc/ld.so.conf.d/hal.conf)
message(STATUS "Running: ldconfig")
execute_process(COMMAND "ldconfig" RESULT_VARIABLE ldconfig_result)
if(NOT ldconfig_result EQUAL 0)
message(WARNING "ldconfig failed")
endif()
endif(LINUX)
endif(ENABLE_INSTALL_LDCONFIG)