Modified cmake status report

pull/13383/head
Andrey Kamaev 14 years ago
parent 3cbe53c5d2
commit 837b733a0a
  1. 296
      CMakeLists.txt

@ -1443,194 +1443,194 @@ endif()
# ----------------------------------------------------------------------------
# Summary:
# ----------------------------------------------------------------------------
message(STATUS "")
message(STATUS "General configuration for opencv ${OPENCV_VERSION} =====================================")
message(STATUS "")
message(STATUS " Built as dynamic libs?: ${BUILD_SHARED_LIBS}")
message(STATUS " Compiler: ${CMAKE_COMPILER}")
message(STATUS " C++ flags (Release): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
message(STATUS " C++ flags (Debug): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
macro(status text)
SET(status_cond)
SET(status_then)
SET(status_else)
SET(status_current_name "cond")
foreach(arg ${ARGN})
if(arg STREQUAL "THEN")
SET(status_current_name "then")
elseif(arg STREQUAL "ELSE")
SET(status_current_name "else")
else()
LIST(APPEND status_${status_current_name} ${arg})
endif()
endforeach()
if(DEFINED status_cond)
SET(status_placeholder_length 32)
string(RANDOM LENGTH ${status_placeholder_length} ALPHABET " " status_placeholder)
string(LENGTH "${text}" status_text_length)
if (status_text_length LESS status_placeholder_length)
string(SUBSTRING "${text}${status_placeholder}" 0 ${status_placeholder_length} status_text)
elseif (status_then OR status_else)
message(STATUS "${text}")
SET(status_text "${status_placeholder}")
else()
SET(status_text "${text}")
endif()
if (status_then OR status_else)
if(${status_cond})
string(REPLACE ";" " " status_then "${status_then}")
message(STATUS "${status_text}" "${status_then}")
else()
string(REPLACE ";" " " status_else "${status_else}")
message(STATUS "${status_text}" "${status_else}")
endif()
else()
string(REPLACE ";" " " status_cond "${status_cond}")
message(STATUS "${status_text}" "${status_cond}")
endif()
else()
message(STATUS "${text}")
endif()
endmacro()
status("")
status("General configuration for opencv ${OPENCV_VERSION} =====================================")
status("")
status(" Built as dynamic libs?:" BUILD_SHARED_LIBS THEN YES ELSE NO)
status(" Compiler:" CMAKE_COMPILER THEN "${CMAKE_COMPILER}" ELSE "${CMAKE_CXX_COMPILER}")
status(" C++ flags (Release):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE})
status(" C++ flags (Debug):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG})
if(WIN32)
message(STATUS " Linker flags (Release): ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
message(STATUS " Linker flags (Debug): ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
status(" Linker flags (Release):" ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_RELEASE})
status(" Linker flags (Debug):" ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_DEBUG})
else()
message(STATUS " Linker flags (Release): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
message(STATUS " Linker flags (Debug): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
status(" Linker flags (Release):" ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE})
status(" Linker flags (Debug):" ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG})
endif()
#YV
message(STATUS "")
message(STATUS " GUI: ")
status("")
status(" GUI: ")
if (HAVE_QT)
message(STATUS " QT 4.x: ${HAVE_QT}")
message(STATUS " QT OpenGL support: ${HAVE_QT_OPENGL}")
status(" QT 4.x:" HAVE_QT THEN YES ELSE NO)
status(" QT OpenGL support:" HAVE_QT_OPENGL THEN YES ELSE NO)
else()
if(WIN32)
message(STATUS " Win32 UI: YES")
status(" Win32 UI:" YES)
else()
if(APPLE)
if(WITH_CARBON)
message(STATUS " Carbon: YES")
status(" Carbon:" YES)
else()
message(STATUS " Cocoa: YES")
status(" Cocoa:" YES)
endif()
else()
message(STATUS " GTK+ 2.x: ${HAVE_GTK}")
message(STATUS " GThread: ${HAVE_GTHREAD}")
status(" GTK+ 2.x:" HAVE_GTK THEN YES ELSE NO)
status(" GThread:" HAVE_GTHREAD THEN YES ELSE NO)
endif()
endif()
endif()
message(STATUS "")
message(STATUS " Media I/O: ")
if(ZLIB_FOUND)
message(STATUS " ZLib: ${ZLIB_FOUND}")
else()
message(STATUS " ZLib: build")
endif()
# media
status("")
status(" Media I/O: ")
status(" ZLib:" ZLIB_FOUND THEN YES ELSE build)
status(" JPEG:" NOT WITH_JPEG OR JPEG_FOUND THEN ${JPEG_FOUND} ELSE build)
status(" PNG:" NOT WITH_PNG OR PNG_FOUND THEN ${PNG_FOUND} ELSE build)
status(" TIFF:" NOT WITH_TIFF OR TIFF_FOUND THEN ${TIFF_FOUND} ELSE build)
status(" JPEG 2000:" NOT WITH_JASPER OR JASPER_FOUND THEN ${JASPER_FOUND} ELSE build)
status(" OpenEXR:" NOT WITH_OPENEXRR OR OPENEXR_FOUND THEN YES ELSE NO)
if(NOT WITH_JPEG OR JPEG_FOUND)
message(STATUS " JPEG: ${JPEG_FOUND}")
else()
message(STATUS " JPEG: build")
endif()
status(" OpenNI:" NOT HAVE_OPENNI OR HAVE_OPENNI_PRIME_SENSOR_MODULE
THEN NO
ELSE "${HAVE_OPENNI} (WARNING: PrimeSensor Modules for OpenNI are not installed (not found in OPENNI_PRIME_SENSOR_MODULE_BIN_DIR).)")
if(NOT WITH_PNG OR PNG_FOUND)
message(STATUS " PNG: ${PNG_FOUND}")
else()
message(STATUS " PNG: build")
endif()
if(NOT WITH_TIFF OR TIFF_FOUND)
message(STATUS " TIFF: ${TIFF_FOUND}")
else()
message(STATUS " TIFF: build")
endif()
if(NOT WITH_JASPER OR JASPER_FOUND)
message(STATUS " JPEG 2000: ${JASPER_FOUND}")
else()
message(STATUS " JPEG 2000: build")
endif()
# video
status("")
if(UNIX AND NOT APPLE)
status(" Video I/O:")
status(" DC1394 1.x:" HAVE_DC1394 THEN YES ELSE NO)
status(" DC1394 2.x:" HAVE_DC1394_2 THEN YES ELSE NO)
status(" FFMPEG:" HAVE_FFMPEG THEN YES ELSE NO)
status(" codec:" HAVE_FFMPEG_CODEC THEN YES ELSE NO)
status(" format:" HAVE_FFMPEG_FORMAT THEN YES ELSE NO)
status(" util:" HAVE_FFMPEG_UTIL THEN YES ELSE NO)
status(" swscale:" HAVE_FFMPEG_SWSCALE THEN YES ELSE NO)
status(" gentoo-style:" HAVE_GENTOO_FFMPEG THEN YES ELSE NO)
status(" GStreamer:" HAVE_GSTREAMER THEN YES ELSE NO)
status(" UniCap:" HAVE_UNICAP THEN YES ELSE NO)
status(" PvAPI:" HAVE_PVAPI THEN YES ELSE NO)
status(" V4L/V4L2:" HAVE_LIBV4L THEN Using libv4l ELSE ${HAVE_CAMV4L}/${HAVE_CAMV4L2})
status(" Xine:" HAVE_XINE THEN YES ELSE NO)
if(WITH_OPENEXR AND OPENEXR_FOUND)
message(STATUS " OpenEXR: YES")
else()
message(STATUS " OpenEXR: NO")
if(ANDROID)
if(BUILD_ANDROID_CAMERA_WRAPPER)
status(" AndroidNativeCamera:" "build for Android ${ANDROID_VERSION}")
else()
status(" AndroidNativeCamera:" ARMEABI_V7A THEN use prebuilt libraries ELSE NO)
endif()
endif()
elseif(APPLE)
status(" Video I/O:" WITH_QUICKTIME THEN QuickTime ELSE QTKit)
elseif(WIN32)
status(" Video I/O:" HAVE_VIDEOINPUT THEN DirectShow ELSE NO)
endif()
if(NOT HAVE_OPENNI OR HAVE_OPENNI_PRIME_SENSOR_MODULE)
message(STATUS " OpenNI: ${HAVE_OPENNI}")
else()
message(STATUS " OpenNI: ${HAVE_OPENNI} (WARNING: PrimeSensor Modules for OpenNI are not installed (not found in OPENNI_PRIME_SENSOR_MODULE_BIN_DIR).)")
endif()
# interfaces to other languages
status("")
status(" Interfaces:")
status(" Python:" BUILD_NEW_PYTHON_SUPPORT THEN YES ELSE NO)
status(" Python interpreter:" PYTHON_EXECUTABLE THEN "${PYTHON_EXECUTABLE}" ELSE NO)
status(" Python numpy:" PYTHON_USE_NUMPY THEN YES ELSE "NO (Python interface will not cover OpenCV 2.x API)")
status(" Java:" BUILD_JAVA_SUPPORT THEN YES ELSE NO)
if(UNIX AND NOT APPLE)
message(STATUS "")
message(STATUS " Video I/O: ")
message(STATUS " DC1394 1.x: ${HAVE_DC1394}")
message(STATUS " DC1394 2.x: ${HAVE_DC1394_2}")
message(STATUS " FFMPEG: ${HAVE_FFMPEG}")
message(STATUS " codec: ${HAVE_FFMPEG_CODEC}")
message(STATUS " format: ${HAVE_FFMPEG_FORMAT}")
message(STATUS " util: ${HAVE_FFMPEG_UTIL}")
message(STATUS " swscale: ${HAVE_FFMPEG_SWSCALE}")
message(STATUS " gentoo-style: ${HAVE_GENTOO_FFMPEG}")
message(STATUS " GStreamer: ${HAVE_GSTREAMER}")
message(STATUS " UniCap: ${HAVE_UNICAP}")
message(STATUS " PvAPI: ${HAVE_PVAPI}")
if(HAVE_LIBV4L)
message(STATUS " V4L/V4L2: Using libv4l")
else()
message(STATUS " V4L/V4L2: ${HAVE_CAMV4L}/${HAVE_CAMV4L2}")
endif()
message(STATUS " Xine: ${HAVE_XINE}")
if(ANDROID)
if (ARMEABI_V7A)
if(BUILD_ANDROID_CAMERA_WRAPPER)
message(STATUS " AndroidNativeCamera: build for Android ${ANDROID_VERSION}")
else()
message(STATUS " AndroidNativeCamera: use prebuilt libraries")
endif(BUILD_ANDROID_CAMERA_WRAPPER)
else(ARMEABI_V7A)
message(STATUS " AndroidNativeCamera: NO")
endif(ARMEABI_V7A)
endif(ANDROID)
endif(UNIX AND NOT APPLE)
if(APPLE)
message(STATUS "")
if(WITH_QUICKTIME)
message(STATUS " Video I/O: QuickTime")
else()
message(STATUS " Video I/O: QTKit")
endif()
endif(APPLE)
if(WIN32 AND HAVE_VIDEOINPUT)
message(STATUS "")
message(STATUS " Video I/O: DirectShow")
status(" android tool:" ANDROID_EXECUTABLE THEN "${ANDROID_EXECUTABLE}" ELSE NO)
status(" ant:" ANT_EXECUTABLE THEN "${ANT_EXECUTABLE} (ver ${ANT_VERSION})" ELSE NO)
endif()
message(STATUS "")
message(STATUS " Interfaces: ")
message(STATUS " Python: ${BUILD_NEW_PYTHON_SUPPORT}")
message(STATUS " Python interpreter: ${PYTHON_EXECUTABLE}")
if (PYTHON_USE_NUMPY)
message(STATUS " Python numpy: YES")
else()
message(STATUS " Python numpy: NO (Python interface will not cover OpenCV 2.x API)")
endif()
message(STATUS " Java: ${BUILD_JAVA_SUPPORT}")
# Other third-party libraries
status("")
status(" Other third-party dependencies:")
if(WITH_IPP AND IPP_FOUND)
message(STATUS " Use IPP: ${IPP_LATEST_VERSION_STR} [${IPP_LATEST_VERSION_MAJOR}.${IPP_LATEST_VERSION_MINOR}.${IPP_LATEST_VERSION_BUILD}]")
message(STATUS " at: ${IPP_ROOT_DIR}")
elseif(WITH_IPP AND NOT IPP_FOUND)
message(STATUS " Use IPP: IPP not found")
status(" Use IPP:" "${IPP_LATEST_VERSION_STR} [${IPP_LATEST_VERSION_MAJOR}.${IPP_LATEST_VERSION_MINOR}.${IPP_LATEST_VERSION_BUILD}]")
status(" at:" "${IPP_ROOT_DIR}")
else()
message(STATUS " Use IPP: NO")
status(" Use IPP:" WITH_IPP AND NOT IPP_FOUND THEN IPP not found ELSE NO)
endif()
if(HAVE_TBB)
message(STATUS " Use TBB: YES")
else()
message(STATUS " Use TBB: NO")
if(HAVE_THREADING_FRAMEWORK)
message(STATUS " Use ThreadingFramework: YES")
else()
message(STATUS " Use ThreadingFramework: NO")
endif()
endif()
status(" Use TBB:" HAVE_TBB THEN YES ELSE NO)
if (HAVE_CUDA)
message(STATUS " Use Cuda: YES")
else()
message(STATUS " Use Cuda: NO")
if(UNIX)
status(" Use ThreadingFramework:" HAVE_THREADING_FRAMEWORK THEN YES ELSE NO)
endif()
if(HAVE_EIGEN)
message(STATUS " Use Eigen: YES")
else()
message(STATUS " Use Eigen: NO")
endif()
status(" Use Cuda:" HAVE_CUDA THEN YES ELSE NO)
status(" Use Eigen:" HAVE_EIGEN THEN YES ELSE NO)
message(STATUS "")
message(STATUS " Documentation: ")
# documentation
status("")
status(" Documentation:")
status(" Sphinx:" HAVE_SPHINX THEN "${SPHINX_BUILD} (ver ${SPHINX_VERSION})" ELSE NO)
status(" PdfLaTeX compiler:" BUILD_DOCS AND PDFLATEX_COMPILER THEN "${PDFLATEX_COMPILER}" ELSE NO)
status(" Build Documentation:" BUILD_DOCS AND PDFLATEX_COMPILER AND HAVE_SPHINX THEN YES ELSE NO)
if(BUILD_DOCS AND PDFLATEX_COMPILER AND HAVE_SPHINX)
message(STATUS " Build Documentation: YES")
else()
message(STATUS " Build Documentation: NO")
# samples and tests
status("")
status(" Tests and samples:")
status(" Tests:" BUILD_TESTS THEN YES ELSE NO)
status(" Examples:" BUILD_EXAMPLES THEN YES ELSE NO)
if(ANDROID)
status(" Android tests:" BUILD_TESTS AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO)
status(" Android examples:" BUILD_EXAMPLES AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO)
endif()
message(STATUS "")
message(STATUS " Install path: ${CMAKE_INSTALL_PREFIX}")
message(STATUS "")
message(STATUS " cvconfig.h is in: ${OPENCV_CONFIG_FILE_INCLUDE_DIR}")
message(STATUS "-----------------------------------------------------------------")
message(STATUS "")
# auxiliary
status("")
status(" Install path:" "${CMAKE_INSTALL_PREFIX}")
status("")
status(" cvconfig.h is in:" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}")
status("-----------------------------------------------------------------")
status("")
# warn in the case of in-source build
if("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")

Loading…
Cancel
Save