From 89aeb034d1057d1c0b0e52622917d4bc89062b73 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 28 Mar 2014 15:22:44 -0700 Subject: [PATCH] add find module for QCA and link to interface and DS --- cmake/modules/FindQCA.cmake | 38 ++++++++++++++++++++++++++++++++++++ domain-server/CMakeLists.txt | 7 ++++++- interface/CMakeLists.txt | 4 +++- 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 cmake/modules/FindQCA.cmake diff --git a/cmake/modules/FindQCA.cmake b/cmake/modules/FindQCA.cmake new file mode 100644 index 0000000000..1e679ff96b --- /dev/null +++ b/cmake/modules/FindQCA.cmake @@ -0,0 +1,38 @@ +# Try to find the QCA library +# +# You can provide a QCA_ROOT_DIR which contains lib and include directories +# +# Once done this will define +# +# QCA_FOUND - system found qca +# QCA_INCLUDE_DIRS - the qca include directory +# QCA_LIBRARIES - Link this to use qca +# +# Created on 3/28/2014 by Stephen Birarda +# Copyright (c) 2014 High Fidelity +# + +if (QCA_LIBRARIES AND QCA_INCLUDE_DIRS) + # in cache already + set(QCA_FOUND TRUE) +else () + + set(QCA_SEARCH_DIRS "${QCA_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/qca") + + find_path(QCA_INCLUDE_DIR qca.h PATH_SUFFIXES include/QtCrypto HINTS ${QCA_SEARCH_DIRS}) + + find_library(QCA_LIBRARY NAMES qca PATH_SUFFIXES lib HINTS ${QCA_SEARCH_DIRS}) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(QCA DEFAULT_MSG QCA_INCLUDE_DIR QCA_LIBRARY) + + if (QCA_FOUND) + if (NOT QCA_FIND_QUIETLY) + message(STATUS "Found qca: ${QCA_LIBRARY}") + endif () + else () + if (QCA_FIND_REQUIRED) + message(FATAL_ERROR "Could not find qca") + endif () + endif () +endif () \ No newline at end of file diff --git a/domain-server/CMakeLists.txt b/domain-server/CMakeLists.txt index 16bdb0df6b..57c9fa848c 100644 --- a/domain-server/CMakeLists.txt +++ b/domain-server/CMakeLists.txt @@ -17,6 +17,7 @@ include(${MACRO_DIR}/IncludeGLM.cmake) include_glm(${TARGET_NAME} "${ROOT_DIR}") find_package(Qt5Network REQUIRED) +find_package(QCA REQUIRED) include(${MACRO_DIR}/SetupHifiProject.cmake) @@ -36,8 +37,12 @@ include(${MACRO_DIR}/LinkHifiLibrary.cmake) link_hifi_library(shared ${TARGET_NAME} "${ROOT_DIR}") link_hifi_library(embedded-webserver ${TARGET_NAME} "${ROOT_DIR}") +# include the QCA dir +include_directories(QCA_INCLUDE_DIR) + IF (WIN32) target_link_libraries(${TARGET_NAME} Winmm Ws2_32) ENDIF(WIN32) -target_link_libraries(${TARGET_NAME} Qt5::Network) \ No newline at end of file +# link QtNetwork and QCA +target_link_libraries(${TARGET_NAME} Qt5::Network "${QCA_LIBRARY}") \ No newline at end of file diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index f991212a6e..b260f994a3 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -67,6 +67,7 @@ foreach(EXTERNAL_SOURCE_SUBDIR ${EXTERNAL_SOURCE_SUBDIRS}) endforeach(EXTERNAL_SOURCE_SUBDIR) find_package(Qt5 COMPONENTS Core Gui Multimedia Network OpenGL Script Svg WebKit WebKitWidgets Xml UiTools) +find_package(QCA REQUIRED) # grab the ui files in resources/ui file (GLOB_RECURSE QT_UI_FILES ui/*.ui) @@ -187,7 +188,7 @@ include_directories("${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}/includes" # include external library headers # use system flag so warnings are supressed -include_directories(SYSTEM "${FACESHIFT_INCLUDE_DIRS}") +include_directories(SYSTEM "${FACESHIFT_INCLUDE_DIRS}" "${QCA_INCLUDE_DIR}") target_link_libraries( ${TARGET_NAME} @@ -195,6 +196,7 @@ target_link_libraries( "${ZLIB_LIBRARIES}" Qt5::Core Qt5::Gui Qt5::Multimedia Qt5::Network Qt5::OpenGL Qt5::Script Qt5::Svg Qt5::WebKit Qt5::WebKitWidgets Qt5::Xml Qt5::UiTools + "${QCA_LIBRARY}" ) if (APPLE)