[CMake] download file, modify, add test from it
David Cole
DLRdave at aol.com
Sat Nov 21 21:18:53 EST 2015
Did you try using full path names for the add_custom_command file names?
And the NAME/COMMAND form of the add_test command?
Also, I've always found custom commands to work best when they're
associated with a target. And if it was part of a target you could make the
target depend on the external data target with add_dependencies if
necessary.
HTH,
David C.
On Saturday, November 21, 2015, Nico Schlömer <nico.schloemer at gmail.com>
wrote:
> Hi everyone,
>
> I would like to create a CMake test that does the following:
> * Download a file from an external resource
> * Do something with the file
> * compile an executable myTest
> * execute myTest outputfile
>
> Using ExternalData for downloading the file works well, but the second
> step (file conversion, in this example cp for simplicity) does not work:
> ```
> cmake_minimum_required(VERSION 3.2)
>
> project(mytest)
>
> # Download the files
> INCLUDE(ExternalData)
> set(
> ExternalData_URL_TEMPLATES
> "https://downloads.sourceforge.net/project/noshdata/%(algo)/%(hash)"
> )
> ExternalData_Expand_Arguments(
> testFetchData
> OUT_DATA DATA{${CMAKE_SOURCE_DIR}/test.e}
> )
> ExternalData_Add_Target(testFetchData)
>
> add_custom_command(
> OUTPUT test.g
> COMMAND cp test.e test.g
> DEPENDS test.e
> )
>
> ADD_EXECUTABLE("myTest" main.cpp)
>
> add_test(myTest test.g)
> ```
> I suppose I'm missing something about the dependencies here; after all,
> the `add_custom_command` has to wait for `testFetchData` to complete.
> Likewise, `add_test` has to wait for `add_custom_command` to complete.
>
> Hints appreciated.
>
> Cheers,
> Nico
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20151121/e09b2451/attachment.html>
More information about the CMake
mailing list