From 3f217741ec84162383456468e6782a1859130d3c Mon Sep 17 00:00:00 2001 From: Florian Walch Date: Mon, 10 Feb 2020 21:50:36 +0100 Subject: [PATCH] Build tree-sitter out-of-source Avoids having CMakeCache.txt etc in https://github.com/neovim/deps, where it can cause trouble for Ubuntu PPA builds such as: > CMake Error: The source "/<>/neovim-0.5.0+ubuntu1+git202002090924-1f479ff-00e710e/.deps/build/src/treesitter-c/CMakeLists.txt" does not match the source "/home/travis/build/neovim/bot-ci/build/deps-src/build/src/treesitter-c/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory. --- .../cmake/BuildTreesitterParsers.cmake | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/third-party/cmake/BuildTreesitterParsers.cmake b/third-party/cmake/BuildTreesitterParsers.cmake index ccc81ae97b..5284a7fd62 100644 --- a/third-party/cmake/BuildTreesitterParsers.cmake +++ b/third-party/cmake/BuildTreesitterParsers.cmake @@ -10,19 +10,18 @@ DOWNLOAD_COMMAND ${CMAKE_COMMAND} -DTARGET=treesitter-c -DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake -BUILD_IN_SOURCE 1 -CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy +PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cmake/TreesitterParserCMakeLists.txt ${DEPS_BUILD_DIR}/src/treesitter-c/CMakeLists.txt - COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/treesitter-c/CMakeLists.txt - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_GENERATOR=${CMAKE_GENERATOR} - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} - # Pass toolchain - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - -DPARSERLANG=c +CMAKE_ARGS + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_GENERATOR=${CMAKE_GENERATOR} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} + # Pass toolchain + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DPARSERLANG=c BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${CMAKE_BUILD_TYPE} INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE})