[CMake] building tests

Paul Harris harris.pc at gmail.com
Thu Jul 8 01:25:19 EDT 2010


On 8 July 2010 12:56, Michael Wild <themiwi at gmail.com> wrote:

>
> On 8. Jul, 2010, at 4:40 , Paul Harris wrote:
>
> > On 7 July 2010 23:05, Michael Wild <themiwi at gmail.com> wrote:
> >
> >>
> >> On 7. Jul, 2010, at 16:01 , Paul Harris wrote:
> >>
> >>> Hi all,
> >>>
> >>> I have looked and can't find the answer, so I turn to the list.
> >>>
> >>> I have a CMakeLists.txt and a subdirectory called utils, which also has
> >> its
> >>> own CMakeLists.txt
> >>>
> >>> In the parent CML.txt, I have something like:
> >>>
> >>> ENABLE_TESTING()
> >>> add_subdirectory(utils)
> >>>
> >>> In my utils CML.txt, I have
> >>>
> >>> ADD_EXECUTABLE(unit_1 units/unit_1.cpp)
> >>> ADD_TEST( unit_1 ${EXECUTABLE_OUTPUT_PATH}/unit_1 )
> >>>
> >>
> >> Simplify this to
> >>
> >> ADD_TEST(unit_1 unit_1)
> >>
> >> CMake will figure out by itself that unit_1 is a target and invoke the
> >> executable correctly (your code would break for multi-configuration IDE
> >> generators).
> >>
> >>
> > This does not work for me.  If I do not have the EXECUTABLE_OUTPUT_PATH
> in
> > add_test, I get a message like this when i run "make test" (shortened for
> > brevity):
> >
> >  1/  1 Testing unit_string_numeric_utils     Could not find executable
> > unit_string_numeric_utils
> > Looked in the following places:
> > unit_string_numeric_utils
> > unit_string_numeric_utils
> > Release/unit_string_numeric_utils
> > Release/unit_string_numeric_utils
>
> Mmmh, works fine for me:
>
> --------->8---------
> cmake_minimum_required(VERSION 2.8)
> project(tmp)
>
> enable_testing()
>
> add_executable(unit1 unit1.cpp)
> add_test(unit1 unit1)
> ---------<8---------
>
> Where unit1.cpp is just a simple hello-world program. Running it:
>
>
snip

My project is a lot bigger than a hello-world program.  It has
subdirectories for a start, and I do things like
  SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "Single
output directory for building all executables.")

I'm not sure at which point things stop working, do you want me to try and
build a test-case?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100708/8d6d0cac/attachment-0001.htm>


More information about the CMake mailing list