Fix Unix build issues and work-around Qt5 Mac UI bugs
Esse commit está contido em:
+8
-72
@@ -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
|
||||
|
||||
@@ -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})
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
// Heimdall Frontend
|
||||
#include "mainwindow.h"
|
||||
|
||||
#if defined(QT_STATIC)
|
||||
Q_IMPORT_PLUGIN (QWindowsIntegrationPlugin);
|
||||
#endif
|
||||
|
||||
using namespace HeimdallFrontend;
|
||||
|
||||
|
||||
@@ -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})
|
||||
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário