क्या यह किसी भी तरह से समानांतर निर्माण करने में सक्षम होना संभव है चाहे कोई भी उपकरण का उपयोग न किया जाए?सीएमके में पोर्टेबल समांतर बिल्ड को कॉन्फ़िगर कैसे करें?
यूनिक्स के अंतर्गत हम make -jN
जोड़ सकते हैं जहां N मैं CXX_FLAG "/MP"
को जोड़ा गया धागे की और Windows के तहत संख्या जो तब दृश्य स्टूडियो में प्रयोग किया जाता है समानांतर निर्माण करने के लिए कर रहे हैं ...? मैं अपने संस्करण को कैसे बना सकता हूं कि CMAKE_MAKE_PROGRAM
जब मैं सीएमके चलाता हूं तो हमेशा विस्तारित नहीं होता है?
सामान्य समाधान क्या है?
मैं इस के साथ आया था:
#Add some multithreaded build support
MARK_AS_ADVANCED(MULTITHREADED_BUILD)
set(MULTITHREADED_BUILD 12 CACHE STRING "How many threads are used to build the project")
if(MULTITHREADED_BUILD)
if(${CMAKE_GENERATOR} MATCHES "Unix Makefiles")
message(STATUS ${CMAKE_BUILD_TOOL})
set(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} -j${MULTITHREADED_BUILD}")
message(STATUS "Added arguments to CMAKE_BUILD_TOOL: ${CMAKE_MAKE_PROGRAM}")
elseif(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
message(STATUS "Added parallel build arguments to CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
endif()
endif()
नहीं सु फिर से किया जा सकता है, वैसे भी यह एक अच्छा विचार मत सोचो। सीएमके का वर्णन है कि परियोजना कैसे बनाई जाती है और सीएमके से इसकी बात कैसे अलग होती है। – Lap
अपने दृष्टिकोण को विस्तारित करना केवल cmake की कमांड लाइन में '-DMULTITHREADED_BUILD = 12' जोड़ें। और 'SET (MULTITHREADED_BUILD ...)' – bikram990
हटाएं ग्रहण सीडीटी के साथ मेरे मामले में त्रुटि में परिणाम: "/ usr/bin/make -j8" सभी प्रोग्राम "/ usr/bin/make -j8" प्रोग्राम नहीं चलाया जा सकता: अज्ञात कारण त्रुटि: प्रोग्राम "/ usr/bin/make -j8" पाथ –