cmake: install .PDB files

On Windows when compiling with Visual Studio will be produced special
.pdb files for debuggins purposes. It must be put next to target
runtime (.dll or .exe) file.
This commit is contained in:
Ivan Romanov 2014-02-03 02:05:54 +06:00
parent 01bf129066
commit fbdf57f843
13 changed files with 35 additions and 0 deletions

View File

@ -99,3 +99,15 @@ macro(add_qca_test TARGET DESCRIPTION)
WORKING_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
COMMAND "${TARGET}")
endmacro(add_qca_test)
macro(install_pdb TARGET INSTALL_PATH)
if(MSVC)
get_target_property(LOCATION ${TARGET} LOCATION_DEBUG)
string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}")
install(FILES ${LOCATION} DESTINATION ${INSTALL_PATH} CONFIGURATIONS Debug)
get_target_property(LOCATION ${TARGET} LOCATION_RELWITHDEBINFO)
string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}")
install(FILES ${LOCATION} DESTINATION ${INSTALL_PATH} CONFIGURATIONS RelWithDebInfo)
endif(MSVC)
endmacro(install_pdb)

View File

@ -17,6 +17,8 @@ if(BOTAN_FOUND)
LIBRARY DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_PLUGINS_INSTALL_DIR}")
install_pdb(qca-botan ${QCA_PLUGINS_INSTALL_DIR})
else(BOTAN_FOUND)
disable_plugin("botan")
endif(BOTAN_FOUND)

View File

@ -17,6 +17,8 @@ if(SASL2_FOUND)
LIBRARY DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_PLUGINS_INSTALL_DIR}")
install_pdb(qca-cyrus-sasl ${QCA_PLUGINS_INSTALL_DIR})
else(SASL2_FOUND)
disable_plugin("cyrus-sasl")
endif(SASL2_FOUND)

View File

@ -27,6 +27,8 @@ if(LIBGCRYPT_FOUND)
LIBRARY DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_PLUGINS_INSTALL_DIR}")
install_pdb(qca-gcrypt ${QCA_PLUGINS_INSTALL_DIR})
else(HAVE_GCRY_ERROR_T)
message(STATUS "libgcrypt seems to be too old")
disable_plugin("gcrypt")

View File

@ -25,6 +25,8 @@ if(QCA_GPG_EXECUTABLE)
LIBRARY DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_PLUGINS_INSTALL_DIR}")
install_pdb(qca-gnupg ${QCA_PLUGINS_INSTALL_DIR})
elseif(WITH_gnupg_PLUGIN STREQUAL "yes")
message(FATAL_ERROR "Could not find GnuPG binary")
else(QCA_GPG_EXECUTABLE)

View File

@ -15,3 +15,5 @@ install(TARGETS qca-logger
LIBRARY DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_PLUGINS_INSTALL_DIR}")
install_pdb(qca-logger ${QCA_PLUGINS_INSTALL_DIR})

View File

@ -18,6 +18,8 @@ if(NSS_FOUND)
LIBRARY DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_PLUGINS_INSTALL_DIR}")
install_pdb(qca-nss ${QCA_PLUGINS_INSTALL_DIR})
else(NSS_FOUND)
disable_plugin("nss")
set(WITH_nss_PLUGIN "no" PARENT_SCOPE)

View File

@ -50,6 +50,8 @@ if(OPENSSL_FOUND)
LIBRARY DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_PLUGINS_INSTALL_DIR}")
install_pdb(qca-ossl ${QCA_PLUGINS_INSTALL_DIR})
else(OPENSSL_FOUND)
disable_plugin("ossl")
endif(OPENSSL_FOUND)

View File

@ -29,6 +29,7 @@ if(OPENSSL_FOUND AND PKCS11H_FOUND)
ARCHIVE DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_PLUGINS_INSTALL_DIR}")
install_pdb(qca-pkcs11 ${QCA_PLUGINS_INSTALL_DIR})
else(OPENSSL_FOUND AND PKCS11H_FOUND)
disable_plugin("pkcs11")
endif(OPENSSL_FOUND AND PKCS11H_FOUND)

View File

@ -15,3 +15,5 @@ install(TARGETS qca-softstore
LIBRARY DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_PLUGINS_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_PLUGINS_INSTALL_DIR}")
install_pdb(qca-softstore ${QCA_PLUGINS_INSTALL_DIR})

View File

@ -152,3 +152,5 @@ INSTALL(TARGETS ${QCA_LIB_NAME}
RUNTIME DESTINATION "${QCA_BINARY_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_LIBRARY_INSTALL_DIR}"
)
install_pdb(${QCA_LIB_NAME} ${QCA_BINARY_INSTALL_DIR})

View File

@ -7,3 +7,5 @@ add_executable(${MOZCERTS_NAME} ${mozcerts_bin_SRCS})
target_link_qca_libraries(${MOZCERTS_NAME})
install(TARGETS ${MOZCERTS_NAME} DESTINATION "${QCA_BINARY_INSTALL_DIR}")
install_pdb(${MOZCERTS_NAME} ${QCA_BINARY_INSTALL_DIR})

View File

@ -11,3 +11,5 @@ add_executable(${QCA_TOOL_NAME} ${qcatool_bin_SRCS})
target_link_qca_libraries(${QCA_TOOL_NAME})
install(TARGETS ${QCA_TOOL_NAME} DESTINATION "${QCA_BINARY_INSTALL_DIR}")
install_pdb(${QCA_TOOL_NAME} ${QCA_BINARY_INSTALL_DIR})