Skip to content

Commit 9117932

Browse files
committed
Final fixes for Windows and macOS builds
Windows: - Replace onecoreuap with setupapi library for MinGW compatibility - Use lowercase library names (advapi32) for MinGW linking macOS: - Fix test script to look for .app bundles in correct locations - Update packaging to handle both .app bundles and regular binaries - Add proper directory checks and file copying for macOS bundles
1 parent d5705ca commit 9117932

File tree

2 files changed

+61
-12
lines changed

2 files changed

+61
-12
lines changed

.github/workflows/build.yml

Lines changed: 59 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -201,22 +201,71 @@ jobs:
201201
working-directory: Linux-Application
202202
run: |
203203
echo "=== macOS Build Products ==="
204-
ls -la build/DomesdayDuplicator/DomesdayDuplicator
205-
ls -la build/dddconv/dddconv
206-
ls -la build/dddutil/dddutil
204+
echo "Looking for DomesdayDuplicator.app bundle:"
205+
ls -la build/DomesdayDuplicator/ || echo "No .app bundle found"
206+
find build -name "DomesdayDuplicator*" -type f || echo "Searching for DomesdayDuplicator binary"
207207
208-
echo "=== Testing Executables ==="
209-
build/DomesdayDuplicator/DomesdayDuplicator --version || echo "No version flag available"
210-
timeout 5 build/dddconv/dddconv --help || echo "Help timeout"
211-
timeout 5 build/dddutil/dddutil --help || echo "Help timeout"
208+
echo "Looking for dddconv:"
209+
ls -la build/dddconv/dddconv || echo "dddconv not found at expected location"
210+
find build -name "dddconv*" -type f || echo "Searching for dddconv binary"
211+
212+
echo "Looking for dddutil.app bundle:"
213+
ls -la build/dddutil/ || echo "No dddutil.app bundle found"
214+
find build -name "dddutil*" -type f || echo "Searching for dddutil binary"
215+
216+
echo "=== Testing Executables (if found) ==="
217+
# Try to find and test the main app binary
218+
if [ -f "build/DomesdayDuplicator/DomesdayDuplicator.app/Contents/MacOS/DomesdayDuplicator" ]; then
219+
echo "Testing DomesdayDuplicator.app:"
220+
build/DomesdayDuplicator/DomesdayDuplicator.app/Contents/MacOS/DomesdayDuplicator --version || echo "No version flag available"
221+
elif [ -f "build/DomesdayDuplicator/DomesdayDuplicator" ]; then
222+
echo "Testing DomesdayDuplicator binary:"
223+
build/DomesdayDuplicator/DomesdayDuplicator --version || echo "No version flag available"
224+
fi
225+
226+
# Test dddconv
227+
if [ -f "build/dddconv/dddconv" ]; then
228+
timeout 5 build/dddconv/dddconv --help || echo "Help timeout"
229+
fi
230+
231+
# Try to find and test dddutil
232+
if [ -f "build/dddutil/dddutil.app/Contents/MacOS/dddutil" ]; then
233+
echo "Testing dddutil.app:"
234+
timeout 5 build/dddutil/dddutil.app/Contents/MacOS/dddutil --help || echo "Help timeout"
235+
elif [ -f "build/dddutil/dddutil" ]; then
236+
echo "Testing dddutil binary:"
237+
timeout 5 build/dddutil/dddutil --help || echo "Help timeout"
238+
fi
212239
213240
- name: Package macOS Build
214241
working-directory: Linux-Application
215242
run: |
216243
mkdir -p artifacts/DomesdayDuplicator-macOS-x64
217-
cp build/DomesdayDuplicator/DomesdayDuplicator artifacts/DomesdayDuplicator-macOS-x64/
218-
cp build/dddconv/dddconv artifacts/DomesdayDuplicator-macOS-x64/
219-
cp build/dddutil/dddutil artifacts/DomesdayDuplicator-macOS-x64/
244+
245+
# Copy DomesdayDuplicator (app bundle or binary)
246+
if [ -d "build/DomesdayDuplicator/DomesdayDuplicator.app" ]; then
247+
echo "Packaging DomesdayDuplicator.app bundle"
248+
cp -R build/DomesdayDuplicator/DomesdayDuplicator.app artifacts/DomesdayDuplicator-macOS-x64/
249+
elif [ -f "build/DomesdayDuplicator/DomesdayDuplicator" ]; then
250+
echo "Packaging DomesdayDuplicator binary"
251+
cp build/DomesdayDuplicator/DomesdayDuplicator artifacts/DomesdayDuplicator-macOS-x64/
252+
fi
253+
254+
# Copy dddconv
255+
if [ -f "build/dddconv/dddconv" ]; then
256+
cp build/dddconv/dddconv artifacts/DomesdayDuplicator-macOS-x64/
257+
fi
258+
259+
# Copy dddutil (app bundle or binary)
260+
if [ -d "build/dddutil/dddutil.app" ]; then
261+
echo "Packaging dddutil.app bundle"
262+
cp -R build/dddutil/dddutil.app artifacts/DomesdayDuplicator-macOS-x64/
263+
elif [ -f "build/dddutil/dddutil" ]; then
264+
echo "Packaging dddutil binary"
265+
cp build/dddutil/dddutil artifacts/DomesdayDuplicator-macOS-x64/
266+
fi
267+
268+
# Copy additional files
220269
cp DOWNSAMPLING_README.md artifacts/DomesdayDuplicator-macOS-x64/
221270
cp build_with_system_ffmpeg.sh artifacts/DomesdayDuplicator-macOS-x64/
222271
# cp ../../README.md artifacts/DomesdayDuplicator-macOS-x64/ # No README.md exists in repo

Linux-Application/DomesdayDuplicator/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ if(WIN32)
5151
)
5252

5353
target_link_libraries(DomesdayDuplicator PRIVATE
54-
AdvAPI32
55-
onecoreuap
54+
advapi32
55+
setupapi
5656
winusb
5757
)
5858
endif()

0 commit comments

Comments
 (0)