Skip to content
Snippets Groups Projects
Forked from Alchemy Viewer / Alchemy Viewer
Source project has a limited visibility.
  • Nat Goodspeed's avatar
    15d37713
    DRTVWR-558: Fix builds on macOS 12.5 Monterey. · 15d37713
    Nat Goodspeed authored
    Always search for python3[.exe] instead of plain 'python'. macOS Monterey no
    longer bundles Python 2 at all.
    
    Explicitly make PYTHON_EXECUTABLE a cached value so if the user edits it in
    CMakeCache.txt, it won't be overwritten by indra/cmake/Python.cmake.
    
    Do NOT set DYLD_LIBRARY_PATH for test executables! That has Bad Effects, as
    discussed in https://stackoverflow.com/q/73418423/5533635. Instead, create
    symlinks from build-mumble/sharedlibs/Resources -> Release/Resources and from
    build-mumble/test/Resources -> ../sharedlibs/Release/Resources. For test
    executables in sharedlibs/RelWithDebInfo and test/RelWithDebInfo, this
    supports our dylibs' baked-in load path @executable_path/../Resources. That
    load path assumes running in a standard app bundle (which the viewer in fact
    does), but we've been avoiding creating an app bundle for every test program.
    These symlinks allow us to continue doing that while avoiding
    DYLD_LIBRARY_PATH.
    
    Add indra/llcommon/apply.h. The LL::apply() function and its wrapper macro
    VAPPLY were very useful in diagnosing the problem.
    
    Tweak llleap_test.cpp. This source was modified extensively for diagnostic
    purposes; these are the small improvements that remain.
    15d37713
    History
    DRTVWR-558: Fix builds on macOS 12.5 Monterey.
    Nat Goodspeed authored
    Always search for python3[.exe] instead of plain 'python'. macOS Monterey no
    longer bundles Python 2 at all.
    
    Explicitly make PYTHON_EXECUTABLE a cached value so if the user edits it in
    CMakeCache.txt, it won't be overwritten by indra/cmake/Python.cmake.
    
    Do NOT set DYLD_LIBRARY_PATH for test executables! That has Bad Effects, as
    discussed in https://stackoverflow.com/q/73418423/5533635. Instead, create
    symlinks from build-mumble/sharedlibs/Resources -> Release/Resources and from
    build-mumble/test/Resources -> ../sharedlibs/Release/Resources. For test
    executables in sharedlibs/RelWithDebInfo and test/RelWithDebInfo, this
    supports our dylibs' baked-in load path @executable_path/../Resources. That
    load path assumes running in a standard app bundle (which the viewer in fact
    does), but we've been avoiding creating an app bundle for every test program.
    These symlinks allow us to continue doing that while avoiding
    DYLD_LIBRARY_PATH.
    
    Add indra/llcommon/apply.h. The LL::apply() function and its wrapper macro
    VAPPLY were very useful in diagnosing the problem.
    
    Tweak llleap_test.cpp. This source was modified extensively for diagnostic
    purposes; these are the small improvements that remain.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.