1. 13 Jul, 2015 1 commit
    • Brad King's avatar
      Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables · c736de7b
      Brad King authored
      Teach the Makefile and Ninja generators to substitute for an <INCLUDES>
      placeholder instead of putting -I in <FLAGS>.  Update our values for
      
        CMAKE_<LANG>_COMPILE_OBJECT,
        CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and
        CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE
      
      to place <INCLUDES> just before <FLAGS>.
      c736de7b
  2. 21 Jun, 2015 3 commits
  3. 13 Jun, 2015 1 commit
    • Stephen Kelly's avatar
      cmGlobalGenerator: Add ComputeHomeRelativeOutputPath method. · 0efe4944
      Stephen Kelly authored
      Fix generation of tgt/fast build targets.
      
      Commit 363caa2f (cmLocalGenerator: De-virtualize Configure().,
      2015-05-30) moved the computation of HomeRelativeOutputPath from
      Configure-time to Generate-time, because it is only used at
      Generate-time.  However, that commit caused the member for one
      local generator to be computed immediately before generating with
      that local generator, whereas previously the members of all local
      generators were computed before generating any of them.
      
      The HomeRelativeOutputPath is used by the GetRelativeTargetDirectory
      method, which is called by the
      cmGlobalUnixMakefileGenerator3::WriteConvenienceRules method.  That
      method is called by the
      cmLocalUnixMakefileGenerator3::WriteLocalMakefile method when generating
      for the top-most (ie, the first) local generator.  At that point,
      the HomeRelativeOutputPath is not yet computed.
      
      Fix that by computing the member just before generating anything.
      This will eventually be done in the cmLocalUnixMakefileGenerator3
      constructor instead, but further refactoring is needed to make
      that possible.
      0efe4944
  4. 09 Jun, 2015 1 commit
  5. 06 Jun, 2015 2 commits
  6. 04 Jun, 2015 5 commits
  7. 03 Jun, 2015 2 commits
    • Stephen Kelly's avatar
      cmLocalGenerator: Remove obsolete method. · 3d8c6cd9
      Stephen Kelly authored
      3d8c6cd9
    • Stephen Kelly's avatar
      Remove CMAKE_USE_RELATIVE_PATHS variable. · 1335992c
      Stephen Kelly authored
      The test for this variable was removed in commit v2.8.8~330^2~7 (complex:
      Remove ancient unused ComplexRelativePaths test, 2011-12-23).
      
      Commit v3.1.0-rc1~425^2~2 (backtrace: Convert to local paths in
      IssueMessage, 2014-03-12) appears to have accidentally made some backtraces
      print relative paths with the variable because conversions which used to be
      done at configure time, before the variable had an effect are now potentially
      done at generate time.
      
      The documentation of the variable says not to use it, and the docs are wrong in
      that the variable actually applies in per-directory scope.
      
      The read of the variable makes it harder to split conversion methods from
      cmLocalGenerator where they don't belong.  Remove it now.
      1335992c
  8. 27 May, 2015 1 commit
    • Stephen Kelly's avatar
      cmLocalGenerator: Require a valid cmState::Snapshot in the ctor. · 3b880a07
      Stephen Kelly authored
      Refactor the local generator creation API to accept a
      cmState::Snapshot.  Adjust MakeLocalGenerator to use the 'current'
      snapshot in cases where there is no parent.  Create the snapshot
      for subdirectories in cmMakefile::AddSubdirectory.
      
      This means that snapshots are now created at the point of extending the tree,
      as appropriate, and independently of the cmLocalGenerator and cmMakefile they
      represent the state for.
      3b880a07
  9. 26 May, 2015 1 commit
    • Brad King's avatar
      Honor visibility properties for all target types (#15556) · 700f1c3b
      Brad King authored
      The <LANG>_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN were first
      merged in commit v2.8.12~322 (Merge topic 'VISIBILITY_PRESET-property',
      2013-06-05) but worked only for shared libraries and executables with
      exports.  Prior to commit v3.0.0-rc1~581^2 (GenerateExportHeader:
      Deprecate add_compiler_export_flags function., 2013-09-02) the
      add_compiler_export_flags function was used to add visibility flags to
      all targets.
      
      The visibility flags are useful for sources in all target types because
      they may be later linked into shared libraries or executables with
      exports.  Introduce policy CMP0063 to enable them for all target types
      while preserving compatibility with existing projects that do not expect
      this.
      700f1c3b
  10. 20 May, 2015 2 commits
  11. 18 May, 2015 1 commit
  12. 16 May, 2015 3 commits
  13. 14 May, 2015 7 commits
  14. 28 Apr, 2015 1 commit
  15. 09 Apr, 2015 1 commit
  16. 09 Mar, 2015 2 commits
  17. 13 Oct, 2014 1 commit
    • Brad King's avatar
      Ninja: Fix RC include directories regression · f4c5eade
      Brad King authored
      Changes in commit b9aa5041 (cmLocalGenerator: Simplify GetIncludeFlags
      output formatting, 2014-03-04) caused Windows Resource Compiler include
      directories to be computed as relative paths in the Ninja generator.
      This breaks the cmcldeps handling of include paths.  The reason for the
      regression is that several cmLocalGenerator::GetIncludeFlags callers
      treated the fourth "bool forResponseFile" argument as if it controlled
      whether include directories were a full path.  It actually did control
      that by accident until the above commit.
      
      Add an explicit "bool forceFullPaths" argument to GetIncludeFlags
      and thread the value through ConvertToIncludeReference as needed.
      Update GetIncludeFlags call sites that really wanted to control the
      forResponseFile setting to be aware of the new argument.  Extend the
      VSResource test to cover this case.
      f4c5eade
  18. 22 Jul, 2014 1 commit
  19. 05 Jun, 2014 1 commit
    • Brad King's avatar
      Add OBJECT_FILE_DIR rule placeholder for compilation lines · 8256ccb7
      Brad King authored
      Some compilers do not offer an option to specify the path to the object
      file, but rather only to the directory in which to place the object
      file.  See issue 14876 for some examples.  Add a new OBJECT_FILE_DIR
      placeholder to specify the directory containing the object file for the
      current compilation.  This may differ from the main target OBJECT_DIR
      when the object corresponds to a source in a subdirectory.
      8256ccb7
  20. 07 May, 2014 1 commit
  21. 08 Apr, 2014 1 commit
  22. 07 Apr, 2014 1 commit