






























DDNet ddnet:ger.ddnet.tw:8303.
@heinrich5991 recently added Steam API support, so I think this can be extended more easily now: https://github.com/ddnet/ddnet/pull/2615c2ce132 Allow specifying an OpenGL version manually - Jupeyy
7450e35 Add OpenGL 4.x support & cleanup - Jupeyy
a07e9ac Add OpenGL 1.x, 2.x, 3.x support (fixes #2619) (fixes #2607) - Jupeyy
5b9269f Check NPOT textures and stronger 1.x fallback (fixes #2630) - Jupeyy
f04ec93 Use OpenGL 3.0 as default - Jupeyy
2c02314 Stronger 1.x fallback, if OpenGL 3.0 was invalidly created - Jupeyy
3117a93 Do not create 2D textures, if not required - Jupeyy
694db44 Merge #2598 - bors[bot]





















print m_pLayers->GameLayer() to find out @Ryozuki











@executable_path on mac usuallu







Dyld Error Message:
Library not loaded: /home/*/libsteam_api.dylib
Referenced from: /private/var/folders/*/DDNet.app/Contents/MacOS/DDNet
Reason: image not found




if(PLATFORM STRNEQ mac) check



@executable_path/../Frameworks

@loader_path/../Frameworks


@rpath should also work as we have @loader_path/../Frameworks as LC_RPATH
























rm -rf build
mkdir -p build
cd build
cmake ..
make -j12
exit_status=0
./DDNet "connect 88.198.184.126:8318" && exit 0
exit 1





















otool -L for the built libsteam?













$ x86_64-apple-darwin17-otool -L libsteam_api.dylib
libsteam_api.dylib:
/home/deen/isos/ddnet/macosx/ddnet-master/libsteam_api.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)

ninja -v for ninja. make VERBOSE=1 for make iirc[learath2@l2mbp] ~/D/C/d/build $ otool -L libsteam_api.dylib
libsteam_api.dylib:
@rpath/libsteam_api.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 902.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)







./build.sh failed to extract the sdk





INSTALLNAME_DIR = @rpath/ which gives the desired behaviour


$ x86_64-apple-darwin17-otool -L DDNet
DDNet:
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 158.0.0)
/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 58286.51.6)
@executable_path/../Frameworks/libfreetype.6.dylib (compatibility version 24.0.0, current version 24.1.0)
@rpath/SDL2.framework/Versions/A/SDL2 (compatibility version 1.0.0, current version 8.0.0)
@executable_path/../Frameworks/libsteam_api.dylib (compatibility version 0.0.0, current version 0.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1561.40.112)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1452.23.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1452.23.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)


@executable_path/../Frameworks with @rpath/ as LC_RPATH is correct now







darwin_strip_rpath.py script. Then you insert @loader_path/../Frameworks






COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/darwin_strip_rpath.py ${CMAKE_OTOOL} ${CMAKE_INSTALL_NAME_TOOL} ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/MacOS/${TARGET_CLIENT}
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -add_rpath @loader_path/../Frameworks ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/MacOS/${TARGET_CLIENT}
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change /usr/local/lib/libfreetype.6.dylib @rpath/libfreetype.6.dylib ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/MacOS/${TARGET_CLIENT}
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change ${PROJECT_SOURCE_DIR}/libsteam_api.dylib @rpath/libsteam_api.dylib ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/MacOS/${TARGET_CLIENT}
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change ${PROJECT_SOURCE_DIR}/libsteam_api.dylib @rpath/libsteam_api.dylib ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/Frameworks/libsteam_api.dylib COMMAND ${CMAKE_COMMAND} -E make_directory ${DMG_TMPDIR}/${TARGET_SERVER}.app/Contents/Frameworks/
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/ddnet-libs/sqlite3/mac/lib64/libsqlite3.0.dylib ${DMG_TMPDIR}/${TARGET_SERVER}.app/Contents/Frameworks/
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/darwin_strip_rpath.py ${CMAKE_OTOOL} ${CMAKE_INSTALL_NAME_TOOL} ${DMG_TMPDIR}/${TARGET_SERVER}.app/Contents/MacOS/${TARGET_SERVER}
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -add_rpath @loader_path/../Frameworks ${DMG_TMPDIR}/${TARGET_SERVER}.app/Contents/MacOS/${TARGET_SERVER}
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change /usr/local/lib/libsqlite3.0.dylib @rpath/libsqlite3.0.dylib ${DMG_TMPDIR}/${TARGET_SERVER}.app/Contents/MacOS/${TARGET_SERVER}
gfx_resizable 1 by default?













COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change ${PROJECT_SOURCE_DIR}/libsteam_api.dylib @rpath/libsteam_api.dylib ${DMG_TMPDIR}/${TARGET_CLIENT}.app/Contents/Frameworks/libsteam_api.dylib can be removed?





























steam_appid.txt I think



















[2020-08-25 23:59:57][sdl]: SDL version 2.0.8 (compiled = 2.0.8)
[2020-08-25 23:59:58][gfx]: Created OpenGL 3.0 context.
[2020-08-25 23:59:59][gfx]: unable to create OpenGL context: Failed creating OpenGL context at version requested
[2020-08-25 23:59:59][sdl]: SDL version 2.0.8 (compiled = 2.0.8)
[2020-08-25 23:59:59][gfx]: unable to create OpenGL context: Failed creating OpenGL context at version requested
[2020-08-25 23:59:59][sdl]: SDL version 2.0.8 (compiled = 2.0.8)
[2020-08-25 23:59:59][gfx]: Created OpenGL 2.0 context.
[2020-08-26 00:00:00][OpenGL]: Version string: 2.1 ATI-3.9.15


































server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce RTX 2070 with Max-Q Design/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 435.21
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 435.21
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 435.21
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20




install_name_tool -add_rpath @loader_path/../Frameworks ./DDNet-Server it loads the bundled lib just fine

