> > add_test (
> > test_my_module
> > ${CMAKE_BINARY_DIR}/bin/test_my_module
> > )
>
> This will only work on Unix like systems. Doesn't CTest figure out
> that the program name is a target? I.e. doesn't this work (provided
> you did add_executable(test_my_module ...)):
>
> add_test(test_my_module test_my_module)
Hi Michael,
I have the add_executable just as you show, but CTest gives up immediately
since it can't find the test_my_module executable in
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}.
Here are the bugs I think I've encountered with your collective help:
Bug 1: Cmake ignores ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} in the add_test()
command. Consequently ctest reports a failure due to not finding the test
binary.
Bug 2: Locating a build output using the LOCATION property of a target is
deprecated, but commands cannot substitute the target name for build output
location. In other words, commands like this fail:
add_executable( foo foo.cpp )
add_custom_command( OUTPUT new_foo COMMAND $(CMAKE_COMMAND) -E copy foo
new_foo )
Cmake should recognize 'foo' as a target and implicitly substitute foo's build
output.
But back to the dll test problem: Changing ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
forces me to hack all the ctests in my whole build tree, which I'm unwilling to
do. I will stick with Clint's copy_if_different idea to move the dll to the
binary directory of the test program.
Thanks Clint, Michael, Philip Tyler and the list. Community support here has
been great even if the answers weren't what I hoped to hear.
Cheers,
-steve
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake