如何获取包含CMake中可执行文件的目录?
根据使用的生成器,可能包含也可能不包含可执行文件。使用Unix Makefiles生成器,可执行文件将直接放置到此目录中。但是,使用Xcode生成器,可执行文件被放置在一个子目录(Debug或Release)中 我正试图将一些文件复制到可执行文件旁边的目录中。这就是我正在做的,但它只在我使用如何获取包含CMake中可执行文件的目录?,cmake,Cmake,根据使用的生成器,可能包含也可能不包含可执行文件。使用Unix Makefiles生成器,可执行文件将直接放置到此目录中。但是,使用Xcode生成器,可执行文件被放置在一个子目录(Debug或Release)中 我正试图将一些文件复制到可执行文件旁边的目录中。这就是我正在做的,但它只在我使用make时起作用。也许有更好的办法 add_custom_command( TARGET Game POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_di
make
时起作用。也许有更好的办法
add_custom_command(
TARGET Game POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_CURRENT_SOURCE_DIR}/assets
${CMAKE_CURRENT_BINARY_DIR}/assets
)
我找到了,但似乎没有凝固。我尝试了
CMAKE\u RUNTIME\u OUTPUT\u DIRECTORY
,CMAKE\u RUNTIME\u OUTPUT\u DIRECTORY\u DEBUG
和目标属性RUNTIME\u OUTPUT\u DIRECTORY
,RUNTIME\u OUTPUT\u DIRECTORY\u DEBUG
,但它们没有设置。也许这不是我要找的。 < P>指定与可执行的目标相关的目标目录,名为<代码> NAMEXY OFEXECUTABABLE,目标< /代码>,考虑使用<代码> $< /COD>生成器表达式。
add_custom_command(
TARGET Game POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
$<TARGET_FILE_DIR:name_of_executable_target>/assets
COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_CURRENT_SOURCE_DIR}/assets
$<TARGET_FILE_DIR:name_of_executable_target>/assets
)
add_custom_命令(
目标游戏后构建
COMMAND${CMAKE_COMMAND}-E make_目录
美元/资产
COMMAND${CMAKE_COMMAND}-E copy_目录
${CMAKE_CURRENT_SOURCE_DIR}/资产
美元/资产
)
有关详细信息,请参阅