| 
									
										
										
										
											2023-04-24 11:54:58 +07:00
										 |  |  | include(CMakePrintHelpers)
 | 
					
						
							| 
									
										
										
										
											2023-04-20 14:09:38 +07:00
										 |  |  | foreach(LANG IN ITEMS C CXX ASM)
 | 
					
						
							| 
									
										
										
										
											2023-04-24 11:54:58 +07:00
										 |  |  |     # join the toolchain flags into a single string
 | 
					
						
							|  |  |  |     list(APPEND TOOLCHAIN_${LANG}_FLAGS ${TOOLCHAIN_COMMON_FLAGS})
 | 
					
						
							|  |  |  |     list(JOIN TOOLCHAIN_${LANG}_FLAGS " " TOOLCHAIN_${LANG}_FLAGS)
 | 
					
						
							|  |  |  |     set(CMAKE_${LANG}_FLAGS_INIT "${TOOLCHAIN_${LANG}_FLAGS}")
 | 
					
						
							| 
									
										
										
										
											2023-04-20 14:09:38 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-24 11:54:58 +07:00
										 |  |  |     #cmake_print_variables(CMAKE_${LANG}_FLAGS_INIT)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # optimization flags
 | 
					
						
							| 
									
										
										
										
											2023-05-10 11:15:11 +07:00
										 |  |  |     set(CMAKE_${LANG}_FLAGS_RELEASE_INIT "-Os")
 | 
					
						
							|  |  |  |     set(CMAKE_${LANG}_FLAGS_DEBUG_INIT "-O0")
 | 
					
						
							| 
									
										
										
										
											2023-04-20 14:09:38 +07:00
										 |  |  | endforeach()
 | 
					
						
							| 
									
										
										
										
											2023-04-24 11:54:58 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-08 17:25:47 +07:00
										 |  |  | # Linker
 | 
					
						
							|  |  |  | list(JOIN TOOLCHAIN_EXE_LINKER_FLAGS " " CMAKE_EXE_LINKER_FLAGS_INIT)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-24 11:54:58 +07:00
										 |  |  | # try_compile is cmake test compiling its own example,
 | 
					
						
							|  |  |  | # pass -nostdlib to skip stdlib linking
 | 
					
						
							|  |  |  | get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
 | 
					
						
							|  |  |  | if(IS_IN_TRY_COMPILE)
 | 
					
						
							|  |  |  |     set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
 | 
					
						
							|  |  |  |     set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
 | 
					
						
							|  |  |  | endif()
 |