OpENer_CIP_Object_generator.cmake 1.5 KB

1234567891011121314151617181920212223242526272829
  1. FILE(GLOB_RECURSE FILES_FOUND "${OpENer_CIP_OBJECTS_DIR}/*CMakeLists.txt")
  2. FOREACH(FILE ${FILES_FOUND})
  3. string(REPLACE "${OpENer_CIP_OBJECTS_DIR}" "" CIP_OBJECT_NAME ${FILE})
  4. STRING(REGEX MATCH "^/([^/]*)/CMakeLists.txt$" CIP_OBJECT_NAME ${CIP_OBJECT_NAME})
  5. IF(CIP_OBJECT_NAME)
  6. string(REPLACE "/CMakeLists.txt" "" CIP_OBJECT_NAME "${CIP_OBJECT_NAME}")
  7. string(REPLACE "/" "" CIP_OBJECT_NAME "${CIP_OBJECT_NAME}")
  8. LIST(APPEND CIP_OBJECT_LIST ${CIP_OBJECT_NAME})
  9. ENDIF(CIP_OBJECT_NAME)
  10. ENDFOREACH(FILE)
  11. SET(WRITE_FILE "")
  12. FOREACH(CIP_OBJECT ${CIP_OBJECT_LIST})
  13. SET(WRITE_FILE "${WRITE_FILE}SET(SOURCE_GROUP_BACKUP \"\${SOURCE_GROUP}\")\n")
  14. SET(WRITE_FILE "${WRITE_FILE}SET(SOURCE_GROUP \"\${SOURCE_GROUP}/${CIP_OBJECT}\")\n")
  15. SET(WRITE_FILE "${WRITE_FILE}ADD_SUBDIRECTORY(\"\${OpENer_CIP_OBJECTS_DIR}/${CIP_OBJECT}\")\n")
  16. SET(WRITE_FILE "${WRITE_FILE}SET(SOURCE_GROUP \"\${SOURCE_GROUP_BACKUP}\")\n")
  17. ENDFOREACH(CIP_OBJECT)
  18. file(WRITE ${CMAKE_BINARY_DIR}/cip_objects/CMakeLists_new.txt ${WRITE_FILE})
  19. execute_process( COMMAND ${CMAKE_COMMAND} -E compare_files ${CMAKE_BINARY_DIR}/cip_objects/CMakeLists_new.txt ${CMAKE_BINARY_DIR}/cip_objects/CMakeLists.txt RESULT_VARIABLE test_not_successful OUTPUT_QUIET ERROR_QUIET )
  20. IF(test_not_successful)
  21. file(REMOVE ${CMAKE_BINARY_DIR}/cip_objects/CMakeLists.txt)
  22. file(RENAME ${CMAKE_BINARY_DIR}/cip_objects/CMakeLists_new.txt ${CMAKE_BINARY_DIR}/cip_objects/CMakeLists.txt)
  23. ENDIF( test_not_successful)
  24. file(REMOVE ${CMAKE_BINARY_DIR}/cip_objects/CMakeLists_new.txt)