mariadb/win/mysql_manifest.cmake
unknown a34879ebd2 Bug#24732 Executables do not include Vista manifests
- Sign executables with MySQL AB security certificate.


BitKeeper/etc/ignore:
  Bug#24732 Executables do not include Vista manifests
  - Ignore security catalog descriptions
CMakeLists.txt:
  Bug#24732 Executables do not include Vista manifests
  - Search for additional tools necessary to embed, catalog and sign
  targets.
win/README:
  Bug#24732 Executables do not include Vista manifests
  - Add internal only note to EMBED_MANIFESTS option.
win/create_manifest.js:
  Bug#24732 Executables do not include Vista manifests
  - Added publicKeyToken attribute to manifest.
win/mysql_manifest.cmake:
  Bug#24732 Executables do not include Vista manifests
  - Add additional commands to create security catalog and sign 
  targets.
  - Add parameters to add appropiate hash attribute to manifest
  and create security content description of the security catalog.
2007-07-25 13:18:12 -04:00

21 lines
1.2 KiB
CMake
Executable file

# - MYSQL_EMBED_MANIFEST(target_name required_privs)
# Create a manifest for target_name. Set the execution level to require_privs
#
# NOTE. PROCESSOR_ARCH must be defined before this MACRO is called.
MACRO(MYSQL_EMBED_MANIFEST _target_name _required_privs)
ADD_CUSTOM_COMMAND(
TARGET ${_target_name}
PRE_LINK
COMMAND cscript.exe
ARGS "${PROJECT_SOURCE_DIR}/win/create_manifest.js" name=$(ProjectName) version=${VERSION} arch=${PROCESSOR_ARCH} exe_level=${_required_privs} outfile=$(IntDir)\\$(TargetFileName).intermediate.manifest
COMMENT "Generates the contents of the manifest contents.")
ADD_CUSTOM_COMMAND(
TARGET ${_target_name}
POST_BUILD
COMMAND mt.exe ARGS -nologo -hashupdate -makecdfs -manifest $(IntDir)\\$(TargetFileName).intermediate.manifest -outputresource:$(TargetPath)
COMMAND makecat.exe ARGS $(IntDir)\\$(TargetFileName).intermediate.manifest.cdf
COMMAND signtool.exe ARGS sign /a /t http://timestamp.verisign.com/scripts/timstamp.dll $(TargetPath)
COMMENT "Embeds the manifest contents, creates a cryptographic catalog, signs the target with Authenticode certificate.")
ENDMACRO(MYSQL_EMBED_MANIFEST)