1. 08 Jan, 2014 2 commits
  2. 07 Jan, 2014 3 commits
  3. 06 Jan, 2014 2 commits
  4. 04 Jan, 2014 6 commits
  5. 02 Jan, 2014 1 commit
  6. 24 Dec, 2013 1 commit
    • Stephen Kelly's avatar
      export: Implement EXPORT subcommand (#9822) · cbe7e8fa
      Stephen Kelly authored
      Teach the export command to handle export sets defined by invocations
      of install(TARGETS ... EXPORT foo).  This makes maintenance of targets
      exported to both the build tree and install tree trivial.
      cbe7e8fa
  7. 19 Dec, 2013 1 commit
  8. 09 Dec, 2013 1 commit
    • Stephen Kelly's avatar
      Don't search for IMPORTED_LOCATION of INTERFACE_LIBRARY (14636) · 3b8e56a5
      Stephen Kelly authored
      The INTERFACE_LIBRARY type does not have any LOCATION at all, so
      return early from GetMappedConfig. GetMappedConfig is called from
      two locations, one of which already pre-checks the INTERFACE_LIBRARY
      case. Remove that pre-check and handle that case inside the method
      instead.
      3b8e56a5
  9. 08 Dec, 2013 2 commits
  10. 04 Dec, 2013 1 commit
    • Stephen Kelly's avatar
      export(): Check targets exist at configure-time (#14608) · 1cd1430b
      Stephen Kelly authored and Brad King's avatar Brad King committed
      Commit 66b290e7 (export(): Process the export() command at generate
      time., 2012-10-06 ) refactored export() so that it could evaluate
      strings at generate-time. This was intended for evaluating target
      properties, but that commit also removed a check for target
      existence at configure-time. Restore that check and add a test for
      this case.
      1cd1430b
  11. 26 Nov, 2013 3 commits
    • Stephen Kelly's avatar
      Export: Report error on relative include with genex. · 5838aba1
      Stephen Kelly authored
      Diagnostics which check the sanity of exported include paths
      previously skipped over any path containing a generator expression.
      
      Introduce a policy to issue an error message in such cases.
      
      The export files created in the OLD behavior are not usable, because
      they contain relative paths or paths to the source or build location
      which are not suitable for use on installation. CMake will report an
      error on import.
      5838aba1
    • Stephen Kelly's avatar
      Export: Process relative includes after genex evaluation. · 9eedc850
      Stephen Kelly authored
      In code such as
      
       install(TARGETS ...
         INCLUDES DESTINATION $<FOO>include
       )
      
      the generator expressions are evaluated at generate-time. Delay
      determining whether each entry is a relative path until after
      the generator expressions are evaluated. Such relative paths
      are based relative to the CMAKE_INSTALL_PREFIX.
      9eedc850
    • Stephen Kelly's avatar
      Export: Test existing behavior of exporting includes with genexes. · 80790f33
      Stephen Kelly authored
      Test that no warning or error diagnostic is issued for 'good code'.
      80790f33
  12. 25 Nov, 2013 1 commit
  13. 21 Nov, 2013 1 commit
  14. 19 Nov, 2013 1 commit
  15. 18 Nov, 2013 1 commit
    • Brad King's avatar
      Prefer CMAKE_MAKE_PROGRAM over CMAKE_BUILD_TOOL (#14548) · 4ac75fdf
      Brad King authored
      Historically these were both added for the Makefile and Visual Studio
      generators, respectively.  Later the VS generators started using the
      CMAKE_MAKE_PROGRAM cache entry to find the IDE build tool, and the
      CMAKE_BUILD_TOOL was simply set as an alias.
      
      Fix the documentation to explain that CMAKE_MAKE_PROGRAM is the modern
      variable and that CMAKE_BUILD_TOOL is the compatibility alias, not the
      other way around.  Replace uses of CMAKE_BUILD_TOOL with
      CMAKE_MAKE_PROGRAM in CMake-provided modules.  Nothing needs to lookup
      CMAKE_BUILD_TOOL in the cache, so simply set it as a normal variable.
      4ac75fdf
  16. 15 Nov, 2013 1 commit
    • Brad King's avatar
      build_command: Return a "cmake --build" command-line · bca67c71
      Brad King authored
      Re-implement the build_command() command to use "cmake --build" instead
      of generating a native build tool invocation directly.  This command
      will internally invoke the proper native build tool.
      
      This avoids requiring cmGlobalGenerator::GenerateBuildCommand to produce
      a string so that it can be later refactored to produce a vector with no
      quoting or escaping.  It will also allow us to later teach CMake to
      delay the decision about which build tool to invoke until after the
      project build system is generated to disk.  For example, on Visual
      Studio 10 and above the preferred command-line tool is MSBuild, but we
      need to fall back to devenv if the .sln has Intel Fortran .vfproj files.
      bca67c71
  17. 13 Nov, 2013 3 commits
  18. 12 Nov, 2013 2 commits
  19. 11 Nov, 2013 1 commit
    • Brad King's avatar
      Enable RunCMake.CMP0037 test everywhere · 8c6c1f16
      Brad King authored
      Split the test cases covering spaces and colons into separate units.
      Run the space cases everywhere.  Disable the colon cases where they
      are known to fail.  This approach increases platform coverage for the
      test and makes the known-failure logic as local as possible.
      
      No Makefile generator on Windows can generate targets with ':'
      in their name because the CMakeFiles/<target>.dir directory cannot
      be created.  Skip this part of the test on all Windows Make tools.
      8c6c1f16
  20. 07 Nov, 2013 3 commits
  21. 06 Nov, 2013 1 commit
    • Stephen Kelly's avatar
      Genex: Add a test for the LINK_ONLY expression. · 53b10fda
      Stephen Kelly authored
      Commit 239b0c6b (Don't add invalid content to static lib
      INTERFACE_LINK_LIBRARIES., 2013-10-20) extended a test which
      excercised the logic of the LINK_ONLY generator expression.
      
      Commit ef10b87c (CMP0022: Plain target_link_libraries must populate
      link interface, 2013-11-02) removed the instance of LINK_ONLY which
      was excercised by that test.
      
      Add a new test which excercises the other instance of LINK_ONLY by
      setting the CMP0022 policy to NEW and consuming the contents of the
      INTERFACE_LINK_LIBRARIES target property.
      53b10fda
  22. 03 Nov, 2013 1 commit
    • Brad King's avatar
      CMP0022: Warn about a given target at most once · 0a561a03
      Brad King authored
      Since cmTarget::ComputeLinkInterface is called separately for each
      "head" target that links a target, the warning we produce when
      CMP0022 is not set could be repeated.  Add explicit logic to allow
      the warning to appear at most once.  Multiple copies of the warning
      for the same target are almost always identical and therefore
      redundant.  In the rare case that two copies of the warning are
      different, the second can appear in a future run after the first
      is fixed.
      0a561a03
  23. 02 Nov, 2013 1 commit
    • Brad King's avatar
      Do not export INTERFACE_LINK_LIBRARIES from non-linkable targets · 23d21b78
      Brad King authored
      When cmExportFileGenerator::SetImportLinkInterface exports the old
      LINK_INTERFACE_LIBRARIES property values it skips doing so for
      non-linkable targets because target->GetLinkInterface returns NULL for
      such targets.
      
      Since cmExportFileGenerator::PopulateInterfaceLinkLibrariesProperty
      looks at the INTERFACE_LINK_LIBRARIES property directly instead of using
      the computed link interface, teach it to skip exporting the property if
      target->IsLinkable returns false.
      
      Extend the RunCMake.CMP0022 test with a case covering this.  Simply
      export an executable target that links to a library that is not
      exported.
      23d21b78