diff --git a/CMakeLists.txt b/CMakeLists.txt index fb40757a659..67ed40667cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ include(FindPkgConfig) include(CheckIncludeFiles) option(ENABLE_INSTALL_RPATH "Enable RPATH setting for installed binary files" OFF) -option(USE_HRPSYSUTIL "Build hrpsysUtil" ON) +option(FORCE_COMPILE_HRPSYSUTIL "Try to build hrpsysUtil even if dependencies are missing" ON) option(USE_IRRLICHT "Build Irrlicht components" OFF) option(NO_DIGITAL_INPUT "Disable readDigitalInput and lengthDigitalInput" OFF) option(USE_QPOASES "Build qpOASES" OFF) @@ -142,30 +142,52 @@ include(CPack) find_package(LibXml2 REQUIRED) find_package(QuickHull REQUIRED) -if(USE_HRPSYSUTIL) - find_package(SDL REQUIRED) - find_package(OpenGL REQUIRED) - find_package(GLUT REQUIRED) - pkg_check_modules(OpenCV opencv) +set(USE_HRPSYSUTIL ON) +find_package(SDL REQUIRED) +if (NOT SDL_FOUND) + message(WARNING "SDL is required to build hrpsysUtil") + set(USE_HRPSYSUTIL OFF) +endif() +find_package(OpenGL REQUIRED) +if (NOT OPENGL_FOUND) + message(WARNING "OpenGL is required to build hrpsysUtil") + set(USE_HRPSYSUTIL OFF) +endif() +find_package(GLUT REQUIRED) +if (NOT GLUT_FOUND) + message(WARNING "GLUT is required to build hrpsysUtil") + set(USE_HRPSYSUTIL OFF) +endif() +pkg_check_modules(OpenCV opencv) +if (NOT OpenCV_FOUND) + pkg_check_modules(OpenCV opencv-2.3.1) if (NOT OpenCV_FOUND) - pkg_check_modules(OpenCV opencv-2.3.1) + pkg_check_modules(OpenCV opencv4) if (NOT OpenCV_FOUND) pkg_check_modules(OpenCV opencv4) if (NOT OpenCV_FOUND) - message(FATAL_ERROR "OpenCV is required to build hrpsysUtil") + message(WARNING "OpenCV is required to build hrpsysUtil") + set(USE_HRPSYSUTIL OFF) endif() endif() endif() - include_directories(${OpenCV_INCLUDE_DIRS}) - link_directories(${OpenCV_LIBRARY_DIRS}) - pkg_check_modules(GLEW glew) - if (NOT GLEW_FOUND) - message(FATAL_ERROR "GLEW is required to build hrpsysUtil") - endif() endif() +include_directories(${OpenCV_INCLUDE_DIRS}) +link_directories(${OpenCV_LIBRARY_DIRS}) +pkg_check_modules(GLEW glew) +if (NOT GLEW_FOUND) + message(WARNING "GLEW is required to build hrpsysUtil") + set(USE_HRPSYSUTIL OFF) +endif() + find_package(PCL) -if(USE_HRPSYSUTIL AND APPLE AND NOT PCL_FOUND) - message(FATAL_ERROR "PCL is required to build hrpsysUtil on Apple platform") +if(PCL_FOUND) + message(WARNING "PCL is required to build hrpsysUtil") + set(USE_HRPSYSUTIL OFF) +endif() + +if(FORCE_COMPILE_HRPSYSUTIL AND (NOT USE_HRPSYSUTIL)) + message(FATAL_ERROR "dependencies required to build hrpsysUtil is not found : SDL_FOUND: ${SDL_FOUND} / OPENGL_FOUND: ${OPENGL_FOUND} / GLUT_FOUND: ${GLUT_FOUND} / OpenCV_FOUND: ${OpenCV_FOUND} / GLEW_FOUND: ${GLEW_FOUND}") endif() execute_process(