InstallRequiredSystemLibraries debug-only (#11141)
Add support to InstallRequiredSystemLibraries to only install debug libraries when both debug and release versions are available. This is as if you are building a debug package then only the debug versions are needed but not the release.
This commit is contained in:
parent
492cd84fc5
commit
753b429ec4
|
@ -1,18 +1,21 @@
|
||||||
# By including this file, all files in the CMAKE_INSTALL_DEBUG_LIBRARIES,
|
# By including this file, all library files listed in the variable
|
||||||
# will be installed with INSTALL(PROGRAMS ...) into bin for WIN32 and lib
|
# CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS will be installed with
|
||||||
# for non-win32. If CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP is set to TRUE
|
# INSTALL(PROGRAMS ...) into bin for WIN32 and lib
|
||||||
|
# for non-WIN32. If CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP is set to TRUE
|
||||||
# before including this file, then the INSTALL command is not called.
|
# before including this file, then the INSTALL command is not called.
|
||||||
# The user can use the variable CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS to use a
|
# The user can use the variable CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS to use a
|
||||||
# custom install command and install them into any directory they want.
|
# custom install command and install them however they want.
|
||||||
# If it is the MSVC compiler, then the microsoft run
|
# If it is the MSVC compiler, then the microsoft run
|
||||||
# time libraries will be found and automatically added to the
|
# time libraries will be found and automatically added to the
|
||||||
# CMAKE_INSTALL_DEBUG_LIBRARIES, and installed.
|
# CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS, and installed.
|
||||||
# If CMAKE_INSTALL_DEBUG_LIBRARIES is set and it is the MSVC
|
# If CMAKE_INSTALL_DEBUG_LIBRARIES is set and it is the MSVC
|
||||||
# compiler, then the debug libraries are installed when available.
|
# compiler, then the debug libraries are installed when available.
|
||||||
|
# If CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY is set then only the debug
|
||||||
|
# libraries are installed when both debug and release are available.
|
||||||
# If CMAKE_INSTALL_MFC_LIBRARIES is set then the MFC run time
|
# If CMAKE_INSTALL_MFC_LIBRARIES is set then the MFC run time
|
||||||
# libraries are installed as well as the CRT run time libraries.
|
# libraries are installed as well as the CRT run time libraries.
|
||||||
# If CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION is set then the libraries are
|
# If CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION is set then the libraries are
|
||||||
# instaled to that directory rather than the default.
|
# installed to that directory rather than the default.
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2006-2009 Kitware, Inc.
|
# Copyright 2006-2009 Kitware, Inc.
|
||||||
|
@ -65,12 +68,14 @@ IF(MSVC)
|
||||||
|
|
||||||
# Install the manifest that allows DLLs to be loaded from the
|
# Install the manifest that allows DLLs to be loaded from the
|
||||||
# directory containing the executable.
|
# directory containing the executable.
|
||||||
|
IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
SET(__install__libs
|
SET(__install__libs
|
||||||
"${MSVC80_CRT_DIR}/Microsoft.VC80.CRT.manifest"
|
"${MSVC80_CRT_DIR}/Microsoft.VC80.CRT.manifest"
|
||||||
"${MSVC80_CRT_DIR}/msvcm80.dll"
|
"${MSVC80_CRT_DIR}/msvcm80.dll"
|
||||||
"${MSVC80_CRT_DIR}/msvcp80.dll"
|
"${MSVC80_CRT_DIR}/msvcp80.dll"
|
||||||
"${MSVC80_CRT_DIR}/msvcr80.dll"
|
"${MSVC80_CRT_DIR}/msvcr80.dll"
|
||||||
)
|
)
|
||||||
|
ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
|
|
||||||
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||||
SET(MSVC80_CRT_DIR
|
SET(MSVC80_CRT_DIR
|
||||||
|
@ -98,12 +103,15 @@ IF(MSVC)
|
||||||
|
|
||||||
# Install the manifest that allows DLLs to be loaded from the
|
# Install the manifest that allows DLLs to be loaded from the
|
||||||
# directory containing the executable.
|
# directory containing the executable.
|
||||||
|
IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
SET(__install__libs
|
SET(__install__libs
|
||||||
"${MSVC90_CRT_DIR}/Microsoft.VC90.CRT.manifest"
|
"${MSVC90_CRT_DIR}/Microsoft.VC90.CRT.manifest"
|
||||||
"${MSVC90_CRT_DIR}/msvcm90.dll"
|
"${MSVC90_CRT_DIR}/msvcm90.dll"
|
||||||
"${MSVC90_CRT_DIR}/msvcp90.dll"
|
"${MSVC90_CRT_DIR}/msvcp90.dll"
|
||||||
"${MSVC90_CRT_DIR}/msvcr90.dll"
|
"${MSVC90_CRT_DIR}/msvcr90.dll"
|
||||||
)
|
)
|
||||||
|
ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
|
|
||||||
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||||
SET(MSVC90_CRT_DIR
|
SET(MSVC90_CRT_DIR
|
||||||
"${MSVC90_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
|
"${MSVC90_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
|
||||||
|
@ -128,11 +136,14 @@ IF(MSVC)
|
||||||
|
|
||||||
# Install the manifest that allows DLLs to be loaded from the
|
# Install the manifest that allows DLLs to be loaded from the
|
||||||
# directory containing the executable.
|
# directory containing the executable.
|
||||||
|
IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
SET(__install__libs
|
SET(__install__libs
|
||||||
"${MSVC10_CRT_DIR}/Microsoft.VC100.CRT.manifest"
|
"${MSVC10_CRT_DIR}/Microsoft.VC100.CRT.manifest"
|
||||||
"${MSVC10_CRT_DIR}/msvcp100.dll"
|
"${MSVC10_CRT_DIR}/msvcp100.dll"
|
||||||
"${MSVC10_CRT_DIR}/msvcr100.dll"
|
"${MSVC10_CRT_DIR}/msvcr100.dll"
|
||||||
)
|
)
|
||||||
|
ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
|
|
||||||
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||||
SET(MSVC10_CRT_DIR
|
SET(MSVC10_CRT_DIR
|
||||||
"${MSVC10_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
|
"${MSVC10_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
|
||||||
|
@ -171,6 +182,7 @@ IF(MSVC)
|
||||||
SET(MSVC80_MFC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFC")
|
SET(MSVC80_MFC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFC")
|
||||||
# Install the manifest that allows DLLs to be loaded from the
|
# Install the manifest that allows DLLs to be loaded from the
|
||||||
# directory containing the executable.
|
# directory containing the executable.
|
||||||
|
IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
SET(__install__libs ${__install__libs}
|
SET(__install__libs ${__install__libs}
|
||||||
"${MSVC80_MFC_DIR}/Microsoft.VC80.MFC.manifest"
|
"${MSVC80_MFC_DIR}/Microsoft.VC80.MFC.manifest"
|
||||||
"${MSVC80_MFC_DIR}/mfc80.dll"
|
"${MSVC80_MFC_DIR}/mfc80.dll"
|
||||||
|
@ -178,6 +190,8 @@ IF(MSVC)
|
||||||
"${MSVC80_MFC_DIR}/mfcm80.dll"
|
"${MSVC80_MFC_DIR}/mfcm80.dll"
|
||||||
"${MSVC80_MFC_DIR}/mfcm80u.dll"
|
"${MSVC80_MFC_DIR}/mfcm80u.dll"
|
||||||
)
|
)
|
||||||
|
ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
|
|
||||||
# include the language dll's for vs8 as well as the actuall dll's
|
# include the language dll's for vs8 as well as the actuall dll's
|
||||||
SET(MSVC80_MFCLOC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFCLOC")
|
SET(MSVC80_MFCLOC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFCLOC")
|
||||||
# Install the manifest that allows DLLs to be loaded from the
|
# Install the manifest that allows DLLs to be loaded from the
|
||||||
|
@ -212,6 +226,7 @@ IF(MSVC)
|
||||||
SET(MSVC90_MFC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFC")
|
SET(MSVC90_MFC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFC")
|
||||||
# Install the manifest that allows DLLs to be loaded from the
|
# Install the manifest that allows DLLs to be loaded from the
|
||||||
# directory containing the executable.
|
# directory containing the executable.
|
||||||
|
IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
SET(__install__libs ${__install__libs}
|
SET(__install__libs ${__install__libs}
|
||||||
"${MSVC90_MFC_DIR}/Microsoft.VC90.MFC.manifest"
|
"${MSVC90_MFC_DIR}/Microsoft.VC90.MFC.manifest"
|
||||||
"${MSVC90_MFC_DIR}/mfc90.dll"
|
"${MSVC90_MFC_DIR}/mfc90.dll"
|
||||||
|
@ -219,6 +234,8 @@ IF(MSVC)
|
||||||
"${MSVC90_MFC_DIR}/mfcm90.dll"
|
"${MSVC90_MFC_DIR}/mfcm90.dll"
|
||||||
"${MSVC90_MFC_DIR}/mfcm90u.dll"
|
"${MSVC90_MFC_DIR}/mfcm90u.dll"
|
||||||
)
|
)
|
||||||
|
ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
|
|
||||||
# include the language dll's for vs9 as well as the actuall dll's
|
# include the language dll's for vs9 as well as the actuall dll's
|
||||||
SET(MSVC90_MFCLOC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFCLOC")
|
SET(MSVC90_MFCLOC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFCLOC")
|
||||||
# Install the manifest that allows DLLs to be loaded from the
|
# Install the manifest that allows DLLs to be loaded from the
|
||||||
|
@ -253,6 +270,7 @@ IF(MSVC)
|
||||||
SET(MSVC10_MFC_DIR "${MSVC10_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC100.MFC")
|
SET(MSVC10_MFC_DIR "${MSVC10_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC100.MFC")
|
||||||
# Install the manifest that allows DLLs to be loaded from the
|
# Install the manifest that allows DLLs to be loaded from the
|
||||||
# directory containing the executable.
|
# directory containing the executable.
|
||||||
|
IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
SET(__install__libs ${__install__libs}
|
SET(__install__libs ${__install__libs}
|
||||||
"${MSVC10_MFC_DIR}/Microsoft.VC100.MFC.manifest"
|
"${MSVC10_MFC_DIR}/Microsoft.VC100.MFC.manifest"
|
||||||
"${MSVC10_MFC_DIR}/mfc100.dll"
|
"${MSVC10_MFC_DIR}/mfc100.dll"
|
||||||
|
@ -260,6 +278,8 @@ IF(MSVC)
|
||||||
"${MSVC10_MFC_DIR}/mfcm100.dll"
|
"${MSVC10_MFC_DIR}/mfcm100.dll"
|
||||||
"${MSVC10_MFC_DIR}/mfcm100u.dll"
|
"${MSVC10_MFC_DIR}/mfcm100u.dll"
|
||||||
)
|
)
|
||||||
|
ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
|
||||||
|
|
||||||
# include the language dll's for vs10 as well as the actuall dll's
|
# include the language dll's for vs10 as well as the actuall dll's
|
||||||
SET(MSVC10_MFCLOC_DIR "${MSVC10_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC100.MFCLOC")
|
SET(MSVC10_MFCLOC_DIR "${MSVC10_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC100.MFCLOC")
|
||||||
# Install the manifest that allows DLLs to be loaded from the
|
# Install the manifest that allows DLLs to be loaded from the
|
||||||
|
@ -301,6 +321,7 @@ IF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
|
||||||
SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION lib)
|
SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION lib)
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION)
|
ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION)
|
||||||
INSTALL(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION})
|
INSTALL(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}
|
||||||
|
DESTINATION ${CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION})
|
||||||
ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
|
ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
|
||||||
ENDIF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
|
ENDIF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
|
||||||
|
|
Loading…
Reference in New Issue