#1230 Work in Progress. CMake/MinGW/32.
This commit is contained in:
parent
dbd7e7de10
commit
b6c3552458
@ -17,6 +17,9 @@ NOTE:
|
||||
|
||||
The msvc-2003 build files are deprecated and will not be supported after v0.26.
|
||||
|
||||
Exiv2 will not build on MinGW (neither 32bit nor 64bit)
|
||||
This is discussed in TODO-CMAKE
|
||||
|
||||
Robin Mills
|
||||
robin@clanmills.com
|
||||
2016-09-23
|
||||
|
||||
50
TODO-CMAKE
50
TODO-CMAKE
@ -9,10 +9,52 @@
|
||||
|
||||
Current Status
|
||||
|
||||
ToDo: * CMake/MinGW is not working.
|
||||
See config/buildserver/dailyBuild.sh for explanation.
|
||||
|
||||
ToDo: * CMake/MinGW is not working. I hope to fix this for v0.26
|
||||
|
||||
# Reasons why I can't get cmake to work:
|
||||
#
|
||||
# 1) Even although gcc is on the path, we must tell cmake not to use /c/MinGW/bin/gcc)
|
||||
# 2) It's using the wrong headers. Needs /c/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include
|
||||
# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$dist -DEXIV2_ENABLE_NLS=OFF \
|
||||
# -DCMAKE_C_COMPILER=$(which gcc) -DCMAKE_CXX_COMPILER=$(which g++) \
|
||||
# "-DCMAKE_CXX_FLAGS=-I/c/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include"
|
||||
# $exiv2
|
||||
# 3) even so, it errors instantly on:
|
||||
# In file included from c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/stddef.h:7:0,
|
||||
# from c:/Qt/Qt5.6.0/Tools/mingw492_32/lib/gcc/i686-w64-mingw32/4.9.2/include/stddef.h:1,
|
||||
# from C:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/include/XMP_Const.h:14,
|
||||
# from C:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/src/XMPCore_Impl.hpp:13,
|
||||
# from C:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/src/ExpatAdapter.cpp:10:
|
||||
# c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/crtdefs.h:26:9: error: 'size_t' does not name a type
|
||||
# typedef size_t rsize_t;
|
||||
# 4) Building cmake itself required setting CC CXX CXXFLAGS and LDFLAGS
|
||||
# AND editing a system file in Qt with an erroneous #pragma error NTDDI_VERSION and _WIN32_WINNT
|
||||
# In file included from c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/windows.h:10:0,
|
||||
# from c:/Users/rmills/gnu/cmake/cmake-3.6.2/Utilities/cmlibarchive/libarchive/archive_windows.h:74,
|
||||
# from c:/Users/rmills/gnu/cmake/cmake-3.6.2/Utilities/cmlibarchive/libarchive/archive_platform.h:60,
|
||||
# from c:/Users/rmills/gnu/cmake/cmake-3.6.2/Utilities/cmlibarchive/libarchive/xxhash.c:35:
|
||||
# c:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include/sdkddkver.h:186:2: error: #error NTDDI_VERSION and _WIN32_WINNT mismatch!
|
||||
# My work-around was to comment off the #error statement!
|
||||
|
||||
CMake generates the wrong include response files.
|
||||
|
||||
On my system, these should have the code:
|
||||
-IC:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/src
|
||||
-IC:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/include
|
||||
-IC:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/include/exiv2
|
||||
-IC:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/build
|
||||
-IC:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/include
|
||||
-IC:/MinGW/msys/1.0/home/rmills/gnu/exiv2/trunk/xmpsdk/src
|
||||
-IC:/Qt/Qt5.6.0/Tools/mingw492_32/i686-w64-mingw32/include
|
||||
-IC:/Qt/Qt5.6.0/Tools/mingw492_32/lib/gcc/i686-w64-mingw32/4.9.2/include
|
||||
-IC:/MinGW/msys/1.0/local/include
|
||||
|
||||
Even with this correction, the build fails.
|
||||
|
||||
I put the correct include code into includes.rsp and find to propagate it to the wrong files.
|
||||
/home/rmills/gnu/exiv2/trunk/build> find . -name "includes_*.rsp" -exec cp includes.rsp {} \;
|
||||
|
||||
Robin Mills
|
||||
robin@clanmills.com
|
||||
2016-09-29
|
||||
2016-09-30
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user