troy d. straszheim wrote:
I was trying to fix asio link tests and hit a couple of snags. I put in a workaround (which I bet breaks more than it fixes) and would like some feedback from kitware. The problems i was trying to fix:

We generally build all test executables and libraries during the normal
build step.  Then it all compiles/links at build time and has full access
to targets and flags.

Everything except compile-fail and link-fail tests should eventually be
combined into test driver executables for each library.

1. The test is to ensure that linking against another built library succeeds. Typically cmake handles things internally with absolute paths (not with -L). How do I send the full path of e.g. boost_system, which is hidden from me, to a ctest process (which in turn invokes a cmake process, whch invokes a make process)?

The whole idea of --build-and-test is to build a project outside the tree
as if it is a user project.  A user project won't know the paths unless
it does a find_package(Boost).  Ideally boost-cmake should provide a
boost package using the method documented here:

  http://www.cmake.org/Wiki/CMake_2.6_Notes

It is possible to provide a package directly from the build tree as well
as in an install tree.  Then the build-and-test step can point Boost_DIR
directly at its build tree and everything will work.

2. The link tests didn't obey CMAKE_CXX_COMPILER, etc. Compile tests probably still don't...

CTest's --build-and-test mode has a '--build-options' argument.  Pass
the compiler through it:

  ... -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} ...

-Brad
_______________________________________________
Boost-cmake mailing list
Boost-cmake@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-cmake

Reply via email to