如何在不需要 运行 cmake 的情况下将 属性 值摄取到 cpack-wix?
How to ingest property value to cpack-wix without nees for running cmake again?
我正在使用 cmake
和 cpack
以及 wix
来构建和部署我的项目。安装程序具有一些用户可以通过 GUI 或 MSI 命令行选项输入的属性。
我在我的 CMakeLists.txt
中设置默认 属性 值使用:
set(CPACK_WIX_PROPERTY_<PROPERTY> <value>)
问题是,如果我更改这些值,我应该在 cpack
命令之前重新运行 cmake
命令。
我正在寻找一种无需重新运行即可更改这些属性的默认值的方法 cmake
。
我尝试使用 CPACK_WIX_EXTRA_SOURCES
添加额外的 wxs
文件或使用 CPACK_WIX_PATCH_FILE
使用额外的 xml
文件修补生成的文件,但找不到正确的代码来放置在 wxs
或 xml
文件中完成我的目标。
我尝试了 SetProperty
命令,发现它的行为不容易控制,当我看到用户提供的值不替换初始值和建议的解决方案时,我放弃了 http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Unable-to-override-SetProperty-value-with-Edit-Control-value-td7591569.html 没用。我希望有一个简单的方法,但即使是使用 SetProperty
的复杂答案也可以。
I am looking for a way to change default value of these properties without need for rerunning cmake
.
CPACK_PROJECT_CONFIG_FILE 变量中指定的脚本是影响 CPack 的脚本,但更改不需要 cmake
重新 运行。因此,您可以在此处放置 CPACK_WIX_PROPERTY_<PROPERTY>
的设置:更改此设置只需要在主项目上重新 运行 CPack 而无需重新 运行 cmake
。
此外,当解析 CPACK_PROJECT_CONFIG_FILE
变量中指定的脚本时,CPACK_GENERATOR
变量包含当前正在处理的确切 CPack 生成器。这与 CMakeLists.txt
中变量的行为相反,当它包含 list 生成器时。
我正在使用 cmake
和 cpack
以及 wix
来构建和部署我的项目。安装程序具有一些用户可以通过 GUI 或 MSI 命令行选项输入的属性。
我在我的 CMakeLists.txt
中设置默认 属性 值使用:
set(CPACK_WIX_PROPERTY_<PROPERTY> <value>)
问题是,如果我更改这些值,我应该在 cpack
命令之前重新运行 cmake
命令。
我正在寻找一种无需重新运行即可更改这些属性的默认值的方法 cmake
。
我尝试使用 CPACK_WIX_EXTRA_SOURCES
添加额外的 wxs
文件或使用 CPACK_WIX_PATCH_FILE
使用额外的 xml
文件修补生成的文件,但找不到正确的代码来放置在 wxs
或 xml
文件中完成我的目标。
我尝试了 SetProperty
命令,发现它的行为不容易控制,当我看到用户提供的值不替换初始值和建议的解决方案时,我放弃了 http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Unable-to-override-SetProperty-value-with-Edit-Control-value-td7591569.html 没用。我希望有一个简单的方法,但即使是使用 SetProperty
的复杂答案也可以。
I am looking for a way to change default value of these properties without need for rerunning
cmake
.
CPACK_PROJECT_CONFIG_FILE 变量中指定的脚本是影响 CPack 的脚本,但更改不需要 cmake
重新 运行。因此,您可以在此处放置 CPACK_WIX_PROPERTY_<PROPERTY>
的设置:更改此设置只需要在主项目上重新 运行 CPack 而无需重新 运行 cmake
。
此外,当解析 CPACK_PROJECT_CONFIG_FILE
变量中指定的脚本时,CPACK_GENERATOR
变量包含当前正在处理的确切 CPack 生成器。这与 CMakeLists.txt
中变量的行为相反,当它包含 list 生成器时。