|  | @@ -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()
 | 
	
		
			
				|  |  |  
 |