* release: Whether this is a release version.\r
* publisher: The publisher of this build.\r
* certFile: The certificate file with which to sign executables. The certificate must be in pfx format and contain the private key.\r
+ * certPassword: The password for the private key in the signing certificate. If omitted, no password will be assumed.\r
* outputDir: The directory where the final built archives and such will be placed.\r
* targetArchitectures: The target architectures that NVDA should support. Possible values are all, x86 and x86_64. This should generally be left as the default.\r
\r
vars.Add("publisher", "The publisher of this build", "unknown")\r
vars.Add(PathVariable("certFile", "The certificate file with which to sign executables", "",\r
lambda key, val, env: not val or PathVariable.PathIsFile(key, val, env)))\r
+vars.Add("certPassword", "The password for the private key in the signing certificate", "")\r
vars.Add(PathVariable("outputDir", "The directory where the final built archives and such will be placed", "output",PathVariable.PathIsDirCreate))\r
vars.Add(ListVariable('targetArchitectures','Which architectures should NVDA support?','all',['x86','x86_64']))\r
\r
version = env["version"]\r
release = env["release"]\r
certFile = env["certFile"]\r
+certPassword = env["certPassword"]\r
userDocsDir=Dir('user_docs')\r
sourceDir = Dir("source")\r
Export('sourceDir')\r
env["BUILDERS"]["SzSfx"] = Builder(generator=SzSfxGenerator)\r
\r
# An action to sign an executable with certFile.\r
-signExec = [signtool, "sign", "/f", certFile, "$TARGET"]\r
+signExec = [signtool, "sign", "/f", certFile]\r
+if certPassword:\r
+ signExec.extend(("/p", certPassword))\r
+signExec.append("$TARGET")\r
\r
portableDist = env.NVDADist("dist", sourceDir, uiAccess=False)\r
if certFile:\r