From cb778ecfbd78f03e8a9361ff9376df108f6bb906 Mon Sep 17 00:00:00 2001 From: devel71 Date: Sat, 26 Nov 2016 13:51:09 +0100 Subject: [PATCH] [qca] fix cmake file location Added qt5 Build-Depends to CONTROL file. --- ports/qca/0001-fix-path-for-vcpkg.patch | 14 ++++----- ports/qca/CONTROL | 1 + ports/qca/portfile.cmake | 38 ++++++++++++----------- ports/qca/qca_load_qtenv.cmake | 40 ------------------------- 4 files changed, 28 insertions(+), 65 deletions(-) delete mode 100644 ports/qca/qca_load_qtenv.cmake diff --git a/ports/qca/0001-fix-path-for-vcpkg.patch b/ports/qca/0001-fix-path-for-vcpkg.patch index b48fee18f..d7764c01d 100644 --- a/ports/qca/0001-fix-path-for-vcpkg.patch +++ b/ports/qca/0001-fix-path-for-vcpkg.patch @@ -26,11 +26,11 @@ index 605621b..a8c3774 100644 "${CMAKE_CURRENT_SOURCE_DIR}/QcaConfig.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}Config.cmake" - INSTALL_DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/${QCA_CONFIG_NAME_BASE} -+ "${CMAKE_CURRENT_BINARY_DIR}/share/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}Config.cmake" -+ INSTALL_DESTINATION ${CMAKE_BINARY_DIR}/share/cmake/${QCA_CONFIG_NAME_BASE} ++ "${CMAKE_BINARY_DIR}/share/qca/cmake/${QCA_CONFIG_NAME_BASE}Config.cmake" ++ INSTALL_DESTINATION ${CMAKE_BINARY_DIR}/share/qca/cmake ) -write_basic_config_version_file("${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" VERSION ${QCA_LIB_VERSION_STRING} COMPATIBILITY AnyNewerVersion) -+write_basic_config_version_file("${CMAKE_BINARY_DIR}/share/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" VERSION ${QCA_LIB_VERSION_STRING} COMPATIBILITY AnyNewerVersion) ++write_basic_config_version_file("${CMAKE_BINARY_DIR}/share/qca/cmake/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" VERSION ${QCA_LIB_VERSION_STRING} COMPATIBILITY AnyNewerVersion) if(NOT DEVELOPER_MODE) @@ -39,14 +39,14 @@ index 605621b..a8c3774 100644 endif() - install(EXPORT ${QCA_CONFIG_NAME_BASE}Targets DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/${QCA_CONFIG_NAME_BASE} FILE ${QCA_CONFIG_NAME_BASE}Targets.cmake) -+ install(EXPORT ${QCA_CONFIG_NAME_BASE}Targets DESTINATION ${QCA_PREFIX_INSTALL_DIR}/share/cmake/${QCA_CONFIG_NAME_BASE} FILE ${QCA_CONFIG_NAME_BASE}Targets.cmake) ++ install(EXPORT ${QCA_CONFIG_NAME_BASE}Targets DESTINATION ${QCA_PREFIX_INSTALL_DIR}/share/qca/cmake FILE ${QCA_CONFIG_NAME_BASE}Targets.cmake) install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}Config.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" - DESTINATION ${QCA_LIBRARY_INSTALL_DIR}/cmake/${QCA_CONFIG_NAME_BASE} -+ "${CMAKE_CURRENT_BINARY_DIR}/share/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}Config.cmake" -+ "${CMAKE_CURRENT_BINARY_DIR}/share/cmake/${QCA_CONFIG_NAME_BASE}/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" -+ DESTINATION ${QCA_PREFIX_INSTALL_DIR}/share/cmake/${QCA_CONFIG_NAME_BASE} ++ "${CMAKE_BINARY_DIR}/share/qca/cmake/${QCA_CONFIG_NAME_BASE}Config.cmake" ++ "${CMAKE_BINARY_DIR}/share/qca/cmake/${QCA_CONFIG_NAME_BASE}ConfigVersion.cmake" ++ DESTINATION ${QCA_PREFIX_INSTALL_DIR}/share/qca/cmake ) endif() -- diff --git a/ports/qca/CONTROL b/ports/qca/CONTROL index 84465481a..30716ca6e 100644 --- a/ports/qca/CONTROL +++ b/ports/qca/CONTROL @@ -1,3 +1,4 @@ Source: qca Version: 2.2.0 Description: Qt Cryptographic Api (QCA) +Build-Depends: qt5 \ No newline at end of file diff --git a/ports/qca/portfile.cmake b/ports/qca/portfile.cmake index cc391b517..fa38970d3 100644 --- a/ports/qca/portfile.cmake +++ b/ports/qca/portfile.cmake @@ -7,7 +7,6 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() include(vcpkg_common_functions) -include(${CMAKE_CURRENT_LIST_DIR}/qca_load_qtenv.cmake) find_program(GIT git) @@ -39,48 +38,51 @@ message(STATUS "Adding worktree done") set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/) -# Apply the patch to install 'crypto' and 'cmake targets' folder +# Apply the patch to install to the expected folders vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-fix-path-for-vcpkg.patch ) +# Configure and build vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} CURRENT_PACKAGES_DIR ${CURRENT_PACKAGES_DIR} OPTIONS - #-DSOURCE=${SOURCE_PATH} -DBUILD_SHARED_LIBS=ON -DUSE_RELATIVE_PATHS=ON -DQT4_BUILD=OFF -DBUILD_TESTS=OFF -DBUILD_TOOLS=OFF - -DQCA_SUFFIX=qt5 + -DQCA_SUFFIX=OFF # OPTIONS_DEBUG - -DQCA_PLUGINS_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/debug/bin/Qca-qt5 + -DQCA_PLUGINS_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/debug/bin/Qca # OPTIONS_RELEASE - -DQCA_PLUGINS_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/bin/Qca-qt5 + -DQCA_PLUGINS_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/bin/Qca # ) vcpkg_install_cmake() +# Patch and copy cmake files message(STATUS "Patching files") -file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/share/cmake/Qca-qt5/Qca-qt5Targets-debug.cmake - ${CURRENT_PACKAGES_DIR}/share/cmake/Qca-qt5/Qca-qt5Targets-debug.cmake +file(READ + ${CURRENT_PACKAGES_DIR}/debug/share/qca/cmake/QcaTargets-debug.cmake + QCA_DEBUG_CONFIG +) +string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" QCA_DEBUG_CONFIG "${QCA_DEBUG_CONFIG}") +file(WRITE + ${CURRENT_PACKAGES_DIR}/share/qca/cmake/QcaTargets-debug.cmake + "${QCA_DEBUG_CONFIG}" ) -set(T_DEBUG ${CURRENT_PACKAGES_DIR}/share/cmake/Qca-qt5/Qca-qt5Targets-debug.cmake) -set(T_TARGETS ${CURRENT_PACKAGES_DIR}/share/cmake/Qca-qt5/Qca-qt5Targets.cmake) - -file(READ ${T_DEBUG} QCA_DEBUG_CONFIG) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" QCA_DEBUG_CONFIG "${QCA_DEBUG_CONFIG}") -file(WRITE ${T_DEBUG} "${QCA_DEBUG_CONFIG}") - -file(READ ${T_TARGETS} QCA_TARGET_CONFIG) +file(READ ${CURRENT_PACKAGES_DIR}/share/qca/cmake/QcaTargets.cmake + QCA_TARGET_CONFIG +) string(REPLACE "packages/qca_" "installed/" QCA_TARGET_CONFIG "${QCA_TARGET_CONFIG}") -file(WRITE ${T_TARGETS} "${QCA_TARGET_CONFIG}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/qca/cmake/QcaTargets.cmake + "${QCA_TARGET_CONFIG}" +) # Remove unneeded dirs file(REMOVE_RECURSE diff --git a/ports/qca/qca_load_qtenv.cmake b/ports/qca/qca_load_qtenv.cmake deleted file mode 100644 index ee2eb9696..000000000 --- a/ports/qca/qca_load_qtenv.cmake +++ /dev/null @@ -1,40 +0,0 @@ -# TODO: Better way to find Qt5 dir -# - -set(_QT5_FOUND FALSE) - -# Already available? -find_package(Qt5Core QUIET) -if(Qt5Core_FOUND) - message(STATUS "Qt5 found by CMake. Version: " ${Qt5Core_VERSION}) - set(_QT5_FOUND TRUE) - return() - -elseif(NOT Qt5Core_FOUND) - # Try to find Qt in the Windows Registry (just msvc2015 and msvc2015_64 for now) - if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86") - set(_QTKEY "HKEY_CURRENT_USER\\SOFTWARE\\Digia\\Versions\\msvc2015") - elseif(${TRIPLET_SYSTEM_ARCH} STREQUAL "x64") - set(_QTKEY "HKEY_CURRENT_USER\\SOFTWARE\\Digia\\Versions\\msvc2015_64") - endif() - get_filename_component(_QTPATH "[${_QTKEY};InstallDir]" ABSOLUTE) - if(NOT ${_QTPATH} STREQUAL "/registry") # Path should be ok - message(STATUS "Qt found in the registry: ${_QTPATH}") - set(QT5 ${_QTPATH}) - set(_QT5_FOUND TRUE) - endif() -endif(Qt5Core_FOUND) - -if((NOT _QT5_FOUND) AND (NOT DEFINED $ENV{QT5})) - message(STATUS " ") - message(STATUS "QT5 not found.") - message(STATUS "Please set the path to the Qt5 ${TRIPLET_SYSTEM_ARCH} toolchain dir for this session with f. e.:") - message(STATUS " \$env:QT5 = \"path\\to\\Qt\\msvc[_64]\"") - message(FATAL_ERROR "") -elseif(_QT5_FOUND AND (${TARGET_TRIPLET} STREQUAL "x64-windows" OR ${TARGET_TRIPLET} STREQUAL "x86-windows")) - #message(STATUS "Using Qt5: ${QT5}") - #set(ENV{QTDIR} ${QT5}) - set(ENV{PATH} "${QT5}/bin;$ENV{PATH}") -else() - message(FATAL_ERROR "Target triplet: ${TARGET_TRIPLET} not supported yet.") -endif()