| 
					
				 | 
			
			
				@@ -32,9 +32,16 @@ FUNCTION(ctkFunctionCheckCompilerFlags CXX_FLAG_TO_TEST RESULT_VAR) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     MESSAGE(FATAL_ERROR "CXX_FLAG_TO_TEST shouldn't be empty") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ENDIF() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  CHECK_CXX_ACCEPTS_FLAG(${CXX_FLAG_TO_TEST} HAS_FLAG) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  IF(HAS_FLAG) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  # Internally, the macro CMAKE_CXX_ACCEPTS_FLAG calls TRY_COMPILE. To avoid  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  # the cost of compiling the test each time the project is configured, the variable set by  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  # the macro is added to the cache so that following invocation of the macro with  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  # the same variable name skip the compilation step.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  # For that same reason, ctkFunctionCheckCompilerFlags function appends a unique suffix to  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  # the HAS_FLAG variable. This suffix is created using a 'clean version' of the flag to test. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  STRING(REGEX REPLACE "-\\s\\$\\+\\*\\{\\}\\(\\)\\#" "" suffix ${CXX_FLAG_TO_TEST}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  CHECK_CXX_ACCEPTS_FLAG(${CXX_FLAG_TO_TEST} HAS_FLAG_${suffix}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  IF(HAS_FLAG_${suffix}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     SET(${RESULT_VAR} "${${RESULT_VAR}} ${CXX_FLAG_TO_TEST}" PARENT_SCOPE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ENDIF() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |