Open thx1111 opened 1 year ago
Documentation:
cmake --help-policy CMP0072
I got the reported warning as well when building Cubic SDR on version https://github.com/cjcliffe/CubicSDR/tree/033330367cd179d7b04503027d41afa7514036f4 on my system, which has the following setup:
cmake --version
: 3.25.1
mkdir build
cd build/
cmake ..
# reported warning message appears, hence the OpenGL_GL_PREFERENCE "LEGACY" is used
make
x64/CubicSDR
# executing "../build/x64/CubicSDR" starts up CubicSDR correctly
ldd ../build/x64/CubicSDR | grep -i gl
# libwx_gtk3u_gl-3.2.so.0 => /lib/x86_64-linux-gnu/libwx_gtk3u_gl-3.2.so.0 (0x00007fd2b47e2000)
# libGL.so.1 => /usr/local/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fd2b3b0f000)
# libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fd2b2492000)
# libglapi.so.0 => /usr/local/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007fd2b21db000)
# libxcb-glx.so.0 => /lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007fd2b21a8000)
# libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007fd2b2006000)
I was curious if using OpenGL_GL_PREFERENCE "GLVND" has any benefit. To do so,
CMakeLists.txt
("method 1"):
if(POLICY CMP0072)
cmake_policy(SET CMP0072 NEW)
endif()
mkdir build-glvnd
cd build-glvnd/
cmake -DCMAKE_POLICY_DEFAULT_CMP0072=NEW ..
Example run using method 2:
mkdir build-glvnd
cd build-glvnd/
cmake -DCMAKE_POLICY_DEFAULT_CMP0072=NEW ..
# reported warning no longer appears, because a OpenGL_GL_PREFERENCE, "GLVND", is explicitly set
make
x64/CubicSDR
# executing "../build-glvnd/x64/CubicSDR" CRASHES, see below core dump
ldd ../build-glvnd/x64/CubicSDR | grep -i gl
libwx_gtk3u_gl-3.2.so.0 => /lib/x86_64-linux-gnu/libwx_gtk3u_gl-3.2.so.0 (0x00007f2a826d1000)
libOpenGL.so.0 => /lib/x86_64-linux-gnu/libOpenGL.so.0 (0x00007f2a81a43000)
libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f2a81a0d000)
libGL.so.1 => /usr/local/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f2a80806000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f2a80320000)
libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f2a7ffe3000)
libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007f2a7f984000)
libglapi.so.0 => /usr/local/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f2a7f8db000)
libxcb-glx.so.0 => /lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f2a7f8a8000)