diff --git a/cmake/external/dgc.cmake b/cmake/external/dgc.cmake index 9c22ee89d48ea16f3007246abca38026181b0885..ef1ee1b0020f0c3746c7343439eca579c34f056f 100644 --- a/cmake/external/dgc.cmake +++ b/cmake/external/dgc.cmake @@ -33,7 +33,7 @@ ExternalProject_Add( URL_MD5 "94e6fa1bc97169d0e1aad44570fe3251" PREFIX "${DGC_PREFIX_DIR}" CONFIGURE_COMMAND "" - BUILD_COMMAND make -j $(nproc) + BUILD_COMMAND make -j${NPROC} INSTALL_COMMAND mkdir -p ${DGC_INSTALL_DIR}/lib/ ${DGC_INCLUDE_DIR}/dgc && cp ${DGC_SOURCES_DIR}/build/lib/libdgc.a ${DGC_LIBRARIES} && cp diff --git a/cmake/external/gflags.cmake b/cmake/external/gflags.cmake index 68255b4d60057f9e41fced9523e8b2c9c66af804..7d5bb6caed53fe8a3818fa20bc5a4f770529604f 100755 --- a/cmake/external/gflags.cmake +++ b/cmake/external/gflags.cmake @@ -29,8 +29,8 @@ else() set(GFLAGS_LIBRARIES "${GFLAGS_INSTALL_DIR}/lib/libgflags.a" CACHE FILEPATH "GFLAGS_LIBRARIES" FORCE) - set(BUILD_COMMAND $(MAKE) --silent) - set(INSTALL_COMMAND $(MAKE) install) + set(BUILD_COMMAND ${CMAKE_COMMAND} --build .) + set(INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install) endif() include_directories(${GFLAGS_INCLUDE_DIR}) diff --git a/cmake/external/mkldnn.cmake b/cmake/external/mkldnn.cmake index 909d223060f527e502d21ba453d8bc8792b32c35..e4f25bc711d7c7145ed959561fc07ca0bad2b4a7 100644 --- a/cmake/external/mkldnn.cmake +++ b/cmake/external/mkldnn.cmake @@ -61,6 +61,12 @@ else() CACHE FILEPATH "mkldnn library." FORCE) endif() +if(LINUX) + set(BUILD_BYPRODUCTS_ARGS ${MKLDNN_LIB}) +else() + set(BUILD_BYPRODUCTS_ARGS "") +endif() + ExternalProject_Add( ${MKLDNN_PROJECT} ${EXTERNAL_PROJECT_LOG_ARGS} ${SHALLOW_CLONE} @@ -83,7 +89,8 @@ ExternalProject_Add( -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DDNNL_BUILD_TESTS=OFF -DDNNL_BUILD_EXAMPLES=OFF - CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${MKLDNN_INSTALL_DIR}) + CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${MKLDNN_INSTALL_DIR} + BUILD_BYPRODUCTS ${BUILD_BYPRODUCTS_ARGS}) message(STATUS "MKLDNN library: ${MKLDNN_LIB}") add_definitions(-DPADDLE_WITH_MKLDNN) diff --git a/cmake/external/openblas.cmake b/cmake/external/openblas.cmake index a93121e95c4e7bccdd76eaec6d914779987e283a..ceb7e17993a8507dfc7d3d6044a7ffffec24f150 100644 --- a/cmake/external/openblas.cmake +++ b/cmake/external/openblas.cmake @@ -53,7 +53,7 @@ if(NOT WIN32) PREFIX ${CBLAS_PREFIX_DIR} INSTALL_DIR ${CBLAS_INSTALL_DIR} BUILD_IN_SOURCE 1 - BUILD_COMMAND make -j$(nproc) ${COMMON_ARGS} ${OPTIONAL_ARGS} + BUILD_COMMAND make -j${NPROC} ${COMMON_ARGS} ${OPTIONAL_ARGS} INSTALL_COMMAND make install NO_SHARED=1 NO_LAPACK=1 PREFIX= UPDATE_COMMAND "" CONFIGURE_COMMAND "" diff --git a/cmake/external/rocksdb.cmake b/cmake/external/rocksdb.cmake index 2e90f50e3cdf2a9bb53e499d7beb11b12efa9287..41a1916dc3308391aee7bfc70993dea2a0c5e496 100644 --- a/cmake/external/rocksdb.cmake +++ b/cmake/external/rocksdb.cmake @@ -44,7 +44,8 @@ ExternalProject_Add( ${ROCKSDB_PREFIX_DIR}/src/extern_rocksdb/librocksdb.a ${ROCKSDB_LIBRARIES} && cp -r ${ROCKSDB_PREFIX_DIR}/src/extern_rocksdb/include ${ROCKSDB_INSTALL_DIR}/ - BUILD_IN_SOURCE 1) + BUILD_IN_SOURCE 1 + BYPRODUCTS ${ROCKSDB_LIBRARIES}) add_dependencies(extern_rocksdb snappy) diff --git a/cmake/third_party.cmake b/cmake/third_party.cmake index dd8013d807b39b0a4f627fbce3fe7548350db196..94fb1b4d838f9a241c12f3730138dfb0ac9bdf25 100755 --- a/cmake/third_party.cmake +++ b/cmake/third_party.cmake @@ -27,6 +27,9 @@ set(THIRD_PARTY_CACHE_PATH set(THIRD_PARTY_BUILD_TYPE Release) set(third_party_deps) +include(ProcessorCount) +ProcessorCount(NPROC) + # cache funciton to avoid repeat download code of third_party. # This function has 4 parameters, URL / REPOSITOR / TAG / DIR: # 1. URL: specify download url of 3rd party