ProjectProvidesPackageConfigFiles.cmake 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. include(FetchContent)
  2. FetchContent_Declare(
  3. ConfigForm1
  4. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/FatalIfAdded
  5. FIND_PACKAGE_ARGS 1.8 EXACT REQUIRED
  6. )
  7. file(WRITE ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/ConfigForm1Config.cmake [[
  8. set(ConfigForm1_FOUND TRUE)
  9. message(STATUS "ConfigForm1 override successful")
  10. ]]
  11. )
  12. file(WRITE ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/ConfigForm1ConfigVersion.cmake [[
  13. set(PACKAGE_VERSION 1.8)
  14. set(PACKAGE_VERSION_EXACT TRUE)
  15. set(PACKAGE_VERSION_COMPATIBLE TRUE)
  16. ]]
  17. )
  18. FetchContent_Declare(
  19. ConfigForm2
  20. SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/FatalIfAdded
  21. FIND_PACKAGE_ARGS 1.8 REQUIRED
  22. )
  23. file(WRITE ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/configform2-config.cmake [[
  24. set(ConfigForm2_FOUND TRUE)
  25. message(STATUS "ConfigForm2 override successful")
  26. ]]
  27. )
  28. file(WRITE ${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/configform2-config-version.cmake [[
  29. set(PACKAGE_VERSION 1.9.7)
  30. set(PACKAGE_VERSION_EXACT FALSE)
  31. set(PACKAGE_VERSION_COMPATIBLE TRUE)
  32. ]]
  33. )
  34. FetchContent_MakeAvailable(ConfigForm1 ConfigForm2)
  35. message(STATUS "ConfigForm1_VERSION = ${ConfigForm1_VERSION}")
  36. message(STATUS "ConfigForm2_VERSION = ${ConfigForm2_VERSION}")