我可以以某种方式找到add_executable所创建的二进制文件的位置吗?
我有很多CMakeLists - 每个包含每个二进制文件和另一个文件列表,其中包含项目的所有部分。
当我执行 cmake -D CMAKE_BUILD_TYPE =释放路径/到/ project 时,将所有二进制文件存储到目录中,其中包含CMakeList(每个位于不同的位置)。
另一方面,当我没有CMAKE_BUILD_TYPE的某个命令时,所有二进制文件都放在当前目录中。你能解释一下为什么吗?
我需要运行一些二进制文件,因为它的输出也是包的一部分。我们怎么知道路径?
答案 0 :(得分:0)
如果您希望二进制输出具有可预测的位置,请设置RUNTIME_OUTPUT_DIRECTORY
目标属性。
另一方面,如果您只想在构建期间使用add_custom_command
在内部运行它们,那么您只需将目标名称放在命令中,CMake将替换实际路径。在接受生成器表达式的其他上下文中,您还可以使用$<TARGET_FILE_NAME:target>
。