Re-organized project directory structure.
This commit is contained in:
parent
ff109e6e01
commit
fd037051ee
BIN
etc/7za.exe
BIN
etc/7za.exe
Binary file not shown.
BIN
etc/date.exe
BIN
etc/date.exe
Binary file not shown.
BIN
etc/zip.exe
BIN
etc/zip.exe
Binary file not shown.
@ -720,6 +720,8 @@ void CMainWindow::received(const quint32 &command, const QString &message)
|
||||
// PRIVATE FUNCTIONS
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
#define HAVE_SSE2(X) ((X).features & MUtils::CPUFetaures::FLAG_SSE2)
|
||||
|
||||
static bool VALIDATE_MEDIAINFO(QFile *const handle, const char *const expected_checksum)
|
||||
{
|
||||
if(!handle->reset())
|
||||
@ -748,11 +750,12 @@ static bool VALIDATE_MEDIAINFO(QFile *const handle, const char *const expected_c
|
||||
QString CMainWindow::getMediaInfoPath(void)
|
||||
{
|
||||
//Detect arch
|
||||
const bool have_x64 = MUtils::CPUFetaures::detect().x64;
|
||||
const QString arch = have_x64 ? QLatin1String("x64-sse2") : QLatin1String("x86-i686");
|
||||
const MUtils::CPUFetaures::cpu_info_t cpu_features = MUtils::CPUFetaures::detect();
|
||||
const QString arch = cpu_features.x64 ? QLatin1String("x64-sse2") : (HAVE_SSE2(cpu_features) ? QLatin1String("x86-sse2") : QLatin1String("x86-i686"));
|
||||
const char *const checksum = cpu_features.x64 ? g_mixp_checksum_x64 : (HAVE_SSE2(cpu_features) ? g_mixp_checksum_sse : g_mixp_checksum_gen);
|
||||
|
||||
//Setup resource
|
||||
QResource mediaInfoRes(QString(":/res/MediaInfo.%1.exe").arg(arch));
|
||||
QResource mediaInfoRes(QString(":/res/bin/MediaInfo.%1.exe").arg(arch));
|
||||
if((!mediaInfoRes.isValid()) || (!mediaInfoRes.data()))
|
||||
{
|
||||
qFatal("MediaInfo resource could not be initialized!");
|
||||
@ -762,7 +765,7 @@ QString CMainWindow::getMediaInfoPath(void)
|
||||
//Validate file content, if already extracted
|
||||
if(!m_mediaInfoHandle.isNull())
|
||||
{
|
||||
if(VALIDATE_MEDIAINFO(m_mediaInfoHandle.data(), (have_x64 ? g_mixp_checksum_x64 : g_mixp_checksum_x86)))
|
||||
if(VALIDATE_MEDIAINFO(m_mediaInfoHandle.data(), checksum))
|
||||
{
|
||||
return m_mediaInfoHandle->fileName();
|
||||
}
|
||||
@ -771,34 +774,42 @@ QString CMainWindow::getMediaInfoPath(void)
|
||||
|
||||
//Extract MediaInfo binary now!
|
||||
qDebug("MediaInfo binary not existing yet, going to extract now...\n");
|
||||
m_mediaInfoHandle.reset(new QFile(QString("%1/MediaInfo_%2.%3.exe").arg(m_tempFolder, QString().sprintf("%04x", qrand() % 0xFFFF), arch)));
|
||||
if(m_mediaInfoHandle->open(QIODevice::ReadWrite | QIODevice::Truncate))
|
||||
const QString filePath = MUtils::make_unique_file(m_tempFolder, "MediaInfo", arch + QLatin1String(".exe"));
|
||||
if (!filePath.isEmpty())
|
||||
{
|
||||
if(m_mediaInfoHandle->write(reinterpret_cast<const char*>(mediaInfoRes.data()), mediaInfoRes.size()) == mediaInfoRes.size())
|
||||
m_mediaInfoHandle.reset(new QFile(filePath));
|
||||
if (m_mediaInfoHandle->open(QIODevice::ReadWrite | QIODevice::Truncate))
|
||||
{
|
||||
qDebug("MediaInfo path is:\n%s\n", m_mediaInfoHandle->fileName().toUtf8().constData());
|
||||
m_mediaInfoHandle->close();
|
||||
if(!m_mediaInfoHandle->open(QIODevice::ReadOnly))
|
||||
if (m_mediaInfoHandle->write(reinterpret_cast<const char*>(mediaInfoRes.data()), mediaInfoRes.size()) == mediaInfoRes.size())
|
||||
{
|
||||
qWarning("Failed to open MediaInfo binary for reading!\n");
|
||||
qDebug("MediaInfo path is:\n%s\n", m_mediaInfoHandle->fileName().toUtf8().constData());
|
||||
m_mediaInfoHandle->close();
|
||||
if (!m_mediaInfoHandle->open(QIODevice::ReadOnly))
|
||||
{
|
||||
qWarning("Failed to open MediaInfo binary for reading!\n");
|
||||
m_mediaInfoHandle->remove();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qWarning("Failed to write data to MediaInfo binary file!\n");
|
||||
m_mediaInfoHandle->remove();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qWarning("Failed to write data to MediaInfo binary file!\n");
|
||||
m_mediaInfoHandle->remove();
|
||||
qWarning("Failed to open MediaInfo binary for writing!\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qWarning("Failed to open MediaInfo binary for writing!\n");
|
||||
qWarning("Failed to gemerate MediaInfo outout path!\n");
|
||||
}
|
||||
|
||||
//Validate file content, after it has been extracted
|
||||
if(!m_mediaInfoHandle.isNull())
|
||||
{
|
||||
if(VALIDATE_MEDIAINFO(m_mediaInfoHandle.data(), (have_x64 ? g_mixp_checksum_x64 : g_mixp_checksum_x86)))
|
||||
if(VALIDATE_MEDIAINFO(m_mediaInfoHandle.data(), checksum))
|
||||
{
|
||||
return m_mediaInfoHandle->fileName();
|
||||
}
|
||||
|
19
z_build.bat
19
z_build.bat
@ -3,14 +3,11 @@ REM ///////////////////////////////////////////////////////////////////////////
|
||||
REM // Set Paths
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
set "MSVC_PATH=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
|
||||
set "QTVC_PATH=C:\Qt\4.8.7"
|
||||
set "UPX3_PATH=C:\Program Files (x86)\UPX"
|
||||
|
||||
REM ###############################################
|
||||
REM # DO NOT MODIFY ANY LINES BELOW THIS LINE !!! #
|
||||
REM ###############################################
|
||||
|
||||
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
REM // Setup environment
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
@ -34,7 +31,11 @@ if not exist "%VCINSTALLDIR%\bin\cl.exe" (
|
||||
goto BuildError
|
||||
)
|
||||
if not exist "%QTDIR%\bin\moc.exe" (
|
||||
echo Qt meta compiler not found. Please check your QTVC_PATH var!
|
||||
echo Qt meta compiler not found. Please check your QTDIR var!
|
||||
goto BuildError
|
||||
)
|
||||
if not exist "%QTDIR%\include\QtCore\qglobal.h" (
|
||||
echo %%QTDIR%% header files not found. Please check your QTDIR var!
|
||||
goto BuildError
|
||||
)
|
||||
|
||||
@ -43,11 +44,11 @@ REM // Get current date and time (in ISO format)
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
set "ISO_DATE="
|
||||
set "ISO_TIME="
|
||||
if not exist "%~dp0\etc\date.exe" BuildError
|
||||
for /F "tokens=1,2 delims=:" %%a in ('"%~dp0\etc\date.exe" +ISODATE:%%Y-%%m-%%d') do (
|
||||
if not exist "%~dp0\..\Prerequisites\GnuWin32\date.exe" BuildError
|
||||
for /F "tokens=1,2 delims=:" %%a in ('"%~dp0\..\Prerequisites\GnuWin32\date.exe" +ISODATE:%%Y-%%m-%%d') do (
|
||||
if "%%a"=="ISODATE" set "ISO_DATE=%%b"
|
||||
)
|
||||
for /F "tokens=1,2,3,4 delims=:" %%a in ('"%~dp0\etc\date.exe" +ISOTIME:%%T') do (
|
||||
for /F "tokens=1,2,3,4 delims=:" %%a in ('"%~dp0\..\Prerequisites\GnuWin32\date.exe" +ISOTIME:%%T') do (
|
||||
if "%%a"=="ISOTIME" set "ISO_TIME=%%b:%%c:%%d"
|
||||
)
|
||||
if "%ISO_DATE%"=="" goto BuildError
|
||||
@ -83,7 +84,7 @@ copy "%~dp0\doc\*.svg" "%PACK_PATH%"
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
REM // Compress
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
"%UPX3_PATH%\upx.exe" --best "%PACK_PATH%\*.exe"
|
||||
"%~dp0\..\Prerequisites\UPX\upx.exe" --best "%PACK_PATH%\*.exe"
|
||||
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
REM // Attributes
|
||||
@ -127,7 +128,7 @@ REM ///////////////////////////////////////////////////////////////////////////
|
||||
REM // Build the package
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
pushd "%PACK_PATH%
|
||||
"%~dp0\etc\zip.exe" -9 -r -z "%~dp0\out\%OUT_NAME%.zip" "*.*" < "%~dp0\out\%OUT_NAME%.txt"
|
||||
"%~dp0\..\Prerequisites\GnuWin32\zip.exe" -9 -r -z "%~dp0\out\%OUT_NAME%.zip" "*.*" < "%~dp0\out\%OUT_NAME%.txt"
|
||||
popd
|
||||
rmdir /Q /S "%PACK_PATH%"
|
||||
attrib +R "%~dp0\out\%OUT_NAME%.zip"
|
||||
|
Loading…
Reference in New Issue
Block a user