From 04415ae4e21c295aad215ddf7b25ca757e278f39 Mon Sep 17 00:00:00 2001 From: David Manura Date: Sat, 14 May 2011 19:42:02 -0400 Subject: build - update dist.cmake (add_test WORKING_DIRECTORY improvements) --- dist.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dist.cmake b/dist.cmake index faff504..10c6a68 100644 --- a/dist.cmake +++ b/dist.cmake @@ -365,13 +365,14 @@ endmacro () # ADD_LUA_TEST # Runs Lua script `_testfile` under CTest tester. -# Optional argument `_testcurrentdir` is current working directory to run test under +# Optional named argument `WORKING_DIRECTORY` is current working directory to run test under # (defaults to ${CMAKE_CURRENT_BINARY_DIR}). # Both paths, if relative, are relative to ${CMAKE_CURRENT_SOURCE_DIR}. # Under LuaDist, set test=true in config.lua to enable testing. -# USE: add_lua_test ( test/test1.lua [args...] ) +# USE: add_lua_test ( test/test1.lua [args...] [WORKING_DIRECTORY dir]) macro ( add_lua_test _testfile ) if ( NOT SKIP_TESTING ) + parse_arguments ( _ARG "WORKING_DIRECTORY" "" ${ARGN} ) include ( CTest ) find_program ( LUA NAMES lua lua.bat ) get_filename_component ( TESTFILEABS ${_testfile} ABSOLUTE ) @@ -389,15 +390,14 @@ arg[0] = '${TESTFILEABS}' table.remove(arg, 1) return assert(loadfile '${TESTFILEABS}')(unpack(arg)) " ) - if ( ${ARGC} GREATER 1 ) - set ( _testcurrentdir ${ARGV1} ) - get_filename_component ( TESTCURRENTDIRABS ${_testcurrentdir} ABSOLUTE ) + if ( _ARG_WORKING_DIRECTORY ) + get_filename_component ( TESTCURRENTDIRABS ${_ARG_WORKING_DIRECTORY} ABSOLUTE ) # note: CMake 2.6 (unlike 2.8) lacks WORKING_DIRECTORY parameter. #old: set ( TESTWRAPPERSOURCE "require 'lfs'; lfs.chdir('${TESTCURRENTDIRABS}' ) ${TESTWRAPPERSOURCE}" ) set ( _pre ${CMAKE_COMMAND} -E chdir "${TESTCURRENTDIRABS}" ) endif () file ( WRITE ${TESTWRAPPER} ${TESTWRAPPERSOURCE}) - add_test ( NAME ${TESTFILEBASE} COMMAND ${_pre} ${LUA} ${TESTWRAPPER} $ ${ARGN} ) + add_test ( NAME ${TESTFILEBASE} COMMAND ${_pre} ${LUA} ${TESTWRAPPER} $ ${_ARG_DEFAULT_ARGS} ) endif () # see also http://gdcm.svn.sourceforge.net/viewvc/gdcm/Sandbox/CMakeModules/UsePythonTest.cmake endmacro () -- cgit v1.2.1