mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	 cd1b2998d3
			
		
	
	cd1b2998d3
	
	
	
		
			
			More specifically, replace exec_program with file(REMOVE ...) so that the uninstall target is run during the build stage instead of the configure stage, significantly speeding up the target. The code snippet that was removed is taken from the cmake FAQ https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake. However, this uses undocumented features such as IMMEDIATE when calling configure_file, which is an artifact from cmake 2.x (it's so old it's difficult to find information on it). Similarly, this particular code snippet has been around for a long time and originated from the cmake mailing lists. Based on this I believe the in-file was a workaround for the limitations of cmake back then and that it's not required anymore.
		
			
				
	
	
		
			14 lines
		
	
	
		
			510 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			510 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| if(NOT EXISTS "${CMAKE_BINARY_DIR}/install_manifest.txt")
 | |
|   message(FATAL_ERROR "Cannot find install manifest: ${CMAKE_BINARY_DIR}/install_manifest.txt")
 | |
| endif()
 | |
| 
 | |
| file(STRINGS "${CMAKE_BINARY_DIR}/install_manifest.txt" files)
 | |
| foreach(file ${files})
 | |
|   message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
 | |
|   if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
 | |
|     file(REMOVE $ENV{DESTDIR}${file})
 | |
|   else()
 | |
|     message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
 | |
|   endif()
 | |
| endforeach()
 |