CMake中的命令project用于设置项目(project)的名称。其格式如下
设置project的名称,并将其存储在变量PROJECT_NAME中。从顶层(top-level)CMakeLists.txt调用时,还将project名称存储在变量CMAKE_PROJECT_NAME中。
还设置变量:
(1).PROJECT_SOURCE_DIR, <PROJECT-NAME>_SOURCE_DIR: project源目录的绝对路径。
(2).PROJECT_BINARY_DIR, <PROJECT-NAME>_BINARY_DIR: project二进制目录的绝对路径。
(3).PROJECT_IS_TOP_LEVEL, <PROJECT-NAME>_IS_TOP_LEVEL: 3.21版本中引入,布尔值,指示project是否为top-level。
更多的变量由下面描述的可选参数来设置,如果没有使用这些可选参数中的任何一个,则将相应的变量设置为空字符串:
(1).VERSION <version>:除非policy CMP0048设置为NEW,否则不能使用。采用由非负整数组成的<version>参数,即<major>[.<minor>[.<patch>[.<tweak>]]],并设置变量:
3.12版本中引入,从顶层(top-level)CMakeLists.txt调用project命令时,版本也存储在变量CMAKE_PROJECT_VERSION中。
(2).DESCRIPTION <project-description-string>:3.9版本中引入,设置变量PROJECT_DESCRIPTION, <PROJECT-NAME>_DESCRIPTION为<project-description-string>。建议:此描述是比较短的字符串,通常不超过几个单词。
从顶层(top-level)CMakeLists.txt调用project命令时,描述也存储在变量CMAKE_PROJECT_DESCRIPTION中。在3.12版本中,添加了<PROJECT-NAME>_DESCRIPTION变量。
(3).HOMEPAGE_URL <url-string>:3.12版本中引入,设置变量PROJECT_HOMEPAGE_URL, <PROJECT-NAME>_HOMEPAGE_URL为<url-string>,它应该是project的规范主页URL。从顶层(top-level)CMakeLists.txt调用project命令时,URL也存储在变量CMAKE_PROJECT_HOMEPAGE_URL中。
(4).LANGUAGES <language-name>...:也可以在没有LANGUAGES关键字的情况下指定第一个短签名(short signature)。选择构建(build)project所需的编程语言。支持的编程语言包括:C, CXX(i.e. C++), CUDA, OBJC(i.e. Objective-C), OBJCXX, Fortran, HIP, ISPC,和ASM。如果没有给出编程语言选项,默认情况下启用C和CXX。指定编程语言为NONE,或使用LANGUAGES关键字但不列出任何语言,则会跳过启用任何语言。
3.8版本中添加对CUDA支持。3.16版本中添加对OBJC和OBJCXX支持。3.18版本中添加对ISPC支持。如果启用ASM,请将其列在最后,以便CMake可以检查其它编程语言(例如C)的编译器是否也适用于汇编(assembly)。
执行上述测试代码需要3个文件:build.sh, CMakeLists.txt, test_project.cmake
build.sh内容如下:
CMakeLists.txt内容如下:
test_project.cmake:为上面的所有示例代码
执行可能的结果如下图所示:

GitHub:
到此这篇cmake project(cmake project函数)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/15452.html