cmake_uninstall.cmake.in 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # Author: Kang Lin([email protected])
  2. # Use: Please add the follow code to CMakeLists.txt
  3. # # Install runtime target
  4. # add_custom_target(install-runtime
  5. # COMMAND
  6. # "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Runtime
  7. # -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_install.cmake"
  8. # )
  9. # # Uninstall runtime target
  10. # add_custom_target(uninstall-runtime
  11. # COMMAND
  12. # "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Runtime
  13. # -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
  14. # )
  15. # # Create will be delete files
  16. # CONFIGURE_FILE(
  17. # "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
  18. # "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake"
  19. # IMMEDIATE @ONLY)
  20. # # Create unistall target
  21. # ADD_CUSTOM_TARGET(uninstall
  22. # "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake"
  23. # DEPENDS uninstall-runtime)
  24. if(CMAKE_INSTALL_COMPONENT)
  25. set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
  26. else()
  27. set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
  28. endif()
  29. IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/${CMAKE_INSTALL_MANIFEST}")
  30. MESSAGE(WARNING "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/${CMAKE_INSTALL_MANIFEST}\"")
  31. ELSE()
  32. FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/${CMAKE_INSTALL_MANIFEST}" files)
  33. STRING(REGEX REPLACE "\n" ";" files "${files}")
  34. FOREACH(file ${files})
  35. MESSAGE(STATUS "Uninstalling \"${file}\"")
  36. IF(EXISTS "${file}")
  37. EXEC_PROGRAM(
  38. "@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
  39. OUTPUT_VARIABLE rm_out
  40. RETURN_VALUE rm_retval
  41. )
  42. IF("${rm_retval}" STREQUAL 0)
  43. ELSE("${rm_retval}" STREQUAL 0)
  44. MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
  45. ENDIF("${rm_retval}" STREQUAL 0)
  46. ELSE(EXISTS "${file}")
  47. MESSAGE(STATUS "File \"${file}\" does not exist.")
  48. ENDIF(EXISTS "${file}")
  49. ENDFOREACH(file)
  50. ENDIF()