1. 22 May, 2015 1 commit
  2. 27 Mar, 2015 2 commits
  3. 25 Feb, 2015 1 commit
    • Brad King's avatar
      ExternalData: Add support for custom algorithm-to-URL mapping · f7f4ca55
      Brad King authored
      Allow URL templates to contain a %(algo:<key>) placeholder that is
      replaced by mapping the canonical hash algorithm name through a map
      defined by the <key>.
      
      Extend the Module.ExternalData test to cover the behavior.
      Extend the RunCMake.ExternalData test to cover error cases.
      f7f4ca55
  4. 15 Jan, 2015 7 commits
  5. 05 Aug, 2014 1 commit
  6. 17 Apr, 2014 1 commit
    • Brad King's avatar
      ExternalData: Warn on missing file instead of failing · ccd29b9a
      Brad King authored
      When the primary source tree path named by a DATA{} reference does not
      exist, produce an AUTHOR_WARNING instead of a FATAL_ERROR.  This is
      useful when writing a new DATA{} reference to a test reference output
      that has not been created yet.  This way the developer can run the test,
      manually verify the output, and then copy it into place to provide the
      reference and eliminate the warning.
      
      If the named source tree path is expected to be a file but exists as a
      directory, we still need to produce a FATAL_ERROR.
      ccd29b9a
  7. 14 Apr, 2014 1 commit
  8. 13 Nov, 2013 1 commit
    • Brad King's avatar
      ExternalData: Allow local stores without any URL templates · 8eb20eea
      Brad King authored
      Allow ExternalData_URL_TEMPLATES to be empty if a value for
      ExternalData_OBJECT_STORES is provided.  Assume in this use case that
      the object stores will already contain all needed objects.  Extend the
      Module.ExternalData test to cover this case (all objects in stores).
      Extend the RunCMake.ExternalData test to cover the non-failure message
      case when stores are provided without URL templates.
      8eb20eea
  9. 12 Nov, 2013 2 commits
    • Brad King's avatar
      ExternalData: Show example network path URL template · f3883f36
      Brad King authored
      In the ExternalData_URL_TEMPLATES example, add an entry showing how to
      use the "file://" protocol with a network filesystem path.
      f3883f36
    • Brad King's avatar
      ExternalData: Format module documentation · ff6818bc
      Brad King authored
      Manually revise the .rst format of the documentation.  Use inline
      literal quotes appropriately in paragraph text.  Move the :: literal
      block openers to the end of the preceding paragraphs.  Convert the
      command signature documentation and examples to cmake code-block
      directives.
      ff6818bc
  10. 15 Oct, 2013 1 commit
  11. 02 Jun, 2013 1 commit
  12. 24 May, 2013 1 commit
    • Brad King's avatar
      ExternalData: Do not re-stage staged object files · c35961b0
      Brad King authored
      The ExternalData_LINK_CONTENT option tells ExternalData to convert real
      data files it finds into content links and to "stage" the original
      content in a ".ExternalData_<algo>_<hash>" file.  However, after a data
      object has been staged it is possible that a user-provided pattern in
      the "REGEX:" option will later match the staged object file.  We must
      not process staged object files even when a user pattern matches them.
      
      Fix the implementation to not match a staged object file as a normal
      data file for conversion.  Extend the RunCMake.ExternalData test to
      cover this case.
      c35961b0
  13. 12 Mar, 2013 1 commit
    • Brad King's avatar
      ExternalData: Preserve escaped semicolons during argument expansion · 1823ab4d
      Brad King authored
      The CMake language implicitly flattens lists so a ";" in a list element
      must be escaped with a backslash.  List expansion removes backslashes
      escaping semicolons to leave raw semicolons in the values.  Teach
      ExternalData_Add_Test and ExternalData_Expand_Arguments to re-escape
      semicolons found in list elements so the resulting argument lists work
      as if constructed directly by the set() command.
      
      For example:
      
        ExternalData_Add_Test(Data NAME test1 COMMAND ... "a\\;b")
        ExternalData_Expand_Arguments(Data args2 "c\\;d")
        add_test(NAME test2 COMMAND ... ${args2})
      
      should be equivalent to
      
        set(args1 "a\\;b")
        add_test(NAME test1 COMMAND ... ${args1})
        set(args2 "c\\;d")
        add_test(NAME test2 COMMAND ... ${args2})
      
      which is equivalent to
      
        add_test(NAME test1 COMMAND ... "a;b")
        add_test(NAME test2 COMMAND ... "c;d")
      
      Note that it is not possible to make ExternalData_Add_Test act exactly
      like add_test when quoted arguments contain semicolons because the CMake
      language flattens lists when constructing function ARGN values.  This
      re-escape approach at least allows test arguments to have semicolons.
      
      While at it, teach ExternalData APIs to not transform "DATA{...;...}"
      arguments because the contained semicolons are non-sensical.
      Suggested-by: Jean-Christophe Fillion-Robin's avatarJean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
      1823ab4d
  14. 04 Feb, 2013 1 commit
    • Brad King's avatar
      ExternalData: Attach download rules to content links in IDEs · 1fd8d017
      Brad King authored
      Each data file to be created in the build tree corresponds one-to-one with
      a raw file or content link in the source tree.  Use the MAIN_DEPENDENCY of
      add_custom_command to attach the build rule to the source tree file.  This
      looks much nicer in the IDE project file browser and avoids ".rule" files.
      1fd8d017
  15. 30 Jan, 2013 5 commits
  16. 29 Jan, 2013 1 commit
    • Brad King's avatar
      ExternalData: Improve series matching using an explicit syntax · bcd25808
      Brad King authored
      Automatic series recognition can generate false positives too easily
      when the default series configuration is flexible enough to handle
      common cases.  Avoid false positives by requiring an explicit syntax to
      activate series recognition.  Choose the syntax DATA{<name>,:} to be
      short, simple, and look like a vertical ellipsis.
      
      This allows us to improve the default series match configuration.  Allow
      series references to contain one of the numbered file names.  Allow '-'
      as a separator in addition to '.' and '_'.  Document what the default
      configuration matches.  Also provide more options to configure series
      <name> parsing.
      bcd25808
  17. 28 Jan, 2013 3 commits
  18. 24 Jan, 2013 2 commits
    • Brad King's avatar
      ExternalData: Remove compatibility with CMake < 2.8.5 · 00d801fb
      Brad King authored
      Now that the module comes in a sufficiently new CMake it does not need
      to support older versions.
      00d801fb
    • Brad King's avatar
      Add ExternalData module · ab26249d
      Brad King authored
      Take files we previously distributed in ITK 4.3.1:
      
        CMake/ExternalData.cmake
        CMake/ExternalData_config.cmake.in
      
      and add them for distribution in upstream CMake.  Update the copyright
      notice block format to follow CMake conventions.
      ab26249d