ScriptMode.cmake 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. include(FetchContent)
  2. file(WRITE tmpFile.txt "Generated contents, not important")
  3. FetchContent_Populate(
  4. t1
  5. DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E copy
  6. ${CMAKE_CURRENT_BINARY_DIR}/tmpFile.txt
  7. <SOURCE_DIR>/done1.txt
  8. )
  9. if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/t1-src/done1.txt)
  10. message(FATAL_ERROR "Default SOURCE_DIR doesn't contain done1.txt")
  11. endif()
  12. FetchContent_Populate(
  13. t2
  14. SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/mysrc
  15. DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E copy
  16. ${CMAKE_CURRENT_BINARY_DIR}/tmpFile.txt
  17. <SOURCE_DIR>/done2.txt
  18. )
  19. if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/mysrc/done2.txt)
  20. message(FATAL_ERROR "Specified SOURCE_DIR doesn't contain done2.txt")
  21. endif()
  22. FetchContent_Populate(
  23. t3
  24. SOURCE_DIR myrelsrc
  25. DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E copy
  26. ${CMAKE_CURRENT_BINARY_DIR}/tmpFile.txt
  27. <SOURCE_DIR>/done3.txt
  28. )
  29. if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/myrelsrc/done3.txt)
  30. message(FATAL_ERROR "Relative SOURCE_DIR doesn't contain done3.txt")
  31. endif()