diff options
author | Gerald Combs <gerald@wireshark.org> | 2015-03-06 20:41:54 -0800 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2015-03-07 05:04:32 +0000 |
commit | 9a5cd7d92b66914ebbd209d3279ebb3236e68c37 (patch) | |
tree | 9a53c27b30e34f691c6d188eafc7125c409d33db /cmake/modules | |
parent | 5e67ae78baad06e9d5094b6536786b78cb441cc3 (diff) |
Fix the exec call and paths in the test wrapper.
Change-Id: Ie36e9c7dc9a60715248aea300cffde8040cb0768
Reviewed-on: https://code.wireshark.org/review/7574
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'cmake/modules')
-rw-r--r-- | cmake/modules/GenerateTestSh.cmake | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/cmake/modules/GenerateTestSh.cmake b/cmake/modules/GenerateTestSh.cmake index 77cf943183..3946ead4f9 100644 --- a/cmake/modules/GenerateTestSh.cmake +++ b/cmake/modules/GenerateTestSh.cmake @@ -1,19 +1,42 @@ # Generate a wrapper for test.sh. -set(TEST_SH_EXEC ${TEST_SH_DIR}/test.sh) set(TEST_SH_OUTPUT ${TEST_SH_BIN_DIR}/test.sh) +if(WIN32) + INCLUDE(FindCygwin) + FIND_PROGRAM(CYGPATH_EXECUTABLE + NAMES cygpath + PATHS ${CYGWIN_INSTALL_PATH}/bin + ) + if (NOT "${CYGPATH_EXECUTABLE}" STREQUAL "CYGPATH_EXECUTABLE-NOTFOUND") + execute_process( + COMMAND ${CYGPATH_EXECUTABLE} -u ${TEST_SH_BIN_DIR} + OUTPUT_VARIABLE _cygwin_path + ) + string(STRIP "${_cygwin_path}" _cygwin_path) + set(TEST_SH_BIN_DIR ${_cygwin_path}) + execute_process( + COMMAND ${CYGPATH_EXECUTABLE} -u ${TEST_SH_SRC_DIR} + OUTPUT_VARIABLE _cygwin_path + ) + string(STRIP "${_cygwin_path}" _cygwin_path) + set(TEST_SH_SRC_DIR ${_cygwin_path}) + endif() +endif() + +set(TEST_SH_EXEC ${TEST_SH_SRC_DIR}/test.sh) + file(WRITE ${TEST_SH_OUTPUT} "#!/bin/sh\n") if(WIN32) - file(APPEND ${TEST_SH_OUTPUT} "(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed\n") + file(APPEND ${TEST_SH_OUTPUT} "(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed\n") endif() file(APPEND ${TEST_SH_OUTPUT} "# Exec wrapper for ${TEST_SH_EXEC}\n") file(APPEND ${TEST_SH_OUTPUT} "WS_BIN_PATH=${TEST_SH_BIN_DIR}\n") file(APPEND ${TEST_SH_OUTPUT} "export WS_BIN_PATH\n") file(APPEND ${TEST_SH_OUTPUT} "WS_QT_BIN_PATH=${TEST_SH_BIN_DIR}\n") file(APPEND ${TEST_SH_OUTPUT} "export WS_QT_BIN_PATH\n") -file(APPEND ${TEST_SH_OUTPUT} "cd ${TEST_SH_DIR}\n") -file(APPEND ${TEST_SH_OUTPUT} "exec ${TEST_SH_EXEC}\n") +file(APPEND ${TEST_SH_OUTPUT} "cd ${TEST_SH_SRC_DIR}\n") +file(APPEND ${TEST_SH_OUTPUT} "exec ${TEST_SH_EXEC} \"$@\"\n") execute_process(COMMAND chmod a+x ${TEST_SH_OUTPUT}) |