例如我應該如何同時構建發行版和調試版?我想答案利用緩存變量和它們的某種「集合」。 是從緩存參數中獲取配置參數的常用方法,不是嗎?如果答案是肯定的,我應該如何以最好的方式使用它們的幾個「集合」? 非常感謝!如何使用CMake一次構建多個配置?
9
A
回答
10
您沒有指定您正在討論的平臺。基於Makefile的生成器一次只能構建一個配置,而構建多個配置的正常方式是使用單獨的構建樹,例如,一個用於英特爾的64位Linux,一個用於32位Windows等。大多數CMake項目都建議不要使用源代碼構建,並且假設您正確編寫了CMakeLists文件,您可以擁有〜/ src/YourProject和〜/ build/YourProject - 釋放,〜/ build/YourProject-Debug。
這是建議的方式,假設您的源代碼樹中沒有任何CMakeCache.txt等。然後,您可以在調試目錄中運行cmake -DCMAKE_BUILD_TYPE:STRING = Debug〜/ src/YourProject,以及類似的版本。這樣做的好處是您可以在適當的配置下指定相關的項目。
Boost CMake項目還探索了使用庫名稱混合來區分相同構建樹中的所有配置。如果您必須在同一個構建樹中構建所有配置,這可能值得一看。
5
(同胞的Google)
要小心,不要混淆構建類型和構建配置的。
如果你真的意味着「生成類型」,如調試和釋放,並希望在同一時間來建立它們,然後CMake的常見問題給出了一個答案:How can I build multiple modes without switching
基本上,它涉及到使用幾種OUT-源代碼構建。
相關問題
- 1. 將CMake配置爲使用Xcode構建
- 2. 如何構建cmake ExternalProject,同時配置主要的一個?
- 3. CMake Eclipse構建配置
- 4. 如何配置CMake以使用-fPIC構建庫?
- 5. 如何使用CMake + msbuild構建所有配置
- 6. 用CMake構建外部庫一次
- 7. visual studio,構建配置:如何構建基於另一個構建配置
- 8. Maven一次構建多個配置文件
- 9. 如何使用Gradle一次構建多個APK?
- 10. 如何使用Albacore一次構建多個項目?
- 11. 如何使用CodeIgniter QueryBuilder一次構建多個查詢?
- 12. CMake配置文件構建規則
- 13. CMake中的項目構建配置
- 14. 如何用cmake構建包?
- 15. Eclipse + CDT:如何批量構建多個構建配置
- 16. CMake構建一個ActiveX OCX?
- 17. 我如何使用CMake構建項目?
- 18. 如何使用CMake構建OpenSceneGraph項目?
- 19. 如何創建一個新的配置與CMake的
- 20. 如何設置CMake爲iPhone構建庫
- 21. 複製配置文件以使用CLion或CMake構建目錄
- 22. Jenkins使用多配置的Maven構建
- 23. 如何使用Mocha配置TeamCity構建?
- 24. 如何自動添加CMake INSTALL項目來構建配置
- 25. 如何配置cmake以鏈接到預構建的共享庫?
- 26. 如何配置cmake來構建共享庫?
- 27. 如何配置CMake以使用新安裝的GCC編譯器進行構建?
- 28. 構建多個apk與一個風味和多個配置
- 29. 配置哈德森,以便一次只執行一個構建
- 30. 使用CMake構建PubNub C++
「build type」和「build configuration」有什麼區別? – 2015-04-15 19:56:09
「類型」又名「模式」和「配置」基本上是爲不同工具創建調試和發佈版本的方法。配置僅適用於支持它的工具,例如Visual Studio。模式通常也用於調試和發佈樣式的編譯,但cmake實現它們以便在單獨的生成文件夾中生成,因爲make不具有VS所具有的相同的配置支持樣式,即從配置下拉列表中選擇構建類型/配置在GUI中。 – gnac 2016-03-17 04:44:12