mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
#
 | 
						|
# (c)2015 KiCad Developers
 | 
						|
# (c)2015 Brian Sidebotham <brian.sidebotham@gmail.com>
 | 
						|
#
 | 
						|
# CMake module to find a2x (part of the asciidoc toolchain).
 | 
						|
#
 | 
						|
# Variables generated:
 | 
						|
#
 | 
						|
# A2X_FOUND     true when A2X_COMMAND is valid
 | 
						|
# A2X_COMMAND   The command to run a2x (may be a list including an interpreter)
 | 
						|
# A2X_VERSION   The a2x version that has been found
 | 
						|
#
 | 
						|
 | 
						|
# Have a go at finding a a2x executable
 | 
						|
find_program( A2X_PROGRAM a2x )
 | 
						|
 | 
						|
# Found something, attempt to try and use it...
 | 
						|
if( A2X_PROGRAM )
 | 
						|
    execute_process(
 | 
						|
        COMMAND ${A2X_PROGRAM} --version
 | 
						|
        OUTPUT_VARIABLE _OUT
 | 
						|
        ERROR_VARIABLE _ERR
 | 
						|
        RESULT_VARIABLE _RES
 | 
						|
        OUTPUT_STRIP_TRAILING_WHITESPACE )
 | 
						|
 | 
						|
    # If it worked, set the A2X_COMMAND
 | 
						|
    if( _RES MATCHES 0 )
 | 
						|
        set( A2X_COMMAND "${A2X_PROGRAM}" )
 | 
						|
    endif()
 | 
						|
endif()
 | 
						|
 | 
						|
# If nothing could be found, test to see if we can just find the script file,
 | 
						|
# that we'll then run with the python interpreter
 | 
						|
if( NOT A2X_COMMAND )
 | 
						|
    find_file( A2X_SCRIPT a2x.py )
 | 
						|
 | 
						|
    if( A2X_SCRIPT )
 | 
						|
        # Find the python interpreter quietly
 | 
						|
        if( NOT PYTHONINTERP_FOUND )
 | 
						|
            find_package( PYTHONINTERP QUIET )
 | 
						|
        endif()
 | 
						|
 | 
						|
        if( NOT PYTHONINTERP_FOUND )
 | 
						|
            # Python's not available so can't find a2x...
 | 
						|
            set( A2X_COMMAND "" )
 | 
						|
        else()
 | 
						|
            # Build the python based command
 | 
						|
            set( A2X_COMMAND "${PYTHON_EXECUTABLE}" "${A2X_SCRIPT}" )
 | 
						|
 | 
						|
            execute_process(
 | 
						|
                COMMAND ${A2X_COMMAND} --version
 | 
						|
                OUTPUT_VARIABLE _OUT
 | 
						|
                ERROR_VARIABLE _ERR
 | 
						|
                RESULT_VARIABLE _RES
 | 
						|
                OUTPUT_STRIP_TRAILING_WHITESPACE )
 | 
						|
 | 
						|
            # If it still can't be run, then give up
 | 
						|
            if( NOT _RES MATCHES 0 )
 | 
						|
                set( A2X_COMMAND "" )
 | 
						|
            endif()
 | 
						|
        endif()
 | 
						|
    endif()
 | 
						|
endif()
 | 
						|
 | 
						|
# If we've found a command that works, check the version
 | 
						|
if( A2X_COMMAND )
 | 
						|
    string(REGEX REPLACE ".*a2x[^0-9.]*\([0-9.]+\).*" "\\1" A2X_VERSION "${_OUT}")
 | 
						|
endif()
 | 
						|
 | 
						|
# Generate the *_FOUND as necessary, etc.
 | 
						|
include( FindPackageHandleStandardArgs )
 | 
						|
find_package_handle_standard_args(
 | 
						|
    A2X
 | 
						|
    REQUIRED_VARS A2X_COMMAND
 | 
						|
    VERSION_VAR A2X_VERSION )
 |