27 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| set(whitespaces "[\\t\\n\\r ]*")
 | |
| 
 | |
| #######################
 | |
| # verify generated symbolic links
 | |
| #######################
 | |
| file(GLOB_RECURSE symlink_files RELATIVE "${bin_dir}" "${bin_dir}/*/symlink_*")
 | |
| 
 | |
| foreach(check_symlink IN LISTS symlink_files)
 | |
|   get_filename_component(symlink_name "${check_symlink}" NAME)
 | |
|   execute_process(COMMAND ls -la "${check_symlink}"
 | |
|             WORKING_DIRECTORY "${bin_dir}"
 | |
|             OUTPUT_VARIABLE SYMLINK_POINT_
 | |
|             OUTPUT_STRIP_TRAILING_WHITESPACE)
 | |
| 
 | |
|   if("${symlink_name}" STREQUAL "symlink_to_empty_dir")
 | |
|     string(REGEX MATCH "^.*${whitespaces}->${whitespaces}empty_dir$" check_symlink "${SYMLINK_POINT_}")
 | |
|   elseif("${symlink_name}" STREQUAL "symlink_to_non_empty_dir")
 | |
|     string(REGEX MATCH "^.*${whitespaces}->${whitespaces}non_empty_dir$" check_symlink "${SYMLINK_POINT_}")
 | |
|   else()
 | |
|     message(FATAL_ERROR "error: unexpected rpm symbolic link '${check_symlink}'")
 | |
|   endif()
 | |
| 
 | |
|   if(NOT check_symlink)
 | |
|     message(FATAL_ERROR "symlink points to unexpected location '${SYMLINK_POINT_}'")
 | |
|   endif()
 | |
| endforeach()
 |