diff options
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindBISON.cmake | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Modules/FindBISON.cmake b/Modules/FindBISON.cmake index e75981c..6b5828e 100644 --- a/Modules/FindBISON.cmake +++ b/Modules/FindBISON.cmake @@ -257,15 +257,19 @@ if(BISON_EXECUTABLE) PARENT_SCOPE # undocumented, do not use outside of CMake ) set(_BISON_WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + set(_BisonInput "${BisonInput}") if("x${_BISON_CMP0088}x" STREQUAL "xNEWx") set(_BISON_WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + if(NOT IS_ABSOLUTE "${_BisonInput}") + set(_BisonInput "${CMAKE_CURRENT_SOURCE_DIR}/${_BisonInput}") + endif() endif() unset(_BISON_CMP0088) add_custom_command(OUTPUT ${BISON_TARGET_outputs} - COMMAND ${BISON_EXECUTABLE} ${BISON_TARGET_cmdopt} -o ${BisonOutput} ${BisonInput} + COMMAND ${BISON_EXECUTABLE} ${BISON_TARGET_cmdopt} -o ${BisonOutput} ${_BisonInput} VERBATIM - DEPENDS ${BisonInput} + DEPENDS ${_BisonInput} COMMENT "[BISON][${Name}] Building parser with bison ${BISON_VERSION}" WORKING_DIRECTORY ${_BISON_WORKING_DIRECTORY}) @@ -273,12 +277,14 @@ if(BISON_EXECUTABLE) # define target variables set(BISON_${Name}_DEFINED TRUE) - set(BISON_${Name}_INPUT ${BisonInput}) + set(BISON_${Name}_INPUT ${_BisonInput}) set(BISON_${Name}_OUTPUTS ${BISON_TARGET_outputs} ${BISON_TARGET_extraoutputs}) set(BISON_${Name}_COMPILE_FLAGS ${BISON_TARGET_cmdopt}) set(BISON_${Name}_OUTPUT_SOURCE "${BisonOutput}") set(BISON_${Name}_OUTPUT_HEADER "${BISON_TARGET_output_header}") + unset(_BisonInput) + endif() endmacro() # |