cmake

2013-06-06 12 views
5

पर निकालें डिफ़ॉल्ट झंडे निम्नलिखित CMakeLists.txtcmake

SET(CMAKE_CXX_FLAGS "/DWIN32") 
SET(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS}) 
add_executable(hello hello.cpp) 

झंडे /c /nologo /W1 /WX- /O2 /Ob2 /D WIN32 /D NDEBUG साथ

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\CL.exe /c /nologo /W1 /WX- /O2 /Ob2 /D WIN32 /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"hello.dir\Release\\" /Fd"C:/Users/monso/code/playground/cmakeworld/build/Release /hello.pdb" /Gd /TP /errorReport:queue ..\hello.cpp 

चल रहा समाप्त होता है।

मैं उन्हें अपना खुद का रखने के लिए कैसे हटा सकता हूं? सेटिंग CMAKE_CXX_FLAGS मैंने जो भी झंडा लगाया है (उदाहरण के लिए /w) जोड़ता है। set कॉल से पहले और उसके बाद CMAKE_CXX_FLAGS प्रिंट करते समय कॉल इसके मान बदलता है।

+0

ऐसा लगता है कि कुछ मूल झंडे हमेशा सीएमके द्वारा जोड़े जाते हैं। उन्हें एक ही ध्वज के लिए एक अलग विकल्प के साथ बदलने के लिए उन्हें कम करने का कोई तरीका नहीं है (उदाहरण के लिए '/ W1' से छुटकारा पाने के लिए सेटिंग '/ W0')। – Fraser

+1

@ फ्रेशर वाह, यह मेरे लिए ऐसी बुनियादी और सरल विशेषता प्रतीत होता है। अछा ठीक है। तब कोई सफलता नहीं है। हालांकि धन्यवाद। – quimnuss

उत्तर

2

सीएमके प्रत्येक निर्माण प्रकार के लिए अलग-अलग चर का उपयोग करता है। वे CMAKE_CXX_FLAGS_<BUILDTYPE> और CMAKE_C_FLAGS_<BUILDTYPE> कहा जाता है

तो, CXX के लिए, इस

CMAKE_CXX_FLAGS_DEBUG 
CMAKE_CXX_FLAGS_RELEASE 
CMAKE_CXX_FLAGS_RELWITHDEBINFO 
CMAKE_CXX_FLAGS_MINSIZEREL 

इसके अतिरिक्त होगा, यह "सामान्य" चर CMAKE_CXX_FLAGS और CMAKE_C_FLAGS

क्रम में

तो करने के लिए सेटिंग्स का उपयोग करता डिफ़ॉल्ट से छुटकारा पाएं, आपको वैश्विक या विशिष्ट चर सेट करने और दूसरे को साफ़ करने की आवश्यकता होगी (या उन्हें आवश्यकतानुसार कॉन्फ़िगर करें)।

नोट: यदि आप कैश में उन परिवर्तनों को चाहते हैं, तो आपको FORCE पैरामीटर का उपयोग करने की आवश्यकता है। अन्यथा, वे स्थानीय रूप से इस परियोजना और उसके बाल परियोजनाओं के लिए नियोजित हैं।