CheckTargetObjects.cmake 946 B

1234567891011121314151617181920212223242526272829303132
  1. add_library(StaticLib STATIC a.c)
  2. add_custom_command(TARGET StaticLib POST_BUILD
  3. VERBATIM
  4. COMMAND ${CMAKE_COMMAND}
  5. "-DTARGET_OBJECTS=$<TARGET_OBJECTS:StaticLib>"
  6. -DEXPECTED_NUM_OBJECTFILES=2
  7. -P "${CMAKE_CURRENT_SOURCE_DIR}/check_object_files.cmake"
  8. )
  9. add_library(SharedLib SHARED a.c b.c)
  10. target_compile_definitions(SharedLib PRIVATE REQUIRED)
  11. add_custom_command(TARGET SharedLib POST_BUILD
  12. VERBATIM
  13. COMMAND ${CMAKE_COMMAND}
  14. "-DTARGET_OBJECTS:STRING=$<TARGET_OBJECTS:SharedLib>"
  15. -DEXPECTED_NUM_OBJECTFILES=2
  16. -P "${CMAKE_CURRENT_SOURCE_DIR}/check_object_files.cmake"
  17. )
  18. add_executable(ExecObjs a.c b.c exe.c)
  19. target_compile_definitions(ExecObjs PRIVATE REQUIRED)
  20. add_custom_target(check_exec_objs ALL
  21. VERBATIM
  22. COMMAND ${CMAKE_COMMAND}
  23. "-DTARGET_OBJECTS=$<TARGET_OBJECTS:ExecObjs>"
  24. -DEXPECTED_NUM_OBJECTFILES=3
  25. -P "${CMAKE_CURRENT_SOURCE_DIR}/check_object_files.cmake"
  26. DEPENDS ExecObjs
  27. )