Bug#24732 Executables do not include Vista manifests

- Added script to generate application specific manifest.
- Added new CMake MACRO to add customer build events which will first
generate a manifest and then embeds that manifest into an executable.


BitKeeper/etc/ignore:
  Bug#24732 Executables do not include Vista manifests
  - Revise ignore rules to disallow auto-generated cmake files but to allow
  custom macros defined in a .cmake file.
CMakeLists.txt:
  Bug#24732 Executables do not include Vista manifests
  - Added logic for EMBED_MANIFESTS configuration option.
client/CMakeLists.txt:
  Bug#24732 Executables do not include Vista manifests
  - Embed manifest with custom CMake MACRO for client executables.
extra/CMakeLists.txt:
  Bug#24732 Executables do not include Vista manifests
  - Embed manifest with custom CMake MACRO for my_print_default executable.
libmysql/CMakeLists.txt:
  Bug#24732 Executables do not include Vista manifests
  - Embed manifest with custom CMake MACRO for myTest executable.
myisam/CMakeLists.txt:
  Bug#24732 Executables do not include Vista manifests
  - Embed manifest with custom CMake MACRO for myisam executables.
server-tools/instance-manager/CMakeLists.txt:
  Bug#24732 Executables do not include Vista manifests
  - Embed manifest with custom CMake MACRO for mysqlmanager executable.
sql/CMakeLists.txt:
  Bug#24732 Executables do not include Vista manifests
  - Embed manifest with custom CMake MACRO for mysqld executable.
win/README:
  Bug#24732 Executables do not include Vista manifests
  - Added new configuration option documentation.
win/configure.js:
  Bug#24732 Executables do not include Vista manifests
  - Added new EMBED_MANIFESTS configuration option.
win/create_manifest.js:
  Bug#24732 Executables do not include Vista manifests
  - Manifest generator.  This script generates a basic manifest.
win/mysql_manifest.cmake:
  Bug#24732 Executables do not include Vista manifests
  - Define new CMake MACRO for adding Windows manifests to executables.
This commit is contained in:
unknown 2007-04-23 15:41:24 -04:00
commit 1ce0d7c63b
12 changed files with 181 additions and 1 deletions

View file

@ -128,6 +128,33 @@ 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.
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")
IF(HAVE_MANIFEST_TOOL)
MESSAGE(STATUS "Found Mainfest Tool. Embedding custom manifests.")
ELSE(HAVE_MANIFEST_TOOL)
MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.")
ENDIF(HAVE_MANIFEST_TOOL)
# Disable automatic manifest generation.
STRING(REPLACE "/MANIFEST" "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS
${CMAKE_EXE_LINKER_FLAGS})
# Set the processor architecture.
IF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
SET(PROCESSOR_ARCH "X64")
ELSE(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
SET(PROCESSOR_ARCH "X86")
ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
ENDIF(EMBED_MANIFESTS)
ADD_SUBDIRECTORY(vio)
ADD_SUBDIRECTORY(dbug)
ADD_SUBDIRECTORY(strings)