diff --git a/CMakeLists.txt b/CMakeLists.txt
index be2646a05b4287aa0d5e34863cb2c4402af73e68..1a018e367f18cacc73472224fc544f8d3bd22e60 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,14 +52,14 @@ if( APPLE )
    # Define the OSX compatibility parameters
    set( CMAKE_OSX_ARCHITECTURES x86_64 CACHE INTERNAL "" )
    set( CMAKE_OSX_DEPLOYMENT_TARGET 10.7 CACHE INTERNAL "" )
-   set( CMAKE_OSX_SYSROOT macosx CACHE INTERNAL "" )
+#    set( CMAKE_OSX_SYSROOT macosx CACHE INTERNAL "" )
    set( CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "" CACHE INTERNAL "" )
 
    # This prevents a link error when building with the 10.9 or older SDKs
    set( CMAKE_XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME OFF )
 
    # Shouldn't cmake do this???
-   string( APPEND CMAKE_CXX_FLAGS " -stdlib=libc++" )
+#    string( APPEND CMAKE_CXX_FLAGS " -stdlib=libc++" )
 endif()
 
 # Add our module path
@@ -74,12 +74,14 @@ set( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake-proxies/cmake-modules)
 set( CMAKE_CXX_STANDARD 14 )
 set( CMAKE_CXX_STANDARD_REQUIRED ON )
 
-# Use ccache if available
-find_program( CCACHE_PROGRAM ccache )
-mark_as_advanced( FORCE CCACHE_PROGRAM )
+# Use ccache if requested
+if( ${CMAKE_CXX_COMPILER_LAUNCHER} MATCHES "ccache" )
+    set( CCACHE_PROGRAM "${CMAKE_CXX_COMPILER_LAUNCHER}" )
+    mark_as_advanced( FORCE CCACHE_PROGRAM )
 
-if( CCACHE_PROGRAM )
-   set_property( GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}" )
+#     if( CCACHE_PROGRAM )
+#        set_property( GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}" )
+#     endif()
 endif()
 
 # Our very own project
@@ -203,6 +205,7 @@ if( CMAKE_CONFIGURATION_TYPES )
 else()
    set( _DESTDIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}" )
 endif()
+set( _DESTDIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" )
 
 set( _DEST "${_DESTDIR}" )
 set( _PREFIX "${CMAKE_INSTALL_PREFIX}" )
diff --git a/src/orig.CMakeLists.txt b/src/CMakeLists.txt
index 93dc50c..2a0c014 100644
--- a/src/orig.CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1095,6 +1095,11 @@ list( APPEND LIBRARIES
       $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD,NetBSD,CYGWIN>:z>
       $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD,NetBSD,CYGWIN>:pthread>
 )
+if( CMAKE_SYSTEM_NAME MATCHES "Linux" )
+    list( APPEND LIBRARIES
+       PRIVATE
+        $<$<CXX_COMPILER_ID:Clang>:atomic>)
+endif()
 
 set( BUILDING_AUDACITY YES )
 set( INSTALL_PREFIX "${_PREFIX}" )
@@ -1182,22 +1187,23 @@ if( CMAKE_SYSTEM_NAME MATCHES "Windows" )
       POST_BUILD
    )
 elseif( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
-   # Bug 2400 workaround
-   #
-   # Replaces the SDK version in the built executable with 10.13 to
-   # prevent high CPU usage and slow drawing on Mojave or newer
-   check_for_platform_version()
-   if( PLATFORM_VERSION_SUPPORTED )
-      list( APPEND LDFLAGS
-         PRIVATE
-            -Wl,-platform_version,macos,10.7,10.13
-      )
-   else()
-      list( APPEND LDFLAGS
-         PRIVATE
-            -Wl,-sdk_version,10.13
-      )
-   endif()
+## MacPorts will specify the SDK to use itself, thank you very much
+#    # Bug 2400 workaround
+#    #
+#    # Replaces the SDK version in the built executable with 10.13 to
+#    # prevent high CPU usage and slow drawing on Mojave or newer
+#    check_for_platform_version()
+#    if( PLATFORM_VERSION_SUPPORTED )
+#       list( APPEND LDFLAGS
+#          PRIVATE
+#             -Wl,-platform_version,macos,10.7,10.13
+#       )
+#    else()
+#       list( APPEND LDFLAGS
+#          PRIVATE
+#             -Wl,-sdk_version,10.13
+#       )
+#    endif()
 
    # Define Mac specific resources
    list( APPEND MAC_RESOURCES
@@ -1240,6 +1246,9 @@ elseif( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
          "-framework AudioUnit"
          "-framework CoreAudio"
          "-framework CoreAudioKit"
+         "-framework AudioToolbox"
+         "-framework Cocoa"
+         "-framework Carbon"
    )
 
    # Use the Aqua theme
@@ -1365,6 +1374,13 @@ source_group(
 
 target_sources( ${TARGET} PRIVATE ${HEADERS} ${SOURCES} ${RESOURCES} ${MAC_RESOURCES} ${WIN_RESOURCES} )
 target_compile_definitions( ${TARGET} PRIVATE ${DEFINES} )
+
+set_property(SOURCE effects/VST/VSTEffect.cpp APPEND PROPERTY COMPILE_DEFINITIONS LIBDIR="${CMAKE_INSTALL_FULL_LIBDIR}")
+set_property(SOURCE effects/ladspa/LadspaEffect.cpp APPEND PROPERTY COMPILE_DEFINITIONS LIBDIR="${CMAKE_INSTALL_FULL_LIBDIR}")
+set_property(SOURCE effects/lv2/LoadLV2.cpp APPEND PROPERTY COMPILE_DEFINITIONS LIBDIR="${CMAKE_INSTALL_FULL_LIBDIR}")
+set_property(SOURCE effects/lv2/LoadLV2.cpp APPEND PROPERTY COMPILE_DEFINITIONS PKGLIBDIR="${PKGLIBDIR}")
+set_property(SOURCE export/ExportMP3.cpp APPEND PROPERTY COMPILE_DEFINITIONS LIBDIR="${CMAKE_INSTALL_FULL_LIBDIR}")
+
 target_compile_options( ${TARGET} PRIVATE ${OPTIONS} )
 target_include_directories( ${TARGET} PRIVATE ${INCLUDES} )
 target_link_options( ${TARGET} PRIVATE ${LDFLAGS} )
@@ -1373,7 +1389,7 @@ target_link_libraries( ${TARGET} PRIVATE ${LIBRARIES} )
 # If was have cmake 3.16 or higher, we can use precompiled headers, but
 # only use them if ccache is not available and the user hasn't disabled
 # it.
-if( CMAKE_VERSION VERSION_GREATER_EQUAL "3.16" AND NOT CCACHE_PROGRAM )
+if( CMAKE_VERSION VERSION_GREATER_EQUAL "3.16" )
    cmd_option(
       ${_OPT}use_pch
       "Use precompiled headers [yes, no]"
@@ -1390,10 +1406,9 @@ endif()
 
 if( NOT "${CMAKE_GENERATOR}" MATCHES "Xcode|Visual Studio*" )
    if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
-      install( FILES "${_DEST}/Info.plist"
-               DESTINATION "${CMAKE_INSTALL_BINDIR}/Audacity.app/Contents" )
-      install( PROGRAMS "${_EXEDIR}/${AUDACITY_NAME}" "${_EXEDIR}/Wrapper"
-               DESTINATION "${CMAKE_INSTALL_BINDIR}/Audacity.app/Contents/MacOS" )
+      install( TARGETS ${TARGET}
+               DESTINATION "."
+               RESOURCE DESTINATION "${_APPDIR}/Resources" )
    else()
       install( PROGRAMS "${_EXEDIR}/${AUDACITY_NAME}"
                TYPE BIN )
@@ -1403,12 +1418,12 @@ if( NOT "${CMAKE_GENERATOR}" MATCHES "Xcode|Visual Studio*" )
                FILES_MATCHING PATTERN "*.so" )
       install( FILES "${_INTDIR}/audacity.desktop"
                DESTINATION "${_DATADIR}/applications" )
-      install( FILES "${topdir}/LICENSE.txt" "${topdir}/README.txt"
-               DESTINATION "${_DATADIR}/doc/${AUDACITY_NAME}" )
-      install( FILES "${_SRCDIR}/audacity.xml"
-               DESTINATION "${_DATADIR}/mime/packages" )
-      install( FILES "${topdir}/presets/EQDefaultCurves.xml"
-               DESTINATION "${_PKGDATA}" )
    endif()
+   install( FILES "${topdir}/LICENSE.txt" "${topdir}/README.txt"
+            DESTINATION "${_DATADIR}/doc/${AUDACITY_NAME}" )
+   install( FILES "${_SRCDIR}/audacity.xml"
+            DESTINATION "${_DATADIR}/mime/packages" )
+   install( FILES "${topdir}/presets/EQDefaultCurves.xml"
+            DESTINATION "${_PKGDATA}" )
 endif()
 
diff --git a/cmake-proxies/lv2/orig.CMakeLists.txt b/cmake-proxies/lv2/CMakeLists.txt
index 289688e..af8d37a 100644
--- a/cmake-proxies/lv2/orig.CMakeLists.txt
+++ b/cmake-proxies/lv2/CMakeLists.txt
@@ -150,6 +150,9 @@ macro( bld name packages define sources )
             "PkgConfig::${pkg}"
       )
    endforeach()
+   if( ${name} STREQUAL "suil_qt5_in_cocoa")
+       list( APPEND libs PRIVATE "-framework Cocoa" )
+   endif()
 
    if( NOT missing )
       list( APPEND DEFINES
@@ -187,7 +190,7 @@ if( WIN32 )
 elseif( APPLE )
    set( LILV_PATH_SEP ":" )
    set( LILV_DIR_SEP "/" )
-   set( LILV_DEFAULT_LV2_PATH "~/Library/Audio/Plug-Ins/LV2:~/.lv2:/usr/local/lib/lv2:/usr/lib/lv2:/Library/Audio/Plug-Ins/LV2" )
+   set( LILV_DEFAULT_LV2_PATH "~/Library/Audio/Plug-Ins/LV2:~/.lv2:@PREFIX@/lib/lv2:/Library/Audio/Plug-Ins/LV2" )
 
    set( SUIL_MODULE_DIR "" )
    set( SUIL_DIR_SEP "" )
@@ -195,10 +198,18 @@ elseif( APPLE )
    set( SUIL_GTK3_LIB_NAME "libgtk-x11-3.0.so.0" )
    set( SUIL_MODULE_PREFIX "lib" )
    set( SUIL_MODULE_EXT ".dylib" )
+   option(audacity_use_suil_qt5 "Whether to build the suil_qt5_in_cocoa GUI library for LV2 plugins" OFF)
+   if( audacity_use_suil_qt5 )
+       pkg_check_modules( QT5 IMPORTED_TARGET "Qt5Widgets >= 5.1.0" )
+       bld( "suil_qt5_in_cocoa"
+            "QT5"
+            "SUIL_WITH_COCOA_IN_QT5"
+            "${TARGET_ROOT}/suil/src/cocoa_in_qt5.mm" )
+   endif()
 elseif( UNIX )
    set( LILV_PATH_SEP ":" )
    set( LILV_DIR_SEP "/" )
-   set( LILV_DEFAULT_LV2_PATH "~/.lv2:/usr/lib/lv2:/usr/local/lib/lv2" )
+   set( LILV_DEFAULT_LV2_PATH "~/.lv2:@PREFIX@/lib/lv2:/usr/lib/lv2:/usr/local/lib/lv2" )
 
    set( SUIL_MODULE_DIR "" )
    set( SUIL_DIR_SEP "" )
