【发布时间】:2015-01-07 11:52:56
【问题描述】:
使用Ubuntu、C++ 和cmake,我想创建一个程序Alpha,它基于另一个程序Beta 的代码。我已经有了Beta 的源代码,我需要为Alpha 编写使用这个现有代码的代码。我试图保持一切整洁,所以我为Alpha 和Beta 源文件、Alpha.cpp 和Beta.cpp 设置了一个单独的目录。
这是我的目录结构:
/CMakeLists.txt
/Alpha.cpp (the main function)
/Beta
/CMakeLists.txt
/Beta.cpp
Alpha 的 CMakeLists.txt 文件如下所示:
cmake_minimum_required(VERSION 2.8)
project(Alpha)
add_executable(Alpha Alpha.cpp Beta/Beta.cpp)
现在,在Beta 的原始代码中,CMakeLists.txt 文件有很多信息,例如检查操作系统、查找包以及通常定义各种 cmake 变量。我需要在Alpha 的CMakeLists.txt 文件中使用这些变量,以便正确编译Beta.cpp。
所以,我的问题是:是否可以在Beta/CmakeLists.txt 中保留所有这些信息,而不必将其全部写在Alpha 的CMakeLists.txt 文件中?然后我如何告诉Alpha 的CMakeLists.txt 文件读取Beta 的CMakeLists.txt 文件以获取这些变量?我想这样做是为了保持一切整洁,并保持模块化。谢谢!
【问题讨论】: