mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-07 15:42:33 +02:00
Fixes macOS packaging issues
* Help is installed to correct location * dSYM file is ignored * Fixes weird issue with Conan picking up libraries from dSYM
This commit is contained in:
parent
f8239de14c
commit
4b2b3458e8
4
.github/workflows/cmake_build.yml
vendored
4
.github/workflows/cmake_build.yml
vendored
@ -74,9 +74,9 @@ jobs:
|
|||||||
cache-name: cache-conan-modules
|
cache-name: cache-conan-modules
|
||||||
with:
|
with:
|
||||||
path: ${{ env.CONAN_USER_HOME }}
|
path: ${{ env.CONAN_USER_HOME }}
|
||||||
key: host-2-${{ matrix.config.name }}-${{ hashFiles('cmake-proxies/CMakeLists.txt') }}
|
key: host-3-${{ matrix.config.name }}-${{ hashFiles('cmake-proxies/CMakeLists.txt') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
host-2-${{ matrix.config.name }}-
|
host-3-${{ matrix.config.name }}-
|
||||||
|
|
||||||
- name: Configure
|
- name: Configure
|
||||||
env:
|
env:
|
||||||
|
@ -45,7 +45,11 @@ if( ${_OPT}package_manual )
|
|||||||
) \
|
) \
|
||||||
")
|
")
|
||||||
|
|
||||||
install( DIRECTORY "${out_dir}/${host}/" DESTINATION "help/manual" )
|
if( "${CMAKE_GENERATOR}" MATCHES "Xcode" )
|
||||||
|
install( DIRECTORY "${out_dir}/${host}/" DESTINATION "${_APPDIR}/help/manual" )
|
||||||
|
elseif( "${CMAKE_GENERATOR}" MATCHES "Visual Studio*" )
|
||||||
|
install( DIRECTORY "${out_dir}/${host}/" DESTINATION "help/manual" )
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if( NOT CMAKE_SYSTEM_NAME MATCHES "Darwin" )
|
if( NOT CMAKE_SYSTEM_NAME MATCHES "Darwin" )
|
||||||
|
@ -36,7 +36,8 @@ if [[ "${OSTYPE}" == msys* ]]; then # Windows
|
|||||||
find ${BIN_OUTPUT_DIR} -name '*.iobj' -o -name '*.ipdb' -o -name '*.pdb' -o -name '*.ilk' | xargs rm -f
|
find ${BIN_OUTPUT_DIR} -name '*.iobj' -o -name '*.ipdb' -o -name '*.pdb' -o -name '*.ilk' | xargs rm -f
|
||||||
elif [[ "${OSTYPE}" == darwin* ]]; then # macOS
|
elif [[ "${OSTYPE}" == darwin* ]]; then # macOS
|
||||||
find ${BIN_OUTPUT_DIR} -name '*.dSYM' | xargs -J % mv % ${SYMBOLS_OUTPUT_DIR}
|
find ${BIN_OUTPUT_DIR} -name '*.dSYM' | xargs -J % mv % ${SYMBOLS_OUTPUT_DIR}
|
||||||
find ${CONAN_USER_HOME} -name '*.dSYM' | xargs -J % cp -R % ${SYMBOLS_OUTPUT_DIR}
|
find ${SHARED_OUTPUT_DIR} -name '*.dSYM' | xargs -J % mv % ${SYMBOLS_OUTPUT_DIR}
|
||||||
|
find ${CONAN_USER_HOME}/dsyms -name '*.dSYM' | xargs -J % cp -R % ${SYMBOLS_OUTPUT_DIR}
|
||||||
else # Linux & others
|
else # Linux & others
|
||||||
chmod +x scripts/ci/linux/split_debug_symbols.sh
|
chmod +x scripts/ci/linux/split_debug_symbols.sh
|
||||||
find ${BIN_OUTPUT_DIR} -type f -executable -o -name '*.so' | xargs -n 1 scripts/ci/linux/split_debug_symbols.sh
|
find ${BIN_OUTPUT_DIR} -type f -executable -o -name '*.so' | xargs -n 1 scripts/ci/linux/split_debug_symbols.sh
|
||||||
|
@ -7,14 +7,19 @@ function extractDSym()
|
|||||||
local lib=$1
|
local lib=$1
|
||||||
local libfile=$(basename $lib)
|
local libfile=$(basename $lib)
|
||||||
local libname="${libfile%.*}"
|
local libname="${libfile%.*}"
|
||||||
local targetdir=$(dirname $lib)
|
local targetdir=$2
|
||||||
|
local dsymfile=${targetdir}/${libname}.dSYM
|
||||||
|
|
||||||
if [[ ! -L "$lib" && "$lib" != "{}" && $lib != *"dSYM"* ]]; then
|
if [[ -d "$dsymfile" ]]; then
|
||||||
echo "Extracting dSYMs from ${libfile} to ${libname}.dSYM"
|
echo "Skipping dSYM generation for $libfile: dSYM exists"
|
||||||
dsymutil "$lib" -o "${targetdir}/${libname}.dSYM"
|
elif [[ ! -L "$lib" && "$lib" != "{}" && $lib != *"dSYM"* ]]; then
|
||||||
|
echo "Extracting dSYMs from $libfile to $dsymfile"
|
||||||
|
dsymutil "$lib" -o "$dsymfile"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
export -f extractDSym
|
export -f extractDSym
|
||||||
|
|
||||||
find $CONAN_USER_HOME -name "*.dylib" | xargs -I {} bash -c 'extractDSym "{}"'
|
mkdir -p "$CONAN_USER_HOME/dsyms"
|
||||||
|
|
||||||
|
find $CONAN_USER_HOME -name "*.dylib" | xargs -I {} bash -c "extractDSym \"{}\" \"$CONAN_USER_HOME/dsyms\""
|
||||||
|
@ -1373,6 +1373,7 @@ if( "${CMAKE_GENERATOR}" MATCHES "Xcode|Visual Studio*" )
|
|||||||
USE_SOURCE_PERMISSIONS
|
USE_SOURCE_PERMISSIONS
|
||||||
PATTERN "*.pdb" EXCLUDE
|
PATTERN "*.pdb" EXCLUDE
|
||||||
PATTERN "*.ilk" EXCLUDE
|
PATTERN "*.ilk" EXCLUDE
|
||||||
|
PATTERN "*.dSYM" EXCLUDE
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
|
if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user