Re: [CMake] Running tests using [C++/Python] modules from the build tree

2010-09-29 Thread Marcel Loose
On Tue, 2010-09-28 at 18:42 +0200, Pere Mato Vila wrote:
 Hi,
 
   I am seeking for advise. I would like to run some CTest tests from
the build tree, which require C++ or Python modules created in other
project directories (packages). For this I need to build correctly the
LD_LIBRARY_PATH and PYTHONPATH and use the command set_property(TEST xxx
PROPERTY ENVIRONMENT LD_LIBRARY_PATH=yyy PYTHONPATH=xxx). The question
is how to make this the most easy and transparent way as possible, since
the modules I would need in the tests are not easily known a priori.
 
If I could set a global variable in each package that creates a
module, something like PACKAGE_MODULE_DIRS and I could collect these
in the package that I want to run the test and build the ENVIRONMENT
property accordingly. The problem is that it is not so easy in CMake to
set global variables. 
 
   Another alternative would be to define  a function called 
module_directories(), which behaves like the command 
link_dicrectories(), that I could call every time I create/define a
module. I would then recover the list of directories using a specific
directory property,  as it is done in the case of LINK_DIRECTORIES.
 
   Does anybody has a similar problem and has found an elegant
solution? Many thanks  in advance.
 
 
Hi Pere,

You could write a wrapper script that sets your environment variables.
Since you don't know the actual values for these variables beforehand,
you should let CMake generate this script, using configure_file().
That's the way I do it, and it works great.

Best regards,
Marcel Loose.

___
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


Re: [CMake] Running tests using [C++/Python] modules from the build tree

2010-09-29 Thread Pere Mato Vila

Hi Marcel,

 You could write a wrapper script that sets your environment variables.
 Since you don't know the actual values for these variables beforehand,
 you should let CMake generate this script, using configure_file().
 That's the way I do it, and it works great.

Thanks for the suggestion. I am doing something similar but on installation. I 
generate a setup script that then can be used by clients of the project to get 
the correct environment. I was thinking to have something internal  for running 
the test cases from within the build tree.
Thanks again,

Pere   

-
Pere Mato  CERN, PH Department, CH 1211 Geneva 23, Switzerland
  e-mail: pere.m...@cern.ch  tel: +41 22 76 78696
  fax:  +41 22 76 68792gsm: +41 76 48 70855


___
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


[CMake] Running tests using [C++/Python] modules from the build tree

2010-09-28 Thread Pere Mato Vila
Hi,

  I am seeking for advise. I would like to run some CTest tests from the build 
tree, which require C++ or Python modules created in other project directories 
(packages). For this I need to build correctly the LD_LIBRARY_PATH and 
PYTHONPATH and use the command set_property(TEST xxx PROPERTY ENVIRONMENT 
LD_LIBRARY_PATH=yyy PYTHONPATH=xxx). The question is how to make this the most 
easy and transparent way as possible, since the modules I would need in the 
tests are not easily known a priori.

   If I could set a global variable in each package that creates a module, 
something like PACKAGE_MODULE_DIRS and I could collect these in the package 
that I want to run the test and build the ENVIRONMENT property accordingly. The 
problem is that it is not so easy in CMake to set global variables. 

  Another alternative would be to define  a function called  
module_directories(), which behaves like the command  link_dicrectories(), that 
I could call every time I create/define a module. I would then recover the list 
of directories using a specific directory property,  as it is done in the case 
of LINK_DIRECTORIES.

  Does anybody has a similar problem and has found an elegant solution? Many 
thanks  in advance.


-
Pere Mato  CERN, PH Department, CH 1211 Geneva 23, Switzerland
  e-mail: pere.m...@cern.ch  tel: +41 22 76 78696
  fax:  +41 22 76 68792gsm: +41 76 48 70855


___
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