generate_target.cmake 942 B

12345678910111213141516171819
  1. # This file is part of Desktop App Toolkit,
  2. # a set of libraries for developing nice desktop applications.
  3. #
  4. # For license and copyright information please follow this link:
  5. # https://github.com/desktop-app/legal/blob/master/LEGAL
  6. function(generate_target parent_name postfix generated_timestamp generated_files gen_dst)
  7. add_custom_target(${parent_name}_${postfix} DEPENDS ${generated_timestamp})
  8. init_target_folder(${parent_name}_${postfix} "(gen)")
  9. add_dependencies(${parent_name} ${parent_name}_${postfix})
  10. get_target_property(parent_type ${parent_name} TYPE)
  11. if (${parent_type} STREQUAL "INTERFACE_LIBRARY")
  12. target_include_directories(${parent_name} SYSTEM INTERFACE ${gen_dst})
  13. else()
  14. target_include_directories(${parent_name} SYSTEM PUBLIC ${gen_dst})
  15. target_sources(${parent_name} PRIVATE ${generated_files})
  16. endif()
  17. source_group("(gen)" FILES ${generated_files})
  18. endfunction()