2

我从事的项目被组织到根文件夹(VOBS)中,如下所示:

|--BUILD_FOLDER
| |-- BUILD_SCRIPTS
| |-- SOME_MORE_CODE
|
|--COMPONENT_A
|--COMPONENT_B

因为它们是 ClearCase VOBS,所以没有更高级别的根文件夹来放置 CMakeLists.txt 此设置似乎不适合 CMake 模式...

  • 这是使用 CMake 的阻碍吗?
    • 似乎 CMake 要求一切都是分层的,因为它从一个点下降。.
  • CMake 是非 Windows/Linux 目标的正确工具吗?
    • 这些项目使用自定义 c 编译器并调用第 3 方工具来生成多种格式的应用程序文件。
4

1 回答 1

0

您的组件不必是 CMakeLists.txt 文件所在目录的子目录。将其放置在与组件具有相同级别的文件夹中,只需在ADD_SUBDIRECTORY命令中使用相对路径:

ADD_SUBDIRECTORY(../componentA)
ADD_SUBDIRECTORY(../componentB)

这就是我建议您安排文件夹的方式

|--BUILD_FOLDER           <-- this directory is created by "make" (???)
| |-- BUILD_SCRIPTS
| |-- SOME_MORE_CODE
|
|--META_FOLDER  <--- place CMakeLists.txt here
|--COMPONENT_A
|--COMPONENT_B

构建 OpenJDK 6 时使用了类似的目录布局(但当时使用的是通常的 make 而不是 CMake)。

于 2009-10-20T10:13:25.847 回答