Fix Unix build issues and work-around Qt5 Mac UI bugs

Esse commit está contido em:
Benjamin Dobell
2015-02-19 05:08:26 +11:00
commit 67c17cc48b
5 arquivos alterados com 77 adições e 75 exclusões
+8 -72
Ver Arquivo
@@ -477,79 +477,15 @@ be included.
Appendix B - Installing Heimdall from Source:
Appendix B - Installing Heimdall Suite from Source
PREREQUISITES:
Heimdall requires C++11 (aka C++0x) functionality in order to compile.
Unfortunately, XCode includes an old version of GCC which does not
include support for C++11. XCode does include clang, which does
support C++11. However, clang's C++11 can only target OS X 10.7 or
newer. There are also slight compatibility issues between clang and
Qt, which is required in order to compile Heimdall Frontend. As such
these instructions will utilise GCC 4.7 installed via Homebrew.
Xcode can be downloaded through the App store or from Apple's
developer website:
https://developer.apple.com/xcode/
Homebrew install instructions are available at:
http://mxcl.github.io/homebrew/
1. First make sure you have installed XCode and Homebrew (see above). Then
open a terminal and install GCC 4.7, pkgconfig and libusbx via Homebrew:
brew tap homebrew/versions
brew install gcc47 pkgconfig libusbx
NOTE: Installing GCC 4.7 will take a long time.
1. Open Terminal and install dependencies using Homebrew (http://brew.sh)
2. In a terminal navigate to the directory you downloaded (or extracted)
Heimdall to.
brew install libusb qt5 cmake
3. Enter the following commands to compile libpit.
2. Build Heimdall & Heimdall Frontend
cd libpit
./configure CC=gcc-4.7 CXX=g++-4.7
make
cd ..
NOTE: There is no need to run "sudo make install".
4. Enter the following commands to compile and install Heimdall:
cd heimdall
./configure CC=gcc-4.7 CXX=g++-4.7
make
sudo make install
cd ..
5. If you haven't installed the driver before, do the following:
cd OSX
sudo ./install-kext.sh
6. Done
Appendix C - Installing Heimdall Frontend from Source:
1. Compile and install Heimdall, see Appendix B.
2. Heimdall Frontend requires Qt (4.7 or later, but prior to 5.0), available
from:
http://qt-project.org/downloads
3. Open a terminal and navigate to the directory you extracted Heimdall to.
4. Enter the following commands to compile and install Heimdall Frontend:
cd heimdall-frontend
qmake -spec macx-g++ QMAKE_CC=gcc-4.7 QMAKE_CXX=g++-4.7
make
5. Done
mkdir build
cd build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DQt5Widgets_DIR=/usr/local/opt/qt5/lib/cmake/Qt5Widgets ..
make
+5 -1
Ver Arquivo
@@ -12,7 +12,10 @@ find_package(Qt5Widgets REQUIRED)
find_package(ZLIB REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
if(MINGW)
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
endif(MINGW)
include_directories(${LIBPIT_INCLUDE_DIRS})
@@ -33,6 +36,7 @@ qt5_add_resources(HEIMDALL_FRONTEND_RESOURCES
mainwindow.qrc)
add_executable(heimdall-frontend WIN32
MACOSX_BUNDLE
${HEIMDALL_FRONTEND_SOURCE_FILES}
${HEIMDALL_FRONTEND_FORMS}
${HEIMDALL_FRONTEND_RESOURCES})
+58 -1
Ver Arquivo
@@ -196,6 +196,9 @@
<height>31</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Load / Customise</string>
</property>
@@ -269,6 +272,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Browse</string>
</property>
@@ -343,6 +349,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Donate</string>
</property>
@@ -359,6 +368,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Homepage</string>
</property>
@@ -510,9 +522,21 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Browse</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
<property name="default">
<bool>false</bool>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="pitBrowseTipLabel">
<property name="enabled">
@@ -935,6 +959,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Remove Device</string>
</property>
@@ -1105,6 +1132,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Add</string>
</property>
@@ -1122,6 +1152,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Remove</string>
</property>
@@ -1338,6 +1371,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Add Device</string>
</property>
@@ -1355,6 +1391,9 @@
<height>31</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Build</string>
</property>
@@ -1416,6 +1455,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Save As...</string>
</property>
@@ -1433,6 +1475,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Download</string>
</property>
@@ -1531,6 +1576,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string/>
</property>
@@ -1625,6 +1673,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Print</string>
</property>
@@ -1750,6 +1801,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Browse</string>
</property>
@@ -1777,6 +1831,9 @@
<height>23</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>Close</string>
</property>
@@ -1828,7 +1885,7 @@
<x>0</x>
<y>0</y>
<width>788</width>
<height>21</height>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menuHelp">
+2
Ver Arquivo
@@ -25,7 +25,9 @@
// Heimdall Frontend
#include "mainwindow.h"
#if defined(QT_STATIC)
Q_IMPORT_PLUGIN (QWindowsIntegrationPlugin);
#endif
using namespace HeimdallFrontend;
+4 -1
Ver Arquivo
@@ -9,7 +9,10 @@ set(LIBPIT_INCLUDE_DIRS
../libpit/source)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
if(MINGW)
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
endif(MINGW)
include_directories(SYSTEM ${LIBUSB_INCLUDE_DIRS})