From a930706aa603ba91800221bba754ee478164108d Mon Sep 17 00:00:00 2001 From: Deepika Upadhyay Date: Fri, 22 Nov 2019 19:47:16 +0530 Subject: [PATCH] cmake: support parallel build for rocksdb * cmake/modules/BuildRocksDB.cmake: if "make" detected use concurrent processing, by passing the jobserver to sub-make using `$(MAKE)` Signed-off-by: Deepika Upadhyay --- cmake/modules/BuildRocksDB.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake index 73b864c76a5..f1b68c05422 100644 --- a/cmake/modules/BuildRocksDB.cmake +++ b/cmake/modules/BuildRocksDB.cmake @@ -60,11 +60,18 @@ function(build_rocksdb) set(rocksdb_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/rocksdb") set(rocksdb_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/rocksdb") set(rocksdb_LIBRARY "${rocksdb_BINARY_DIR}/librocksdb.a") + if(CMAKE_MAKE_PROGRAM MATCHES "make") + # try to inherit command line arguments passed by parent "make" job + set(make_cmd $(MAKE) rocksdb) + else() + set(make_cmd ${CMAKE_COMMAND} --build --target rocksdb) + endif() + ExternalProject_Add(rocksdb_ext SOURCE_DIR "${rocksdb_SOURCE_DIR}" CMAKE_ARGS ${rocksdb_CMAKE_ARGS} BINARY_DIR "${rocksdb_BINARY_DIR}" - BUILD_COMMAND ${CMAKE_COMMAND} --build --target rocksdb + BUILD_COMMAND "${make_cmd}" BUILD_ALWAYS TRUE BUILD_BYPRODUCTS "${rocksdb_LIBRARY}" INSTALL_COMMAND "true") -- 2.39.5