CMake教程
任何人都可以提供良好的CMake教程的链接,除非非常昂贵和难以获得的官方吗?
在使用CMake for Fortran项目时特别有趣,但对任何好的教程都会感激。
更新。
我已经find的是Kitware Public Wiki中的CMake文章 。 Fortran的例子是绝对没用的。 =(同样在等待答案时,我正在玩SCons ,看起来不错=)
首先,我向YouTube推荐Bill Hoffman提供的一个非常好的CMake介绍讲座和相关工具:
CMake / CPack / CTest / CDash开源工具构buildtesting和部署C ++软件
接下来,快速浏览一下CMake脚本 ,快速简单的例子以及一些CMake语法 ,这样可以帮助你阅读CMake脚本。
现在,您可以立即获得CMake CVS中提供的教程 。 这不是一个讨论,而是在掌握CMake书中使用的代码教程资料。 当然,你需要参考手册来了解各种macros的细节。
在掌握了CMake的基础之后,您可以开始深入研究更高级的技术,并阅读现有的CMakeLists.txt文件,以了解其他人如何破解CMake脚本。
有关全面演练的实例,请查看GitHub上Wigner GPU实验室 最近发布的多部分教程 。
还有一点点过时,布鲁诺·阿比纳德(Bruno Abinader)的两部分教程有很好的评论:
- 第1部分 – 基本构build系统
- 第2部分 – 高级构build系统
我也可以推荐CMAKE的实证方法
我还发现CMake脚本的KDE文档非常有用。 它包括一个很好的介绍开发/教程/ CMake 。 但是,一些KDE特有的function和自定义macros可能有点令人不安。
我认为这是一个很好的材料开始。 此外,不要忘记与社区非常有帮助的CMake邮件列表。
现在在线的“掌握CMake”教程! – 比尔·霍夫曼刚刚在邮件列表上宣布。 这里是Web上的CMake Tutorial
学习CMake(PDF) – Pau Garcia i Quiles编写的教程
CMake:入门 – 来自MASH项目Wiki的综合教程。
这里是networking研讨会录制的video,2012年3月 – CMake简介 ,强烈推荐。
由Rico Huijbers撰写的针对现代CMake的最终指南 – 致力于C / C ++项目,也解释了导入/导出目标和项目configuration文件。
下面是由Eric Noulard以各种可打印格式提供的Gake存储库和CMake教程演示文稿 。
这是一个50页的PDF与学习CMake由加西亚我Quiles。
Fortran开发人员,但不仅如此,可能会发现这两篇文章有用:
- LAPACK库如何使用CMake和LAPACKE实现Microsoft Visual Studio支持 (PDF)
- Fortran for C / C ++开发人员使用CMake更容易
最后,还有一个Awesome CMake项目,它维护着精美的CMake脚本,模块,例子等等。
请在下面的评论中报告任何损坏的链接。
Fortran应该和C / C ++非常相似。 只需添加.f或.f90文件而不是.c或.cxx文件,也可以在项目调用中包含Fortran。 CMake 2.8对CMake版本的Fortran有最好的支持。 CMake有一些非常好的Fortran支持。 它可以分析源代码并根据在Fortran生成过程中将要发生的所需的.mod文件生成命令进行构build。 如果您有关于Fortran的具体问题或编译器无法正常工作,那么CMake邮件列表将成为您的理想之选。
像这样的东西:
project(testf C CXX Fortran) add_library(hello STATIC hello.f) add_library(world ${_SHARED} world.f world.def) add_executable(testf testf.f) target_link_libraries(testf hello world)
这是来自CMake中的Fortrantesting: http : //public.kitware.com/cgi-bin/viewcvs.cgi/Tests/Fortran/?root= CMake ( NOT AVAILABLE ANYMORE )
CMake也有一个确定C / Fortran链接的模块:
只是为了让你知道我已经把我的博客移动到一个新的主机( http://brunoabinader.com )和CMake教程也被移动( 后链接 )。 我打算继续处理国际化(i18n),文档(doxygen,qdoc),unit testing集成,debugging/发布模式,多平台支持等主题的教程系列。
这个怎么样:
cmake_minimum_required (VERSION 2.6) project (hello) enable_language (Fortran) add_executable (hello hello.for)
有这样一个.for文件:
Program heyDEM write (*,*) 'Hello heyDEM!' End Program heyDEM
这是非常基本的,但应该帮助作为介绍
对于CMake本身,上面列出的这些参考答案很好涵盖了你能find的每一件事情。
从我的经验来看,练习是你可以做的最好的事情,其官方文档在他们的网站永远是最好的参考资源。
学习CMake的难点在于,当你想做一些CMake没有直接提供的特殊事情时,你必须find一种方法来使其工作。
CMake中已经有一些开源项目,比如Curl和Boost,如果你想看看CMake是如何在超复杂的真实项目中使用的话。 这总是开始的好地方。
顺便说一下,SCon的问题在于它依赖于Python,对于我们来说,我们需要在AIX / Solaris / Linux(CentOS&RedHat)/ HP-UX上构build。 所以你可能不希望Python,特别是低版本不能正常工作与CMake。
这就是我前一阵子成功的原因:
PROJECT(FORTRAN_APP CXX Fortran) SET(APP_NAME MyApp) ADD_EXECUTABLE(${APP_NAME} main.cpp test1.F test2.f test3.f90) SET_TARGET_PROPERTIES(${APP_NAME} PROPERTIES LINKER_LANGUAGE CXX)
参考: CMake邮件列表