 8c8cab1afd
			
		
	
	
		8c8cab1afd
		
	
	
	
	
		
			
			Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case.
		
			
				
	
	
		
			19 lines
		
	
	
		
			910 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			910 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| function(escape_string_as_regex _str_out _str_in)
 | |
|   string(REGEX REPLACE "\\\\" "\\\\\\\\" FILETEST2 "${_str_in}")
 | |
|   string(REGEX REPLACE "([.$+*?|-])" "\\\\\\1" FILETEST2 "${FILETEST2}")
 | |
|   string(REGEX REPLACE "\\^" "\\\\^" FILETEST2 "${FILETEST2}")
 | |
|   string(REGEX REPLACE "\\(" "\\\\(" FILETEST2 "${FILETEST2}")
 | |
|   string(REGEX REPLACE "\\)" "\\\\)" FILETEST2 "${FILETEST2}")
 | |
|   string(REGEX REPLACE "\\[" "\\\\[" FILETEST2 "${FILETEST2}")
 | |
|   string(REGEX REPLACE "\\]" "\\\\]" FILETEST2 "${FILETEST2}")
 | |
|   set(${_str_out} "${FILETEST2}" PARENT_SCOPE)
 | |
| endfunction()
 | |
| 
 | |
| function(test_escape_string_as_regex)
 | |
|   set(test1 "\\.^$-+*()[]?|")
 | |
|   escape_string_as_regex(test2 "${test1}")
 | |
|   set(testRef "\\\\\\.\\^\\$\\-\\+\\*\\(\\)\\[\\]\\?\\|")
 | |
|   if(NOT test2 STREQUAL testRef)
 | |
| 	message("Error in the escape_string_for_regex function : \n   ${test1} was escaped as ${test2}, should be ${testRef}")
 | |
|   endif()
 | |
| endfunction() |