4
0
mirror of https://github.com/QuasarApp/qca.git synced 2025-05-09 17:29:33 +00:00

cmake: no install target in developer mode

This commit is contained in:
Ivan Romanov 2014-09-28 20:57:53 +06:00
parent 686c8cac9a
commit d598c689b7
13 changed files with 144 additions and 107 deletions

@ -116,15 +116,16 @@ include_directories("include/QtCrypto/")
# for generated files
include_directories(${CMAKE_BINARY_DIR})
# uninstall target
configure_file(
if(NOT DEVELOPER_MODE)
# uninstall target
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
add_custom_target(uninstall
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
# /uninstall target
endif()
# Always include srcdir and builddir in include path
# This saves typing ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY} in about every subdir
@ -198,7 +199,9 @@ endforeach()
if(NOT WIN32)
# qca2.pc uses absolute paths. So it must be there. Don't rellocate this.
configure_file("qca2.pc.cmake" "${CMAKE_BINARY_DIR}/${QCA_PC_NAME}" @ONLY)
install(FILES "${CMAKE_BINARY_DIR}/${QCA_PC_NAME}" DESTINATION ${PKGCONFIG_INSTALL_PREFIX})
if(NOT DEVELOPER_MODE)
install(FILES "${CMAKE_BINARY_DIR}/${QCA_PC_NAME}" DESTINATION ${PKGCONFIG_INSTALL_PREFIX})
endif()
endif(NOT WIN32)
# strip CMAKE_INSTALL_PREFIX in all paths
@ -278,7 +281,9 @@ else (qca_CERTSTORE)
set( qca_CERTSTORE "${CMAKE_CURRENT_SOURCE_DIR}/certs/rootcerts.pem")
# note that INSTALL_FILES targets are relative to the current installation prefix...
# QCA_PREFIX_INSTALL_DIR is normalized and ends with / not need to use slash in DESTINATION
install(FILES "${qca_CERTSTORE}" DESTINATION "${QCA_PREFIX_INSTALL_DIR}certs")
if(NOT DEVELOPER_MODE)
install(FILES "${qca_CERTSTORE}" DESTINATION "${QCA_PREFIX_INSTALL_DIR}certs")
endif()
endif (qca_CERTSTORE)
message(STATUS "certstore path: " ${qca_CERTSTORE})
add_definitions( -DQCA_SYSTEMSTORE_PATH="${qca_CERTSTORE}" )
@ -310,10 +315,14 @@ set( qca_HEADERS ${private_HEADERS} ${public_HEADERS} )
include_directories(${QT_QTCORE_INCLUDE_DIR} "${qca_INCLUDEDIR}/QtCrypto")
configure_file("crypto.prf.cmake" "${CMAKE_BINARY_DIR}/crypto.prf" @ONLY)
install(FILES "${CMAKE_BINARY_DIR}/crypto.prf" DESTINATION "${QCA_FEATURE_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(FILES "${CMAKE_BINARY_DIR}/crypto.prf" DESTINATION "${QCA_FEATURE_INSTALL_DIR}")
endif()
configure_file(man/qcatool.1 "${CMAKE_BINARY_DIR}/${QCA_TOOL_NAME}.1" COPYONLY)
install(FILES "${CMAKE_BINARY_DIR}/${QCA_TOOL_NAME}.1" DESTINATION "${QCA_MAN_INSTALL_DIR}/man1")
if(NOT DEVELOPER_MODE)
install(FILES "${CMAKE_BINARY_DIR}/${QCA_TOOL_NAME}.1" DESTINATION "${QCA_MAN_INSTALL_DIR}/man1")
endif()
set(QCA_CRYPTO_INSTALL_DIR "${QCA_PLUGINS_INSTALL_DIR}/crypto")
@ -351,39 +360,6 @@ if(DOXYGEN_FOUND)
COMMENT "Generating API documentation with Doxygen" VERBATIM)
endif(DOXYGEN_FOUND)
# /usr/local is traditional path for installing apps on POSIX-systems.
# I consciously break this. Qt by default looks plugins and features only in
# own directory. So by default install libs in Qt prefix it is a best choice.
# This can be unwanted behaviour for users who don't read INSTALL file or/and
# not read cmake reports. I just try to warn their.
# In really anybody who do cmake . && make && sudo make install do it for own risk.
if(QCA_INSTALL_IN_QT_PREFIX)
string(ASCII 27 ESCAPE)
message("")
message("${ESCAPE}[31m")
message("!!!!!!!!!!!!!!!!!!!!!ATTENTION!!!!!!!!!!!!!!!!!!!!!!")
message("!! QCA will be installed in Qt prefix !!")
message("!! If you want to install in /usr/local !!")
message("!! you MUST explicity define CMAKE_INSTALL_PREFIX !!")
message("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
message("${ESCAPE}[0m")
endif(QCA_INSTALL_IN_QT_PREFIX)
message("")
message("QCA prefix is " "${QCA_PREFIX_INSTALL_DIR}")
message("Plugins will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_PLUGINS_INSTALL_DIR}")
message("Binary will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_BINARY_INSTALL_DIR}")
message("Library will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_LIBRARY_INSTALL_DIR}")
message("Feature file will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_FEATURE_INSTALL_DIR}")
message("Public headers will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_INCLUDE_INSTALL_DIR}")
message("Private headers will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_PRIVATE_INCLUDE_INSTALL_DIR}")
message("Documentation will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_DOC_INSTALL_DIR}")
message("Man page will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_MAN_INSTALL_DIR}")
message("Pkg-config file will be installed to " "${QCA_PREFIX_INSTALL_DIR}${PKGCONFIG_INSTALL_PREFIX}")
message("")
include(CMakePackageConfigHelpers)
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/QcaConfig.cmake.in"
@ -392,9 +368,45 @@ configure_package_config_file(
)
write_basic_config_version_file(QcaConfigVersion.cmake VERSION ${QCA_LIB_VERSION_STRING} COMPATIBILITY AnyNewerVersion)
install(EXPORT QCATargets DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/Qca FILE QcaTargets.cmake)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/QcaConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/QcaConfigVersion.cmake"
DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/Qca
)
if(NOT DEVELOPER_MODE)
# /usr/local is traditional path for installing apps on POSIX-systems.
# I consciously break this. Qt by default looks plugins and features only in
# own directory. So by default install libs in Qt prefix it is a best choice.
# This can be unwanted behaviour for users who don't read INSTALL file or/and
# not read cmake reports. I just try to warn their.
# In really anybody who do cmake . && make && sudo make install do it for own risk.
if(QCA_INSTALL_IN_QT_PREFIX)
string(ASCII 27 ESCAPE)
message("")
message("${ESCAPE}[31m")
message("!!!!!!!!!!!!!!!!!!!!!ATTENTION!!!!!!!!!!!!!!!!!!!!!!")
message("!! QCA will be installed in Qt prefix !!")
message("!! If you want to install in /usr/local !!")
message("!! you MUST explicity define CMAKE_INSTALL_PREFIX !!")
message("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
message("${ESCAPE}[0m")
endif(QCA_INSTALL_IN_QT_PREFIX)
message("")
message("QCA prefix is " "${QCA_PREFIX_INSTALL_DIR}")
message("Plugins will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_PLUGINS_INSTALL_DIR}")
message("Binary will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_BINARY_INSTALL_DIR}")
message("Library will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_LIBRARY_INSTALL_DIR}")
message("Feature file will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_FEATURE_INSTALL_DIR}")
message("Public headers will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_INCLUDE_INSTALL_DIR}")
message("Private headers will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_PRIVATE_INCLUDE_INSTALL_DIR}")
message("Documentation will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_DOC_INSTALL_DIR}")
message("Man page will be installed to " "${QCA_PREFIX_INSTALL_DIR}${QCA_MAN_INSTALL_DIR}")
message("Pkg-config file will be installed to " "${QCA_PREFIX_INSTALL_DIR}${PKGCONFIG_INSTALL_PREFIX}")
message("")
install(EXPORT QCATargets DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/Qca FILE QcaTargets.cmake)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/QcaConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/QcaConfigVersion.cmake"
DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/Qca
)
endif()

@ -13,12 +13,15 @@ if(BOTAN_FOUND)
add_library(qca-botan ${PLUGIN_TYPE} ${QCA_BOTAN_SOURCES})
target_link_libraries(qca-botan ${QT_QTCORE_LIBRARY} ${QCA_LIB_NAME} ${BOTAN_LIBRARIES})
install(TARGETS qca-botan
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(TARGETS qca-botan
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
install_pdb(qca-botan ${QCA_CRYPTO_INSTALL_DIR})
endif()
install_pdb(qca-botan ${QCA_CRYPTO_INSTALL_DIR})
else(BOTAN_FOUND)
disable_plugin("botan")
endif(BOTAN_FOUND)

@ -13,12 +13,14 @@ if(SASL2_FOUND)
add_library(qca-cyrus-sasl ${PLUGIN_TYPE} ${QCA_SASL_SOURCES})
target_link_libraries(qca-cyrus-sasl ${QT_QTCORE_LIBRARY} ${QCA_LIB_NAME} ${SASL2_LIBRARIES})
install(TARGETS qca-cyrus-sasl
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(TARGETS qca-cyrus-sasl
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
install_pdb(qca-cyrus-sasl ${QCA_CRYPTO_INSTALL_DIR})
install_pdb(qca-cyrus-sasl ${QCA_CRYPTO_INSTALL_DIR})
endif()
else(SASL2_FOUND)
disable_plugin("cyrus-sasl")
endif(SASL2_FOUND)

@ -23,12 +23,14 @@ if(LIBGCRYPT_FOUND)
add_library(qca-gcrypt ${PLUGIN_TYPE} ${QCA_GCRYPT_SOURCES})
target_link_libraries(qca-gcrypt ${QT_QTCORE_LIBRARY} ${QCA_LIB_NAME} ${LIBGCRYPT_LIBRARIES})
install(TARGETS qca-gcrypt
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(TARGETS qca-gcrypt
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
install_pdb(qca-gcrypt ${QCA_CRYPTO_INSTALL_DIR})
install_pdb(qca-gcrypt ${QCA_CRYPTO_INSTALL_DIR})
endif()
else(HAVE_GCRY_ERROR_T)
message(STATUS "libgcrypt seems to be too old")
disable_plugin("gcrypt")

@ -19,9 +19,11 @@ if (WIN32)
target_link_libraries(qca-gnupg advapi32)
endif (WIN32)
install(TARGETS qca-gnupg DESTINATION
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(TARGETS qca-gnupg DESTINATION
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
install_pdb(qca-gnupg ${QCA_CRYPTO_INSTALL_DIR})
install_pdb(qca-gnupg ${QCA_CRYPTO_INSTALL_DIR})
endif()

@ -11,9 +11,11 @@ include_directories(${LOGGERH_INCLUDE_DIR})
target_link_libraries(qca-logger ${QT_QTCORE_LIBRARY})
target_link_libraries(qca-logger ${QCA_LIB_NAME})
install(TARGETS qca-logger
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(TARGETS qca-logger
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
install_pdb(qca-logger ${QCA_CRYPTO_INSTALL_DIR})
install_pdb(qca-logger ${QCA_CRYPTO_INSTALL_DIR})
endif()

@ -14,12 +14,14 @@ if(NSS_FOUND)
add_library(qca-nss ${PLUGIN_TYPE} ${QCA_NSS_SOURCES})
target_link_libraries(qca-nss ${QT_QTCORE_LIBRARY} ${QCA_LIB_NAME} ${NSS_LDFLAGS})
install(TARGETS qca-nss
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(TARGETS qca-nss
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
install_pdb(qca-nss ${QCA_CRYPTO_INSTALL_DIR})
install_pdb(qca-nss ${QCA_CRYPTO_INSTALL_DIR})
endif()
else(NSS_FOUND)
disable_plugin("nss")
set(WITH_nss_PLUGIN "no" PARENT_SCOPE)

@ -46,12 +46,15 @@ if(OPENSSL_FOUND)
target_link_libraries(qca-ossl ${OPENSSL_EAY_LIBRARIES})
endif(WIN32)
install(TARGETS qca-ossl
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(TARGETS qca-ossl
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
install_pdb(qca-ossl ${QCA_CRYPTO_INSTALL_DIR})
endif()
install_pdb(qca-ossl ${QCA_CRYPTO_INSTALL_DIR})
else(OPENSSL_FOUND)
else(OPENSSL_FOUND)
disable_plugin("ossl")
endif(OPENSSL_FOUND)

@ -24,12 +24,14 @@ if(OPENSSL_FOUND AND PKCS11H_FOUND)
target_link_libraries(qca-pkcs11 pkcs11-helper.dll)
endif(WIN32)
install(TARGETS qca-pkcs11
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(TARGETS qca-pkcs11
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
install_pdb(qca-pkcs11 ${QCA_CRYPTO_INSTALL_DIR})
install_pdb(qca-pkcs11 ${QCA_CRYPTO_INSTALL_DIR})
endif()
else(OPENSSL_FOUND AND PKCS11H_FOUND)
disable_plugin("pkcs11")
endif(OPENSSL_FOUND AND PKCS11H_FOUND)

@ -11,9 +11,11 @@ include_directories(${SOFTSTOREH_INCLUDE_DIR})
target_link_libraries(qca-softstore ${QT_QTCORE_LIBRARY})
target_link_libraries(qca-softstore ${QCA_LIB_NAME})
install(TARGETS qca-softstore
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
if(NOT DEVELOPER_MODE)
install(TARGETS qca-softstore
LIBRARY DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_CRYPTO_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_CRYPTO_INSTALL_DIR}")
install_pdb(qca-softstore ${QCA_CRYPTO_INSTALL_DIR})
install_pdb(qca-softstore ${QCA_CRYPTO_INSTALL_DIR})
endif()

@ -156,12 +156,15 @@ set_target_properties(${QCA_LIB_NAME} PROPERTIES
EXPORT_NAME qca
)
INSTALL(TARGETS ${QCA_LIB_NAME}
EXPORT QCATargets
LIBRARY DESTINATION "${QCA_LIBRARY_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_BINARY_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_LIBRARY_INSTALL_DIR}"
PUBLIC_HEADER DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto" INCLUDES DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto"
)
if(NOT DEVELOPER_MODE)
install(TARGETS ${QCA_LIB_NAME}
EXPORT QCATargets
LIBRARY DESTINATION "${QCA_LIBRARY_INSTALL_DIR}"
RUNTIME DESTINATION "${QCA_BINARY_INSTALL_DIR}"
ARCHIVE DESTINATION "${QCA_LIBRARY_INSTALL_DIR}"
PUBLIC_HEADER DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto" INCLUDES DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto"
)
install_pdb(${QCA_LIB_NAME} ${QCA_BINARY_INSTALL_DIR})
endif()
install_pdb(${QCA_LIB_NAME} ${QCA_BINARY_INSTALL_DIR})

@ -6,6 +6,7 @@ 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})
if(NOT DEVELOPER_MODE)
install(TARGETS ${MOZCERTS_NAME} DESTINATION "${QCA_BINARY_INSTALL_DIR}")
install_pdb(${MOZCERTS_NAME} ${QCA_BINARY_INSTALL_DIR})
endif()

@ -10,6 +10,7 @@ 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})
if(NOT DEVELOPER_MODE)
install(TARGETS ${QCA_TOOL_NAME} DESTINATION "${QCA_BINARY_INSTALL_DIR}")
install_pdb(${QCA_TOOL_NAME} ${QCA_BINARY_INSTALL_DIR})
endif()