我瞭解果醬建立現有項目和CMake生成項目建立。但是,由於我寧願生成項目,我可以在各種IDE中使用,而不是試圖將Jam集成到這些IDE中,有沒有人有任何經驗/成功將Jamfile轉換爲CMakeLists.txt文件?從果醬移植到CMake
5
A
回答
0
所以我最終決定做的最好的事情是從頭開始CMAKE項目。我們的Jam項目如此混亂,我不希望繼續我們的意大利麪條的構建。
我發現這些資源是最有幫助的
http://www.cmake.org/Wiki/CMake_Useful_Variables http://www.cmake.org/cmake/help/v2.8.10/cmake.html
4
因爲它比普通的makefile更容易,所以我以前對所有Linux項目都使用Jam。然後我發現了CMake並沒有回去。編寫CMakeLists.txt文件與編寫Jamfiles一樣容易,並且您可以免費獲得特定於平臺的IDE支持,但IMO IDE項目不像手動生成的那樣乾淨。
從我所看到的,很少有人用果醬這些天,儘管有諸多優勢。它聲稱能夠在各種平臺上構建,但與此同時,它似乎不再享受積極的發展,所以我傾向於不相信它的多平臺聲明。
據我所知,有一個Jamfiles中的層次自動轉換成的CMakeLists.txt文件的層次結構,但這樣的工具肯定會是一個可行的項目沒有工具。但是,由於Jam的不受歡迎程度以及CMake的程度較低,除非你或我找到空閒時間,否則這種工具並不在眼前。 :(
如果你的項目是不是太複雜,一些簡單的搜索和替換操作應該變換的Jamfile到的CMakeLists.txt文件,如果你的項目很複雜,然後用手將它們轉換可能是你最好的選擇。
簡單的變換:
HDRS += a.h b.h c.h ;
成爲include_directories(a.h b.h c.h)
Main HelloWorld : main.cpp utils.cpp ;
成爲add_executable(HelloWorld main.cpp utils.cpp utils.h)
Library helper : helper.cpp
成爲add_library(helper STATIC helper.cpp helper.h)
SubDir foo ;
成爲add_subdirectory(foo)
LinkLibraries HelloWorld : libhelper ;
成爲target_link_libraries(HelloWorld helper)
是CMake的生成也不會自動包括相關的頭文件,所以我明確地包括在上面的例子中重要的的IDE項目。有一個很好的例子here,如果你還沒有看到它。
1
果醬向CMake的轉換,這可能是有益的嘗試延長vcproj2cmake有果醬解析器的實現,太(發電機部分的CMake的語法文本流是相當能幹現在)。
相關問題
- 1. 將CMake移植到OS X Yosemite
- 2. 如何將qmake項目移植到cmake
- 3. 從VxWorks移植到Quadros/RTXC
- 4. 從ActionBar移植到ToolBar
- 5. 從WAMP移植到LAMP
- 6. 從軸移植到軸2
- 7. 從C2DM到GCM的移植
- 8. 從gforge移植到teamforge
- 9. 移植從形式到WPF
- 10. 從TFS移植到Git
- 11. 從PHP4移植到PHP5
- 12. 從platform.popen移植到subprocess.Popen?
- 13. 從C移植到actionscript
- 14. 從Silverlight 2移植到4
- 15. 從ereg_replace移植到preg_replace
- 16. 從Linux移植到Windows,tm.sys
- 17. 從Sinopia移植到Nexus3
- 18. 從C++移植到C++/CLI
- 19. 從Java移植到MATLAB
- 20. 從Android移植到iPhone
- 21. 從Xamarin.Forms移植到Xamarin.Android
- 22. 從iOS移植到OS X
- 23. 從JBOSS移植j_security_check到Websphere
- 24. 從Spark移植到Razor
- 25. 從Java移植到Python
- 26. 從.live()移植到.on()
- 27. 從SQLite移植到Redis
- 28. 從WP7移植到Windows 8
- 29. 從ie8移植到ie9
- 30. 從ios移植到windows