1. 11 Oct, 2017 1 commit
  2. 27 Sep, 2017 1 commit
  3. 02 Sep, 2017 1 commit
    • Craig Scott's avatar
      ExternalProject: Prevent COMMAND from being treated as a true keyword · 15617484
      Craig Scott authored
      The known keywords for each function are obtained by scraping the
      documentation for lines matching a particular regular expression. In
      commit 8842a027 (ExternalProject: Improve documentation, 2017-07-09),
      the docs were overhauled and the COMMAND docs subsequently matched the
      regular expression when they shouldn't have. This made COMMAND appear as
      a true keyword, which thwarted the special handling logic elsewhere for
      the intended use of COMMAND arguments.
      
      This commit contains a workaround for issue #17229 to force a dependency
      of the patch step on the update step to ensure a predictable step order.
      
      Fixes: #17198
      15617484
  4. 17 Jul, 2017 1 commit
    • Craig Scott's avatar
      ExternalProject: Improve documentation · 8842a027
      Craig Scott authored
      - Added clearer structure by grouping the options into logical sections.
      - Expanded the details for many of the options.
      - Added Examples section to show how to use the various commands.
      - Specifically highlighted that the contents of SOURCE_DIR may be lost
        if a download method is also provided.
      - Updated argument-matching regex to be more robust and account for the
        varying leading spaces before keywords in the docs.
      - Updated tests to account for slightly changed error messages.
      8842a027
  5. 12 Jul, 2017 1 commit
  6. 17 May, 2017 1 commit
    • Daniel Pfeifer's avatar
      Use string(APPEND) in Modules · 9e24af01
      Daniel Pfeifer authored
      Automate with:
      
      find Modules -type f -print0 | xargs -0 perl -i -0pe \
        's/set\(([a-zA-Z0-9_\$\{\}]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
      9e24af01
  7. 03 Apr, 2017 1 commit
    • Brad King's avatar
      ExternalProject: Run `git checkout` with `--` to clarify arguments · 12a78130
      Brad King authored
      Fix the case when the tag name to be checked out also happens to match a
      path name.  Unfortunately we cannot do this for Git versions prior to
      1.8.5 because they do not "do what I mean" to checkout remote branches
      when the `--` argument is given.
      
      Fixes: #16678
      12a78130
  8. 31 Mar, 2017 1 commit
    • Brad King's avatar
      ExternalProject: Fix regression in GIT_TAG with remote branch name · 6f3838c0
      Brad King authored
      The change in commit  v3.8.0-rc2~7^2 (ExternalProject: Run `git
      checkout` with `--` to clarify arguments, 2017-02-24) broke the case of
      `GIT_TAG some-remote-branch` because an explicit `--` means that the
      preceding argument is a tree-ish instead of a branch.  Revert the change
      and leave a comment.
      
      Fixes: #16763
      6f3838c0
  9. 27 Feb, 2017 1 commit
  10. 24 Feb, 2017 1 commit
  11. 21 Feb, 2017 2 commits
  12. 17 Jan, 2017 1 commit
    • Brad King's avatar
      ExternalProject: Restore case-insensitive download hash check · 0ed885f7
      Brad King authored
      Refactoring in commit v3.6.0-rc1~47^2 (ExternalProject: Re-implement
      download logic as a dedicated script, 2016-05-19) accidentally made the
      download hash check case-sensitive.  The hash comparison is done in hex
      strings, so restore case-insensitive comparison since the case of the
      hex digits does not matter.
      
      Fixes: #16568
      0ed885f7
  13. 17 Nov, 2016 1 commit
    • Karsten Sperling's avatar
      ExternalProject: Do not trip over pre-existing 'cmd' variable · 02445138
      Karsten Sperling authored
      Callers of `_ep_get_build_command` do not initialize the output variable
      they pass and expect the function to unconditionally set it.  Revise the
      function to not check its own output variable.  Otherwise if a `cmd`
      variable happens to be set when `ExternalProject_Add` is called then it
      will be erroneously used as the default `BUILD`, `TEST`, and `INSTALL`
      command.
      02445138
  14. 15 Nov, 2016 1 commit
    • Brad King's avatar
      ExternalProject: Fix UPDATE_DISCONNECTED with empty update steps · 4deaa25f
      Brad King authored
      When `UPDATE_DISCONNECTED` is enabled the post-update steps
      unconditionally depend on a `skip-update` step instead of `update`.
      Make `skip-update` available whenever `UPDATE_DISCONNECTED` is enabled,
      whether there is a real update step or not.
      
      Closes: #16428
      4deaa25f
  15. 11 Nov, 2016 1 commit
  16. 09 Nov, 2016 1 commit
  17. 19 Oct, 2016 1 commit
    • Ben Boeckel's avatar
      ExternalProject: support extracting the configure command · 63d215df
      Ben Boeckel authored
      Previously, the configure command generated by ExternalProject was not
      accessible prior to actually adding the targets. This makes the CMake
      configure command accessible with just a call to _ep_parse_arguments.
      
      Future work will leverage this to support custom environment settings on
      a per-project basis.
      63d215df
  18. 18 Oct, 2016 4 commits
  19. 10 Oct, 2016 1 commit
    • Max Smolens's avatar
      ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGS · a3c98cb3
      Max Smolens authored
      Fix passing a list to the CMAKE_CACHE_ARGS and CMAKE_CACHE_DEFAULT_ARGS
      options of ExternalProject_Add.
      
      Following commit v3.7.0-rc1~273^2~1 (prefer list(APPEND) over
      string(APPEND) where appropriate, 2016-08-08), the semicolon list
      separator after the first list element was missing in the generated
      cache.
      a3c98cb3
  20. 27 Sep, 2016 1 commit
    • Brad King's avatar
      Simplify CMake per-source license notices · 86578ecc
      Brad King authored
      Per-source copyright/license notice headers that spell out copyright holder
      names and years are hard to maintain and often out-of-date or plain wrong.
      Precise contributor information is already maintained automatically by the
      version control tool.  Ultimately it is the receiver of a file who is
      responsible for determining its licensing status, and per-source notices are
      merely a convenience.  Therefore it is simpler and more accurate for
      each source to have a generic notice of the license name and references to
      more detailed information on copyright holders and full license terms.
      
      Our `Copyright.txt` file now contains a list of Contributors whose names
      appeared source-level copyright notices.  It also references version control
      history for more precise information.  Therefore we no longer need to spell
      out the list of Contributors in each source file notice.
      
      Replace CMake per-source copyright/license notice headers with a short
      description of the license and lin...
      86578ecc
  21. 19 Sep, 2016 1 commit
  22. 15 Sep, 2016 1 commit
  23. 16 Aug, 2016 1 commit
    • Matthew Woehlke's avatar
      ExternalProject: Add SOURCE_SUBDIR option · a8345d65
      Matthew Woehlke authored
      Add a new SOURCE_SUBDIR option to ExternalProject_Add that allows
      specifying the location of the CMakeLists.txt to use as the project root
      relative to the SOURCE_DIR.
      
      This is helpful for projects that have unusual layouts, or projects that
      provide both a superbuild and project-only build depending on which
      CMakeLists.txt is used.
      
      Fixes: #15118
      a8345d65
  24. 15 Aug, 2016 1 commit
  25. 08 Aug, 2016 1 commit
  26. 02 Aug, 2016 1 commit
  27. 27 Jul, 2016 1 commit
    • Daniel Pfeifer's avatar
      Use string(APPEND) in Modules · 5d0d980d
      Daniel Pfeifer authored
      Automate with:
      
      find Modules -type f -print0 | xargs -0 perl -i -0pe \
      's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
      5d0d980d
  28. 13 Jul, 2016 1 commit
  29. 07 Jul, 2016 1 commit
  30. 05 Jul, 2016 1 commit
  31. 21 May, 2016 1 commit
  32. 19 May, 2016 5 commits