mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 12:01:42 +01:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into amd64.(none):/src/bug24732/my51-bug24732
This commit is contained in:
commit
cce481b157
5 changed files with 41 additions and 11 deletions
|
@ -5,6 +5,7 @@
|
|||
*.bb
|
||||
*.bbg
|
||||
*.bin
|
||||
*.cdf
|
||||
*.core
|
||||
*.d
|
||||
*.da
|
||||
|
|
|
@ -149,21 +149,47 @@ ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
|
|||
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
|
||||
|
||||
IF(EMBED_MANIFESTS)
|
||||
# Search for the Manifest tool. CMake will first search it's defaults
|
||||
# (CMAKE_FRAMEWORK_PATH, CMAKE_APPBUNDLE_PATH, CMAKE_PROGRAM_PATH and
|
||||
# the system PATH) followed by the listed paths which are the current
|
||||
# possible defaults and should be updated when necessary. The custom
|
||||
# manifests are designed to be compatible with all mt versions.
|
||||
# Search for the tools (mt, makecat, signtool) necessary for embedding
|
||||
# manifests and signing executables with the MySQL AB authenticode cert.
|
||||
#
|
||||
# CMake will first search it's defaults (CMAKE_FRAMEWORK_PATH,
|
||||
# CMAKE_APPBUNDLE_PATH, CMAKE_PROGRAM_PATH and the system PATH) followed
|
||||
# by the listed paths which are the current possible defaults and should be
|
||||
# updated when necessary.
|
||||
#
|
||||
# The custom manifests are designed to be compatible with all mt versions.
|
||||
# The MySQL AB Authenticode certificate is available only internally.
|
||||
# Others should store a single signing certificate in a local cryptographic
|
||||
# service provider and alter the signtool command as necessary.
|
||||
FIND_PROGRAM(HAVE_MANIFEST_TOOL NAMES mt
|
||||
PATHS
|
||||
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/VC/bin"
|
||||
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin"
|
||||
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin")
|
||||
FIND_PROGRAM(HAVE_CATALOG_TOOL NAMES makecat
|
||||
PATHS
|
||||
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin")
|
||||
FIND_PROGRAM(HAVE_SIGN_TOOL NAMES signtool
|
||||
PATHS
|
||||
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin"
|
||||
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin")
|
||||
|
||||
IF(HAVE_MANIFEST_TOOL)
|
||||
MESSAGE(STATUS "Found Mainfest Tool. Embedding custom manifests.")
|
||||
MESSAGE(STATUS "Found Mainfest Tool.")
|
||||
ELSE(HAVE_MANIFEST_TOOL)
|
||||
MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.")
|
||||
ENDIF(HAVE_MANIFEST_TOOL)
|
||||
IF(HAVE_CATALOG_TOOL)
|
||||
MESSAGE(STATUS "Found Catalog Tool.")
|
||||
ELSE(HAVE_CATALOG_TOOL)
|
||||
MESSAGE(FATAL_ERROR "Catalog tool, makecat.exe, can't be found.")
|
||||
ENDIF(HAVE_CATALOG_TOOL)
|
||||
IF(HAVE_SIGN_TOOL)
|
||||
MESSAGE(STATUS "Found Sign Tool. Embedding custom manifests and signing executables.")
|
||||
ELSE(HAVE_SIGN_TOOL)
|
||||
MESSAGE(FATAL_ERROR "Sign tool, signtool.exe, can't be found.")
|
||||
ENDIF(HAVE_SIGN_TOOL)
|
||||
|
||||
# Disable automatic manifest generation.
|
||||
STRING(REPLACE "/MANIFEST" "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS
|
||||
${CMAKE_EXE_LINKER_FLAGS})
|
||||
|
|
|
@ -63,7 +63,9 @@ The options right now are:
|
|||
MYSQL_TCP_PORT=<port> Server port, default 3306
|
||||
CYBOZU Default character set is UTF8
|
||||
EMBED_MANIFESTS Embed custom manifests into final exes, otherwise VS
|
||||
default will be used.
|
||||
default will be used. (Note - This option should only be
|
||||
used by MySQL AB.)
|
||||
|
||||
|
||||
So the command line could look like:
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ try
|
|||
manifest_xml+= "\t<assemblyIdentity name=\'" + app_name + "\'";
|
||||
manifest_xml+= " version=\'" + app_version + "\'";
|
||||
manifest_xml+= " processorArchitecture=\'" + app_arch + "\'";
|
||||
// TOADD - Add publicKeyToken attribute once we have Authenticode key.
|
||||
manifest_xml+= " publicKeyToken=\'02ad33b422233ae3\'";
|
||||
manifest_xml+= " type=\'win32\' />\r\n";
|
||||
// Identify the application security requirements.
|
||||
manifest_xml+= "\t<trustInfo xmlns=\'urn:schemas-microsoft-com:asm.v2\'>\r\n";
|
||||
|
|
|
@ -14,7 +14,8 @@ MACRO(MYSQL_EMBED_MANIFEST _target_name _required_privs)
|
|||
ADD_CUSTOM_COMMAND(
|
||||
TARGET ${_target_name}
|
||||
POST_BUILD
|
||||
COMMAND mt.exe
|
||||
ARGS -nologo -manifest $(IntDir)\\$(TargetFileName).intermediate.manifest -outputresource:$(TargetPath)
|
||||
COMMENT "Embeds the manifest contents.")
|
||||
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)
|
||||
|
|
Loading…
Add table
Reference in a new issue