Windows Visual Studio中具有生成后事件的控制台生成

Windows Visual Studio中具有生成后事件的控制台生成,windows,visual-studio,cmake,post-build-event,Windows,Visual Studio,Cmake,Post Build Event,我正在使用CMake。这就是cmake“安装”说明: install(TARGETS MainProject RUNTIME DESTINATION "${PROJECT_SOURCE_DIR}/Install/bin" ARCHIVE DESTINATION "${PROJECT_SOURCE_DIR}/Install/lib" LIBRARY DESTINATION "${PROJECT_SOURCE_DIR}/Install/bin" )

我正在使用CMake。这就是cmake“安装”说明:

install(TARGETS MainProject
        RUNTIME DESTINATION "${PROJECT_SOURCE_DIR}/Install/bin"
        ARCHIVE DESTINATION "${PROJECT_SOURCE_DIR}/Install/lib"
        LIBRARY DESTINATION "${PROJECT_SOURCE_DIR}/Install/bin"
)
在Windows中,CMake创建与项目“BUILD_ALL”相关的项目“INSTALL”,该项目与
CMakeLists.txt
文件中列出的所有实际项目相关。 项目“安装”具有生成后事件,该事件执行“安装”操作

但当我使用
devenv INSTALL.vcxproj/rebuild“Release | x64”
运行它时,不会执行生成后事件

是否存在从控制台执行Visual Studio生成后事件的方法

(我需要控制台,因为构建必须从脚本运行)

将我的评论转换为答案

您可以使用CMake的
--build
(它将
make
/
msbuild
/
忍者
..调用抽象为以下内容):

cmake --build . --target INSTALL --config Release

生成后事件可能有一个条件,我不知道还有什么可以阻止它运行。在文本编辑器中打开INSTALL.vcxproj,查看生成后事件的外观。另外,要使用命令行进行构建,您实际上不需要devenv,只需
msbuild INSTALL.vcxproj
就可以了。我做到了。生成后事件类似于
“C:\Program Files(x86)\CMake\bin\CMake.exe”-DBUILD\u TYPE=Release-P CMake\u install.CMake
,如果我从控制台运行它,它就会工作。因此,这种变通方法会有所帮助。但我希望它在构建的一部分执行,也就是它应该在的地方。Does
cmake--build--目标安装--config Release
work?您显示的只是后期生成命令,而不是任何可能的条件,例如,项目或周围@Florian,是的,它可以工作。非常感谢。