# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-MACRO(FIND_LOCAL_COMMAND VAR COMMAND)
- FIND_PROGRAM(${VAR} NAMES ${COMMAND} ${ARGN})
+MACRO(FIND_LOCAL_COMMAND VAR UNIX_COMMAND WIN32_COMMAND)
+ IF (WIN32)
+ FIND_PROGRAM(${VAR} ${WIN32_COMMAND})
+ ELSE (WIN32)
+ FIND_PROGRAM(${VAR} ${UNIX_COMMAND})
+ ENDIF (WIN32)
IF (${VAR})
- MESSAGE(STATUS "${COMMAND} found : ${${VAR}}")
+ MESSAGE(STATUS "${VAR} found : ${${VAR}}")
ELSE (${VAR})
- MESSAGE(STATUS "${COMMAND} not found, local submission might not work properly")
- SET(${VAR} /bin/false)
+ MESSAGE(STATUS "${VAR} not found, local submission might not work properly")
ENDIF (${VAR})
- MARK_AS_ADVANCED(${VAR})
ENDMACRO(FIND_LOCAL_COMMAND)
-MESSAGE(STATUS "Looking for commands needed for local submission...")
-
-FIND_PROGRAM(RM rm)
-IF (RM)
- MESSAGE(STATUS "rm found : ${RM}")
-ELSE (RM)
+MACRO(FIND_LOCAL_COMMAND_WIN32_DEF VAR UNIX_COMMAND WIN32_DEFAULT)
IF (WIN32)
- MESSAGE(STATUS "using 'del' as rm command")
- SET(RM del)
+ SET(${VAR} ${WIN32_DEFAULT} CACHE STRING "${VAR}")
+ MESSAGE(STATUS "${VAR} found : using '${${VAR}}' (Windows default)")
ELSE (WIN32)
- MESSAGE(STATUS "rm not found, local submission might not work properly")
- SET(RM /bin/false)
+ FIND_LOCAL_COMMAND(${VAR} ${UNIX_COMMAND} ${WIN32_DEFAULT})
ENDIF (WIN32)
-ENDIF (RM)
-MARK_AS_ADVANCED(RM)
+ENDMACRO(FIND_LOCAL_COMMAND_WIN32_DEF)
-FIND_PROGRAM(SH sh)
-IF (SH)
- MESSAGE(STATUS "sh found : ${SH}")
-ELSE (SH)
- FIND_PROGRAM(CMD cmd)
- IF (CMD)
- MESSAGE(STATUS "cmd found : ${CMD}")
- SET(SH ${CMD})
- SET(SH_COMMAND_IS_CMD TRUE)
- ELSE (CMD)
- MESSAGE(STATUS "sh not found, local submission might not work properly")
- SET(SH /bin/false)
- ENDIF (CMD)
-ENDIF (SH)
-MARK_AS_ADVANCED(CMD SH SH_COMMAND_IS_CMD)
+MACRO(EVAL VAR)
+ IF(${ARGN})
+ SET(${VAR} TRUE)
+ ELSE(${ARGN})
+ SET(${VAR} FALSE)
+ ENDIF(${ARGN})
+ENDMACRO(EVAL)
-FIND_PROGRAM(CP cp)
-IF (CP)
- MESSAGE(STATUS "cp found : ${CP}")
-ELSE (CP)
- IF (WIN32)
- MESSAGE(STATUS "using 'copy' as cp command")
- SET(CP copy)
- ELSE (WIN32)
- MESSAGE(STATUS "cp not found, local submission might not work properly")
- SET(CP /bin/false)
- ENDIF (WIN32)
-ENDIF (CP)
-MARK_AS_ADVANCED(CP)
+MESSAGE(STATUS "Looking for commands needed for local submission...")
+
+FIND_LOCAL_COMMAND_WIN32_DEF(RM_COMMAND rm del)
+FIND_LOCAL_COMMAND(SH_COMMAND sh cmd.exe)
+FIND_LOCAL_COMMAND_WIN32_DEF(CP_COMMAND cp copy)
+FIND_LOCAL_COMMAND(RSH_COMMAND rsh rsh)
+FIND_LOCAL_COMMAND(RCP_COMMAND rcp rcp)
+FIND_LOCAL_COMMAND(SSH_COMMAND ssh plink)
+FIND_LOCAL_COMMAND(SCP_COMMAND scp pscp)
-FIND_LOCAL_COMMAND(RSH rsh)
-FIND_LOCAL_COMMAND(RCP rcp)
-FIND_LOCAL_COMMAND(SSH ssh plink)
-FIND_LOCAL_COMMAND(SCP scp pscp)
+EVAL (HAS_SH SH_COMMAND AND CP_COMMAND AND RM_COMMAND)
+EVAL (HAS_RSH RSH_COMMAND AND RCP_COMMAND)
+EVAL (HAS_SSH SSH_COMMAND AND SCP_COMMAND)