mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-03 09:22:01 +00:00 
			
		
		
		
	* cmake: Factor out compiler flag function from ggml llama.cpps's build requires it, too, and we may want to make use of it without add_subdirectory(ggml). * cmake: Enable building against system ggml This facilitates package maintenance for Linux distributions, where the libggml library most likely will be shipped as an individual package upon which a llama.cpp package depends.
		
			
				
	
	
		
			27 lines
		
	
	
		
			895 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			895 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
function(ggml_get_flags CCID CCVER)
 | 
						|
    set(C_FLAGS "")
 | 
						|
    set(CXX_FLAGS "")
 | 
						|
 | 
						|
    if (CCID MATCHES "Clang")
 | 
						|
        set(C_FLAGS   -Wunreachable-code-break -Wunreachable-code-return)
 | 
						|
        set(CXX_FLAGS -Wunreachable-code-break -Wunreachable-code-return -Wmissing-prototypes -Wextra-semi)
 | 
						|
 | 
						|
        if (
 | 
						|
            (CCID STREQUAL "Clang"      AND CCVER VERSION_GREATER_EQUAL 3.8.0) OR
 | 
						|
            (CCID STREQUAL "AppleClang" AND CCVER VERSION_GREATER_EQUAL 7.3.0)
 | 
						|
        )
 | 
						|
            list(APPEND C_FLAGS -Wdouble-promotion)
 | 
						|
        endif()
 | 
						|
    elseif (CCID STREQUAL "GNU")
 | 
						|
        set(C_FLAGS   -Wdouble-promotion)
 | 
						|
        set(CXX_FLAGS -Wno-array-bounds)
 | 
						|
 | 
						|
        if (CCVER VERSION_GREATER_EQUAL 8.1.0)
 | 
						|
            list(APPEND CXX_FLAGS -Wextra-semi)
 | 
						|
        endif()
 | 
						|
    endif()
 | 
						|
 | 
						|
    set(GF_C_FLAGS   ${C_FLAGS}   PARENT_SCOPE)
 | 
						|
    set(GF_CXX_FLAGS ${CXX_FLAGS} PARENT_SCOPE)
 | 
						|
endfunction()
 |