Skip to content

Commit

Permalink
fix windows errors with version resource
Browse files Browse the repository at this point in the history
--BZR--
revision-id: [email protected]
property-branch-nick: mysql-next-mr-cmake
testament3-sha1: 2f1bf032d0ac05a10e5c52ddb50795e0861f873b
  • Loading branch information
vaintroub committed Dec 16, 2009
1 parent d2b2465 commit 1e57377
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 38 deletions.
9 changes: 3 additions & 6 deletions cmake/install_macros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ MACRO (INSTALL_DEBUG_SYMBOLS targets)
STRING(REPLACE ".exe" ".pdb" pdb_location ${location})
STRING(REPLACE ".dll" ".pdb" pdb_location ${pdb_location})
STRING(REPLACE ".lib" ".pdb" pdb_location ${pdb_location})
STRING(REPLACE "${CMAKE_CFG_INTDIR}" "\${CMAKE_INSTALL_CONFIG_NAME}" pdb_location ${pdb_location})
IF(CMAKE_GENERATOR MATCHES "Visual Studio")
STRING(REPLACE "${CMAKE_CFG_INTDIR}" "\${CMAKE_INSTALL_CONFIG_NAME}" pdb_location ${pdb_location})
ENDIF()
INSTALL(FILES ${pdb_location} DESTINATION ${INSTALL_LOCATION})
ENDFOREACH()
ENDIF()
Expand Down Expand Up @@ -134,11 +136,6 @@ FUNCTION(MYSQL_INSTALL_TARGETS)
ENDFOREACH()
ENDIF()

IF(WIN32)
FOREACH(target ${TARGETS})
EMBED_VERSION_INFO(${target})
ENDFOREACH()
ENDIF()

INSTALL(TARGETS ${TARGETS} DESTINATION ${ARG_DESTINATION})
SET(INSTALL_LOCATION ${ARG_DESTINATION} )
Expand Down
36 changes: 4 additions & 32 deletions cmake/mysql_version.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -150,22 +150,16 @@ SET(COMPANYNAME ${CPACK_PACKAGE_VENDOR})
# Function to embed version info into executables/dlls on Windows
# Refer http://msdn.microsoft.com/en-us/library/aa381058(VS.85).aspx
# for more information
FUNCTION(EMBED_VERSION_INFO target)
FUNCTION(WIN32_ADD_VERSION_INFO SOURCES)
IF(NOT WIN32)
RETURN()
ENDIF()
IF(NOT CMAKE_RC_COMPILER)
RETURN()
ENDIF()

GET_TARGET_PROPERTY(target_type ${target} TYPE)
IF(target_type MATCHES "STATIC")
RETURN()
ENDIF()
IF(TARGET_TYPE MATCHES "EXE")
IF(NOT FILETYPE)
SET(FILETYPE VFT_APP)
ELSE()
SET(FILETYPE VFT_DLL)
ENDIF()

IF(NOT MAJOR_VERSION)
Expand All @@ -185,29 +179,7 @@ FUNCTION(EMBED_VERSION_INFO target)
ENDIF()
GET_FILENAME_COMPONENT(ORIGINALFILENAME ${target_location} NAME)

# Directory where we have resouce script and compiled .res file
SET(RES_DIR ${CMAKE_BINARY_DIR}/version_resources)

# Create resource script (.rc)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/versioninfo.rc.in
${RES_DIR}/${target}_versioninfo.rc)

# Compile resource script to object if required
IF(EXISTS ${RES_DIR}/${target}_versioninfo.res)
IF(${RES_DIR}/${target}_versioninfo.rc IS_NEWER_THAN
${RES_DIR}/${target}_versioninfo.res)
SET(RUN_RC 1)
ENDIF()
ELSE()
SET(RUN_RC 1)
ENDIF()

IF(RUN_RC)
# Run resource compiler
EXECUTE_PROCESS(
COMMAND ${CMAKE_RC_COMPILER} ${target}_versioninfo.rc
WORKING_DIRECTORY ${RES_DIR} OUTPUT_QUIET
)
ENDIF()
TARGET_LINK_LIBRARIES(${target} ${RES_DIR}/${target}_versioninfo.res)
${CMAKE_CURRENT_BINARY_DIR}/${target}_versioninfo.rc)
LIST(APPEND ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/${target}_versioninfo.rc)
ENDFUNCTION()
1 change: 1 addition & 0 deletions sql/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS}

IF(WIN32)
SET(MYSQLD_SOURCE main.cc nt_servc.cc nt_servc.h)
WIN32_ADD_VERSION_INFO(MYSQLD_SOURCE)
ELSE()
SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
ENDIF()
Expand Down

0 comments on commit 1e57377

Please sign in to comment.