1. 29 Jan, 2014 2 commits
    • Brad King's avatar
      project: Manage VERSION variables · 7e142c5a
      Brad King authored
      
      
      Teach the project() command to set variables
      
        {PROJECT,<PROJECT-NAME>}_VERSION{,_MAJOR,_MINOR,_PATCH,_TWEAK}
      
      holding the project version number and its components.  Add project()
      command option "VERSION" to specify the version explicitly, and default
      to the empty string when it is not given.
      
      Since this clears variables when no VERSION is given, this may change
      behavior for existing projects that set the version variables themselves
      prior to calling project().  Add policy CMP0048 for compatibility.
      Suggested-by: Alexander Neundorf's avatarAlex Neundorf <neundorf@kde.org>
      7e142c5a
    • Brad King's avatar
      project: Add optional LANGUAGES keyword · 16d040c9
      Brad King authored
      Teach the project() command to recognize an optional "LANGUAGES"
      keyword after the project name and prior to the list of languages.
      Do not allow multiple copies of the keyword.  If the keyword is
      specified and no languages are listed, imply NONE.
      16d040c9
  2. 21 Jan, 2014 3 commits
  3. 20 Jan, 2014 3 commits
    • Brad King's avatar
      cmake: Improve '-E create_symlink' edge case handling (#14713) · e0228e2b
      Brad King authored
      The logic added by commit ffc0b5e4 (Overwrite the symlink if it already
      exists, 2007-02-15) does not recognize and remove existing broken links
      before replacing them.  Improve the logic to remove any existing
      destination file or link (but not directory).  On failure, report an
      error message explaining why the existing path could not be removed or
      the new one could not be created.
      
      Add a RunCMake.CommandLine test to cover 'cmake -E' cases.  Start with
      test cases covering 'cmake -E create_symlink' behavior on UNIX platforms.
      e0228e2b
    • Brad King's avatar
      Tests/RunCMake: Add function to run a specified command-line · d4ca30ae
      Brad King authored
      Add a 'run_cmake_command' function that can be used by tests to run a
      given command-line and check the results rather than always running a
      CMake configuration process.  This can be used in the future to test
      'cmake -E' for example.
      d4ca30ae
    • Brad King's avatar
      392a6553
  4. 12 Jan, 2014 1 commit
  5. 10 Jan, 2014 1 commit
  6. 08 Jan, 2014 4 commits
  7. 07 Jan, 2014 4 commits
  8. 06 Jan, 2014 2 commits
  9. 04 Jan, 2014 6 commits
  10. 02 Jan, 2014 1 commit
  11. 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
  12. 19 Dec, 2013 1 commit
  13. 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
  14. 08 Dec, 2013 2 commits
  15. 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
  16. 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
  17. 25 Nov, 2013 1 commit
  18. 21 Nov, 2013 1 commit
  19. 19 Nov, 2013 1 commit
  20. 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