CMake:获取根项目名称

CMake: Get root project name

假设我有以下 C 项目结构:

├── CMakeLists.txt
├── include
│   ├── header.h
├── README.md 
├── src
│   └── src.c
└── test
    ├── CMakeLists.txt
    └── test.c

根目录中的 CMakeLists.txt 包含一个名为 cproj

的项目
PROJECT(cproj C)

也在test/CMakeLists.txt,我还有一个项目

PROJECT(test C)

问题是如何评估test目录中CMakeLists.txt中的项目名称cproj

如果我正确地收集了你的用例,你可能应该这样做:

  1. test 很可能不是一个独立的子项目。它不应该有 project 指令。如果删除它,它现在将位于 cproj 项目下。

  2. 现在您正在寻找您在根目录中设置的项目名称,它应该可以通过 CMAKE_PROJECT_NAME 变量获得。