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