【发布时间】:2014-03-20 09:04:14
【问题描述】:
我有一个更大的 CMake 项目,其中包含很多子项目。几乎所有的子项目都是用 C++ 编写的,所以简单地通过add_subdirectory 集成它们是没有问题的。然而,该项目的某些部分是用 C# 和 Python 编写的。他们目前都使用 Visual Studio 解决方案来构建它们。
目前我们首先构建 CMake 材料,然后是解决方案。然后,我们将创建的二进制文件复制到 CMake 安装目录中各自的目录中。如果我们可以使用 CMake 构建所有内容,那将更加实用。
MyProject
|
|--> CMakeLists.txt (includes all subprojects)
|
|--> SubA (C++)
|-----> CMakeLists.txt
|
|--> SubB (C++)
|-----> CMakeLists.txt
|
|--> SubC (C#)
|-----> SubC.sln
|
|--> SubD (Python)
|-----> SubD.sln
我想将它们直接集成到 CMake 环境中,但找不到最好的方法。
有没有办法将非 C++ 子项目集成到 CMake 项目中?这种情况有什么最佳做法吗?
注意: Python 解决方案只是调用一些脚本命令将其转换为可执行文件。这里不需要直接使用解决方案,也可以通过调用外部批处理脚本或类似的方式来完成。
【问题讨论】: