首先如果没有指定输出目录,则编译后的文件输出到build\Debug和build\Release。build为"where to build the binaries",即 “工程.sln、工程.vcxproj”目录
CMAKE_RUNTIME_OUTPUT_DIRECTORY # 指定生成的可执行文件(例如exe文件)目录
# 若编译debug,则输出目录为:指定的目录下面的Debug
# 若编译release,则输出目录为:指定的目录下面的Release
CMAKE_LIBRARY_OUTPUT_DIRECTORY # 生成的共享库文件(例如dll文件)的输出目录
# 若编译debug,则输出目录为:指定的目录下面的Debug
# 若编译release,则输出目录为:指定的目录下面的Release
CMAKE_ARCHIVE_OUTPUT_DIRECTORY # 生成的静态库文件(例如lib文件)的输出目录
# 若编译debug,则输出目录为:指定的目录下面的Debug
# 若编译release,则输出目录为:指定的目录下面的Release
LIBRARY_OUTPUT_PATH # 默认存放库文件的位置,如果产生的是静态库并且没有指定 # CMAKE_ARCHIVE_OUTPUT_DIRECTORY 则存放在该目录下,动态库也类似
EXECUTABLE_OUTPUT_PATH # 可执行文件的输出目录
# 若编译debug,则输出目录为:指定的目录下面的Debug
# 若编译release,则输出目录为:指定的目录下面的Release
CMAKE_RUNTIME_OUTPUT_DIRECTORY # 指定生成的可执行文件(例如exe文件)目录
# 若编译debug,则输出目录为:指定的目录下面的Debug
# 若编译release,则输出目录为:指定的目录下面的Release
CMAKE_LIBRARY_OUTPUT_DIRECTORY # 生成的共享库文件(例如dll文件)的输出目录
# 若编译debug,则输出目录为:指定的目录下面的Debug
# 若编译release,则输出目录为:指定的目录下面的Release
CMAKE_ARCHIVE_OUTPUT_DIRECTORY # 生成的静态库文件(例如lib文件)的输出目录
# 若编译debug,则输出目录为:指定的目录下面的Debug
# 若编译release,则输出目录为:指定的目录下面的Release
Debug和Release目录直接指定
CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG # 指定生成的可执行文件(例如exe文件)目录,若编译Debug
CMAKE_RUNTIME_OUTPUT_DIRECTORY_Release # 指定生成的可执行文件(例如exe文件)目录,若编译Release
怎么设置
# 如果编译的是动态库,设置下面这个目录就行
CMAKE_LIBRARY_OUTPUT_DIRECTORY
# 如果编译的是静态库,设置下面这个目录就行
CMAKE_ARCHIVE_OUTPUT_DIRECTORY
# 如果编译的是可执行文件,设置下面这个目录就行
CMAKE_RUNTIME_OUTPUT_DIRECTORY
如果release目录和debug目录需要特别指定
# 如果编译的是动态库,设置下面这个目录就行
CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG
CMAKE_LIBRARY_OUTPUT_DIRECTORY_Release
# 如果编译的是静态库,设置下面这个目录就行
CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG
CMAKE_ARCHIVE_OUTPUT_DIRECTORY_Release
# 如果编译的是可执行文件,设置下面这个目录就行
CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG
CMAKE_RUNTIME_OUTPUT_DIRECTORY_Release