diff options
-rw-r--r-- | cmake/modules/FindLEX.cmake | 2 | ||||
-rw-r--r-- | cmake/modules/FindSH.cmake | 19 |
2 files changed, 14 insertions, 7 deletions
diff --git a/cmake/modules/FindLEX.cmake b/cmake/modules/FindLEX.cmake index 9cb9f747d6..3e13271b00 100644 --- a/cmake/modules/FindLEX.cmake +++ b/cmake/modules/FindLEX.cmake @@ -35,7 +35,7 @@ MACRO(ADD_LEX_FILES _sources ) ADD_CUSTOM_COMMAND( OUTPUT ${_outc} - COMMAND ${SH_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/runlex.sh ${LEX_EXECUTABLE} + COMMAND ${SH_EXECUTABLE} ${SH_FLAGS1} ${SH_FLAGS2} ${CMAKE_SOURCE_DIR}/tools/runlex.sh ${LEX_EXECUTABLE} -o${_outc} --header-file=${_outh} ${_in} diff --git a/cmake/modules/FindSH.cmake b/cmake/modules/FindSH.cmake index ebfda9b9e4..83032a731f 100644 --- a/cmake/modules/FindSH.cmake +++ b/cmake/modules/FindSH.cmake @@ -5,11 +5,11 @@ # This module looks for some usual Unix commands. # -INCLUDE(FindCygwin) +include( FindCygwin ) -FIND_PROGRAM(SH_EXECUTABLE +find_program( SH_EXECUTABLE NAMES - sh + bash PATHS ${CYGWIN_INSTALL_PATH}/bin /bin @@ -18,8 +18,15 @@ FIND_PROGRAM(SH_EXECUTABLE /sbin ) -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(SH DEFAULT_MSG SH_EXECUTABLE) +include( FindPackageHandleStandardArgs ) +find_package_handle_standard_args( SH DEFAULT_MSG SH_EXECUTABLE ) -MARK_AS_ADVANCED(SH_EXECUTABLE) +# FIXME: Don't match on the name but check whether the argument is +# accepted or not. OTOH, if it isn't accepted, build will fail on Win. +if( WIN32 ) + set( SH_FLAGS1 -o ) + set( SH_FLAGS2 igncr ) +endif() + +mark_as_advanced( SH_EXECUTABLE ) |