我搜索并找不到问题/答案,所以这就是我的需要。
我们在交叉编译环境中使用 CMake。我们希望隔离/隔离可执行文件以及 CTest 运行所需的任何内容,以便我们可以将其存档并稍后在另一个平台上的其他地方执行(加上它以供后代使用)。
我们的工具在 linux 或 windows 中运行,并且受许可证控制,因此我们使用“大铁”机器来进行构建以提高速度并最大限度地减少许可证使用(每台机器消耗一个许可证,无论并行作业如何)。
我们的测试平台更像是 NUC 或连接有硬件的旧台式机,所以我们真的不希望它们用于构建。(另外,虽然我们接近最后期限,但硬件上的每一分钟都很重要,因此在构建测试平台上浪费时间是不可取的)。
因此,在这样的背景下,我如何说服 CMake 将所有可执行文件和自定义目标放在 CTest 可以看到的一棵树中,并将所有其余部分(.obj、依赖项、.lib 等)留在其他地方,因为运行时不需要它们。
我是否以某种方式使用“安装”(或其他一些 CMake 指令),或者我只是“手动”告诉 CMake 在哪里使用set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/test)等等?