ExportLanguages.cmake 575 B

123456789101112131415
  1. enable_language(CXX)
  2. add_library(A OBJECT a.cxx)
  3. add_library(B STATIC a.c $<TARGET_OBJECTS:A>)
  4. # Verify that object library languages are propagated.
  5. export(TARGETS B NAMESPACE Exp FILE BExport.cmake)
  6. include(${CMAKE_CURRENT_BINARY_DIR}/BExport.cmake)
  7. get_property(configs TARGET ExpB PROPERTY IMPORTED_CONFIGURATIONS)
  8. foreach(c ${configs})
  9. get_property(langs TARGET ExpB PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES_${c})
  10. list(FIND langs CXX pos)
  11. if(${pos} LESS 0)
  12. message(FATAL_ERROR "Target export does not list object library languages.")
  13. endif()
  14. endforeach()