mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	[CMake] Override CMake's default flags for GCC/Clang as we were doing
before 4cc2b292c0.
It's useful to be able to control the defaults and CMake's internal
logic for GCC/Clang is simple enough that doing this makes sense.
It would be nice to do the same for MSVC but CMake's internal
logic is more complicated so for now it's better that we just use
CMake's default.
			
			
This commit is contained in:
		
							parent
							
								
									2a919cf16e
								
							
						
					
					
						commit
						6e07d6dd2d
					
				
					 2 changed files with 15 additions and 0 deletions
				
			
		| 
						 | 
					@ -24,6 +24,7 @@ if (NOT (EXISTS "${CMAKE_SOURCE_DIR}/src/CMakeLists.txt"))
 | 
				
			||||||
          "``python contrib/cmake/bootstrap.py create``")
 | 
					          "``python contrib/cmake/bootstrap.py create``")
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cxx_compiler_flags_overrides.cmake")
 | 
				
			||||||
project(Z3 CXX)
 | 
					project(Z3 CXX)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										14
									
								
								contrib/cmake/cmake/cxx_compiler_flags_overrides.cmake
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								contrib/cmake/cmake/cxx_compiler_flags_overrides.cmake
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					# This file overrides the default compiler flags for CMake's built-in
 | 
				
			||||||
 | 
					# configurations (CMAKE_BUILD_TYPE). Most compiler flags should not be set here.
 | 
				
			||||||
 | 
					# The main purpose is to have very fine grained control of the compiler flags.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# We only override the defaults for Clang and GCC right now.
 | 
				
			||||||
 | 
					# CMake's MSVC logic is complicated so for now it's better to just inherit CMake's defaults.
 | 
				
			||||||
 | 
					if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU"))
 | 
				
			||||||
 | 
					  # Taken from Modules/Compiler/GNU.cmake
 | 
				
			||||||
 | 
					  set(CMAKE_CXX_FLAGS_INIT "")
 | 
				
			||||||
 | 
					  set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g -O0")
 | 
				
			||||||
 | 
					  set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
 | 
				
			||||||
 | 
					  set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
 | 
				
			||||||
 | 
					  set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
 | 
				
			||||||
 | 
					endif()
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue