1. 25 Jun, 2015 1 commit
    • Brad King's avatar
      cmTarget: Fix diagnostic of target_link_libraries in wrong directory (#15626) · 30c2e1dd
      Brad King authored
      Since commit v3.3.0-rc1~62^2~5 (cmTarget: Store only cmListFileContext
      for CMP0023 handling, 2015-05-18) a call to target_link_libraries on a
      target that was defined in another (non-ancestor) directory crashes
      because no execution context is left active.  Fix this by getting the
      execution context from the actual cmMakefile where the current
      target_link_libraries call takes place.  Test this by verifying that
      such calls correctly produce an error diagnostic instead of crashing.
  2. 01 Jun, 2015 1 commit
  3. 29 May, 2015 1 commit
  4. 26 May, 2015 2 commits
    • Brad King's avatar
      Tests: Add case for rejecting $<TARGET_FILE:...> on an INTERFACE library · 89253992
      Brad King authored
      Add an explicit test for this existing error.  We already cover it for
      an OBJECT library but INTERFACE libraries are not allowed either.
    • Brad King's avatar
      Honor visibility properties for all target types (#15556) · 700f1c3b
      Brad King authored
      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
  5. 22 May, 2015 2 commits
    • Brad King's avatar
      Tests: Refactor RunCMake.VisibilityPreset test setup · ab55b3b5
      Brad King authored
      Enable languages only in the individual test case.  Enable the test
      everywhere except Visual Studio generators (which do not implement the
      properties) and just set fake flags as needed to activate relevant code
      paths.  Drop unneeded CMAKE_SUPPRESS_REGENERATION which seems to have
      been copied from an unrelated test when this test was created.
    • Brad King's avatar
      Makefile: Fix <LANG>_INCLUDE_WHAT_YOU_USE with CTEST_USE_LAUNCHERS · b3475ba5
      Brad King authored
      The 'ctest --launch' command must be placed before the IWYU launcher on
      the compiler command line.  Extend the RunCMake.IncludeWhatYouUse test
      to cover this case.  The Ninja generator already does it correctly.
  6. 19 May, 2015 2 commits
  7. 18 May, 2015 2 commits
    • Stephen Kelly's avatar
    • Brad King's avatar
      Fix assertion failure on unmatched foreach in function (#15572) · 3a656065
      Brad King authored
      The lexical scope counting added by commit v3.2.0-rc1~332^2~1 (Track
      nested loop levels in CMake language with a stack of counters,
      2014-11-18) forgot to account for scopes popped by error messages about
      unclosed scopes.  Teach the error handler to pop the lexical scope it
      reports as unclosed.  Re-order the lexical scope RAII object to be
      inside the variable scope RAII object scope so that the lexical scope
      is fully closed before we check assertions about variable scopes.
      Extend the RunCMake.Syntax test with a case covering this.
  8. 17 May, 2015 1 commit
  9. 14 May, 2015 3 commits
  10. 12 May, 2015 1 commit
  11. 08 May, 2015 1 commit
  12. 07 May, 2015 1 commit
    • Brad King's avatar
      execute_process: Improve stdout/stderr merging · f65bb82f
      Brad King authored
      Use the KWSys Process "MergeOutput" option to give the child process
      the same pipe (or file) for both stdout and stderr.  This allows
      natural merging of stdout and stderr together instead of merging
      on arbitrary buffered read boundaries as before.
  13. 30 Apr, 2015 2 commits
  14. 29 Apr, 2015 1 commit
  15. 27 Apr, 2015 2 commits
  16. 22 Apr, 2015 1 commit
  17. 21 Apr, 2015 1 commit
  18. 20 Apr, 2015 2 commits
  19. 17 Apr, 2015 1 commit
  20. 15 Apr, 2015 2 commits
  21. 12 Apr, 2015 1 commit
  22. 10 Apr, 2015 5 commits
  23. 09 Apr, 2015 1 commit
    • Brad King's avatar
      Link libraries by full path even in implicit directories · 882f48e5
      Brad King authored
      When CMP0003 was first introduced we wanted to link all libraries by
      full path.  However, some projects had problems on platforms where
      find_library would find /usr/lib/libfoo.so when the project really
      wanted to link to /usr/lib/<arch>/libfoo.so and had been working by
      accident because pre-CMP0003 behavior used -lfoo to link.
      We first tried to address that in commit v2.6.0~440 (Teach find_library
      to avoid returning library paths in system directories, 2008-01-23) by
      returning just "foo" for libraries in implicit link directories.  This
      caused problems for projects expecting find_library to always return a
      full path.  We ended up using the solution in commit v2.6.0~366 (...
      switch library paths found in implicit link directories to use -l,
      2008-01-31).  However, the special case for libraries in implicit link
      directories has also proven problematic and confusing.
      Introduce policy CMP0060 to switch to linking all libraries by full path
      even if they are in implicit link directories.  Explain in the policy
      documentation the factors that led to the original approach and now to
      this approach.
  24. 08 Apr, 2015 2 commits
  25. 07 Apr, 2015 1 commit
    • Matt McCormick's avatar
      Properties: Add CROSSCOMPILING_EMULATOR target property. · 579c4bec
      Matt McCormick authored
      Add CROSSCOMPILING_EMULATOR target property for executables. This is used by
      subsequent patches to run exectuables created for the target system when
      crosscompiling. The property is initialized by the
      CMAKE_CROSSCOMPILING_EMULATOR variable when defined.