History

Merge pull request #3212 from birarda/select-library

standardization of hints used to find external libraries

Brad Hefta-Gaub committed 12 years ago

Commit 8b43ddc2 parents acecc17 5bc42b916 files · +161 −160Browse files

Unified · Split

16 files
  1. cmake/macros/HifiLibrarySearchHints.cmake +27 −0
  2. cmake/modules/FindFaceshift.cmake +3 −2
  3. cmake/modules/FindGLEW.cmake +6 −5
  4. cmake/modules/FindGLM.cmake +4 −3
  5. cmake/modules/FindGLUT.cmake +10 −9
  6. cmake/modules/FindLeapMotion.cmake +9 −9
  7. cmake/modules/FindLibOVR.cmake +11 −10
  8. cmake/modules/FindOpenSSL.cmake +5 −2
  9. cmake/modules/FindQxmpp.cmake +3 −2
  10. cmake/modules/FindRtMidi.cmake +3 −2
  11. cmake/modules/FindSixense.cmake +3 −2
  12. cmake/modules/FindVisage.cmake +3 −2
  13. interface/CMakeLists.txt +50 −101
  14. interface/src/Menu.cpp +2 −2
  15. interface/src/XmppClient.cpp +14 −3
  16. interface/src/XmppClient.h +8 −6
cmake/macros/HifiLibrarySearchHints.cmake+27−0
@@ -0,0 +1,27 @@
1+#
2+# HifiLibrarySearchHints.cmake
3+#
4+# Created by Stephen Birarda on July 24th, 2014
5+# Copyright 2014 High Fidelity, Inc.
6+#
7+# Distributed under the Apache License, Version 2.0.
8+# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
9+#
10+
11+macro(HIFI_LIBRARY_SEARCH_HINTS LIBRARY_FOLDER)
12+ string(TOUPPER ${LIBRARY_FOLDER} LIBRARY_PREFIX)
13+ set(${LIBRARY_PREFIX}_SEARCH_DIRS "")
14+
15+ if (${LIBRARY_PREFIX}_ROOT_DIR)
16+ set(${LIBRARY_PREFIX}_SEARCH_DIRS "${${LIBRARY_PREFIX}_ROOT_DIR}")
17+ endif ()
18+
19+ if (DEFINED ENV{${LIBRARY_PREFIX}_ROOT_DIR})
20+ set(${LIBRARY_PREFIX}_SEARCH_DIRS "${${LIBRARY_PREFIX}_SEARCH_DIRS}" "$ENV{${LIBRARY_PREFIX}_ROOT_DIR}")
21+ endif ()
22+
23+ if (DEFINED ENV{HIFI_LIB_DIR})
24+ set(${LIBRARY_PREFIX}_SEARCH_DIRS "${${LIBRARY_PREFIX}_SEARCH_DIRS}" "$ENV{HIFI_LIB_DIR}/${LIBRARY_FOLDER}")
25+ endif ()
26+
27+endmacro(HIFI_LIBRARY_SEARCH_HINTS _library_folder)
cmake/modules/FindFaceshift.cmake+3−2
@@ -18,7 +18,8 @@ · 17 unmodified lines
1818 # See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
1919 #
2020
21−set(FACESHIFT_SEARCH_DIRS "${FACESHIFT_ROOT_DIR}" "$ENV{FACESHIFT_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/faceshift")
21+include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
22+hifi_library_search_hints("faceshift")
2223
2324 find_path(FACESHIFT_INCLUDE_DIRS fsbinarystream.h PATH_SUFFIXES include HINTS ${FACESHIFT_SEARCH_DIRS})
2425
@@ -41,4 +42,4 @@ set(FACESHIFT_LIBRARIES ${FACESHIFT_LIBRARY}) · 16 unmodified lines
4142 include(FindPackageHandleStandardArgs)
4243 find_package_handle_standard_args(FACESHIFT DEFAULT_MSG FACESHIFT_INCLUDE_DIRS FACESHIFT_LIBRARIES)
4344
44−mark_as_advanced(FACESHIFT_INCLUDE_DIRS FACESHIFT_LIBRARIES)
45+mark_as_advanced(FACESHIFT_INCLUDE_DIRS FACESHIFT_LIBRARIES FACESHIFT_SEARCH_DIRS)
cmake/modules/FindGLEW.cmake+6−5
@@ -19,12 +19,13 @@ · 18 unmodified lines
1919 #
2020
2121 if (WIN32)
22− set(WIN_GLEW_SEARCH_DIRS "${GLEW_ROOT_DIR}" "$ENV{GLEW_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/glew")
22+ include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
23+ hifi_library_search_hints("glew")
2324
24− find_path(GLEW_INCLUDE_DIRS GL/glew.h PATH_SUFFIXES include HINTS ${WIN_GLEW_SEARCH_DIRS})
25+ find_path(GLEW_INCLUDE_DIRS GL/glew.h PATH_SUFFIXES include HINTS ${GLEW_SEARCH_DIRS})
2526
26− find_library(GLEW_LIBRARY_RELEASE glew32s PATH_SUFFIXES "lib/Release/Win32" "lib" HINTS ${WIN_GLEW_SEARCH_DIRS})
27− find_library(GLEW_LIBRARY_DEBUG glew32s PATH_SUFFIXES "lib/Debug/Win32" "lib" HINTS ${WIN_GLEW_SEARCH_DIRS})
27+ find_library(GLEW_LIBRARY_RELEASE glew32s PATH_SUFFIXES "lib/Release/Win32" "lib" HINTS ${GLEW_SEARCH_DIRS})
28+ find_library(GLEW_LIBRARY_DEBUG glew32s PATH_SUFFIXES "lib/Debug/Win32" "lib" HINTS ${GLEW_SEARCH_DIRS})
2829
2930 include(SelectLibraryConfigurations)
3031 select_library_configurations(GLEW)
@@ -35,4 +36,4 @@ set(GLEW_LIBRARIES "${GLEW_LIBRARY}") · 4 unmodified lines
3536 include(FindPackageHandleStandardArgs)
3637 find_package_handle_standard_args(GLEW DEFAULT_MSG GLEW_INCLUDE_DIRS GLEW_LIBRARIES)
3738
38−mark_as_advanced(GLEW_INCLUDE_DIRS GLEW_LIBRARIES)
39+mark_as_advanced(GLEW_INCLUDE_DIRS GLEW_LIBRARIES GLEW_SEARCH_DIRS)
cmake/modules/FindGLM.cmake+4−3
@@ -14,13 +14,14 @@ · 13 unmodified lines
1414 #
1515
1616 # setup hints for GLM search
17−set(GLM_HEADER_SEARCH_HINTS "${GLM_ROOT_DIR}" "$ENV{GLM_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/glm")
17+include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
18+hifi_library_search_hints("glm")
1819
1920 # locate header
20−find_path(GLM_INCLUDE_DIR "glm/glm.hpp" HINTS ${GLM_HEADER_SEARCH_HINTS})
21+find_path(GLM_INCLUDE_DIR "glm/glm.hpp" HINTS ${GLM_SEARCH_DIRS})
2122 set(GLM_INCLUDE_DIRS "${GLM_INCLUDE_DIR}")
2223
2324 include(FindPackageHandleStandardArgs)
2425 find_package_handle_standard_args(GLM DEFAULT_MSG GLM_INCLUDE_DIRS)
2526
26−mark_as_advanced(GLM_INCLUDE_DIRS)
27+mark_as_advanced(GLM_INCLUDE_DIRS GLM_SEARCH_DIRS)
cmake/modules/FindGLUT.cmake+10−9
@@ -18,16 +18,17 @@ · 17 unmodified lines
1818 # See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
1919 #
2020
21−set(GLUT_HINT_DIRS "${GLUT_ROOT_DIR}" "$ENV{GLUT_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/freeglut")
21+include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
22+hifi_library_search_hints("freeglut")
2223
2324 if (WIN32)
24− set(GLUT_HINT_DIRS "${GLUT_HINT_DIRS}" "${OPENGL_INCLUDE_DIR}")
25+ set(GLUT_HINT_DIRS "${FREEGLUT_SEARCH_DIRS} ${OPENGL_INCLUDE_DIR}")
2526
26− find_path(GLUT_INCLUDE_DIRS GL/glut.h PATH_SUFFIXES include HINTS ${GLUT_HINT_DIRS})
27− find_library(GLUT_LIBRARY freeglut PATH_SUFFIXES lib HINTS ${GLUT_HINT_DIRS})
27+ find_path(GLUT_INCLUDE_DIRS GL/glut.h PATH_SUFFIXES include HINTS ${FREEGLUT_SEARCH_DIRS})
28+ find_library(GLUT_LIBRARY freeglut PATH_SUFFIXES lib HINTS ${FREEGLUT_SEARCH_DIRS})
2829 else ()
29− find_path(GLUT_INCLUDE_DIRS GL/glut.h PATH_SUFFIXES include HINTS ${GLUT_HINT_DIRS})
30− find_library(GLUT_LIBRARY glut PATH_SUFFIXES lib HINTS ${GLUT_HINT_DIRS})
30+ find_path(GLUT_INCLUDE_DIRS GL/glut.h PATH_SUFFIXES include HINTS ${FREEGLUT_SEARCH_DIRS})
31+ find_library(GLUT_LIBRARY glut PATH_SUFFIXES lib HINTS ${FREEGLUT_SEARCH_DIRS})
3132 endif ()
3233
3334 include(FindPackageHandleStandardArgs)
@@ -35,12 +36,12 @@ include(FindPackageHandleStandardArgs) · 1 unmodified line
3536 set(GLUT_LIBRARIES "${GLUT_LIBRARY}" "${XMU_LIBRARY}" "${XI_LIBRARY}")
3637
3738 if (UNIX)
38− find_library(XI_LIBRARY Xi PATH_SUFFIXES lib HINTS ${GLUT_HINT_DIRS})
39− find_library(XMU_LIBRARY Xmu PATH_SUFFIXES lib HINTS ${GLUT_HINT_DIRS})
39+ find_library(XI_LIBRARY Xi PATH_SUFFIXES lib HINTS ${FREEGLUT_SEARCH_DIRS})
40+ find_library(XMU_LIBRARY Xmu PATH_SUFFIXES lib HINTS ${FREEGLUT_SEARCH_DIRS})
4041
4142 find_package_handle_standard_args(GLUT DEFAULT_MSG GLUT_INCLUDE_DIRS GLUT_LIBRARIES XI_LIBRARY XMU_LIBRARY)
4243 else ()
4344 find_package_handle_standard_args(GLUT DEFAULT_MSG GLUT_INCLUDE_DIRS GLUT_LIBRARIES)
4445 endif ()
4546
46−mark_as_advanced(GLUT_INCLUDE_DIRS GLUT_LIBRARIES GLUT_LIBRARY XI_LIBRARY XMU_LIBRARY)
47+mark_as_advanced(GLUT_INCLUDE_DIRS GLUT_LIBRARIES GLUT_LIBRARY XI_LIBRARY XMU_LIBRARY FREEGLUT_SEARCH_DIRS)
cmake/modules/FindLeapMotion.cmake+9−9
@@ -12,24 +12,24 @@ · 11 unmodified lines
1212 # Copyright (c) 2014 High Fidelity
1313 #
1414
15−set(LEAPMOTION_SEARCH_DIRS "${LEAPMOTION_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/leapmotion")
15+include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
16+hifi_library_search_hints("leapmotion")
1617
1718 find_path(LEAPMOTION_INCLUDE_DIRS Leap.h PATH_SUFFIXES include HINTS ${LEAPMOTION_SEARCH_DIRS})
1819
1920 if (WIN32)
20− find_library(LEAPMOTION_LIBRARY_DEBUG "lib/x86/Leapd.lib" HINTS ${LEAPMOTION_SEARCH_DIRS})
21− find_library(LEAPMOTION_LIBRARY_RELEASE "lib/x86/Leap.lib" HINTS ${LEAPMOTION_SEARCH_DIRS})
22−endif (WIN32)
23−if (APPLE)
24− find_library(LEAPMOTION_LIBRARY_RELEASE "lib/libLeap.dylib" HINTS ${LEAPMOTION_SEARCH_DIRS})
25−endif (APPLE)
21+ find_library(LEAPMOTION_LIBRARY_DEBUG Leapd PATH_SUFFIXES lib/x86 HINTS ${LEAPMOTION_SEARCH_DIRS})
22+ find_library(LEAPMOTION_LIBRARY_RELEASE Leap PATH_SUFFIXES lib/x86 HINTS ${LEAPMOTION_SEARCH_DIRS})
23+elseif (APPLE)
24+ find_library(LEAPMOTION_LIBRARY_RELEASE Leap PATH_SUFFIXES lib HINTS ${LEAPMOTION_SEARCH_DIRS})
25+endif ()
2626
2727 include(SelectLibraryConfigurations)
2828 select_library_configurations(LEAPMOTION)
2929
30−set(LEAPMOTION_LIBRARIES "${LEAPMOTION_LIBARIES}")
30+set(LEAPMOTION_LIBRARIES "${LEAPMOTION_LIBRARY}")
3131
3232 include(FindPackageHandleStandardArgs)
3333 find_package_handle_standard_args(LEAPMOTION DEFAULT_MSG LEAPMOTION_INCLUDE_DIRS LEAPMOTION_LIBRARIES)
3434
35−mark_as_advanced(LEAPMOTION_INCLUDE_DIRS LEAPMOTION_LIBRARIES)
35+mark_as_advanced(LEAPMOTION_INCLUDE_DIRS LEAPMOTION_LIBRARIES LEAPMOTION_SEARCH_DIRS)
cmake/modules/FindLibOVR.cmake+11−10
@@ -18,10 +18,11 @@ · 17 unmodified lines
1818 # See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
1919 #
2020
21−set(LIBOVR_SEARCH_DIRS "${LIBOVR_ROOT_DIR}" "$ENV{LIBOVR_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/oculus")
21+include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
22+hifi_library_search_hints("oculus")
2223
23−find_path(LIBOVR_INCLUDE_DIRS OVR.h PATH_SUFFIXES Include HINTS ${LIBOVR_SEARCH_DIRS})
24−find_path(LIBOVR_UTIL_INCLUDE_DIR Util_Render_Stereo.h PATH_SUFFIXES Src/Util HINTS ${LIBOVR_SEARCH_DIRS})
24+find_path(LIBOVR_INCLUDE_DIRS OVR.h PATH_SUFFIXES Include HINTS ${OCULUS_SEARCH_DIRS})
25+find_path(LIBOVR_UTIL_INCLUDE_DIR Util_Render_Stereo.h PATH_SUFFIXES Src/Util HINTS ${OCULUS_SEARCH_DIRS})
2526
2627 # add the util include dir to the general include dirs
2728 set(LIBOVR_INCLUDE_DIRS "${LIBOVR_INCLUDE_DIRS}" "${LIBOVR_UTIL_INCLUDE_DIR}")
@@ -29,8 +30,8 @@ set(LIBOVR_INCLUDE_DIRS "${LIBOVR_INCLUDE_DIRS}" "${LIBOVR_UTIL_INCLUDE_DIR}") · 1 unmodified line
2930 include(SelectLibraryConfigurations)
3031
3132 if (APPLE)
32− find_library(LIBOVR_LIBRARY_DEBUG "Lib/MacOS/Debug/libovr.a" HINTS ${LIBOVR_SEARCH_DIRS})
33− find_library(LIBOVR_LIBRARY_RELEASE "Lib/MacOS/Release/libovr.a" HINTS ${LIBOVR_SEARCH_DIRS})
33+ find_library(LIBOVR_LIBRARY_DEBUG "Lib/MacOS/Debug/libovr.a" HINTS ${OCULUS_SEARCH_DIRS})
34+ find_library(LIBOVR_LIBRARY_RELEASE "Lib/MacOS/Release/libovr.a" HINTS ${OCULUS_SEARCH_DIRS})
3435 elseif (UNIX)
3536 find_library(UDEV_LIBRARY_RELEASE udev /usr/lib/x86_64-linux-gnu/)
3637 find_library(XINERAMA_LIBRARY_RELEASE Xinerama /usr/lib/x86_64-linux-gnu/)
@@ -41,15 +42,15 @@ elseif (UNIX) · 4 unmodified lines
4142 set(LINUX_ARCH_DIR "x86_64")
4243 endif()
4344
44− find_library(LIBOVR_LIBRARY_DEBUG "Lib/Linux/Debug/${LINUX_ARCH_DIR}/libovr.a" HINTS ${LIBOVR_SEARCH_DIRS})
45− find_library(LIBOVR_LIBRARY_RELEASE "Lib/Linux/Release/${LINUX_ARCH_DIR}/libovr.a" HINTS ${LIBOVR_SEARCH_DIRS})
45+ find_library(LIBOVR_LIBRARY_DEBUG "Lib/Linux/Debug/${LINUX_ARCH_DIR}/libovr.a" HINTS ${OCULUS_SEARCH_DIRS})
46+ find_library(LIBOVR_LIBRARY_RELEASE "Lib/Linux/Release/${LINUX_ARCH_DIR}/libovr.a" HINTS ${OCULUS_SEARCH_DIRS})
4647
4748 select_library_configurations(UDEV)
4849 select_library_configurations(XINERAMA)
4950
5051 elseif (WIN32)
51− find_library(LIBOVR_LIBRARY_DEBUG "Lib/Win32/libovrd.lib" HINTS ${LIBOVR_SEARCH_DIRS})
52− find_library(LIBOVR_LIBRARY_RELEASE "Lib/Win32/libovr.lib" HINTS ${LIBOVR_SEARCH_DIRS})
52+ find_library(LIBOVR_LIBRARY_DEBUG "Lib/Win32/libovrd.lib" HINTS ${OCULUS_SEARCH_DIRS})
53+ find_library(LIBOVR_LIBRARY_RELEASE "Lib/Win32/libovr.lib" HINTS ${OCULUS_SEARCH_DIRS})
5354 endif ()
5455
5556 select_library_configurations(LIBOVR)
@@ -63,4 +64,4 @@ elseif () · 7 unmodified lines
6364 find_package_handle_standard_args(LIBOVR DEFAULT_MSG LIBOVR_INCLUDE_DIRS LIBOVR_UTIL_INCLUDE_DIR LIBOVR_LIBRARIES UDEV_LIBRARY XINERAMA_LIBRARY)
6465 endif ()
6566
66−mark_as_advanced(LIBOVR_INCLUDE_DIRS LIBOVR_LIBRARIES)
67+mark_as_advanced(LIBOVR_INCLUDE_DIRS LIBOVR_LIBRARIES OCULUS_SEARCH_DIRS)
cmake/modules/FindOpenSSL.cmake+5−2
@@ -46,7 +46,10 @@ if (WIN32) · 45 unmodified lines
4646 unset(_programfiles)
4747 set(_OPENSSL_ROOT_HINTS_AND_PATHS HINTS ${_OPENSSL_ROOT_HINTS} PATHS ${_OPENSSL_ROOT_PATHS})
4848 else ()
49− set(_OPENSSL_ROOT_HINTS_AND_PATHS ${OPENSSL_ROOT_DIR} $ENV{OPENSSL_ROOT_DIR} $ENV{HIFI_LIB_DIR}/openssl)
49+ include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
50+ hifi_library_search_hints("openssl")
51+
52+ set(_OPENSSL_ROOT_HINTS_AND_PATHS ${OPENSSL_SEARCH_DIRS})
5053 endif ()
5154
5255 find_path(OPENSSL_INCLUDE_DIR NAMES openssl/ssl.h HINTS ${_OPENSSL_ROOT_HINTS_AND_PATHS} ${_OPENSSL_INCLUDEDIR} PATH_SUFFIXES include)
@@ -228,4 +231,4 @@ else () · 175 unmodified lines
228231 )
229232 endif ()
230233
231−mark_as_advanced(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
234+mark_as_advanced(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES OPENSSL_SEARCH_DIRS)
cmake/modules/FindQxmpp.cmake+3−2
@@ -18,7 +18,8 @@ · 17 unmodified lines
1818 # See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
1919 #
2020
21−set(QXMPP_SEARCH_DIRS "${QXMPP_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/qxmpp")
21+include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
22+hifi_library_search_hints("qxmpp")
2223
2324 find_path(QXMPP_INCLUDE_DIRS QXmppClient.h PATH_SUFFIXES include/qxmpp HINTS ${QXMPP_SEARCH_DIRS})
2425
@@ -33,4 +34,4 @@ set(QXMPP_LIBRARIES "${QXMPP_LIBRARY}") · 8 unmodified lines
3334 include(FindPackageHandleStandardArgs)
3435 find_package_handle_standard_args(QXMPP DEFAULT_MSG QXMPP_INCLUDE_DIRS QXMPP_LIBRARIES)
3536
36−mark_as_advanced(QXMPP_INCLUDE_DIRS QXMPP_LIBRARIES)
37+mark_as_advanced(QXMPP_INCLUDE_DIRS QXMPP_LIBRARIES QXMPP_SEARCH_DIRS)
cmake/modules/FindRtMidi.cmake+3−2
@@ -18,7 +18,8 @@ · 17 unmodified lines
1818 # See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
1919 #
2020
21−set(RTMIDI_SEARCH_DIRS "${RTMIDI_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/rtmidi")
21+include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
22+hifi_library_search_hints("rtmidi")
2223
2324 find_path(RTMIDI_INCLUDE_DIRS RtMidi.h PATH_SUFFIXES include HINTS ${RTMIDI_SEARCH_DIRS})
2425 find_library(RTMIDI_LIBRARIES NAMES rtmidi PATH_SUFFIXES lib HINTS ${RTMIDI_SEARCH_DIRS})
@@ -26,4 +27,4 @@ find_library(RTMIDI_LIBRARIES NAMES rtmidi PATH_SUFFIXES lib HINTS ${RTMIDI_SEAR · 1 unmodified line
2627 include(FindPackageHandleStandardArgs)
2728 find_package_handle_standard_args(RTMIDI DEFAULT_MSG RTMIDI_INCLUDE_DIRS RTMIDI_LIBRARIES)
2829
29−mark_as_advanced(RTMIDI_INCLUDE_DIRS RTMIDI_LIBRARIES)
30+mark_as_advanced(RTMIDI_INCLUDE_DIRS RTMIDI_LIBRARIES RTMIDI_SEARCH_DIRS)
cmake/modules/FindSixense.cmake+3−2
@@ -18,7 +18,8 @@ · 17 unmodified lines
1818 # See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
1919 #
2020
21−set(SIXENSE_SEARCH_DIRS "${SIXENSE_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/sixense")
21+include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
22+hifi_library_search_hints("sixense")
2223
2324 find_path(SIXENSE_INCLUDE_DIRS sixense.h PATH_SUFFIXES include HINTS ${SIXENSE_SEARCH_DIRS})
2425
@@ -41,4 +42,4 @@ set(SIXENSE_LIBRARIES "${SIXENSE_LIBRARY}") · 16 unmodified lines
4142 include(FindPackageHandleStandardArgs)
4243 find_package_handle_standard_args(SIXENSE DEFAULT_MSG SIXENSE_INCLUDE_DIRS SIXENSE_LIBRARIES)
4344
44−mark_as_advanced(SIXENSE_LIBRARIES SIXENSE_INCLUDE_DIRS)
45+mark_as_advanced(SIXENSE_LIBRARIES SIXENSE_INCLUDE_DIRS SIXENSE_SEARCH_DIRS)
cmake/modules/FindVisage.cmake+3−2
@@ -18,7 +18,8 @@ · 17 unmodified lines
1818 # See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
1919 #
2020
21−set(VISAGE_SEARCH_DIRS "${VISAGE_ROOT_DIR}" "$ENV{VISAGE_ROOT_DIR}" "$ENV{HIFI_LIB_DIR}/visage")
21+include("${MACRO_DIR}/HifiLibrarySearchHints.cmake")
22+hifi_library_search_hints("visage")
2223
2324 find_path(VISAGE_BASE_INCLUDE_DIR VisageTracker2.h PATH_SUFFIXES include HINTS ${VISAGE_SEARCH_DIRS})
2425
@@ -53,5 +54,5 @@ set(VISAGE_LIBRARIES "${VISAGE_CORE_LIBRARY}" "${VISAGE_VISION_LIBRARY}" "${VISA · 28 unmodified lines
5354 mark_as_advanced(
5455 VISAGE_INCLUDE_DIRS VISAGE_LIBRARIES
5556 VISAGE_BASE_INCLUDE_DIR VISAGE_XML_INCLUDE_DIR VISAGE_OPENCV_INCLUDE_DIR VISAGE_OPENCV2_INCLUDE_DIR
56− VISAGE_CORE_LIBRARY VISAGE_VISION_LIBRARY VISAGE_OPENCV_LIBRARY
57+ VISAGE_CORE_LIBRARY VISAGE_VISION_LIBRARY VISAGE_OPENCV_LIBRARY VISAGE_SEARCH_DIRS
5758 )
interface/CMakeLists.txt+50−101
@@ -12,15 +12,15 @@ project(${TARGET_NAME}) · 11 unmodified lines
1212
1313 # setup for find modules
1414 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/modules/")
15−set(FACEPLUS_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/faceplus")
16−set(FACESHIFT_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/faceshift")
17−set(LIBOVR_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/oculus")
18−set(PRIOVR_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/priovr")
19−set(SIXENSE_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/sixense")
20−set(VISAGE_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/visage")
21−set(LEAPMOTION_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/leapmotion")
22−set(RTMIDI_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/rtmidi")
2315
16+# set a default root dir for each of our optional externals if it was not passed
17+set(OPTIONAL_EXTERNALS "faceplus" "faceshift" "oculus" "priovr" "sixense" "visage" "leapmotion" "rtmidi" "qxmpp")
18+foreach(EXTERNAL ${OPTIONAL_EXTERNALS})
19+ string(TOUPPER ${EXTERNAL} UPPER_EXTERNAL)
20+ if (NOT ${UPPER_EXTERNAL}_ROOT_DIR)
21+ set(${UPPER_EXTERNAL}_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/${EXTERNAL}")
22+ endif ()
23+endforeach()
2424
2525 find_package(Qt5LinguistTools REQUIRED)
2626 find_package(Qt5LinguistToolsMacros)
@@ -134,105 +134,54 @@ find_package(Qxmpp) · 107 unmodified lines
134134 find_package(RtMidi)
135135 find_package(OpenSSL REQUIRED)
136136
137−# include the Sixense library for Razer Hydra if available
138−if (SIXENSE_FOUND AND NOT DISABLE_SIXENSE)
139− add_definitions(-DHAVE_SIXENSE)
140− include_directories(SYSTEM "${SIXENSE_INCLUDE_DIRS}")
141− if (APPLE OR UNIX)
142− SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem ${SIXENSE_INCLUDE_DIRS}")
143− endif (APPLE OR UNIX)
144− target_link_libraries(${TARGET_NAME} ${SIXENSE_LIBRARIES})
145−endif (SIXENSE_FOUND AND NOT DISABLE_SIXENSE)
146−
147−# likewise with Visage library for webcam feature tracking
148−if (VISAGE_FOUND AND NOT DISABLE_VISAGE)
149− add_definitions(-DHAVE_VISAGE -DVISAGE_STATIC)
150− include_directories(SYSTEM "${VISAGE_INCLUDE_DIRS}")
151− if (APPLE)
152− add_definitions(-DMAC_OS_X)
153− SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-comment")
154− include_directories(SYSTEM "${VISAGE_INCLUDE_DIRS}")
155− find_library(AVFoundation AVFoundation)
156− find_library(CoreMedia CoreMedia)
157− find_library(NEW_STD_LIBRARY libc++.dylib /usr/lib/)
158− target_link_libraries(${TARGET_NAME} ${AVFoundation} ${CoreMedia} ${NEW_STD_LIBRARY})
159− endif (APPLE)
160− target_link_libraries(${TARGET_NAME} "${VISAGE_LIBRARIES}")
161−endif (VISAGE_FOUND AND NOT DISABLE_VISAGE)
162−
163−# and with Faceplus library, also for webcam feature tracking
164−if (FACEPLUS_FOUND AND NOT DISABLE_FACEPLUS)
165− add_definitions(-DHAVE_FACEPLUS)
166− include_directories(SYSTEM "${FACEPLUS_INCLUDE_DIRS}")
167− target_link_libraries(${TARGET_NAME} "${FACEPLUS_LIBRARIES}")
168−endif (FACEPLUS_FOUND AND NOT DISABLE_FACEPLUS)
169−
170−# and with LibOVR for Oculus Rift
171−if (LIBOVR_FOUND AND NOT DISABLE_LIBOVR)
172− add_definitions(-DHAVE_LIBOVR)
173− include_directories(SYSTEM ${LIBOVR_INCLUDE_DIRS})
137+# perform standard include and linking for found externals
138+foreach(EXTERNAL ${OPTIONAL_EXTERNALS})
139+ string(TOUPPER ${EXTERNAL} UPPER_EXTERNAL)
174140
175− if (APPLE)
176− foreach(LIBOVR_DIR ${LIBOVR_INCLUDE_DIRS})
177− set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem ${LIBOVR_DIR}")
178− endforeach()
141+ if (${UPPER_EXTERNAL} MATCHES "OCULUS")
142+ # the oculus directory is named OCULUS and not LIBOVR so hack to fix that here
143+ set(UPPER_EXTERNAL "LIBOVR")
179144 endif ()
180145
181− target_link_libraries(${TARGET_NAME} ${LIBOVR_LIBRARIES})
182−endif (LIBOVR_FOUND AND NOT DISABLE_LIBOVR)
183−
184−# and with PrioVR library
185−if (PRIOVR_FOUND AND NOT DISABLE_PRIOVR)
186− add_definitions(-DHAVE_PRIOVR)
187− include_directories(SYSTEM "${PRIOVR_INCLUDE_DIRS}")
188− target_link_libraries(${TARGET_NAME} "${PRIOVR_LIBRARIES}")
189−endif (PRIOVR_FOUND AND NOT DISABLE_PRIOVR)
190−
191−# and with LeapMotion library
192−if (LEAPMOTION_FOUND AND NOT DISABLE_LEAPMOTION)
193− add_definitions(-DHAVE_LEAPMOTION)
194− include_directories(SYSTEM "${LEAPMOTION_INCLUDE_DIRS}")
195−
146+ if (${UPPER_EXTERNAL}_FOUND AND NOT DISABLE_${UPPER_EXTERNAL})
147+ add_definitions(-DHAVE_${UPPER_EXTERNAL})
148+
149+ # include the library directories (ignoring warnings)
150+ include_directories(SYSTEM ${${UPPER_EXTERNAL}_INCLUDE_DIRS})
151+
152+ # perform the system include hack for OS X to ignore warnings
196153 if (APPLE)
197− set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem ${LEAPMOTION_INCLUDE_DIRS}")
154+ foreach(EXTERNAL_INCLUDE_DIR ${${UPPER_EXTERNAL}_INCLUDE_DIRS})
155+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem ${EXTERNAL_INCLUDE_DIR}")
156+ endforeach()
198157 endif ()
199− target_link_libraries(${TARGET_NAME} ${LEAPMOTION_LIBRARIES})
200−endif (LEAPMOTION_FOUND AND NOT DISABLE_LEAPMOTION)
201−
202−# and with SDL for joysticks
203−if (SDL_FOUND AND NOT DISABLE_SDL)
204− add_definitions(-DHAVE_SDL)
205− include_directories(SYSTEM "${SDL_INCLUDE_DIR}")
206− target_link_libraries(${TARGET_NAME} "${SDL_LIBRARY}")
207−endif (SDL_FOUND AND NOT DISABLE_SDL)
208−
209−# and with qxmpp for chat
210−if (QXMPP_FOUND AND NOT DISABLE_QXMPP)
211− add_definitions(-DHAVE_QXMPP -DQXMPP_STATIC)
212− include_directories(SYSTEM "${QXMPP_INCLUDE_DIRS}")
213−
214− target_link_libraries(${TARGET_NAME} ${QXMPP_LIBRARIES})
215−endif (QXMPP_FOUND AND NOT DISABLE_QXMPP)
216−
217−# and with RtMidi for RtMidi control
218−if (RTMIDI_FOUND AND NOT DISABLE_RTMIDI)
219− add_definitions(-DHAVE_RTMIDI)
220− include_directories(SYSTEM "${RTMIDI_INCLUDE_DIRS}")
221− target_link_libraries(${TARGET_NAME} ${RTMIDI_LIBRARIES})
222−
223− if (APPLE)
224− find_library(CoreMIDI CoreMIDI)
225− add_definitions(-D__MACOSX_CORE__)
226− target_link_libraries(${TARGET_NAME} ${CoreMIDI})
227− endif()
228−endif()
158+
159+ target_link_libraries(${TARGET_NAME} ${${UPPER_EXTERNAL}_LIBRARIES})
160+
161+ endif ()
162+endforeach()
163+
164+# special APPLE modifications for Visage library
165+if (VISAGE_FOUND AND NOT DISABLE_VISAGE AND APPLE)
166+ add_definitions(-DMAC_OS_X)
167+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-comment")
168+ find_library(AVFoundation AVFoundation)
169+ find_library(CoreMedia CoreMedia)
170+ find_library(NEW_STD_LIBRARY libc++.dylib /usr/lib/)
171+ target_link_libraries(${TARGET_NAME} ${AVFoundation} ${CoreMedia} ${NEW_STD_LIBRARY})
172+endif ()
229173
230−# and with Faceshift for depth camera face tracking
231−if (FACESHIFT_FOUND AND NOT DISABLE_FACESHIFT)
232− add_definitions(-DHAVE_FACESHIFT)
233− include_directories(SYSTEM "${FACESHIFT_INCLUDE_DIRS}")
234− target_link_libraries(${TARGET_NAME} ${FACESHIFT_LIBRARIES})
235−endif()
174+# special OS X modifications for RtMidi library
175+if (RTMIDI_FOUND AND NOT DISABLE_RTMIDI AND APPLE)
176+ find_library(CoreMIDI CoreMIDI)
177+ add_definitions(-D__MACOSX_CORE__)
178+ target_link_libraries(${TARGET_NAME} ${CoreMIDI})
179+endif ()
180+
181+if (QXMPP_FOUND AND NOT DISABLE_QXMPP AND WIN32)
182+ # assume we're linking a static Qt on windows
183+ add_definitions(-DQXMPP_STATIC)
184+endif ()
236185
237186 # include headers for interface and InterfaceConfig.
238187 include_directories("${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}/includes")
interface/src/Menu.cpp+2−2
@@ -242,8 +242,8 @@ Menu::Menu() : · 241 unmodified lines
242242
243243 const QXmppClient& xmppClient = XmppClient::getInstance().getXMPPClient();
244244 toggleChat();
245− connect(&xmppClient, SIGNAL(connected()), this, SLOT(toggleChat()));
246− connect(&xmppClient, SIGNAL(disconnected()), this, SLOT(toggleChat()));
245+ connect(&xmppClient, &QXmppClient::connected, this, &Menu::toggleChat);
246+ connect(&xmppClient, &QXmppClient::disconnected, this, &Menu::toggleChat);
247247
248248 QDir::setCurrent(Application::resourcesPath());
249249 // init chat window to listen chat
interface/src/XmppClient.cpp+14−3
@@ -9,7 +9,6 @@ · 8 unmodified lines
99 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
1010 //
1111
12−#ifdef HAVE_QXMPP
1312
1413 #include <AccountManager.h>
1514
@@ -18,6 +17,7 @@ · 2 unmodified lines
1817 const QString DEFAULT_XMPP_SERVER = "chat.highfidelity.io";
1918 const QString DEFAULT_CHAT_ROOM = "public@public-chat.highfidelity.io";
2019
20+#ifdef HAVE_QXMPP
2121 XmppClient::XmppClient() :
2222 _xmppClient(),
2323 _xmppMUCManager()
@@ -26,6 +26,11 @@ XmppClient::XmppClient() : · 2 unmodified lines
2626 connect(&accountManager, SIGNAL(profileChanged()), this, SLOT(connectToServer()));
2727 connect(&accountManager, SIGNAL(logoutComplete()), this, SLOT(disconnectFromServer()));
2828 }
29+#else
30+XmppClient::XmppClient() {
31+
32+}
33+#endif
2934
3035 XmppClient& XmppClient::getInstance() {
3136 static XmppClient sharedInstance;
@@ -33,18 +38,23 @@ XmppClient& XmppClient::getInstance() { · 1 unmodified line
3338 }
3439
3540 void XmppClient::xmppConnected() {
41+#ifdef HAVE_QXMPP
3642 _publicChatRoom = _xmppMUCManager.addRoom(DEFAULT_CHAT_ROOM);
3743 _publicChatRoom->setNickName(AccountManager::getInstance().getAccountInfo().getUsername());
3844 _publicChatRoom->join();
3945 emit joinedPublicChatRoom();
46+#endif
4047 }
4148
4249 void XmppClient::xmppError(QXmppClient::Error error) {
50+#ifdef HAVE_QXMPP
4351 qDebug() << "Error connnecting to XMPP for user "
4452 << AccountManager::getInstance().getAccountInfo().getUsername() << ": " << error;
53+#endif
4554 }
4655
4756 void XmppClient::connectToServer() {
57+#ifdef HAVE_QXMPP
4858 disconnectFromServer();
4959
5060 if (_xmppClient.addExtension(&_xmppMUCManager)) {
@@ -55,12 +65,15 @@ void XmppClient::connectToServer() { · 4 unmodified lines
5565 QString user = accountManager.getAccountInfo().getUsername();
5666 const QString& password = accountManager.getAccountInfo().getXMPPPassword();
5767 _xmppClient.connectToServer(user + "@" + DEFAULT_XMPP_SERVER, password);
68+#endif
5869 }
5970
6071 void XmppClient::disconnectFromServer() {
72+#ifdef HAVE_QXMPP
6173 if (_xmppClient.isConnected()) {
6274 _xmppClient.disconnectFromServer();
6375 }
76+#endif
6477 }
6578
6679 XmppClient::XmppClient(const XmppClient& other) {
@@ -70,5 +83,3 @@ XmppClient::XmppClient(const XmppClient& other) { · 3 unmodified lines
7083 void XmppClient::operator =(XmppClient const& other) {
7184 Q_UNUSED(other);
7285 }
73−
74−#endif
interface/src/XmppClient.h+8−6
@@ -9,25 +9,27 @@ · 8 unmodified lines
99 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
1010 //
1111
12−#ifdef HAVE_QXMPP
13−
1412 #ifndef hifi_XmppClient_h
1513 #define hifi_XmppClient_h
1614
1715 #include <QObject>
16+
17+#ifdef HAVE_QXMPP
1818 #include <QXmppClient.h>
1919 #include <QXmppMucManager.h>
20+#endif
2021
2122 /// Generalized threaded processor for handling received inbound packets.
2223 class XmppClient : public QObject {
2324 Q_OBJECT
24−
2525 public:
2626 static XmppClient& getInstance();
2727
28+#ifdef HAVE_QXMPP
2829 QXmppClient& getXMPPClient() { return _xmppClient; }
2930 const QXmppMucRoom* getPublicChatRoom() const { return _publicChatRoom; }
30−
31+#endif
32+
3133 signals:
3234 void joinedPublicChatRoom();
3335
@@ -43,11 +45,11 @@ private: · 9 unmodified lines
4345 XmppClient(XmppClient const& other); // not implemented
4446 void operator=(XmppClient const& other); // not implemented
4547
48+#ifdef HAVE_QXMPP
4649 QXmppClient _xmppClient;
4750 QXmppMucManager _xmppMUCManager;
4851 QXmppMucRoom* _publicChatRoom;
52+#endif
4953 };
5054
51−#endif // __interface__XmppClient__
52−
5355 #endif // hifi_XmppClient_h

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t