我了解果酱建立现有项目和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. 如何将qmake项目移植到cmake
- 2. 将CMake移植到OS X Yosemite
- 3. 从Java移植到MATLAB
- 4. 从solaris移植到linux?
- 5. 从Java移植到Python
- 6. 从Authlogic移植到设计
- 7. 从C移植到actionscript
- 8. 从Silverlight 2移植到4
- 9. 从WAMP移植到LAMP
- 10. 从ie8移植到ie9
- 11. 从iOS移植到OS X
- 12. 从Linux移植到Windows,tm.sys
- 13. 从VB.net移植到C#
- 14. YAWS:从1.87移植到2.0.4
- 15. 从TFS移植到Git
- 16. 从Silverlight 2移植到3
- 17. 从ios移植到windows
- 18. 从NGINX移植到AngularCLI
- 19. 从gforge移植到teamforge
- 20. 从VxWorks移植到Quadros/RTXC
- 21. 从ereg_replace移植到preg_replace
- 22. 从Sinopia移植到Nexus3
- 23. 从Xamarin.Forms移植到Xamarin.Android
- 24. 从qmake迁移到cmake
- 25. 移植从VC6
- 26. 将移植函数从Python移植到C++
- 27. 将SQL结果移植到memcached中
- 28. 从.net代码从windows移植到linux
- 29. file_get_contents从drupal_http_request移植
- 30. VB6到VB.net移植