Open shlomiv opened 5 years ago
:+1: - waiting for any Windows binaries with e.g. a fix for the DNG output aborted before the embedded preview JPEG: #192
would be awesome to have a current version available on Windows!
would be awesome to have a current version available on Windows!
@gaaned92 Would you mind to share with me your build/packaging scripts/instructions for HDRmerge? I can then try to adapt them into a cross-compilation procedure that could run in a docker container and hence be integrated with Travis CI…
@aferrero2707 Sure I don't mind
build alglib (it is not in MSYS2)
The sources are located in
cd ./src
g++ -Wpedantic -c *
ar rcs ../lib/libalglib.a *.o
cd ..
done
get hdrmerge sources
build hdrmerge
the source is located in
mkdir $buildname
cd ./$buildname
echo "step cmake " "$PWD"
cmake -G "MSYS Makefiles" -DGIT_BRANCH=$BRANCH -DALGLIB_ROOT="/d/programmes/alglib" -DALGLIB_INCLUDES="/d/programmes/alglib/include" -DALGLIB_LIBRARIES="/d/programmes/alglib/lib/libalglib.a" -DCMAKE_C_FLAGS="-O2 -pipe" -DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS} " -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$destination ../HDR
make -j8
make install
list of dlls the * replace the applicable version. I use this list with robocopy
"libgomp-1.dll libjasper-4.dll libwinpthread-1.dll
libgraphite2.dll libjpeg-8.dll
libbz2-1.dll libdouble-conversion.dll libharfbuzz-0.dll liblcms2-2.dll Qt5Core.dll
libexiv2.dll libiconv-2.dll libpcre-1.dll Qt5Gui.dll
libexpat-1.dll libicudt*.dll libpcre2-16-0.dll Qt5Widgets.dll
libfreetype-6.dll libicuin*.dll libpng16-16.dll zlib1.dll
libgcc_s_seh-1.dll libicuuc*.dll libraw_r-19.dll
libglib-2.0-0.dll libintl-8.dll libstdc++-6.dll libzstd.dll"
QT deployment
/mingw64/bin/windeployqt.exe --release "$destination/"hdrmerge.exe
QT plugins I don't know what is really required
robocopy /MINGW64/share/qt5/plugins/platforms "$destination/platforms" qdirect2d.dll qminimal.dll qoffscreen.dll qwebgl.dll qwindows.dll
robocopy /MINGW64/share/qt5/plugins/imageformats "$destination/imageformats
then packing $destination in a zip
@gaaned92 thanks for the tips!
I have managed to cross-compile HDRMerge with MSYS2 under ARCH Linux (using the same procedure I am already following for RawTherapee and ART). However, the compilation fails due to a missing
#include <iostream>
statement in src/ExifTransfer.cpp
:
/sources/hdrmerge/src/ExifTransfer.cpp: In member function 'void ExifTransfer::copyMetadata()':
/sources/hdrmerge/src/ExifTransfer.cpp:63:14: error: 'cerr' is not a member of 'std'
std::cerr << "Exiv2 error: " << e.what() << std::endl;
Next step is to bundle Qt and the rest of the dependencies into a portable folder...
EDIT: I also noticed that the Makefile generated by cmake in the cross-compilation case is missing the install target... very strange.
However, the compilation fails due to a missing
#include <iostream>
I did not notice that on windows. But I have to verify with last version.
EDIT: I also noticed that the Makefile generated by cmake in the cross-compilation case is missing the install target... very strange.
Ah! it is why I manually copied hdrmerge.exe from the buid dir to install dir! Thats a long time I did not review my build script.
Here is a first package ready to be tested: https://transfer.sh/KQ2yI/hdrmerge_win64.zip
@gaaned92 @heckflosse would you have time to give it a try?
I'm a couple of years late to the party and the link above is dead - does anyone happen to have an up to date hdrmerge windows binary available?
The most recenct (20125) HDRMerge v0.5 release is 152 commits behind master...
hm, i found an old 0.6 build from ganeed in my downloads dir. maybe it helps
The nightly builds are working fine on linux, but on windows it seems users are stuck at an old version (seems to be from 2015).
Is it possible to build nightly exe files (no need for nightly installers) for windows?
Thanks!