怎么知道,二进制编译在哪里?

时间:2016-05-12 13:38:23

标签: build cmake

我可以以某种方式找到add_executable所创建的二进制文件的位置吗?

我有很多CMakeLists - 每个包含每个二进制文件和另一个文件列表,其中包含项目的所有部分。

当我执行 cmake -D CMAKE_BUILD_TYPE =释放路径/到/ project 时,将所有二进制文件存储到目录中,其中包含CMakeList(每个位于不同的位置)。

另一方面,当我没有CMAKE_BUILD_TYPE的某个命令时,所有二进制文件都放在当前目录中。你能解释一下为什么吗?

我需要运行一些二进制文件,因为它的输出也是包的一部分。我们怎么知道路径?

1 个答案:

答案 0 :(得分:0)

如果您希望二进制输出具有可预测的位置,请设置RUNTIME_OUTPUT_DIRECTORY目标属性。

另一方面,如果您只想在构建期间使用add_custom_command在内部运行它们,那么您只需将目标名称放在命令中,CMake将替换实际路径。在接受生成器表达式的其他上下文中,您还可以使用$<TARGET_FILE_NAME:target>