如何在CMakeLists.txt中引用Visual Studio输出目录?

我有一个使用CMake的跨平台项目。我正在执行源代码外生成,因此基本上我有一个包含CMakeLists.txt的源目录“ src”,然后我在其中生成源代码外生成的“ src / build”目录。

但是,在使用Visual Studio(2013)时,它不会将可执行文件放置在生成目录中,而是放置在“ src / build / Debug”中(取决于所选配置)。我认为这在VS中被称为“ $(OutDir)”。如何在CMakeLists.txt中引用(运行时)输出目录,以便可以将DLL和着色器复制到可执行文件所在的位置?

编辑:建议的重复答案对我来说似乎不正确。在该答案中,您只是强制输出目录为静态,如果您使用的是像Visual Studio这样的多配置生成系统,这听起来是错误的。

我通过使用支持StAlphonzo建议的cmake-generator-expressions的“文件(GENERATE OUTPUT)”复制文件来解决了我的问题:

foreach (file ${SHADER_SOURCES})
    file (GENERATE OUTPUT $<CONFIG>/${file} INPUT ${PROJECT_SOURCE_DIR}/${file})
endforeach()

我还想提到解决此问题的第二种方法,我发现通过添加自定义命令,我认为实际上更正确:

add_custom_command(TARGET target ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCES_DIR}/foo $<TARGET_FILE_DIR:target>)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Visual Studio中更改默认的生成输出目录?

来自分类Dev

CMakeLists.txt中的安装目录,适用于Visual Studio和Qt Creator

来自分类Dev

如何在MS Visual Studio单元测试中引用数据源目录?

来自分类Dev

如何在CMakeLists中包含外部库?

来自分类Dev

如何在CMakeLists中包含库头

来自分类Dev

CMake:如何在 CMakeLists.txt 中构建多个库?

来自分类常见问题

如何在Spark中覆盖输出目录

来自分类Dev

如何在目录中输出SIP图像

来自分类Dev

如何在Visual Studio 2019中添加对PresentationCore的引用?

来自分类Dev

如何在Visual Studio 2012中引用CChannel.h?

来自分类Dev

如何在Visual Studio 2013中获取默认项目目录

来自分类Dev

如何在Visual Studio 2012+中过滤输出?

来自分类Dev

如何在Visual Studio 2013中写入输出窗口?

来自分类Dev

如何在CMakeLists.txt中指定CMake的安装路径

来自分类Dev

从Visual Studio生成CMakeLists.txt

来自分类Dev

Visual Studio中的工作目录与输出路径

来自分类Dev

如何防止CMake在生成的项目的根目录中添加CMakeLists.txt?

来自分类Dev

如何在Visual Studio中的“包含目录”中添加所有子目录?

来自分类Dev

如何在Sapper + Rollup中更改输出目录?

来自分类Dev

如何在sbt运行的测试中获取构建输出目录?

来自分类Dev

如何在Bash中列出目录和输出

来自分类Dev

如何在目录中输出每个作者的文档数量

来自分类Dev

如何在Visual Studio中的解决方案中添加对组件的引用

来自分类Dev

如何在CMakeLists.txt中检查SDL2_ttf?

来自分类Dev

如何在CMakeLists.txt中检查SDL2_ttf?

来自分类Dev

如何在根目录中引用LeafletMap?

来自分类Dev

Visual Studio Express 2012和Typescript输出目录

来自分类Dev

如何从Visual Studio中的Xunit测试引用测试文件?

来自分类Dev

如何从Visual Studio中的Xunit测试引用测试文件?

Related 相关文章

  1. 1

    如何在Visual Studio中更改默认的生成输出目录?

  2. 2

    CMakeLists.txt中的安装目录,适用于Visual Studio和Qt Creator

  3. 3

    如何在MS Visual Studio单元测试中引用数据源目录?

  4. 4

    如何在CMakeLists中包含外部库?

  5. 5

    如何在CMakeLists中包含库头

  6. 6

    CMake:如何在 CMakeLists.txt 中构建多个库?

  7. 7

    如何在Spark中覆盖输出目录

  8. 8

    如何在目录中输出SIP图像

  9. 9

    如何在Visual Studio 2019中添加对PresentationCore的引用?

  10. 10

    如何在Visual Studio 2012中引用CChannel.h?

  11. 11

    如何在Visual Studio 2013中获取默认项目目录

  12. 12

    如何在Visual Studio 2012+中过滤输出?

  13. 13

    如何在Visual Studio 2013中写入输出窗口?

  14. 14

    如何在CMakeLists.txt中指定CMake的安装路径

  15. 15

    从Visual Studio生成CMakeLists.txt

  16. 16

    Visual Studio中的工作目录与输出路径

  17. 17

    如何防止CMake在生成的项目的根目录中添加CMakeLists.txt?

  18. 18

    如何在Visual Studio中的“包含目录”中添加所有子目录?

  19. 19

    如何在Sapper + Rollup中更改输出目录?

  20. 20

    如何在sbt运行的测试中获取构建输出目录?

  21. 21

    如何在Bash中列出目录和输出

  22. 22

    如何在目录中输出每个作者的文档数量

  23. 23

    如何在Visual Studio中的解决方案中添加对组件的引用

  24. 24

    如何在CMakeLists.txt中检查SDL2_ttf?

  25. 25

    如何在CMakeLists.txt中检查SDL2_ttf?

  26. 26

    如何在根目录中引用LeafletMap?

  27. 27

    Visual Studio Express 2012和Typescript输出目录

  28. 28

    如何从Visual Studio中的Xunit测试引用测试文件?

  29. 29

    如何从Visual Studio中的Xunit测试引用测试文件?

热门标签

归档