cmake指定exe的outpu路径,该怎么写?
在CMake中,你可以通过SET_TARGET_PROPERTIES
命令来指定生成的可执行文件(exe)的输出路径。下面是一个基本的示例:
# 添加一个可执行目标
ADD_EXECUTABLE(my_program my_program.cpp)
# 设置目标的输出目录
SET_TARGET_PROPERTIES(my_program PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
在这个例子中,my_program
是你的可执行目标的名称,my_program.cpp
是源文件的名称。${PROJECT_BINARY_DIR}
是CMake变量,代表当前项目的二进制输出目录(通常是build
目录)。/bin
是你想要将可执行文件放置的子目录。所以,${PROJECT_BINARY_DIR}/bin
就是你的可执行文件的完整输出路径。
需要注意的是,如果你使用的是多配置生成器(如Visual Studio),你可能需要使用RUNTIME_OUTPUT_DIRECTORY_<CONFIG>
来代替RUNTIME_OUTPUT_DIRECTORY
,其中<CONFIG>
是配置名称(如Debug
、Release
等)。例如:
SET_TARGET_PROPERTIES(my_program PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG "${PROJECT_BINARY_DIR}/bin/Debug")
SET_TARGET_PROPERTIES(my_program PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE "${PROJECT_BINARY_DIR}/bin/Release")
在这个例子中,Debug版本的可执行文件将被放置在${PROJECT_BINARY_DIR}/bin/Debug
目录下,而Release版本的可执行文件将被放置在${PROJECT_BINARY_DIR}/bin/Release
目录下。