From 15206e8df2d3fff84ba897e57def7271e5733dcf Mon Sep 17 00:00:00 2001 From: Rich Gowman Date: Wed, 31 Jan 2018 13:47:59 -0500 Subject: Skip 'update' step for external dependencies We check them out from a git tag, so this *should* be a noop. However, cmake seems to want to rebuild these dependencies every time you run make as it assumes the dependency *might* have been updated. (In practice, this isn't completely awful, as make notices the files haven't changed, so files don't actually get recompiled. But the configure step is still re-run and all the files still need to be rescanned.) Skipping the update step speeds up the build considerably. On my linux box, running: cmake .. && make -j && time make -j takes ~8.5s prior to this CL and ~6.5 afterwards. (6s is used by the test suite.) The upcoming protobuf addition would otherwise have made this much worse. (It takes a long time to ./configure.) --- cmake/external/googletest.cmake | 1 + cmake/external/grpc.cmake | 1 + cmake/external/leveldb.cmake | 1 + 3 files changed, 3 insertions(+) (limited to 'cmake') diff --git a/cmake/external/googletest.cmake b/cmake/external/googletest.cmake index b4e1b59..23a57f8 100644 --- a/cmake/external/googletest.cmake +++ b/cmake/external/googletest.cmake @@ -29,6 +29,7 @@ ExternalProject_Add( PREFIX ${PROJECT_BINARY_DIR}/external/googletest # Just download the sources without building. + UPDATE_COMMAND "" CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" diff --git a/cmake/external/grpc.cmake b/cmake/external/grpc.cmake index 225e65e..0af6b31 100644 --- a/cmake/external/grpc.cmake +++ b/cmake/external/grpc.cmake @@ -73,6 +73,7 @@ else() BUILD_COMMAND ${CMAKE_COMMAND} --build . --target grpc + UPDATE_COMMAND "" TEST_COMMAND "" INSTALL_COMMAND "" ) diff --git a/cmake/external/leveldb.cmake b/cmake/external/leveldb.cmake index afff025..60183ca 100644 --- a/cmake/external/leveldb.cmake +++ b/cmake/external/leveldb.cmake @@ -70,6 +70,7 @@ else() INSTALL_DIR ${FIREBASE_INSTALL_DIR} + UPDATE_COMMAND "" INSTALL_COMMAND "" TEST_COMMAND "" ) -- cgit v1.2.3