1. 09 Nov, 2013 1 commit
  2. 16 Jul, 2013 1 commit
  3. 07 Jul, 2013 1 commit
  4. 24 Jun, 2013 1 commit
  5. 10 Jun, 2013 1 commit
  6. 02 Jun, 2013 1 commit
  7. 23 Feb, 2013 1 commit
  8. 02 Feb, 2013 1 commit
    • Stephen Kelly's avatar
      Optimize genex evaluation for includes and defines. · 089fe1c1
      Stephen Kelly authored
      While porting boost to use these features, the generation step took
      too long (several minutes before I stopped it). The reason was that
      the boost libraries form a large interdependent mesh. The libraries
      list their dependencies in their INTERFACE such as:
      
       $<LINKED:boost::core>;$<LINKED:boost::config>;$<LINKED:boost::mpl>
      
      As boost::core already depends on the boost::config libraries, that
      expression has no impact on the end-content, as it is removed after
      the generation step. There is no DAG issue though, so the generator
      expression evaluation would fully evaluate them. In the case of the
      config library, it also depends on the core library, so all depends
      are followed through that again, despite the fact that they've just
      been evaluated. After this patch, the evaluation skips libraries if
      they have already been seen via depends or directly in the content.
      
      This patch keeps track of targets whose INTERFACE has been consumed
      already. The INCLUDE_DIRECTORIES and COMPILE_DEFINITIONS properties
      are whitelisted because repeated content will be stripped out later
      during generation. For other properties now and in the future, that
      may not be the case.
      089fe1c1
  9. 31 Jan, 2013 1 commit
  10. 20 Jan, 2013 1 commit
  11. 04 Jan, 2013 1 commit
    • Stephen Kelly's avatar
      Make cycles in target properties ignored, not an error. · c67b8124
      Stephen Kelly authored
      Constructs such as these are an error as they are direct self-references:
      
       set_property(TARGET foo APPEND PROPERTY
         INCLUDE_DIRECTORIES $<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>)
       set_property(TARGET foo APPEND PROPERTY
         INCLUDE_DIRECTORIES $<TARGET_PROPERTY:INCLUDE_DIRECTORIES>)
      
      However, this is an indirect self-reference in a cycle, and not an error:
      
       set_property(TARGET foo APPEND PROPERTY
         INCLUDE_DIRECTORIES $<TARGET_PROPERTY:bar,INCLUDE_DIRECTORIES>)
       set_property(TARGET bar APPEND PROPERTY
         INCLUDE_DIRECTORIES $<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>)
      c67b8124
  12. 28 Sep, 2012 1 commit