aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-03-06 20:41:54 -0800
committerGerald Combs <gerald@wireshark.org>2015-03-07 05:04:32 +0000
commit9a5cd7d92b66914ebbd209d3279ebb3236e68c37 (patch)
tree9a53c27b30e34f691c6d188eafc7125c409d33db /cmake
parent5e67ae78baad06e9d5094b6536786b78cb441cc3 (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')
-rw-r--r--cmake/modules/GenerateTestSh.cmake31
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})