From 9e4bf795434304bce32626fe0f6887c10fec0824 Mon Sep 17 00:00:00 2001 From: Ivan Romanov Date: Thu, 26 May 2016 22:35:32 +0500 Subject: [PATCH] Fix install framework --- CMakeLists.txt | 8 +++++++- qca2.pc.cmake | 2 +- src/CMakeLists.txt | 12 ++++++------ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cd01577e..c636470e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -200,6 +200,12 @@ set(PKGCONFIG_INSTALL_PREFIX "${QCA_LIBRARY_INSTALL_DIR}/pkgconfig" CACHE PATH " normalize_path(QCA_PREFIX_INSTALL_DIR) +if(OSX_FRAMEWORK) + set(QCA_FULL_INCLUDE_INSTALL_DIR "${QCA_LIBRARY_INSTALL_DIR}/${QCA_LIB_NAME}.framework/Headers") +else() + set(QCA_FULL_INCLUDE_INSTALL_DIR "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto") +endif() + # check for oportunity to use relative paths option(USE_RELATIVE_PATHS "Try to make relocatable package") @@ -225,7 +231,7 @@ endforeach() if(NOT WIN32) if(OSX_FRAMEWORK) - set(PKGCONFIG_CFLAGS "-F\${libdir} -I\${libdir}/${QCA_LIB_NAME}.framework/Headers") + set(PKGCONFIG_CFLAGS "-F\${libdir} -I\${includedir}") set(PKGCONFIG_LIBS "-F\${libdir} -framework ${QCA_LIB_NAME}") else() set(PKGCONFIG_CFLAGS "-I\${includedir}") diff --git a/qca2.pc.cmake b/qca2.pc.cmake index f03be2fc..c7255829 100644 --- a/qca2.pc.cmake +++ b/qca2.pc.cmake @@ -1,7 +1,7 @@ prefix=@QCA_PREFIX_INSTALL_DIR@ exec_prefix=@QCA_PREFIX_INSTALL_DIR@ libdir=@QCA_LIBRARY_INSTALL_DIR@ -includedir=@QCA_INCLUDE_INSTALL_DIR@/QtCrypto +includedir=@QCA_FULL_INCLUDE_INSTALL_DIR@ Name: QCA Description: Qt Cryptographic Architecture library diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fdac76c6..92204f20 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -168,16 +168,16 @@ set_target_properties(${QCA_LIB_NAME} PROPERTIES ) if(NOT DEVELOPER_MODE) - install(TARGETS ${QCA_LIB_NAME} - EXPORT ${QCA_CONFIG_NAME_BASE}Targets + # Do not split 'PUBLIC_HEADER ...' line. It means install headers to folder + # and set this folder as -I flag for imported target. + # Also EXPORT doesn't actually install any files. It only created a new target. + install(TARGETS ${QCA_LIB_NAME} EXPORT ${QCA_CONFIG_NAME_BASE}Targets LIBRARY DESTINATION "${QCA_LIBRARY_INSTALL_DIR}" RUNTIME DESTINATION "${QCA_BINARY_INSTALL_DIR}" ARCHIVE DESTINATION "${QCA_LIBRARY_INSTALL_DIR}" FRAMEWORK DESTINATION "${QCA_LIBRARY_INSTALL_DIR}" - PUBLIC_HEADER DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto" - INCLUDES DESTINATION "${QCA_INCLUDE_INSTALL_DIR}/QtCrypto" - ) - + PUBLIC_HEADER DESTINATION "${QCA_FULL_INCLUDE_INSTALL_DIR}" INCLUDES DESTINATION "${QCA_FULL_INCLUDE_INSTALL_DIR}" + ) install_pdb(${QCA_LIB_NAME} ${QCA_BINARY_INSTALL_DIR}) endif()