ClearClassFiles.cmake 774 B

12345678910111213141516171819202122
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file Copyright.txt or https://cmake.org/licensing for details.
  3. # This script deletes compiled Java class files.
  4. cmake_policy(PUSH)
  5. cmake_policy(SET CMP0159 NEW) # file(STRINGS) with REGEX updates CMAKE_MATCH_<n>
  6. if(CMAKE_JAVA_CLASS_OUTPUT_PATH)
  7. if(EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist")
  8. file(STRINGS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist" classes)
  9. list(TRANSFORM classes PREPEND "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/")
  10. if(classes)
  11. file(REMOVE ${classes})
  12. message(STATUS "Clean class files from previous build")
  13. endif()
  14. endif()
  15. else()
  16. message(FATAL_ERROR "Can't find CMAKE_JAVA_CLASS_OUTPUT_PATH")
  17. endif()
  18. cmake_policy(POP)