mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-02 09:12:03 +00:00 
			
		
		
		
	* cmake : enable warnings in llama ggml-ci * cmake : add llama_get_flags and respect LLAMA_FATAL_WARNINGS * cmake : get_flags -> ggml_get_flags * speculative-simple : fix warnings * cmake : reuse ggml_get_flags ggml-ci * speculative-simple : fix compile warning ggml-ci
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
function(llama_add_compile_flags)
 | 
						|
    if (LLAMA_FATAL_WARNINGS)
 | 
						|
        if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
 | 
						|
            list(APPEND C_FLAGS   -Werror)
 | 
						|
            list(APPEND CXX_FLAGS -Werror)
 | 
						|
        elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
 | 
						|
            add_compile_options(/WX)
 | 
						|
        endif()
 | 
						|
    endif()
 | 
						|
 | 
						|
    if (LLAMA_ALL_WARNINGS)
 | 
						|
        if (NOT MSVC)
 | 
						|
            list(APPEND C_FLAGS -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes
 | 
						|
                                -Werror=implicit-int -Werror=implicit-function-declaration)
 | 
						|
 | 
						|
            list(APPEND CXX_FLAGS -Wmissing-declarations -Wmissing-noreturn)
 | 
						|
 | 
						|
            list(APPEND WARNING_FLAGS -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function)
 | 
						|
 | 
						|
            list(APPEND C_FLAGS   ${WARNING_FLAGS})
 | 
						|
            list(APPEND CXX_FLAGS ${WARNING_FLAGS})
 | 
						|
 | 
						|
            ggml_get_flags(${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION})
 | 
						|
 | 
						|
            add_compile_options("$<$<COMPILE_LANGUAGE:C>:${C_FLAGS};${GF_C_FLAGS}>"
 | 
						|
                                "$<$<COMPILE_LANGUAGE:CXX>:${CXX_FLAGS};${GF_CXX_FLAGS}>")
 | 
						|
        else()
 | 
						|
            # todo : msvc
 | 
						|
            set(C_FLAGS   "" PARENT_SCOPE)
 | 
						|
            set(CXX_FLAGS "" PARENT_SCOPE)
 | 
						|
        endif()
 | 
						|
    endif()
 | 
						|
endfunction()
 |