4
我試圖使用ExternalProject_add
在Linux上使用CMake構建一些外部項目。然而,他們不尊重make -j12
命令,並提出警告:當使用CMake構建外部項目時,jobserver不可用
‘warning: jobserver unavailable: using -j1. Add `+' to parent make rule.’
這痛苦減慢我的身材。有沒有辦法同時建立外部項目?下面是一個例子項目:
include(ExternalProject)
ExternalProject_Add(
${TARGET_NAME}-ext
URL ${CMAKE_CURRENT_SOURCE_DIR}/xerces-c-${VERSION_XERCESC}.tar.gz
DOWNLOAD_DIR ${XERCESC_DIR}
SOURCE_DIR ${XERCESC_DIR}/src
PATCH_COMMAND chmod guo+rw ${CMAKE_CURRENT_SOURCE_DIR} -R
CONFIGURE_COMMAND ./configure --prefix=${XERCESC_DIR} --disable-shared -q --disable-network --enable-transcoder-gnuiconv --enable-msgloader-inmemory
BUILD_COMMAND make --silent
INSTALL_COMMAND make install
BUILD_IN_SOURCE 1
)
太棒了!請接受您自己的答案,然後問題不再顯示爲「需要答案」。 – usr1234567
這工作,但不是便攜式。我使用'cmake --build'但我得到了jobserver警告。 –
@pawetbylica我想這意味着這將被包裝在特定於操作系統的構建語句中。根據我的經驗,大多數外部項目更容易定義。這只是一個Linux解決方法。 –