Skip to content
  • Brad King's avatar
    Add alternative _UTILITY targets to all solutions · 1b9e61f2
    Brad King authored
    In VS 6, 7, and 7.1 solutions we implement
    
      add_dependencies(myexe mylib) # depend without linking
    
    by creating an intermediate mylib_UTILITY target with dependencies
    
      myexe -> mylib_UTILITY -> mylib
    
    to avoid linking myexe to mylib.  Previously these extra targets were
    only added to the solution files in an ancestor directory of that
    defining mylib.  For example, in the project:
    
      # CMakeLists.txt
      project(TOP)
      add_subdirectory(A)
      add_subdirectory(b)
    
      # A/CMakeLists.txt
      add_library(mylib ...)
    
      # B/CMakeLists.txt
      project(B)
      add_executable(myexe ...)
      add_dependencies(myexe mylib)
    
    the solution for TOP would have mylib_UTILITY but the solution for B
    would not even though it pulls in mylib through the dependency.  This
    commit fixes solutions generated in other directories so that any
    solution that has mylib will get mylib_UTILITY also.
    
    See issue #9568.
    1b9e61f2