add_custom_target(NSISTest_Preprocess SOURCES precompress.nsi)
add_custom_command(TARGET NSISTest_Preprocess POST_BUILD
COMMAND "${NSIS_PATH}" "...\\precompress.nsi")
安装程序的输出名称在nsi脚本中定义。现在我想简单地运行安装程序。如何指定在Visual Studio 2010中使用'Debug-> Start Debugging'或'Debug-> Start Without Debuging'时会发生什么?CMake add_custom_target():使用'Debug-> Start Debugging'运行自定义命令
我尝试了CreateLaunchers.cmake脚本,该脚本生成.user文件,但我认为它只适用于add_executable
。
我也试过目标房产ARCHIVE_OUTPUT_NAME
,LIBRARY_OUTPUT_NAME
,RUNTIME_OUTPUT_NAME
,但没有一个有效果。
我认为答案将b e对于自定义目标无关紧要,如果使用VS调试器执行它。你能解释为什么你需要区分这两种情况吗?一般来说,Debug设置存储在VS''.vcxproj.user'文件中,通常不会由CMake生成。 Jim Butler撰写的这篇博文(通过http://cmake.limitpoint.com/setting-the-visual-studio-debugger-path-using-cmake/)介绍了使用CMake生成自己的调试器设置文件的过程。 – Florian
@弗洛里安不,我不需要区分。要么会没事的。我只想在VS中运行可执行文件。因为我可以指定如何在CMake中构建它,所以我认为指定如何运行它会很好。 –
您可以运行安装程序,例如'在VS中添加'add_custom_target(RunInstaller COMMAND ...)'。你只需要使用'Build'而不是'Debug'。添加'set_target_properties(RunInstaller PROPERTIES EXCLUDE_FROM_ALL 1 EXCLUDE_FROM_DEFAULT_BUILD 1)'以防止它被其他构建调用。我是否正确理解您没有安装程序的名称/路径,因为它是在'.nsi'脚本中定义的?从脚本获取名称或脚本输出也是可能的。你能否添加一个脚本内容/输出的例子(我承认我没有NSIS)? – Florian