mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	 1bf29a0ae1
			
		
	
	1bf29a0ae1
	
	
	
		
			
			Problem: Lpeg requires Lua headers. Currently the include directories for Lpeg are set only to the bundled deps folder, so if the user wants to use system Lua/Luajit, Lpeg will not find the system headers and will fail to build. Solution: Add system Lua/Luajit include directories when USE_BUNDLED_LUA and USE_BUNDLED_LUAJIT are turned off. Fixes #23469
		
			
				
	
	
		
			33 lines
		
	
	
		
			973 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			973 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| set(LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS})
 | |
| 
 | |
| if(NOT USE_BUNDLED_LUAJIT AND NOT USE_BUNDLED_LUA)
 | |
|   find_package(Luajit)
 | |
|   if(LUAJIT_FOUND)
 | |
|     string(CONCAT LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS} " -I${LUAJIT_INCLUDE_DIR}")
 | |
|   else()
 | |
|     find_package(Lua 5.1 EXACT)
 | |
|     if(LUA_FOUND)
 | |
|       string(CONCAT LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS} " -I${LUA_INCLUDE_DIR}")
 | |
|     endif()
 | |
|   endif()
 | |
| endif()
 | |
| 
 | |
| list(APPEND LPEG_CMAKE_ARGS -DCMAKE_C_FLAGS=${LPEG_INCLUDE_FLAGS})
 | |
| 
 | |
| ExternalProject_Add(lpeg
 | |
|   URL ${LPEG_URL}
 | |
|   URL_HASH SHA256=${LPEG_SHA256}
 | |
|   DOWNLOAD_NO_PROGRESS TRUE
 | |
|   DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lpeg
 | |
|   PATCH_COMMAND ${CMAKE_COMMAND} -E copy
 | |
|     ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LpegCMakeLists.txt
 | |
|     ${DEPS_BUILD_DIR}/src/lpeg/CMakeLists.txt
 | |
|   CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LPEG_CMAKE_ARGS}
 | |
|   CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
 | |
| 
 | |
| if(USE_BUNDLED_LUAJIT)
 | |
|   add_dependencies(lpeg luajit)
 | |
| elseif(USE_BUNDLED_LUA)
 | |
|   add_dependencies(lpeg lua)
 | |
| endif()
 |