939
function (compiz_add_code_to_uninstall_target CODE WORKING_DIRECTORY)
943
PROPERTY COMPIZ_UNINSTALL_CODE_TARGETS
948
PROPERTY COMPIZ_UNINSTALL_WORKING_DIRECTORY_TARGETS
949
${WORKING_DIRECTORY})
939
953
macro (compiz_add_uninstall)
940
955
if (NOT _compiz_uninstall_rule_created)
941
956
compiz_set(_compiz_uninstall_rule_created TRUE)
943
958
set (_file "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake")
945
file (WRITE ${_file} "if (NOT EXISTS \"${CMAKE_BINARY_DIR}/install_manifest.txt\")\n")
960
file (WRITE ${_file} "message (STATUS \"Uninstalling\")\n")
962
get_property (COMPIZ_UNINSTALL_CODE_TARGETS_SET
964
PROPERTY COMPIZ_UNINSTALL_CODE_TARGETS
967
get_property (COMPIZ_UNINSTALL_WORKING_DIRECTORY_TARGETS_SET
969
PROPERTY COMPIZ_UNINSTALL_WORKING_DIRECTORY_TARGETS
972
if (COMPIZ_UNINSTALL_CODE_TARGETS_SET AND
973
COMPIZ_UNINSTALL_WORKING_DIRECTORY_TARGETS_SET)
975
get_property (COMPIZ_UNINSTALL_CODE_TARGETS
977
PROPERTY COMPIZ_UNINSTALL_CODE_TARGETS)
979
get_property (COMPIZ_UNINSTALL_WORKING_DIRECTORY_TARGETS
981
PROPERTY COMPIZ_UNINSTALL_WORKING_DIRECTORY_TARGETS)
983
list (LENGTH COMPIZ_UNINSTALL_CODE_TARGETS COMPIZ_UNINSTALL_CODE_TARGETS_LEN)
984
math (EXPR COMPIZ_UNINSTALL_CODE_TARGETS_RANGE "${COMPIZ_UNINSTALL_CODE_TARGETS_LEN} - 1")
986
foreach (ITER RANGE ${COMPIZ_UNINSTALL_CODE_TARGETS_RANGE})
988
list (GET COMPIZ_UNINSTALL_CODE_TARGETS ${ITER} CODE_TARGET)
989
list (GET COMPIZ_UNINSTALL_WORKING_DIRECTORY_TARGETS ${ITER} WORKING_DIRECTORY_TARGET)
991
file (APPEND ${_file} "message (STATUS \"Executing custom uninstall script ${CODE_TARGET}\")\n")
992
file (APPEND ${_file} "execute_process (COMMAND ${CODE_TARGET}\n")
993
file (APPEND ${_file} " WORKING_DIRECTORY \"${WORKING_DIRECTORY_TARGET}\"\n")
994
file (APPEND ${_file} " OUTPUT_VARIABLE cmd_output\n")
995
file (APPEND ${_file} " RESULT_VARIABLE cmd_ret)\n")
996
file (APPEND ${_file} "message (\"\${cmd_output}\")\n")
997
file (APPEND ${_file} "if (NOT \"\${cmd_ret}\" STREQUAL 0)\n")
998
file (APPEND ${_file} " message (FATAL_ERROR \"Problem executing uninstall script ${CODE_TARGET} : \${cmd_ret}\")\n")
999
file (APPEND ${_file} "endif (NOT \"\${cmd_ret}\" STREQUAL 0)\n")
1003
endif (COMPIZ_UNINSTALL_CODE_TARGETS_SET AND
1004
COMPIZ_UNINSTALL_WORKING_DIRECTORY_TARGETS_SET)
1006
# Get the code that we need to uninstall, and write it out to the file
1008
file (APPEND ${_file} "if (NOT EXISTS \"${CMAKE_BINARY_DIR}/install_manifest.txt\")\n")
946
1009
file (APPEND ${_file} " message (FATAL_ERROR \"Cannot find install manifest: \\\"${CMAKE_BINARY_DIR}/install_manifest.txt\\\"\")\n")
947
1010
file (APPEND ${_file} "endif (NOT EXISTS \"${CMAKE_BINARY_DIR}/install_manifest.txt\")\n\n")
948
1011
file (APPEND ${_file} "file (READ \"${CMAKE_BINARY_DIR}/install_manifest.txt\" files)\n")