xref: /aosp_15_r20/external/bcc/cmake/CmakeUninstall.cmake.in (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard Worker# SPDX-License-Identifier: GPL-2.0-or-later
2*387f9dfdSAndroid Build Coastguard Worker# Copyright (C) 2022 Rong Tao
3*387f9dfdSAndroid Build Coastguard Worker#
4*387f9dfdSAndroid Build Coastguard Workerfunction(UninstallManifest manifest)
5*387f9dfdSAndroid Build Coastguard Workerif(NOT EXISTS "${manifest}")
6*387f9dfdSAndroid Build Coastguard Worker  message(FATAL_ERROR "Cannot find install manifest: ${manifest}")
7*387f9dfdSAndroid Build Coastguard Workerendif()
8*387f9dfdSAndroid Build Coastguard Worker
9*387f9dfdSAndroid Build Coastguard Workerfile(READ "${manifest}" files)
10*387f9dfdSAndroid Build Coastguard Workerstring(REGEX REPLACE "\n" ";" files "${files}")
11*387f9dfdSAndroid Build Coastguard Workerforeach(file ${files})
12*387f9dfdSAndroid Build Coastguard Worker  message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
13*387f9dfdSAndroid Build Coastguard Worker  if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
14*387f9dfdSAndroid Build Coastguard Worker    exec_program(
15*387f9dfdSAndroid Build Coastguard Worker      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
16*387f9dfdSAndroid Build Coastguard Worker      OUTPUT_VARIABLE rm_out
17*387f9dfdSAndroid Build Coastguard Worker      RETURN_VALUE rm_retval
18*387f9dfdSAndroid Build Coastguard Worker      )
19*387f9dfdSAndroid Build Coastguard Worker    if(NOT "${rm_retval}" STREQUAL 0)
20*387f9dfdSAndroid Build Coastguard Worker      message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
21*387f9dfdSAndroid Build Coastguard Worker    endif()
22*387f9dfdSAndroid Build Coastguard Worker  else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
23*387f9dfdSAndroid Build Coastguard Worker    message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
24*387f9dfdSAndroid Build Coastguard Worker  endif()
25*387f9dfdSAndroid Build Coastguard Workerendforeach()
26*387f9dfdSAndroid Build Coastguard Workerendfunction()
27*387f9dfdSAndroid Build Coastguard Worker
28*387f9dfdSAndroid Build Coastguard WorkerUninstallManifest("@CMAKE_BINARY_DIR@/install_manifest.txt")
29*387f9dfdSAndroid Build Coastguard WorkerUninstallManifest("@CMAKE_BINARY_DIR@/install_manifest_python_bcc.txt")
30