cmake のフラグ一覧
cmake がよくわからないのでメモ。
昨日から続けている librealsense2 ですが、python3.12 で pyrealsense2 を使うためには自前ビルドしなければいけない状況なりました。そして librealsense2 は cmake が使われています。
librealsense2 をビルドする時には例えば -DBUILD_EXAMPLES=true とか指定できるのですが、他のオプションは何があるのだろうということで調べました。
cmake の基本的な知識ですが -L とか -LA をつけると一覧が見れるようです。
libsense2 2.56.1 で自分の環境で実行するとこうなります。
$ mkdir build
$ cd build
$ cmake ..
$ cmake .. -LA
-- Checking internet connection...
-- Internet connection identified
-- Info: REALSENSE_VERSION_STRING=2.56.1
-- Setting Unix configurations
-- No output directory set; using /media/mnishi/opt/ws-sf/rs2/librealsense/build/Release/
-- Fetching pybind11...
CMake Deprecation Warning at build/third-party/pybind11/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- pybind11 v2.10.3
CMake Warning (dev) at build/third-party/pybind11/tools/FindPythonLibsNew.cmake:98 (find_package):
Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
are removed. Run "cmake --help-policy CMP0148" for policy details. Use
the cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
build/third-party/pybind11/tools/pybind11Tools.cmake:50 (find_package)
build/third-party/pybind11/tools/pybind11Common.cmake:180 (include)
build/third-party/pybind11/CMakeLists.txt:208 (include)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Fetching pybind11 - Done
-- Fetching pybind11_json...
-- Fetching pybind11_json - Done
-- Building libcurl enabled
-- using RS2_USE_V4L2_BACKEND
-- Fetching nlohmann/json...
-- Using the multi-header code from /media/mnishi/opt/ws-sf/rs2/librealsense/build/third-party/json/include/
-- Fetching nlohmann/json - Done
-- Check for updates capability added to realsense-viewer
-- Check for updates capability added to realsense-depth-quality
-- Fetching recommended firmwares:
-- disable link time optimization for fw project
-- ... https://librealsense.intel.com/Releases/RS4xx/FW/D4XX_FW_Image-5.16.0.1.bin
-- Configuring done (2.2s)
-- Generating done (0.1s)
-- Build files have been written to: /media/mnishi/opt/ws-sf/rs2/librealsense/build
-- Cache values
ANDROID_USB_HOST_UVC:BOOL=OFF
BUILD_CSHARP_BINDINGS:BOOL=OFF
BUILD_CV_EXAMPLES:BOOL=OFF
BUILD_CV_KINFU_EXAMPLE:BOOL=OFF
BUILD_DLIB_EXAMPLES:BOOL=OFF
BUILD_EASYLOGGINGPP:BOOL=ON
BUILD_EXAMPLES:STRING=true
BUILD_GLSL_EXTENSIONS:BOOL=ON
BUILD_GRAPHICAL_EXAMPLES:BOOL=ON
BUILD_LEGACY_LIVE_TEST:BOOL=OFF
BUILD_LEGACY_PYBACKEND:BOOL=OFF
BUILD_MATLAB_BINDINGS:BOOL=OFF
BUILD_OPEN3D_EXAMPLES:BOOL=OFF
BUILD_OPENNI2_BINDINGS:BOOL=OFF
BUILD_OPENVINO_EXAMPLES:BOOL=OFF
BUILD_PCL_EXAMPLES:BOOL=OFF
BUILD_PC_STITCHING:BOOL=OFF
BUILD_PYTHON_BINDINGS:STRING=true
BUILD_PYTHON_DOCS:BOOL=OFF
BUILD_RS2_ALL:BOOL=ON
BUILD_SHARED_LIBS:BOOL=ON
BUILD_TOOLS:BOOL=ON
BUILD_UNITY_BINDINGS:BOOL=OFF
BUILD_UNIT_TESTS:BOOL=OFF
BUILD_WITH_CPU_EXTENSIONS:BOOL=ON
BUILD_WITH_CUDA:BOOL=OFF
BUILD_WITH_DDS:BOOL=OFF
BUILD_WITH_OPENMP:BOOL=OFF
BUILD_WITH_STATIC_CRT:BOOL=ON
CCACHE_FOUND:FILEPATH=CCACHE_FOUND-NOTFOUND
CHECK_FOR_UPDATES:BOOL=ON
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
CMAKE_AR:FILEPATH=/usr/bin/ar
CMAKE_BUILD_TYPE:STRING=
CMAKE_COLOR_MAKEFILE:BOOL=ON
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-13
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-13
CMAKE_CXX_FLAGS:STRING=
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-13
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-13
CMAKE_C_FLAGS:STRING=
CMAKE_C_FLAGS_DEBUG:STRING=-g
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
CMAKE_EXE_LINKER_FLAGS:STRING=
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
CMAKE_INSTALL_BINDIR:PATH=bin
CMAKE_INSTALL_DATADIR:PATH=
CMAKE_INSTALL_DATAROOTDIR:PATH=share
CMAKE_INSTALL_DOCDIR:PATH=
CMAKE_INSTALL_INCLUDEDIR:PATH=include
CMAKE_INSTALL_INFODIR:PATH=
CMAKE_INSTALL_LIBDIR:PATH=lib
CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
CMAKE_INSTALL_LOCALEDIR:PATH=
CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
CMAKE_INSTALL_MANDIR:PATH=
CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
CMAKE_INSTALL_PREFIX:PATH=/usr/local
CMAKE_INSTALL_RUNSTATEDIR:PATH=
CMAKE_INSTALL_SBINDIR:PATH=sbin
CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
CMAKE_INSTALL_SYSCONFDIR:PATH=etc
CMAKE_LINKER:FILEPATH=/usr/bin/ld
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
CMAKE_MODULE_LINKER_FLAGS:STRING=
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
CMAKE_NM:FILEPATH=/usr/bin/nm
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
CMAKE_READELF:FILEPATH=/usr/bin/readelf
CMAKE_SHARED_LINKER_FLAGS:STRING=
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
CMAKE_SKIP_RPATH:BOOL=NO
CMAKE_STATIC_LINKER_FLAGS:STRING=
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
CMAKE_STRIP:FILEPATH=/usr/bin/strip
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
COM_MULTITHREADED:BOOL=ON
ENABLE_CCACHE:BOOL=ON
ENABLE_EASYLOGGINGPP_ASYNC:BOOL=ON
ENFORCE_METADATA:BOOL=OFF
FORCE_LIBUVC:BOOL=OFF
FORCE_RSUSB_BACKEND:BOOL=OFF
FORCE_WINUSB_UVC:BOOL=OFF
GIT_EXECUTABLE:FILEPATH=/usr/bin/git
HWM_OVER_XU:BOOL=ON
IMPORT_DEPTH_CAM_FW:BOOL=ON
JSON_BuildTests:BOOL=OFF
JSON_CI:BOOL=OFF
JSON_Diagnostics:BOOL=OFF
JSON_DisableEnumSerialization:BOOL=OFF
JSON_GlobalUDLs:BOOL=ON
JSON_ImplicitConversions:BOOL=ON
JSON_Install:BOOL=OFF
JSON_LegacyDiscardedValueComparison:BOOL=OFF
JSON_MultipleHeaders:BOOL=ON
JSON_SystemInclude:BOOL=OFF
LIBUSB_INC:PATH=/usr/include/libusb-1.0
LIBUSB_LIB:FILEPATH=/usr/lib/x86_64-linux-gnu/libusb-1.0.so
OPENGL_EGL_INCLUDE_DIR:PATH=/usr/include
OPENGL_GLES2_INCLUDE_DIR:PATH=/usr/include
OPENGL_GLES3_INCLUDE_DIR:PATH=/usr/include
OPENGL_GLX_INCLUDE_DIR:PATH=/usr/include
OPENGL_INCLUDE_DIR:PATH=/usr/include
OPENGL_egl_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libEGL.so
OPENGL_gles2_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libGLESv2.so
OPENGL_gles3_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libGLESv2.so
OPENGL_glu_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libGLU.so
OPENGL_glx_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libGLX.so
OPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libOpenGL.so
OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND
OPENSSL_CRYPTO_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so
OPENSSL_INCLUDE_DIR:PATH=/usr/include
OPENSSL_SSL_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libssl.so
PKG_CONFIG_ARGN:STRING=
PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
PYBIND11_FINDPYTHON:BOOL=OFF
PYBIND11_INSTALL:BOOL=OFF
PYBIND11_INTERNALS_VERSION:STRING=
PYBIND11_NOPYTHON:BOOL=OFF
PYBIND11_PYTHONLIBS_OVERWRITE:BOOL=ON
PYBIND11_PYTHON_VERSION:STRING=
PYBIND11_SIMPLE_GIL_MANAGEMENT:BOOL=OFF
PYBIND11_TEST:BOOL=OFF
PYTHON_EXECUTABLE:FILEPATH=/media/mnishi/opt/ws-sf/rs2/.venv/bin/python
PYTHON_INSTALL_DIR:PATH=/media/mnishi/opt/ws-sf/rs2/.venv/lib/python3.12/site-packages/pyrealsense2
PYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.12.so
REALSENSE_FIRMWARE_URL:STRING=https://librealsense.intel.com
UDEV_INCLUDE_DIRS:PATH=/usr/include
UDEV_LIBRARIES:FILEPATH=/usr/lib/x86_64-linux-gnu/libudev.so
UNIT_TESTS_ARGS:STRING=
glfw3_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/glfw3
pkgcfg_lib_UDEV_PKGCONF_udev:FILEPATH=/usr/lib/x86_64-linux-gnu/libudev.so
pkgcfg_lib__OPENSSL_crypto:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so
pkgcfg_lib__OPENSSL_ssl:FILEPATH=/usr/lib/x86_64-linux-gnu/libssl.so
(rs2) mnishi@tpe14:/media/mnishi/opt/ws-sf/rs2/librealsense/build$