mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56419 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			CMake
		
	
	
		
			Executable File
		
	
	
	
	
| # - Try to find Bison
 | |
| # Once done this will define
 | |
| #
 | |
| #  BISON_FOUND - system has Bison
 | |
| #  BISON_EXECUTABLE - path of the bison executable
 | |
| #  BISON_VERSION - the version string, like "2.5.31"
 | |
| #
 | |
| 
 | |
| MACRO(FIND_BISON)
 | |
| 	FIND_PROGRAM(BISON_EXECUTABLE NAMES bison)
 | |
| 
 | |
| 	IF(BISON_EXECUTABLE)
 | |
| 		SET(BISON_FOUND TRUE)
 | |
| 
 | |
| 		EXECUTE_PROCESS(COMMAND ${BISON_EXECUTABLE} --version
 | |
| 			OUTPUT_VARIABLE _BISON_VERSION
 | |
| 		)
 | |
| 		string (REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" BISON_VERSION "${_bison_VERSION}")
 | |
| 	ENDIF(BISON_EXECUTABLE)
 | |
| 
 | |
| 	IF(BISON_FOUND)
 | |
| 	  IF(NOT Bison_FIND_QUIETLY)
 | |
| 		MESSAGE(STATUS "Found Bison: ${BISON_EXECUTABLE}")
 | |
| 	  ENDIF(NOT Bison_FIND_QUIETLY)
 | |
| 	ELSE(BISON_FOUND)
 | |
| 	  IF(Bison_FIND_REQUIRED)
 | |
| 		MESSAGE(FATAL_ERROR "Could not find Bison")
 | |
| 	  ENDIF(Bison_FIND_REQUIRED)
 | |
| 	ENDIF(BISON_FOUND)
 | |
| ENDMACRO(FIND_BISON)
 | |
| 
 | |
| MACRO(BISON_GENERATOR _PREFIX _Y_INPUT _H_OUTPUT _CPP_OUTPUT)
 | |
| 	IF(BISON_EXECUTABLE)
 | |
| 		GET_FILENAME_COMPONENT(_Y_DIR ${_Y_INPUT} PATH)
 | |
| 		ADD_CUSTOM_COMMAND(
 | |
| 			OUTPUT  ${_CPP_OUTPUT}
 | |
| 			OUTPUT  ${_H_OUTPUT}
 | |
| 			DEPENDS ${_Y_INPUT}
 | |
| 			COMMAND ${BISON_EXECUTABLE}
 | |
| 			ARGS
 | |
| 				-p ${_PREFIX} -o"${_CPP_OUTPUT}"
 | |
| 				--defines="${_H_OUTPUT}" ${_Y_INPUT}
 | |
| 			WORKING_DIRECTORY ${_Y_DIR}
 | |
| 		)
 | |
| 		SET_SOURCE_FILES_PROPERTIES(
 | |
| 			${_CPP_OUTPUT} ${_H_OUTPUT}
 | |
| 			GENERATED
 | |
| 		)
 | |
| 	ELSE(BISON_EXECUTABLE)
 | |
| 		MESSAGE(SEND_ERROR "Can't find bison program, and it's required")
 | |
| 	ENDIF(BISON_EXECUTABLE)
 | |
| ENDMACRO(BISON_GENERATOR)
 |