#------------------------------------------------------------------- # This file is part of the CMake build system for ARToolKit # # The contents of this file are placed in the public domain. Feel # free to make use of it in any way you like. #------------------------------------------------------------------- ####################################################################### # Find all necessary and optional ARToolKit dependencies ####################################################################### # ARToolKit_DEPENDENCIES_DIR can be used to specify a single base # folder where the required dependencies may be found. set(ARToolKit_DEPENDENCIES_DIR "" CACHE PATH "Path to prebuilt ARToolKit dependencies") include(ARToolKitFindPkgMacros) # Guess dependencies dir if not set if (NOT EXISTS $ENV{ARTOOLKIT_DEPENDENCIES_PATH}) set(ENV{ARTOOLKIT_DEPENDENCIES_PATH} "${CMAKE_SOURCE_DIR}/dependencies") endif() if (NOT EXISTS $ENV{BOOST_ROOT}) set(ENV{BOOST_ROOT} "$ENV{ARTOOLKIT_DEPENDENCIES_PATH}/boost") endif() getenv_path(ARTOOLKIT_DEPENDENCIES_PATH) set(ARToolKit_DEPENDENCIES_DIR ${ARToolKit_DEPENDENCIES_DIR} ${ENV_ARTOOLKIT_DEPENDENCIES_PATH}) if (ANDROID) set(ARToolKit_DEPENDENCIES_DIR ${ARToolKit_DEPENDENCIES_DIR} "${ENV_ARTOOLKIT_DEPENDENCIES_PATH}/sdk/android/${ANDROID_ABI}") elseif(WIN32) set(ARToolKit_DEPENDENCIES_DIR ${ARToolKit_DEPENDENCIES_DIR} "${ENV_ARTOOLKIT_DEPENDENCIES_PATH}/sdk/windows/x86") elseif(WIN64) set(ARToolKit_DEPENDENCIES_DIR ${ARToolKit_DEPENDENCIES_DIR} "${ENV_ARTOOLKIT_DEPENDENCIES_PATH}/sdk/windows/x64") elseif(APPLE AND NOT IOS) set(ARToolKit_DEPENDENCIES_DIR ${ARToolKit_DEPENDENCIES_DIR} "${ENV_ARTOOLKIT_DEPENDENCIES_PATH}/sdk/apple/OSX") elseif(APPLE AND IOS) set(ARToolKit_DEPENDENCIES_DIR ${ARToolKit_DEPENDENCIES_DIR} "${ENV_ARTOOLKIT_DEPENDENCIES_PATH}/sdk/apple/IOS") elseif(UNIX OR RPI) set(ARToolKit_DEPENDENCIES_DIR ${ARToolKit_DEPENDENCIES_DIR} "${ENV_ARTOOLKIT_DEPENDENCIES_PATH}/sdk/linux") endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ENV_ARTOOLKIT_DEPENDENCIES_PATH}/CMake ${ENV_ARTOOLKIT_DEPENDENCIES_PATH}/CMake/Packages ${ENV_ARTOOLKIT_DEPENDENCIES_PATH}) set(ARToolKit_DEP_SEARCH_PATH ${ARToolKit_DEPENDENCIES_DIR}) ####################################################################### # ANDROID : redef find_host_package if find_host_package is defined ####################################################################### if(NOT COMMAND find_host_package) macro(find_host_package) find_package(${ARGN}) endmacro() endif() if(NOT COMMAND find_host_program) macro(find_host_program) find_program(${ARGN}) endmacro() endif() if(ANDROID) include("${CMAKE_SOURCE_DIR}/CMake/toolchain/AndroidNdkModules.cmake") include("${CMAKE_SOURCE_DIR}/CMake/toolchain/AndroidNdkGdb.cmake") android_ndk_import_module_ndk_helper() endif() message(STATUS "Search path: ${ARToolKit_DEP_SEARCH_PATH}") # Set hardcoded path guesses for various platforms #if (UNIX) # set(ARToolKit_DEP_SEARCH_PATH ${ARToolKit_DEP_SEARCH_PATH} /usr) #endif () # give guesses as hints to the find_host_package calls set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${ARToolKit_DEP_SEARCH_PATH}) set(CMAKE_FRAMEWORK_PATH ${CMAKE_FRAMEWORK_PATH} ${ARToolKit_DEP_SEARCH_PATH}) ####################################################################### # SDK ####################################################################### # Find Visual Leak Detector # Find OpenCV #find_host_package(OpenCV) #macro_log_feature(OpenCV_FOUND "OpenCV" "OpenCV image processing library" "http://opencv.willowgarage.com/wiki/" FALSE "" "") #find_host_package(OPENGL) #macro_log_feature(OPENGL_FOUND "OpenGL" "OpenGL API" "http://www.opengl.org/" FALSE "" "") find_host_package(JPEG) macro_log_feature(JPEG_FOUND "Lib jpeg" "Jpeg image format support" "http://www.ijg.org/" FALSE "" "") find_host_package(Threads) macro_log_feature(PTHREAD_FOUND "pthread" "pthread support" "" FALSE "" "") ####################################################################### # OS dependencies ####################################################################### # Find X11 #if (UNIX AND NOT ANDROID AND NOT APPLE) # find_host_package(X11) # macro_log_feature(X11_FOUND "X11" "X Window system" "http://www.x.org" TRUE "" "") # macro_log_feature(X11_Xt_FOUND "Xt" "X Toolkit" "http://www.x.org" TRUE "" "") # find_library(XAW_LIBRARY NAMES Xaw Xaw7 PATHS ${DEP_LIB_SEARCH_DIR} ${X11_LIB_SEARCH_PATH}) # macro_log_feature(XAW_LIBRARY "Xaw" "X11 Athena widget set" "http://www.x.org" TRUE "" "") # mark_as_advanced(XAW_LIBRARY) #endif () ####################################################################### # Tools dependencies ####################################################################### # Find Doxygen #find_host_package(Doxygen) #macro_log_feature(DOXYGEN_FOUND "Doxygen" "Tool for building API documentation" "http://doxygen.org" FALSE "" "") ####################################################################### # All dependencies were checked ####################################################################### if(Boost_FOUND AND ANDROID) list(REMOVE_DUPLICATES Boost_LIBRARIES) endif() # Display results, terminate if anything required is missing MACRO_DISPLAY_FEATURE_LOG() # Add library and include paths from the dependencies include_directories(${Boost_INCLUDE_DIRS}) link_directories(${Boost_LIBRARY_DIRS})