VerifyHeaderSet.cmake 1.0 KB

123456789101112131415161718192021
  1. enable_language(C)
  2. set(CMAKE_VERIFY_INTERFACE_HEADER_SETS TRUE)
  3. set(CMAKE_VERIFY_PRIVATE_HEADER_SETS TRUE)
  4. include(FetchContent)
  5. FetchContent_Declare(verify_subproj
  6. SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/VerifyHeaderSet
  7. )
  8. message(STATUS "Before subproject, interface var = '${CMAKE_VERIFY_INTERFACE_HEADER_SETS}'")
  9. message(STATUS "Before subproject, private var = '${CMAKE_VERIFY_PRIVATE_HEADER_SETS}'")
  10. FetchContent_MakeAvailable(verify_subproj)
  11. # Provide a way to verify the variable was reset back to its original value
  12. message(STATUS "After subproject, interface var = '${CMAKE_VERIFY_INTERFACE_HEADER_SETS}'")
  13. message(STATUS "After subproject, private var = '${CMAKE_VERIFY_PRIVATE_HEADER_SETS}'")
  14. get_property(verify_interface TARGET Blah PROPERTY VERIFY_INTERFACE_HEADER_SETS)
  15. get_property(verify_private TARGET Blah PROPERTY VERIFY_PRIVATE_HEADER_SETS)
  16. message(STATUS "Subproject target property VERIFY_INTERFACE_HEADER_SETS='${verify_interface}'")
  17. message(STATUS "Subproject target property VERIFY_PRIVATE_HEADER_SETS='${verify_private}'")