CMAKE_项目名称和项目名称之间的差异?
CMAKE_项目名称和项目名称之间有什么区别 从文件中: 当前项目的名称 这将从最近继承的project()命令中指定当前项目的名称 指定给project命令的项目的名称 这是最新的project()命令的名称 我不明白有什么区别CMAKE_项目名称和项目名称之间的差异?,cmake,Cmake,CMAKE_项目名称和项目名称之间有什么区别 从文件中: 当前项目的名称 这将从最近继承的project()命令中指定当前项目的名称 指定给project命令的项目的名称 这是最新的project()命令的名称 我不明白有什么区别 我应该在什么时候使用CMAKE\u PROJECT\u NAME?什么时候应该使用文档中的PROJECT\u NAME?,我看不出这两个变量之间的区别 不同之处在于,CMAKE_PROJECT_NAME是来自根CMakeLists.txt的上一次PROJECT调用
我应该在什么时候使用
CMAKE\u PROJECT\u NAME
?什么时候应该使用文档中的PROJECT\u NAME
?,我看不出这两个变量之间的区别
不同之处在于,CMAKE_PROJECT_NAME
是来自根CMakeLists.txt的上一次PROJECT
调用的名称,而PROJECT_NAME
是来自上一次PROJECT
调用的名称,与包含命令的文件的位置无关
从以下测试中可以识别差异
文件结构:
|-CMakeLists.txt
\-test2
|-CMakeLists.txt
\-test3
\-CMakeLists.txt
CMakeLists.txt:
cmake_minimum_required(VERSION 3.0)
project(A)
message("< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
project(B)
message("< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
add_subdirectory(test2)
message("< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
project(C)
message("< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
project(D)
message("<< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
add_subdirectory(test3)
project(E)
message("<< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
project(F)
message("<<< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
cmake_最低要求(3.0版)
项目(A)
消息(<${CMAKE\U PROJECT\U NAME}/${PROJECT\U NAME}”)
项目(B)
消息(<${CMAKE\U PROJECT\U NAME}/${PROJECT\U NAME}”)
添加_子目录(test2)
消息(<${CMAKE\U PROJECT\U NAME}/${PROJECT\U NAME}”)
项目(C)
消息(<${CMAKE\U PROJECT\U NAME}/${PROJECT\U NAME}”)
test2/CMakeLists.txt:
cmake_minimum_required(VERSION 3.0)
project(A)
message("< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
project(B)
message("< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
add_subdirectory(test2)
message("< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
project(C)
message("< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
project(D)
message("<< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
add_subdirectory(test3)
project(E)
message("<< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
project(F)
message("<<< ${CMAKE_PROJECT_NAME} / ${PROJECT_NAME}")
项目(D)
留言(“太棒了,谢谢。