mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			935 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			935 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| #
 | |
| # renames the file if it is different from its destination
 | |
| include(CMakeParseArguments)
 | |
| #
 | |
| macro(replace_if_different SOURCE DST)
 | |
| 	set(extra_macro_args ${ARGN})
 | |
| 	set(options CREATE)
 | |
| 	set(one_value_args)
 | |
| 	set(multi_value_args)
 | |
| 	cmake_parse_arguments(REPLACE_IF_DIFFERENT "${options}" "${one_value_args}" "${multi_value_args}" "${extra_macro_args}")
 | |
| 
 | |
| 	if (REPLACE_IF_DIFFERENT_CREATE AND (NOT (EXISTS "${DST}")))
 | |
| 		file(WRITE "${DST}" "")
 | |
| 	endif()
 | |
| 
 | |
| 	execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files "${SOURCE}" "${DST}" RESULT_VARIABLE DIFFERENT OUTPUT_QUIET ERROR_QUIET)
 | |
| 
 | |
| 	if (DIFFERENT)
 | |
| 		execute_process(COMMAND ${CMAKE_COMMAND} -E rename "${SOURCE}" "${DST}")
 | |
| 	else()
 | |
| 		execute_process(COMMAND ${CMAKE_COMMAND} -E remove "${SOURCE}")
 | |
| 	endif()
 | |
| endmacro()
 | |
| 
 | |
| macro(eth_default_option O DEF)
 | |
| 	if (DEFINED ${O})
 | |
| 		if (${${O}})
 | |
| 			set(${O} ON)
 | |
| 		else ()
 | |
| 			set(${O} OFF)
 | |
| 		endif()
 | |
| 	else ()
 | |
| 		set(${O} ${DEF})
 | |
| 	endif()
 | |
| endmacro()
 | |
| 
 |