1. 11 Dec, 2012 11 commits
    • Brad King's avatar
      OS X: Detect implicit linker framework search paths · cc676c3a
      Brad King authored
      Previously we hard-coded a list of implicit framework directories but
      did not account for CMAKE_OSX_SYSROOT or for changes to the list across
      OS X versions.  Instead we should automatically detect the framework
      directories for the active toolchain.
      The parent commit added the "-Wl,-v" option to ask "ld" to print its
      implicit directories.  It displays a block such as:
       Framework search paths:
      Parse this block to extract the list of framework directories.
      Detection may fail on toolchains that do not list their framework
      directories, such as older OS X linkers.  Always treat the paths
       <sdk>/Network/Library/Frameworks # Older OS X only
      as implicit.  Note that /System/Library/Frameworks should always be
      considered implicit so that frameworks CMake finds there will not
      override the SDK copies.
    • Brad King's avatar
      OS X: Detect implicit link directories on modern toolchains · 2dd67c7e
      Brad King authored
      We detect the implicit link directories for the toolchain by adding a
      flag to get verbose output from the compiler front-end while linking the
      ABI detection binary.  Newer OS X toolchains based on Clang do not add
      the implicit link directories with -L options to their internal
      invocation of "ld".  Instead they use a linker that comes with the
      toolchain and is already configured with the proper directories.
      Add the "-Wl,-v" option to ask "ld" to print its implicit directories.
      It displays them in a block such as:
       Library search paths:
      Parse this block to extract the implicit link directories.
      While at it, remove the checks introduced by commit efaf335b (Skip
      implicit link information on Xcode, 2009-07-23) and commit 5195a664
      (Skip implicit link info for multiple OS X archs, 2009-09-22).  Discard
      the non-system link directories added by Xcode.  Discard all detected
      implicit libraries in the multi-architecture case but keep the
      directories.  The directories are still useful without the libraries
      just to suppress addition of explicit -L options for them.
    • Brad King's avatar
      OS X: Link with all framework search paths, not just the last · ba58d0c0
      Brad King authored
      Refactoring in commit 8d674e78 (Ninja: move -LIBPATH behind -link
      option, 2012-09-26) accidentally added code that overwrites the
      framework search path flags on each iteration instead of appending.
      Change '=' to '+=' to fix it.  This affects Makefile and Ninja
    • David Cole's avatar
      Merge topic 'fix-13657-more-gcov47-output' · d0369a98
      David Cole authored
      61ace1df CTest: Coverage handler: expect certain output lines from gcov 4.7 (#13657)
    • David Cole's avatar
      Merge topic 'xcode-framework-paths' · bc9dcadf
      David Cole authored
      f0d93854 Makefile: Use modern link information for framework search paths
      2bc22bda Xcode: Add frameworks search paths from link dependeny closure (#13397)
    • David Cole's avatar
      Merge topic 'TheRealAutomocIncludeDirFix' · 7b20f893
      David Cole authored
      acc22400 Automoc: get include dirs without stripping implicit include dirs off
    • David Cole's avatar
      Merge topic 'skip-variable-re-expansion' · 28c6d326
      David Cole authored
      711b63f7 Add policy CMP0019 to skip include/link variable re-expansion
    • David Cole's avatar
      Merge topic 'ConfigHelperMinorCommentFix' · 3d0f1957
      David Cole authored
      8039bd08 CONFIGURE_PACKAGE_CONFIG_FILE(): improve generated comments
    • David Cole's avatar
      Merge topic 'add-timestamp-subcommands' · b575eadc
      David Cole authored
      12d87c04 CMake: Fix dashboard build errors and warnings
      e28ce248 CMake: Fix dashboard test failure
      354ecc1e CMake: Fix dashboard warnings
      d842d906 CMake: Stylistic changes and documentation tweaks
      711e2b3b CMake: Add TIMESTAMP subcommand to string and file commands
    • David Cole's avatar
      Merge topic 'OpenBSD-patches' · d73c4057
      David Cole authored
      f80ccac1 OpenBSD: Add paths for Qt3/Qt4
    • Kitware Robot's avatar
      CMake Nightly Date Stamp · ab2b1f44
      Kitware Robot authored
  2. 10 Dec, 2012 2 commits
  3. 09 Dec, 2012 1 commit
  4. 08 Dec, 2012 1 commit
  5. 07 Dec, 2012 5 commits
    • Brad King's avatar
      Makefile: Use modern link information for framework search paths · f0d93854
      Brad King authored
      Use cmComputeLinkInformation::GetFrameworkPaths to get the list of
      framework paths needed by the linker.  Drop the now unused framework
      information from the old-style cmTarget link dependency analysis.
    • Alexander Neundorf's avatar
      Automoc: get include dirs without stripping implicit include dirs off · acc22400
      Alexander Neundorf authored
      This should finally fix #13667 and #13762.
      Instead of adding special handling to guess whether implicit include dirs
      may have been removed, simply make it possible to query the include dirs
      without removing the implicit ones.
    • Brad King's avatar
      Xcode: Add frameworks search paths from link dependeny closure (#13397) · 2bc22bda
      Brad King authored
      The Xcode generator produces FRAMEWORK_SEARCH_PATHS from:
      (1) Include directories of the form /path/to/Foo.framework become
          -F/path/to so '#include <Foo/H>' can find H in the framework.
      (2) Linked frameworks of the form /path/to/Foo.framework become
          -F/path/to -framework Foo so the linker can find the framework.
      Originally commit 82bb6fae (add framework support to FIND_FILE,
      2005-12-27) added these and used the (then current) old-style link
      dependency analysis results to get the frameworks.  Later a second
      setting was added by commit 2ed6191f (add initial xcode framework stuff,
      2007-05-08) to transform -F/path/to linker options produced by the old
      link line generation into entries appended to FRAMEWORK_SEARCH_PATHS.
      Then commit 96fd5909 (Implement linking with paths to library files,
      2008-01-22) updated the second setting to directly use the results of
      full modern link dependency analysis, but forgot to remove the use of
      old-style link results from the original setting location.
      The two settings worked together for a while, with the second one
      appending to the first.  Then commit f33a27ab (Generate native Xcode 3.0
      and 3.1 projects, 2009-06-29) changed the internal representation format
      produced by the first setting but did not update the second setting to
      append to the new representation.  As a result, if the first setting
      added any paths (usually via the old-style link analysis) then the
      second setting containing the modern link analysis results would not be
      applied at all.
      Fix this by removing use of the old-style link analysis results.
      Replace it using the modern link dependencies and remove the second
      setting altogether.  Now all values for FRAMEWORK_SEARCH_PATHS are
      collected in one place so no special append logic is needed.
    • Brad King's avatar
      Add policy CMP0019 to skip include/link variable re-expansion · 711b63f7
      Brad King authored
      Historically CMake has always expanded ${} variable references in the
      values given to include_directories(), link_directories(), and
      link_libraries().  This has been unnecessary since general ${}
      evaluation syntax was added to the language a LONG time ago, but has
      remained for compatibility with VERY early CMake versions.
      For a long time the re-expansion was a lightweight operation because it
      was only processed once at the directory level and the fast-path of
      cmMakefile::ExpandVariablesInString was usually taken because values did
      not have any '$' in them.  Then commit d899eb71 (Call
      ExpandVariablesInString for each target's INCLUDE_DIRECTORIES,
      2012-02-22) made the operation a bit heavier because the expansion is
      now needed on a per-target basis.  In the future we will support
      generator expressions in INCLUDE_DIRECTORIES with $<> syntax, so the
      fast-path in cmMakefile::ExpandVariablesInString will no longer be taken
      and re-expansion will be very expensive.
      Add policy CMP0019 to skip the re-expansion altogether in NEW behavior.
      In OLD behavior perform the expansion but improve the fast-path
      heuristic to match ${} but not $<>.  If the policy is not set then warn
      if expansion actually does anything.  We expect this to be encountered
      very rarely in practice.
    • Kitware Robot's avatar
      CMake Nightly Date Stamp · 2be87f8f
      Kitware Robot authored
  6. 06 Dec, 2012 3 commits
  7. 05 Dec, 2012 16 commits
  8. 04 Dec, 2012 1 commit
    • David Cole's avatar
      CPack: Fix dashboard errors and warnings (#11575) · a74bd470
      David Cole authored
      ...revealed by the Nightly dashboard runs last night.
      Use "size_t" instead of "std::size_t" so that it compiles with
      Visual Studio 6, too.
      Fix warnings about shadowed "tmp" local variable and ordering of
      member variables vs. lines of code in the constructor initializer