diff --git a/.github/workflows/MediaConch_Checks.yml b/.github/workflows/MediaConch_Checks.yml index e8860ade..8bbcec12 100644 --- a/.github/workflows/MediaConch_Checks.yml +++ b/.github/workflows/MediaConch_Checks.yml @@ -26,7 +26,7 @@ jobs: pip --disable-pip-version-check install git+https://github.com/vi/mkvparse.git fi if [ "$RUNNER_OS" == "macOS" ]; then - brew install libtool automake libxslt jansson qt@5 sfk xmlstarlet ffmpeg + brew install libtool automake libxslt jansson qt sfk xmlstarlet ffmpeg sudo pip --disable-pip-version-check install --prefix /usr/local git+https://github.com/vi/mkvparse.git fi - name: Get ZenLib info @@ -89,8 +89,8 @@ jobs: - name: Configure GUI run: | cd Project/Qt - export PATH=/opt/homebrew/opt/qt@5/bin:$PATH - ./prepare CONFIG+=c++11 -after QMAKE_MACOSX_DEPLOYMENT_TARGET=10.9 QMAKE_LFLAGS-=-Wl,-ld_classic + export PATH=/opt/homebrew/opt/qt/bin:$PATH + ./prepare -after QMAKE_MACOSX_DEPLOYMENT_TARGET=11.0 - name: Build GUI run: | cd Project/Qt diff --git a/Project/GNU/CLI/Makefile.am b/Project/GNU/CLI/Makefile.am index 87d26fec..538690ed 100644 --- a/Project/GNU/CLI/Makefile.am +++ b/Project/GNU/CLI/Makefile.am @@ -46,7 +46,7 @@ mediaconch_SOURCES = \ ../../../Source/Checker/Checker.cpp \ ../../../Source/Checker/Path.cpp \ ../../../Source/IMSC1/IMSC1Plugin.cpp \ - ../../../Source/ThirdParty/tfsxml/tfsxml.cpp + ../../../Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp #mediaconch_LDFLAGS = -no-undefined -version-info 0:0:0 mediaconch_CPPFLAGS = $(XML_CFLAGS) diff --git a/Project/GNU/Library/Makefile.am b/Project/GNU/Library/Makefile.am index aca178f4..de2446e4 100644 --- a/Project/GNU/Library/Makefile.am +++ b/Project/GNU/Library/Makefile.am @@ -43,7 +43,7 @@ lib@MediaConchLib_LibName@_la_SOURCES = \ ../../../Source/Checker/Checker.cpp \ ../../../Source/Checker/Path.cpp \ ../../../Source/IMSC1/IMSC1Plugin.cpp \ - ../../../Source/ThirdParty/tfsxml/tfsxml.cpp + ../../../Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp #lib@MediaConchLib_LibName@includedir = $(includedir)/MediaConch #lib@MediaConchLib_LibName@include_HEADERS = \ diff --git a/Project/GNU/Server/Makefile.am b/Project/GNU/Server/Makefile.am index cca67e58..61340959 100644 --- a/Project/GNU/Server/Makefile.am +++ b/Project/GNU/Server/Makefile.am @@ -45,7 +45,7 @@ mediaconchd_SOURCES = \ ../../../Source/Checker/Checker.cpp \ ../../../Source/Checker/Path.cpp \ ../../../Source/IMSC1/IMSC1Plugin.cpp \ - ../../../Source/ThirdParty/tfsxml/tfsxml.cpp + ../../../Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp #mediaconchd_LDFLAGS = -no-undefined -version-info 0:0:0 mediaconchd_CPPFLAGS = $(XML_CFLAGS) diff --git a/Project/MSVC2022/CLI/MediaConch.vcxproj b/Project/MSVC2022/CLI/MediaConch.vcxproj index f265ca93..c1f81315 100644 --- a/Project/MSVC2022/CLI/MediaConch.vcxproj +++ b/Project/MSVC2022/CLI/MediaConch.vcxproj @@ -186,7 +186,7 @@ - + diff --git a/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj b/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj new file mode 100644 index 00000000..1d01178f --- /dev/null +++ b/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj @@ -0,0 +1,309 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + MediaConch-DLL + {574149DF-5BE6-47FD-9289-332AF77151FB} + MediaConch + Win32Proj + + + + DynamicLibrary + true + Unicode + v143 + + + DynamicLibrary + false + Unicode + v143 + + + DynamicLibrary + true + Unicode + v143 + + + DynamicLibrary + false + Unicode + v143 + + + + + + + + + + + + + + + + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + MediaConch + MediaConch + MediaConch + MediaConch + + + + + + + + + + ../../../Source;../../../Source/ThirdParty/sqlite;../../../../libevent/WIN32-Code/nmake;../../../../libevent/include;../../../../jansson/src;../../../../jansson/Contrib/VC17/Jansson;../../../../zlib;../../../../libxslt;../../../../libxml2/include;../../../../MediaInfoLib/Source;../../../../ZenLib/Source;%(AdditionalIncludeDirectories) + HAVE_JANSSON;HAVE_LIBEVENT;HAVE_SQLITE;LIBEXSLT_STATIC;LIBXSLT_STATIC;LIBXML_STATIC;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + Disabled + + + Windows + + + + + ../../../Source;../../../Source/ThirdParty/sqlite;../../../../libevent/WIN32-Code/nmake;../../../../libevent/include;../../../../jansson/src;../../../../jansson/Contrib/VC17/Jansson;../../../../zlib;../../../../libxslt;../../../../libxml2/include;../../../../MediaInfoLib/Source;../../../../ZenLib/Source;%(AdditionalIncludeDirectories) + HAVE_JANSSON;HAVE_LIBEVENT;HAVE_SQLITE;LIBEXSLT_STATIC;LIBXSLT_STATIC;LIBXML_STATIC;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + Disabled + + + Windows + + + + + ../../../Source;../../../Source/ThirdParty/sqlite;../../../../libevent/WIN32-Code/nmake;../../../../libevent/include;../../../../jansson/src;../../../../jansson/Contrib/VC17/Jansson;../../../../zlib;../../../../libxslt;../../../../libxml2/include;../../../../MediaInfoLib/Source;../../../../ZenLib/Source;%(AdditionalIncludeDirectories) + HAVE_JANSSON;HAVE_LIBEVENT;HAVE_SQLITE;LIBEXSLT_STATIC;LIBXSLT_STATIC;LIBXML_STATIC;%(PreprocessorDefinitions) + MultiThreadedDLL + true + true + None + false + + + Windows + true + true + MachineX86 + true + ..\..\..\Project\MSVC2022\$(Platform)\$(Configuration);..\..\..\..\MediaInfoLib\Project\MSVC2022\Library\$(Platform)\$(Configuration);..\..\..\..\ZenLib\Project\MSVC2022\Library\$(Platform)\$(Configuration);..\..\..\..\libxslt\win32\libxslt\$(Platform)\$(Configuration);..\..\..\..\libxml2\win32\VC17\$(Platform)\$(Configuration);..\..\..\..\zlib\projects\MSVC2022\$(Platform)\$(Configuration) + No + + + + + ../../../Source;../../../Source/ThirdParty/sqlite;../../../../libevent/WIN32-Code/nmake;../../../../libevent/include;../../../../jansson/src;../../../../jansson/Contrib/VC17/Jansson;../../../../zlib;../../../../libxslt;../../../../libxml2/include;../../../../MediaInfoLib/Source;../../../../ZenLib/Source;%(AdditionalIncludeDirectories) + HAVE_JANSSON;HAVE_LIBEVENT;HAVE_SQLITE;LIBEXSLT_STATIC;LIBXSLT_STATIC;LIBXML_STATIC;%(PreprocessorDefinitions) + MultiThreadedDLL + true + None + false + + + Windows + true + true + MachineX64 + true + ..\..\..\Project\MSVC2022\$(Platform)\$(Configuration);..\..\..\..\MediaInfoLib\Project\MSVC2022\Library\$(Platform)\$(Configuration);..\..\..\..\ZenLib\Project\MSVC2022\Library\$(Platform)\$(Configuration);..\..\..\..\libxslt\win32\libxslt\$(Platform)\$(Configuration);..\..\..\..\libxml2\win32\VC17\$(Platform)\$(Configuration);..\..\..\..\zlib\projects\MSVC2022\$(Platform)\$(Configuration) + No + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {40460a4d-243e-48db-a2f6-f5c57acde134} + + + {f687c268-c5d7-36df-80c4-641ed9c82bc8} + + + {1d6039f6-5078-416f-a3af-a36efc7e6a1c} + + + {c66b92e2-e917-4556-84d9-6d32c10c3185} + + + {f8c03828-5050-4e68-a7b4-41131f9049d7} + + + {20e0f8d6-213c-460b-b361-9c725cb375c7} + + + {0da1da7d-f393-4e7c-a7ce-cb5c6a67bc94} + + + {745dec58-ebb3-47a9-a9b8-4c6627c01bf8} + + + + + + diff --git a/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj.filters b/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj.filters new file mode 100644 index 00000000..67684f97 --- /dev/null +++ b/Project/MSVC2022/DLL/MediaConch-DLL.vcxproj.filters @@ -0,0 +1,332 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {3ae77992-ac1e-4f84-9b70-b9b52ce3b46a} + + + {04e8d873-200e-44c5-843e-432f681438f8} + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {4144b785-9e42-4b50-b521-d1f949969234} + + + {0e3aa0e0-c270-4d91-87ae-50c30aad50c0} + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + {17d3f297-ae83-44c2-be09-2e2882b1565a} + + + {3c62d1d8-29ba-45c4-8828-7a5e54664aa9} + + + + + Source Files\Lib + + + Source Files\Lib + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + ThirdParty\sqlite + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + Source Files\Common + + + + + Header Files\Lib + + + Header Files\Lib + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + ThirdParty\sqlite + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + Header Files\Common + + + + + Resource Files + + + \ No newline at end of file diff --git a/Project/MSVC2022/DLL/MediaConch_DLL.rc b/Project/MSVC2022/DLL/MediaConch_DLL.rc new file mode 100644 index 00000000..c3083aad --- /dev/null +++ b/Project/MSVC2022/DLL/MediaConch_DLL.rc @@ -0,0 +1,32 @@ +#include + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 25,04,0,0 + PRODUCTVERSION 25,04,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" // U.S. English (0x0409, 1033), Unicode (0x04B0, 1200) + BEGIN + VALUE "CompanyName", "MediaArea.net" + VALUE "FileDescription", "Implementation checker, policy checker, reporter, and fixer" + VALUE "FileVersion", "25.04.0.0" + VALUE "LegalCopyright", "Copyright (C) 2002-2015 MediaArea.net SARL" + VALUE "ProductName", "MediaConch" + VALUE "ProductVersion", "25.04.0.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END diff --git a/Project/MSVC2022/GUI/MediaConch_GUI.vcxproj b/Project/MSVC2022/GUI/MediaConch_GUI.vcxproj index e5e49f52..7e48dfb7 100644 --- a/Project/MSVC2022/GUI/MediaConch_GUI.vcxproj +++ b/Project/MSVC2022/GUI/MediaConch_GUI.vcxproj @@ -225,7 +225,7 @@ - + diff --git a/Project/MSVC2022/MediaConch.sln b/Project/MSVC2022/MediaConch.sln index 829f6b05..59f1666e 100644 --- a/Project/MSVC2022/MediaConch.sln +++ b/Project/MSVC2022/MediaConch.sln @@ -30,6 +30,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Jansson", "..\..\..\jansson EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MediaConch-Server", "Server\MediaConch-Server.vcxproj", "{66830D9C-0A1E-4664-B846-F5DAEDB574E6}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MediaConch-DLL", "DLL\MediaConch-DLL.vcxproj", "{574149DF-5BE6-47FD-9289-332AF77151FB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -134,6 +136,14 @@ Global {66830D9C-0A1E-4664-B846-F5DAEDB574E6}.Release|Win32.Build.0 = Release|Win32 {66830D9C-0A1E-4664-B846-F5DAEDB574E6}.Release|x64.ActiveCfg = Release|x64 {66830D9C-0A1E-4664-B846-F5DAEDB574E6}.Release|x64.Build.0 = Release|x64 + {574149DF-5BE6-47FD-9289-332AF77151FB}.Debug|Win32.ActiveCfg = Debug|Win32 + {574149DF-5BE6-47FD-9289-332AF77151FB}.Debug|Win32.Build.0 = Debug|Win32 + {574149DF-5BE6-47FD-9289-332AF77151FB}.Debug|x64.ActiveCfg = Debug|x64 + {574149DF-5BE6-47FD-9289-332AF77151FB}.Debug|x64.Build.0 = Debug|x64 + {574149DF-5BE6-47FD-9289-332AF77151FB}.Release|Win32.ActiveCfg = Release|Win32 + {574149DF-5BE6-47FD-9289-332AF77151FB}.Release|Win32.Build.0 = Release|Win32 + {574149DF-5BE6-47FD-9289-332AF77151FB}.Release|x64.ActiveCfg = Release|x64 + {574149DF-5BE6-47FD-9289-332AF77151FB}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Project/MSVC2022/Server/MediaConch-Server.vcxproj b/Project/MSVC2022/Server/MediaConch-Server.vcxproj index 8ff18274..8184f033 100644 --- a/Project/MSVC2022/Server/MediaConch-Server.vcxproj +++ b/Project/MSVC2022/Server/MediaConch-Server.vcxproj @@ -180,7 +180,7 @@ - + diff --git a/Project/Qt/MediaConch.pro b/Project/Qt/MediaConch.pro index 6fec4ff2..ced2bd6d 100644 --- a/Project/Qt/MediaConch.pro +++ b/Project/Qt/MediaConch.pro @@ -4,20 +4,9 @@ # #------------------------------------------------- -contains(QT_CONFIG, no-gui) { - error("qt module gui not found") -} - -QT += core gui - -greaterThan(QT_MAJOR_VERSION, 4) { - !qtHaveModule(widgets) { - error("qt module widgets not found") - } - QT += widgets -} +QT += core gui widgets -WEB_MACHINE= +WEB_MACHINE=webengine contains(USE_WEBKIT, yes|1) { WEB_MACHINE = webkit @@ -26,18 +15,6 @@ contains(USE_WEBENGINE, yes|1) { WEB_MACHINE = webengine } -isEmpty(WEB_MACHINE) { - WEB_MACHINE = webengine - lessThan(QT_MAJOR_VERSION, 5) { - WEB_MACHINE = webkit - } - equals(QT_MAJOR_VERSION, 5) { - lessThan(QT_MINOR_VERSION, 6) { - WEB_MACHINE = webkit - } - } -} - !defined(packagesExist, test) { defineTest(packagesExist) { system(pkg-config $$ARGS): return(true) @@ -45,8 +22,8 @@ isEmpty(WEB_MACHINE) { } } -!macx:TARGET = mediaconch-gui -macx:TARGET = MediaConch +unix:!macx:TARGET = mediaconch-gui +else:TARGET = MediaConch TEMPLATE = app CONFIG += qt release c++11 @@ -94,7 +71,7 @@ SOURCES += ../../Source/Common/MediaConchLib.cpp \ ../../Source/Checker/Checker.cpp \ ../../Source/Checker/Path.cpp \ ../../Source/IMSC1/IMSC1Plugin.cpp \ - ../../Source/ThirdParty/tfsxml/tfsxml.cpp \ + ../../Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp \ ../../Source/GUI/Qt/main.cpp \ ../../Source/GUI/Qt/commonwebwindow.cpp \ ../../Source/GUI/Qt/helpwindow.cpp \ @@ -226,18 +203,6 @@ equals(WEB_MACHINE, webengine) { ../../Source/GUI/Qt/WebEngineView.h DEFINES += WEB_MACHINE_ENGINE } else { - greaterThan(QT_MAJOR_VERSION, 4) { - !qtHaveModule(webkit) { - error("qt module webkit not found") - } - } else { - # Ubuntu build QtWebKit from separate sources therefore QT_CONFIG contains - # neither webkit nor no-webkit, so we also check for pkg-config module - !contains(QT_CONFIG, webkit):!packagesExist(QtWebKit) { - error("qt module webkit not found") - } - } - QT += webkit webkitwidgets SOURCES += ../../Source/GUI/Qt/WebKitPage.cpp \ ../../Source/GUI/Qt/WebKitView.cpp @@ -248,6 +213,13 @@ equals(WEB_MACHINE, webengine) { INCLUDEPATH += ../../Source +win32 { + INCLUDEPATH += ../../../zlib + contains(QT_ARCH, i386): LIBS += $${_PRO_FILE_PWD_}/../../../zlib/contrib/vstudio/vc17/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib + contains(QT_ARCH, x86_64): LIBS += $${_PRO_FILE_PWD_}/../../../zlib/contrib/vstudio/vc17/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib +} + + unix:exists(../../../MediaInfoLib/Project/GNU/Library/libmediainfo-config) { INCLUDEPATH += ../../../MediaInfoLib/Source contains(STATIC_LIBS, yes|1) { @@ -262,10 +234,14 @@ unix:exists(../../../MediaInfoLib/Project/GNU/Library/libmediainfo-config) { error("libmediainfo not found on system") } LIBS += $$system(pkg-config --libs libmediainfo) +}else:win32 { + INCLUDEPATH += ../../../MediaInfoLib/Source + contains(QT_ARCH, i386): LIBS += $${_PRO_FILE_PWD_}/../../../MediaInfoLib/Project/MSVC2022/Win32/Release/MediaInfo-Static.lib + contains(QT_ARCH, x86_64): LIBS += $${_PRO_FILE_PWD_}/../../../MediaInfoLib/Project/MSVC2022/x64/Release/MediaInfo-Static.lib } unix:exists(../../../ZenLib/Project/GNU/Library/libzen-config) { - INCLUDEPATH += ../../../ZenLib/Source + INCLUDEPATH += ../../../ZenLib/Source contains(STATIC_LIBS, yes|1) { LIBS += $$system(../../../ZenLib/Project/GNU/Library/libzen-config LIBS_Static) message("custom libzen : yes (static)") @@ -276,6 +252,10 @@ unix:exists(../../../ZenLib/Project/GNU/Library/libzen-config) { } else:unix { PKGCONFIG += libzen message("libzen : system") +} else:win32 { + INCLUDEPATH += ../../../ZenLib/Source + contains(QT_ARCH, i386): LIBS += $${_PRO_FILE_PWD_}/../../../MediaInfoLib/Project/MSVC2022/Win32/Release/ZenLib.lib + contains(QT_ARCH, x86_64): LIBS += $${_PRO_FILE_PWD_}/../../../MediaInfoLib/Project/MSVC2022/x64/Release/ZenLib.lib } unix:exists(../../../libxml2/.libs/libxml2.a) { @@ -289,6 +269,11 @@ unix:exists(../../../libxml2/.libs/libxml2.a) { PKGCONFIG += libxml-2.0 } message("libxml2 : system") +} else:win32 { + DEFINES += LIBXML_STATIC + INCLUDEPATH += ../../../libxml2/include + contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../libxml2/win32/VC17/Win32/Release/libxml2.lib + contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../libxml2/win32/VC17/x64/Release/libxml2.lib } unix:exists(../../../libxslt/libxslt/.libs/libxslt.a) { @@ -299,6 +284,13 @@ unix:exists(../../../libxslt/libxslt/.libs/libxslt.a) { } else:unix { PKGCONFIG += libxslt libexslt message("libxslt : system") +} else:win32 { + DEFINES += LIBXSLT_STATIC LIBEXSLT_STATIC + INCLUDEPATH += ../../../libxslt + contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../libxslt/win32/VC17/libxslt/Win32/Release/libxslt.lib + contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../libxslt/win32/VC17/libxslt/x64/Release/libxslt.lib + contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../libxslt/win32/VC17/libexslt/Win32/Release/libexslt.lib + contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../libxslt/win32/VC17/libexslt/x64/Release/libexslt.lib } @@ -313,6 +305,11 @@ contains(NO_SQLITE, yes|1) { } else:unix { PKGCONFIG += sqlite3 message("libsqlite3 : system") + } else:win32 { + DEFINES += HAVE_SQLITE + INCLUDEPATH += ../../Source/ThirdParty/sqlite + SOURCES += ../../Source/ThirdParty/sqlite/sqlite3.c + HEADERS += ../../Source/ThirdParty/sqlite/sqlite3.h } } @@ -327,6 +324,11 @@ contains(NO_JANSSON, yes|1) { } else:unix { PKGCONFIG += jansson message("libjansson : system") + } else:win32 { + DEFINES += HAVE_JANSSON + INCLUDEPATH += ../../../jansson/Contrib/VC17/Jansson ../../../jansson/src + contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../jansson/Contrib/VC17/Jansson/Win32/Release/Jansson.lib + contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../jansson/Contrib/VC17/Jansson/x64/Release/Jansson.lib } } @@ -341,6 +343,11 @@ contains(NO_LIBEVENT, yes|1) { } else:unix { PKGCONFIG += libevent message("libevent : system") + } else:win32 { + DEFINES += HAVE_LIBEVENT + INCLUDEPATH += ../../../libevent/WIN32-Code/nmake ../../../libevent/include + contains(QT_ARCH, i386):LIBS += $${_PRO_FILE_PWD_}/../../../libevent/Contrib/VC17/event/Win32/Release/event.lib + contains(QT_ARCH, x86_64):LIBS += $${_PRO_FILE_PWD_}/../../../libevent/Contrib/VC17/event/x64/Release/event.lib } } @@ -356,8 +363,15 @@ macx:contains(MACSTORE, yes|1) { QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13 } -LIBS += -lz -!macx:LIBS += -ldl -lrt +win32 { + RC_FILE = MediaConch.rc + LIBS += winmm.lib ws2_32.lib imm32.lib ole32.lib + contains(QT_ARCH, i386): DESTDIR = Win32 + contains(QT_ARCH, x86_64): DESTDIR = x64 +} + +unix:LIBS += -lz +unix:!macx:LIBS += -ldl -lrt RESOURCES += ../../Source/Resource/Resources.qrc diff --git a/Project/Qt/MediaConch.rc b/Project/Qt/MediaConch.rc new file mode 100644 index 00000000..a2ed4bb0 --- /dev/null +++ b/Project/Qt/MediaConch.rc @@ -0,0 +1,35 @@ +#include + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 25,04,20260214,0 + PRODUCTVERSION 25,04,20260214,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" // U.S. English (0x0409, 1033), Unicode (0x04B0, 1200) + BEGIN + VALUE "CompanyName", "MediaArea.net" + VALUE "FileDescription", "Implementation checker, policy checker, reporter, and fixer" + VALUE "FileVersion", "25.04.20260214.0" + VALUE "LegalCopyright", "Copyright (C) 2002-2015 MediaArea.net SARL" + VALUE "ProductName", "MediaConch" + VALUE "ProductVersion", "25.04.20260214.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +//Icons +aaaaaaaa ICON "../../Source/Resource/Image/MediaConch.ico" diff --git a/Release/Build_CLI_Windows.ps1 b/Release/Build_CLI_Windows.ps1 new file mode 100755 index 00000000..5cc0633c --- /dev/null +++ b/Release/Build_CLI_Windows.ps1 @@ -0,0 +1,61 @@ +## Copyright (c) MediaArea.net SARL. All Rights Reserved. +## +## Use of this source code is governed by a BSD-style license that can +## be found in the License.html file in the root of the source tree. +## + +Param([parameter(Mandatory=$true)][String]$arch) + +$ErrorActionPreference = "Stop" + +#----------------------------------------------------------------------- +# Setup +$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path +$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim() + +#----------------------------------------------------------------------- +# Prepare +Push-Location -Path "${release_directory}\..\..\jansson\Contrib\VC17\Jansson" + ((Get-Content -Path Jansson.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Jansson.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libevent\Contrib\VC17\event" + ((Get-Content -Path event.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path event.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libxml2\win32\VC17" + ((Get-Content -Path libxml2.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxml2.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libxslt\win32\VC17" + ((Get-Content -Path libxslt\libxslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxslt\libxslt.vcxproj + ((Get-Content -Path libexslt\libexslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libexslt\libexslt.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\zlib\contrib\vstudio\vc17" + ((Get-Content -Path zlibstat.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path zlibstat.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\ZenLib\Project\MSVC2022\Library" + ((Get-Content -Path ZenLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ZenLib.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\MediaInfoLib\Project\MSVC2022" + ((Get-Content -Path Library\MediaInfoLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Library\MediaInfoLib.vcxproj + ((Get-Content -Path Dll\MediaInfoDll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Dll\MediaInfoDll.vcxproj + ((Get-Content -Path Example\HowToUse_Dll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Example\HowToUse_Dll.vcxproj + ((Get-Content -Path ShellExtension\MediaInfoShellExt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ShellExtension\MediaInfoShellExt.vcxproj + ((Get-Content -Path FieldsDescription\FieldsDescription.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path FieldsDescription\FieldsDescription.vcxproj + ((Get-Content -Path RegressionTest\RegressionTest.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path RegressionTest\RegressionTest.vcxproj + ((Get-Content -Path PreRelease\PreRelease.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path PreRelease\PreRelease.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\Project\MSVC2022" + ((Get-Content -Path CLI\MediaConch.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path CLI\MediaConch.vcxproj +Pop-Location + +#----------------------------------------------------------------------- +# Build +Push-Location -Path "${release_directory}\..\Project\MSVC2022" + MSBuild "/p:Configuration=Release;Platform=${arch}" "/t:MediaConch-CLI" MediaConch.sln +Pop-Location diff --git a/Release/Build_DLL_Windows.ps1 b/Release/Build_DLL_Windows.ps1 new file mode 100755 index 00000000..b313a24b --- /dev/null +++ b/Release/Build_DLL_Windows.ps1 @@ -0,0 +1,61 @@ +## Copyright (c) MediaArea.net SARL. All Rights Reserved. +## +## Use of this source code is governed by a BSD-style license that can +## be found in the License.html file in the root of the source tree. +## + +Param([parameter(Mandatory=$true)][String]$arch) + +$ErrorActionPreference = "Stop" + +#----------------------------------------------------------------------- +# Setup +$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path +$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim() + +#----------------------------------------------------------------------- +# Prepare +Push-Location -Path "${release_directory}\..\..\jansson\Contrib\VC17\Jansson" + ((Get-Content -Path Jansson.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Jansson.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libevent\Contrib\VC17\event" + ((Get-Content -Path event.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path event.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libxml2\win32\VC17" + ((Get-Content -Path libxml2.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxml2.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libxslt\win32\VC17" + ((Get-Content -Path libxslt\libxslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxslt\libxslt.vcxproj + ((Get-Content -Path libexslt\libexslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libexslt\libexslt.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\zlib\contrib\vstudio\vc17" + ((Get-Content -Path zlibstat.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path zlibstat.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\ZenLib\Project\MSVC2022\Library" + ((Get-Content -Path ZenLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ZenLib.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\MediaInfoLib\Project\MSVC2022" + ((Get-Content -Path Library\MediaInfoLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Library\MediaInfoLib.vcxproj + ((Get-Content -Path Dll\MediaInfoDll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Dll\MediaInfoDll.vcxproj + ((Get-Content -Path Example\HowToUse_Dll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Example\HowToUse_Dll.vcxproj + ((Get-Content -Path ShellExtension\MediaInfoShellExt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ShellExtension\MediaInfoShellExt.vcxproj + ((Get-Content -Path FieldsDescription\FieldsDescription.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path FieldsDescription\FieldsDescription.vcxproj + ((Get-Content -Path RegressionTest\RegressionTest.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path RegressionTest\RegressionTest.vcxproj + ((Get-Content -Path PreRelease\PreRelease.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path PreRelease\PreRelease.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\Project\MSVC2022" + ((Get-Content -Path DLL\MediaConch-DLL.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path DLL\MediaConch-DLL.vcxproj +Pop-Location + +#----------------------------------------------------------------------- +# Build +Push-Location -Path "${release_directory}\..\Project\MSVC2022" + MSBuild "/p:Configuration=Release;Platform=${arch}" "/t:MediaConch-DLL" MediaConch.sln +Pop-Location diff --git a/Release/Build_GUI_Windows.ps1 b/Release/Build_GUI_Windows.ps1 new file mode 100755 index 00000000..b70a38dd --- /dev/null +++ b/Release/Build_GUI_Windows.ps1 @@ -0,0 +1,46 @@ +## Copyright (c) MediaArea.net SARL. All Rights Reserved. +## +## Use of this source code is governed by a BSD-style license that can +## be found in the License.html file in the root of the source tree. +## + +Param([parameter(Mandatory=$true)][String]$arch) + +$ErrorActionPreference = "Stop" + +#----------------------------------------------------------------------- +# Setup +$release_directory = $PSScriptRoot +$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim() + +#----------------------------------------------------------------------- +# Build +Push-Location -Path "${release_directory}\..\..\libevent\Contrib\VC17\event" + MSBuild "/p:Configuration=Release;Platform=${arch}" event.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\jansson\Contrib\VC17\Jansson" + MSBuild "/p:Configuration=Release;Platform=${arch}" Jansson.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libxml2\win32\VC17" + MSBuild "/p:Configuration=Release;Platform=${arch}" libxml2.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libxslt\win32\VC17" + MSBuild "/p:Configuration=Release;Platform=${arch}" libxslt/libxslt.vcxproj + MSBuild "/p:Configuration=Release;Platform=${arch}" libexslt/libexslt.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\MediaInfoLib\Project\MSVC2022" + MSBuild "/p:Configuration=Release;Platform=${arch}" MediaInfoLib.sln +Pop-Location + +Push-Location -Path "${release_directory}\..\Project\Qt" + New-Item -Force -ItemType Directory "${arch}" + Push-Location -Path "${arch}" + qmake .. + nmake + windeployqt MediaConch.exe + Pop-Location +Pop-Location diff --git a/Release/Build_Server_Windows.ps1 b/Release/Build_Server_Windows.ps1 new file mode 100755 index 00000000..e96020f5 --- /dev/null +++ b/Release/Build_Server_Windows.ps1 @@ -0,0 +1,61 @@ +## Copyright (c) MediaArea.net SARL. All Rights Reserved. +## +## Use of this source code is governed by a BSD-style license that can +## be found in the License.html file in the root of the source tree. +## + +Param([parameter(Mandatory=$true)][String]$arch) + +$ErrorActionPreference = "Stop" + +#----------------------------------------------------------------------- +# Setup +$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path +$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim() + +#----------------------------------------------------------------------- +# Prepare +Push-Location -Path "${release_directory}\..\..\jansson\Contrib\VC17\Jansson" + ((Get-Content -Path Jansson.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Jansson.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libevent\Contrib\VC17\event" + ((Get-Content -Path event.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path event.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libxml2\win32\VC17" + ((Get-Content -Path libxml2.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxml2.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\libxslt\win32\VC17" + ((Get-Content -Path libxslt\libxslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libxslt\libxslt.vcxproj + ((Get-Content -Path libexslt\libexslt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path libexslt\libexslt.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\zlib\contrib\vstudio\vc17" + ((Get-Content -Path zlibstat.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path zlibstat.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\ZenLib\Project\MSVC2022\Library" + ((Get-Content -Path ZenLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ZenLib.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\..\MediaInfoLib\Project\MSVC2022" + ((Get-Content -Path Library\MediaInfoLib.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Library\MediaInfoLib.vcxproj + ((Get-Content -Path Dll\MediaInfoDll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Dll\MediaInfoDll.vcxproj + ((Get-Content -Path Example\HowToUse_Dll.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Example\HowToUse_Dll.vcxproj + ((Get-Content -Path ShellExtension\MediaInfoShellExt.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path ShellExtension\MediaInfoShellExt.vcxproj + ((Get-Content -Path FieldsDescription\FieldsDescription.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path FieldsDescription\FieldsDescription.vcxproj + ((Get-Content -Path RegressionTest\RegressionTest.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path RegressionTest\RegressionTest.vcxproj + ((Get-Content -Path PreRelease\PreRelease.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path PreRelease\PreRelease.vcxproj +Pop-Location + +Push-Location -Path "${release_directory}\..\Project\MSVC2022" + ((Get-Content -Path Server\MediaConch-Server.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path Server\MediaConch-Server.vcxproj +Pop-Location + +#----------------------------------------------------------------------- +# Build +Push-Location -Path "${release_directory}\..\Project\MSVC2022" + MSBuild "/p:Configuration=Release;Platform=${arch}" "/t:MediaConch-Server" MediaConch.sln +Pop-Location diff --git a/Release/Release_CLI_Windows.ps1 b/Release/Release_CLI_Windows.ps1 new file mode 100755 index 00000000..a5fbcb01 --- /dev/null +++ b/Release/Release_CLI_Windows.ps1 @@ -0,0 +1,48 @@ +## Copyright (c) MediaArea.net SARL. All Rights Reserved. +## +## Use of this source code is governed by a BSD-style license that can +## be found in the License.html file in the root of the source tree. +## + +Param([parameter(Mandatory=$true)][String]$arch) + +$ErrorActionPreference = "Stop" + +#----------------------------------------------------------------------- +# Setup +$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path +$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim() +$arch_alt="${arch}" +if ("${arch}" -eq "Win32" ) { + $arch_alt="i386" +} + +#----------------------------------------------------------------------- +# Cleanup +$artifact = "${release_directory}\MediaConch_CLI_${version}_Windows_${arch_alt}" +if (Test-Path "${artifact}") { + Remove-Item -Force -Recurse "${artifact}" +} + +$artifact = "${release_directory}\MediaConch_CLI_${version}_Windows_${arch_alt}.zip" +if (Test-Path "${artifact}") { + Remove-Item -Force "${artifact}" +} + +#----------------------------------------------------------------------- +# Package CLI +Push-Location "${release_directory}" + New-Item -Force -ItemType Directory -Path "MediaConch_CLI_${version}_Windows_${arch_alt}" + Push-Location "MediaConch_CLI_${version}_Windows_${arch_alt}" + ### Copying: Exe ### + Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Release\MediaConch.exe" . + ### Copying: libCURL ### + Copy-Item -Force "..\..\..\libcurl\${arch}\Release\LIBCURL.DLL" . + ### Copying: Information files ### + Copy-Item -Force "..\..\License.html" . + Copy-Item -Force "..\..\History_CLI.txt" "History.txt" + Copy-Item -Force "..\Readme_CLI_Windows.txt" "ReadMe.txt" + ### Archive + 7za.exe a -r -tzip -mx9 "..\MediaConch_CLI_${version}_Windows_${arch_alt}.zip" * + Pop-Location +Pop-Location diff --git a/Release/Release_CLI_Windows_i386.bat b/Release/Release_CLI_Windows_i386.bat deleted file mode 100644 index 4557dc11..00000000 --- a/Release/Release_CLI_Windows_i386.bat +++ /dev/null @@ -1,41 +0,0 @@ -@rem Copyright (c) MediaArea.net SARL. All Rights Reserved. -@rem -@rem Use of this source code is governed by a BSD-style license that can -@rem be found in the License.html file in the root of the source tree. -@rem - -@rem echo off - -rem --- Search binaries --- -set BPATH= -if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries" -if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries" -if "%BPATH%"=="" ( - echo "ERROR: binaries path not found" - exit /b 1 -) - -@rem --- Clean up --- -del MediaConch_CLI_Windows_i386.zip -rmdir MediaConch_CLI_Windows_i386 /S /Q -mkdir MediaConch_CLI_Windows_i386 - -rem --- Copying : Exe --- -xcopy ..\Project\MSVC2022\Win32\Release\MediaConch.exe MediaConch_CLI_Windows_i386\ /S -xcopy ..\Project\MSVC2022\Win32\Release\LIBCURL.DLL MediaConch_CLI_Windows_i386\ /S - -rem --- Copying : Information files --- -copy ..\License.* MediaConch_CLI_Windows_i386\ -copy ..\History_CLI.txt MediaConch_CLI_Windows_i386\History.txt -copy Readme_CLI_Windows.txt MediaConch_CLI_Windows_i386\ReadMe.txt - -rem --- Compressing Archive --- -cd MediaConch_CLI_Windows_i386\ -%BPATH%\Windows\7-Zip\7z a -r -tzip ..\MediaConch_CLI_Windows_i386.zip * -cd .. - - -rem --- Clean up --- -if "%1"=="SkipCleanUp" goto SkipCleanUp -rmdir MediaConch_CLI_Windows_i386\ /S /Q -:SkipCleanUp diff --git a/Release/Release_CLI_Windows_x64.bat b/Release/Release_CLI_Windows_x64.bat deleted file mode 100644 index fa38d35b..00000000 --- a/Release/Release_CLI_Windows_x64.bat +++ /dev/null @@ -1,41 +0,0 @@ -@rem Copyright (c) MediaArea.net SARL. All Rights Reserved. -@rem -@rem Use of this source code is governed by a BSD-style license that can -@rem be found in the License.html file in the root of the source tree. -@rem - -@rem echo off - -rem --- Search binaries --- -set BPATH= -if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries" -if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries" -if "%BPATH%"=="" ( - echo "ERROR: binaries path not found" - exit /b 1 -) - -@rem --- Clean up --- -del MediaConch_CLI_Windows_x64.zip -rmdir MediaConch_CLI_Windows_x64 /S /Q -mkdir MediaConch_CLI_Windows_x64 - -rem --- Copying : Exe --- -xcopy ..\Project\MSVC2022\x64\Release\MediaConch.exe MediaConch_CLI_Windows_x64\ /S -xcopy ..\Project\MSVC2022\x64\Release\LIBCURL.DLL MediaConch_CLI_Windows_x64\ /S - -rem --- Copying : Information files --- -copy ..\License.* MediaConch_CLI_Windows_x64\ -copy ..\History_CLI.txt MediaConch_CLI_Windows_x64\History.txt -copy Readme_CLI_Windows.txt MediaConch_CLI_Windows_x64\ReadMe.txt - - -rem --- Compressing Archive --- -cd MediaConch_CLI_Windows_x64\ -%BPATH%\Windows\7-Zip\7z a -r -tzip ..\MediaConch_CLI_Windows_x64.zip * -cd .. - -rem --- Clean up --- -if "%1"=="SkipCleanUp" goto SkipCleanUp -rmdir MediaConch_CLI_Windows_x64\ /S /Q -:SkipCleanUp diff --git a/Release/Release_DLL_Windows.ps1 b/Release/Release_DLL_Windows.ps1 new file mode 100755 index 00000000..1b0abc80 --- /dev/null +++ b/Release/Release_DLL_Windows.ps1 @@ -0,0 +1,53 @@ +## Copyright (c) MediaArea.net SARL. All Rights Reserved. +## +## Use of this source code is governed by a BSD-style license that can +## be found in the License.html file in the root of the source tree. +## + +Param([parameter(Mandatory=$true)][String]$arch) + +$ErrorActionPreference = "Stop" + +#----------------------------------------------------------------------- +# Setup +$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path +$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim() +$arch_alt="${arch}" +if ("${arch}" -eq "Win32" ) { + $arch_alt="i386" +} + +#----------------------------------------------------------------------- +# Cleanup +$artifact = "${release_directory}\MediaConch_DLL_${version}_Windows_${arch_alt}" +if (Test-Path "${artifact}") { + Remove-Item -Force -Recurse "${artifact}" +} + +$artifact = "${release_directory}\MediaConch_DLL_${version}_Windows_${arch_alt}.zip" +if (Test-Path "${artifact}") { + Remove-Item -Force "${artifact}" +} + +#----------------------------------------------------------------------- +# Package DLL +Push-Location "${release_directory}" + New-Item -Force -ItemType Directory -Path "MediaConch_DLL_${version}_Windows_${arch_alt}" + Push-Location "MediaConch_DLL_${version}_Windows_${arch_alt}" + ### Copying: Dll ### + Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Release\MediaConch.dll" . + New-Item -ItemType Directory -Path "Developers" + Push-Location -Path "Developers" + ### Copying: Include ### + Copy-Item -Force "..\..\..\Source\Lib\MediaConchDLL.h" . + ### Copying: Python API ### + Copy-Item -Force "..\..\..\Source\Lib\MediaConchLib.py" . + Pop-Location + ### Copying: libCURL ### + Copy-Item -Force "..\..\..\libcurl\${arch}\Release\LIBCURL.DLL" . + ### Copying: Information files ### + Copy-Item -Force "..\..\License.html" . + ### Archive + 7za.exe a -r -tzip -mx9 "..\MediaConch_DLL_${version}_Windows_${arch_alt}.zip" * + Pop-Location +Pop-Location diff --git a/Release/Release_GUI_Windows.bat b/Release/Release_GUI_Windows.bat deleted file mode 100644 index f2b43439..00000000 --- a/Release/Release_GUI_Windows.bat +++ /dev/null @@ -1,29 +0,0 @@ -@rem Copyright (c) MediaArea.net SARL. All Rights Reserved. -@rem -@rem Use of this source code is governed by a BSD-style license that can -@rem be found in the License.html file in the root of the source tree. -@rem - -@rem echo off - -rem --- Search binaries --- -set BPATH= -if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries" -if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries" -if "%BPATH%"=="" ( - echo "ERROR: binaries path not found" - exit /b 1 -) - -@rem --- Clean up --- -del MediaConch_GUI_Windows.exe - -rem --- Installer --- -pushd %BPATH%\Windows\NSIS -makensis.exe "%~dp0\..\Source\Install\MediaConch_GUI_Windows.nsi" -popd - -rem --- Clean up --- -if "%1"=="SkipCleanUp" goto SkipCleanUp -rmdir MediaConch_GUI_Windows\ /S /Q -:SkipCleanUp diff --git a/Release/Release_GUI_Windows.ps1 b/Release/Release_GUI_Windows.ps1 new file mode 100755 index 00000000..e4892d5d --- /dev/null +++ b/Release/Release_GUI_Windows.ps1 @@ -0,0 +1,112 @@ +## Copyright (c) MediaArea.net SARL. All Rights Reserved. +## +## Use of this source code is governed by a BSD-style license that can +## be found in the License.html file in the root of the source tree. +## + +Param([parameter(Mandatory=$true)][String]$arch) + +$ErrorActionPreference = "Stop" + +#----------------------------------------------------------------------- +# Setup +$release_directory = $PSScriptRoot +$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim() +$arch_alt="${arch}" +if ("${arch}" -eq "Win32" ) { + $arch_alt="i386" +} +$arch_vs="${arch}" +if ("${arch}" -eq "Win32" ) { + $arch_vs="x86" +} + +#----------------------------------------------------------------------- +# Cleanup +$artifact = "${release_directory}\MediaConch_GUI_${version}_Windows_${arch_alt}" +if (Test-Path "${artifact}") { + Remove-Item -Force -Recurse "${artifact}" +} + +$artifact = "${release_directory}\MediaConch_GUI_${version}_Windows_${arch_alt}_WithoutInstaller.7z" +if (Test-Path "${artifact}") { + Remove-Item -Force "${artifact}" +} + +$artifact = "${release_directory}\MediaConch_GUI_${version}_Windows_${arch_alt}.exe" +if (Test-Path "${artifact}") { + Remove-Item -Force "${artifact}" +} + +#----------------------------------------------------------------------- +# Package GUI +Push-Location "${release_directory}" + New-Item -Force -ItemType Directory -Path "MediaConch_GUI_${version}_Windows_${arch_alt}" + Push-Location "MediaConch_GUI_${version}_Windows_${arch_alt}" + ### Copying: Exe ### + Copy-Item -Force "..\..\Project\Qt\${arch}\MediaConch.exe" MediaConch.exe + ### Copying: libCURL ### + Copy-Item -Force "..\..\..\libcurl\${arch}\Release\LIBCURL.DLL" . + ### Copying: Qt ### + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Core.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Gui.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Network.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\libEGL.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\libGLESV2.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\d3dcompiler_47.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Qml.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Quick.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5WebChannel.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5WebEngineCore.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5WebEngineWidgets.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5PrintSupport.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5QuickWidgets.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Positioning.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\Qt5Widgets.dll" . + Copy-Item -Force "..\..\Project\Qt\${arch}\QtWebEngineProcess.exe" . + New-Item -ItemType directory -Path "resources" + Push-Location -Path "resources" + Copy-Item -Path "..\..\..\Project\Qt\${arch}\resources\icudtl.dat" . + Copy-Item -Path "..\..\..\Project\Qt\${arch}\resources\qtwebengine_resources.pak" . + Copy-Item -Path "..\..\..\Project\Qt\${arch}\resources\qtwebengine_resources_100p.pak" . + Copy-Item -Path "..\..\..\Project\Qt\${arch}\resources\qtwebengine_resources_200p.pak" . + Pop-Location + New-Item -ItemType directory -Path "platforms" + Push-Location -Path "platforms" + Copy-Item -Path "..\..\..\Project\Qt\${arch}\platforms\qwindows.dll" . + Pop-Location + New-Item -ItemType directory -Path "translations" + Push-Location -Path "translations" + Copy-Item -Path "..\..\..\Project\Qt\${arch}\translations\qt_en.qm" . + New-Item -ItemType directory -Path "qtwebengine_locales" + Push-Location -Path "qtwebengine_locales" + Copy-Item -Path "..\..\..\..\Project\Qt\${arch}\translations\qtwebengine_locales\en-US.pak" . + Pop-Location + Pop-Location + ### Copying: VC runtimes ### + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\concrt140.dll" . + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140.dll" . + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140_1.dll" . + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140_2.dll" . + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140_atomic_wait.dll" . + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\msvcp140_codecvt_ids.dll" . + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\vccorlib140.dll" . + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\vcruntime140.dll" . + if ("${arch}" -ne "Win32" ) { + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\vcruntime140_1.dll" . + } + Copy-Item -Path "${Env:VCToolsRedistDir}\${arch_vs}\Microsoft.VC143.CRT\vcruntime140_threads.dll" . + ### Copying: Information files ### + Copy-Item -Force "..\..\License.html" . + Copy-Item -Force "..\..\History_GUI.txt" "History.txt" + Copy-Item -Force "..\Readme_GUI_Windows.txt" "ReadMe.txt" + ### Archive + 7za.exe a -r -t7z -mx9 "..\MediaConch_GUI_${version}_Windows_${arch_alt}_WithoutInstaller.7z" * + Pop-Location +Pop-Location + +#----------------------------------------------------------------------- +# Package installer +Push-Location "${release_directory}" + makensis.exe "..\Source\Install\MediaConch_GUI_Windows.nsi" +Pop-Location diff --git a/Release/Release_GUI_Windows_i386.bat b/Release/Release_GUI_Windows_i386.bat deleted file mode 100644 index 03b5501f..00000000 --- a/Release/Release_GUI_Windows_i386.bat +++ /dev/null @@ -1,77 +0,0 @@ -@rem Copyright (c) MediaArea.net SARL. All Rights Reserved. -@rem -@rem Use of this source code is governed by a BSD-style license that can -@rem be found in the License.html file in the root of the source tree. -@rem - -@rem echo off - -rem --- Search binaries --- -set BPATH= -if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries" -if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries" -if "%BPATH%"=="" ( - echo "ERROR: binaries path not found" - exit /b 1 -) - -@rem --- Clean up --- -del MediaConch_GUI_Windows_i386.exe -del MediaConch_GUI_Windows_i386_WithoutInstaller.7z -rmdir MediaConch_GUI_Windows_i386 /S /Q -mkdir MediaConch_GUI_Windows_i386 - - -@rem --- Copying : Exe --- -copy ..\Project\MSVC2022\Win32\Release\MediaConch-GUI.exe MediaConch_GUI_Windows_i386\MediaConch.exe -copy ..\Project\MSVC2022\Win32\Release\LIBCURL.DLL MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5Core.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5Gui.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5Network.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\libEGL.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\libGLESV2.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\d3dcompiler_47.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5Qml.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5Quick.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5WebChannel.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5WebEngineCore.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5WebEngineWidgets.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5WebKit.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5WebKitWidgets.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5WebSockets.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5PrintSupport.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5QuickWidgets.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5Positioning.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\Qt5Widgets.dll MediaConch_GUI_Windows_i386\ -copy ..\Project\MSVC2022\Win32\Release\QtWebEngineProcess.exe MediaConch_GUI_Windows_i386\ -copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\concrt140.dll" MediaConch_GUI_Windows_i386\ -copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\msvcp140.dll" MediaConch_GUI_Windows_i386\ -copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\vccorlib140.dll" MediaConch_GUI_Windows_i386\ -copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\vcruntime140.dll" MediaConch_GUI_Windows_i386\ -mkdir MediaConch_GUI_Windows_i386\resources -copy ..\Project\MSVC2022\Win32\Release\resources\icudtl.dat MediaConch_GUI_Windows_i386\resources\icudtl.dat -copy ..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources.pak MediaConch_GUI_Windows_i386\resources\qtwebengine_resources.pak -copy ..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources_100p.pak MediaConch_GUI_Windows_i386\resources\qtwebengine_resources_100p.pak -copy ..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources_200p.pak MediaConch_GUI_Windows_i386\resources\qtwebengine_resources_200p.pak -mkdir MediaConch_GUI_Windows_i386\platforms -copy ..\Project\MSVC2022\Win32\Release\platforms\qwindows.dll MediaConch_GUI_Windows_i386\platforms\ -mkdir MediaConch_GUI_Windows_i386\translations\ -copy ..\Project\MSVC2022\Win32\Release\translations\qt_en.qm MediaConch_GUI_Windows_i386\translations\qt_en.qm -mkdir MediaConch_GUI_Windows_i386\translations\qtwebengine_locales -copy ..\Project\MSVC2022\Win32\Release\translations\qtwebengine_locales\en-US.pak MediaConch_GUI_Windows_i386\translations\qtwebengine_locales\en-US.pak - -@rem --- Copying : Information files --- -copy ..\License.html MediaConch_GUI_Windows_i386\ -copy ..\History_GUI.txt MediaConch_GUI_Windows_i386\History.txt -copy ReadMe_GUI_Windows.txt MediaConch_GUI_Windows_i386\ReadMe.txt - - -rem --- Compressing Archive --- -cd MediaConch_GUI_Windows_i386\ -%BPATH%\Windows\7-Zip\7z a -r -t7z -mx9 ..\MediaConch_GUI_Windows_i386_WithoutInstaller.7z * -cd .. - -rem --- Clean up --- -if "%1"=="SkipCleanUp" goto SkipCleanUp -rmdir MediaConch_GUI_Windows_i386\ /S /Q -:SkipCleanUp diff --git a/Release/Release_GUI_Windows_x64.bat b/Release/Release_GUI_Windows_x64.bat deleted file mode 100644 index 4bf345ca..00000000 --- a/Release/Release_GUI_Windows_x64.bat +++ /dev/null @@ -1,77 +0,0 @@ -@rem Copyright (c) MediaArea.net SARL. All Rights Reserved. -@rem -@rem Use of this source code is governed by a BSD-style license that can -@rem be found in the License.html file in the root of the source tree. -@rem - -@rem echo off - -rem --- Search binaries --- -set BPATH= -if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries" -if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries" -if "%BPATH%"=="" ( - echo "ERROR: binaries path not found" - exit /b 1 -) - -@rem --- Clean up --- -del MediaConch_GUI_Windows_x64.exe -del MediaConch_GUI_Windows_x64_WithoutInstaller.7z -rmdir MediaConch_GUI_Windows_x64 /S /Q -mkdir MediaConch_GUI_Windows_x64 - - -@rem --- Copying : Exe --- -copy ..\Project\MSVC2022\x64\Release\MediaConch-GUI.exe MediaConch_GUI_Windows_x64\MediaConch.exe -copy ..\Project\MSVC2022\x64\Release\LIBCURL.DLL MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5Core.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5Gui.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5Network.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\libEGL.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\libGLESV2.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\d3dcompiler_47.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5Qml.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5Quick.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5WebChannel.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5WebEngineCore.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5WebEngineWidgets.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5WebKit.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5WebKitWidgets.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5WebSockets.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5PrintSupport.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5QuickWidgets.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5Positioning.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\Qt5Widgets.dll MediaConch_GUI_Windows_x64\ -copy ..\Project\MSVC2022\x64\Release\QtWebEngineProcess.exe MediaConch_GUI_Windows_x64\ -copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\concrt140.dll" MediaConch_GUI_Windows_x64\ -copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\msvcp140.dll" MediaConch_GUI_Windows_x64\ -copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\vccorlib140.dll" MediaConch_GUI_Windows_x64\ -copy "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\vcruntime140.dll" MediaConch_GUI_Windows_x64\ -mkdir MediaConch_GUI_Windows_x64\resources -copy ..\Project\MSVC2022\x64\Release\resources\icudtl.dat MediaConch_GUI_Windows_x64\resources\icudtl.dat -copy ..\Project\MSVC2022\x64\Release\resources\qtwebengine_resources.pak MediaConch_GUI_Windows_x64\resources\qtwebengine_resources.pak -copy ..\Project\MSVC2022\x64\Release\resources\qtwebengine_resources_100p.pak MediaConch_GUI_Windows_x64\resources\qtwebengine_resources_100p.pak -copy ..\Project\MSVC2022\x64\Release\resources\qtwebengine_resources_200p.pak MediaConch_GUI_Windows_x64\resources\qtwebengine_resources_200p.pak -mkdir MediaConch_GUI_Windows_x64\platforms -copy ..\Project\MSVC2022\x64\Release\platforms\qwindows.dll MediaConch_GUI_Windows_x64\platforms\ -mkdir MediaConch_GUI_Windows_x64\translations\ -copy ..\Project\MSVC2022\x64\Release\translations\qt_en.qm MediaConch_GUI_Windows_x64\translations\qt_en.qm -mkdir MediaConch_GUI_Windows_x64\translations\qtwebengine_locales -copy ..\Project\MSVC2022\x64\Release\translations\qtwebengine_locales\en-US.pak MediaConch_GUI_Windows_x64\translations\qtwebengine_locales\en-US.pak - -@rem --- Copying : Information files --- -copy ..\License.html MediaConch_GUI_Windows_x64\ -copy ..\History_GUI.txt MediaConch_GUI_Windows_x64\History.txt -copy ReadMe_GUI_Windows.txt MediaConch_GUI_Windows_x64\ReadMe.txt - - -rem --- Compressing Archive --- -cd MediaConch_GUI_Windows_x64\ -%BPATH%\Windows\7-Zip\7z a -r -t7z -mx9 ..\MediaConch_GUI_Windows_x64_WithoutInstaller.7z * -cd .. - -rem --- Clean up --- -if "%1"=="SkipCleanUp" goto SkipCleanUp -rmdir MediaConch_GUI_Windows_x64\ /S /Q -:SkipCleanUp diff --git a/Release/Release_Server_Windows.ps1 b/Release/Release_Server_Windows.ps1 new file mode 100755 index 00000000..e4ff2c12 --- /dev/null +++ b/Release/Release_Server_Windows.ps1 @@ -0,0 +1,46 @@ +## Copyright (c) MediaArea.net SARL. All Rights Reserved. +## +## Use of this source code is governed by a BSD-style license that can +## be found in the License.html file in the root of the source tree. +## + +Param([parameter(Mandatory=$true)][String]$arch) + +$ErrorActionPreference = "Stop" + +#----------------------------------------------------------------------- +# Setup +$release_directory = Split-Path -Parent $MyInvocation.MyCommand.Path +$version = (Get-Content "${release_directory}\..\Project\version.txt" -Raw).Trim() +$arch_alt="${arch}" +if ("${arch}" -eq "Win32" ) { + $arch_alt="i386" +} + +#----------------------------------------------------------------------- +# Cleanup +$artifact = "${release_directory}\MediaConch_Server_${version}_Windows_${arch_alt}" +if (Test-Path "${artifact}") { + Remove-Item -Force -Recurse "${artifact}" +} + +$artifact = "${release_directory}\MediaConch_Server_${version}_Windows_${arch_alt}.zip" +if (Test-Path "${artifact}") { + Remove-Item -Force "${artifact}" +} + +#----------------------------------------------------------------------- +# Package Server +Push-Location "${release_directory}" + New-Item -Force -ItemType Directory -Path "MediaConch_Server_${version}_Windows_${arch_alt}" + Push-Location "MediaConch_Server_${version}_Windows_${arch_alt}" + ### Copying: Exe ### + Copy-Item -Force "..\..\Project\MSVC2022\${arch}\Release\MediaConch-Server.exe" . + ### Copying: libCURL ### + Copy-Item -Force "..\..\..\libcurl\${arch}\Release\LIBCURL.DLL" . + ### Copying: Information files ### + Copy-Item -Force "..\..\License.html" . + ### Archive + 7za.exe a -r -tzip -mx9 "..\MediaConch_Server_${version}_Windows_${arch_alt}.zip" * + Pop-Location +Pop-Location diff --git a/Release/Release_Server_Windows_i386.bat b/Release/Release_Server_Windows_i386.bat deleted file mode 100644 index 78978dfa..00000000 --- a/Release/Release_Server_Windows_i386.bat +++ /dev/null @@ -1,41 +0,0 @@ -@rem Copyright (c) MediaArea.net SARL. All Rights Reserved. -@rem -@rem Use of this source code is governed by a BSD-style license that can -@rem be found in the License.html file in the root of the source tree. -@rem - -@rem echo off - -rem --- Search binaries --- -set BPATH= -if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries" -if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries" -if "%BPATH%"=="" ( - echo "ERROR: binaries path not found" - exit /b 1 -) - -@rem --- Clean up --- -del MediaConch_Server_Windows_i386.zip -rmdir MediaConch_Server_Windows_i386 /S /Q -mkdir MediaConch_Server_Windows_i386 - -rem --- Copying : Exe --- -xcopy ..\Project\MSVC2022\Win32\Release\MediaConch.exe MediaConch_Server_Windows_i386\ /S -xcopy ..\Project\MSVC2022\Win32\Release\LIBCURL.DLL MediaConch_Server_Windows_i386\ /S - -rem --- Copying : Information files --- -copy ..\License.* MediaConch_Server_Windows_i386\ -copy ..\History_Server.txt MediaConch_Server_Windows_i386\History.txt -copy Readme_Server_Windows.txt MediaConch_Server_Windows_i386\ReadMe.txt - -rem --- Compressing Archive --- -cd MediaConch_Server_Windows_i386\ -%BPATH%\Windows\7-Zip\7z a -r -tzip ..\MediaConch_Server_Windows_i386.zip * -cd .. - - -rem --- Clean up --- -if "%1"=="SkipCleanUp" goto SkipCleanUp -rmdir MediaConch_Server_Windows_i386\ /S /Q -:SkipCleanUp diff --git a/Release/Release_Server_Windows_x64.bat b/Release/Release_Server_Windows_x64.bat deleted file mode 100644 index 2bff9c52..00000000 --- a/Release/Release_Server_Windows_x64.bat +++ /dev/null @@ -1,41 +0,0 @@ -@rem Copyright (c) MediaArea.net SARL. All Rights Reserved. -@rem -@rem Use of this source code is governed by a BSD-style license that can -@rem be found in the License.html file in the root of the source tree. -@rem - -@rem echo off - -rem --- Search binaries --- -set BPATH= -if exist "%~dp0\..\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\..\MediaArea-Utils-Binaries" -if exist "%~dp0\..\..\MediaArea-Utils-Binaries" set BPATH="%~dp0\..\..\MediaArea-Utils-Binaries" -if "%BPATH%"=="" ( - echo "ERROR: binaries path not found" - exit /b 1 -) - -@rem --- Clean up --- -del MediaConch_Server_Windows_x64.zip -rmdir MediaConch_Server_Windows_x64 /S /Q -mkdir MediaConch_Server_Windows_x64 - -rem --- Copying : Exe --- -xcopy ..\Project\MSVC2022\x64\Release\MediaConch.exe MediaConch_Server_Windows_x64\ /S -xcopy ..\Project\MSVC2022\x64\Release\LIBCURL.DLL MediaConch_Server_Windows_x64\ /S - -rem --- Copying : Information files --- -copy ..\License.* MediaConch_Server_Windows_x64\ -copy ..\History_Server.txt MediaConch_Server_Windows_x64\History.txt -copy Readme_Server_Windows.txt MediaConch_Server_Windows_x64\ReadMe.txt - - -rem --- Compressing Archive --- -cd MediaConch_Server_Windows_x64\ -%BPATH%\Windows\7-Zip\7z a -r -tzip ..\MediaConch_Server_Windows_x64.zip * -cd .. - -rem --- Clean up --- -if "%1"=="SkipCleanUp" goto SkipCleanUp -rmdir MediaConch_Server_Windows_x64\ /S /Q -:SkipCleanUp diff --git a/Source/Checker/Makefile.emscripten b/Source/Checker/Makefile.emscripten index d6cc45d5..42edf47e 100644 --- a/Source/Checker/Makefile.emscripten +++ b/Source/Checker/Makefile.emscripten @@ -3,10 +3,10 @@ all: PolicyCheckerWasm.js PolicyChecker.js clean: rm *.o ../ThirdParty/tfsxml/*.o -PolicyChecker.js: ../ThirdParty/tfsxml/tfsxml.o Path.o Checker.o +PolicyChecker.js: ../ThirdParty/tfsxml/tfsxml_wrapper.o Path.o Checker.o em++ -std=c++11 -s WASM=0 -s TOTAL_MEMORY=67108864 -s NO_FILESYSTEM=1 -s MODULARIZE=1 -s EXPORT_NAME="'PolicyChecker'" --closure 0 -o $@ $(CXXFLAGS) --bind $^ -PolicyCheckerWasm.js: ../ThirdParty/tfsxml/tfsxml.o Path.o Checker.o +PolicyCheckerWasm.js: ../ThirdParty/tfsxml/tfsxml_wrapper.o Path.o Checker.o em++ -std=c++11 -s WASM=1 -s TOTAL_MEMORY=33554432 -s ALLOW_MEMORY_GROWTH=1 -s NO_FILESYSTEM=1 -s MODULARIZE=1 -s EXPORT_NAME="'PolicyChecker'" --closure 0 -o $@ $(CXXFLAGS) --bind $^ %.o: %.cpp diff --git a/Source/GUI/Qt/helpwindow.cpp b/Source/GUI/Qt/helpwindow.cpp index cc3a6218..16d9b65b 100644 --- a/Source/GUI/Qt/helpwindow.cpp +++ b/Source/GUI/Qt/helpwindow.cpp @@ -26,7 +26,7 @@ Help::Help(QWidget *parent) : QDialog(parent) QRect ScreenGeometry = QGuiApplication::primaryScreen()->geometry(); move(ScreenGeometry.width()/5, y()); resize(ScreenGeometry.width()-ScreenGeometry.width()/5*2, ScreenGeometry.height()*3/4); - setWindowFlags(windowFlags()&(0xFFFFFFFF-Qt::WindowContextHelpButtonHint)); + setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint); setWindowTitle("MediaConch help"); Close=new QPushButton("&Close"); diff --git a/Source/Install/MediaConch_GUI_Windows.nsi b/Source/Install/MediaConch_GUI_Windows.nsi index d6ca5a10..6fa0905f 100644 --- a/Source/Install/MediaConch_GUI_Windows.nsi +++ b/Source/Install/MediaConch_GUI_Windows.nsi @@ -32,6 +32,11 @@ SetCompressor /FINAL /SOLID lzma !define MUI_ABORTWARNING !define MUI_ICON "..\..\Source\Resource\Image\MediaConch.ico" +; Uninstaller signing +!ifdef EXPORT_UNINST + !uninstfinalize 'copy /Y "%1" "..\..\Release\${PRODUCT_NAME}_GUI_${PRODUCT_VERSION}_Windows-uninst.exe"' +!endif + ; Language Selection Dialog Settings !define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" @@ -115,42 +120,42 @@ Section "SectionPrincipale" SEC01 SetOutPath "$SMPROGRAMS" CreateShortCut "$SMPROGRAMS\MediaConch.lnk" "$INSTDIR\MediaConch.exe" "" "" "" "" "" "Convenient unified display of the most relevant technical and tag data for video and audio files" SetOutPath "$INSTDIR" - File "/oname=MediaConch.exe" "..\..\Project\MSVC2022\Win32\Release\MediaConch-GUI.exe" + File "..\..\Project\Qt\Win32\MediaConch.exe" File "/oname=History.txt" "..\..\History_GUI.txt" File "..\..\License.html" File "/oname=ReadMe.txt" "..\..\Release\ReadMe_GUI_Windows.txt" - File "..\..\Project\MSVC2022\Win32\Release\LIBCURL.DLL" - File "..\..\Project\MSVC2022\Win32\Release\Qt5Core.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5Gui.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5Network.dll" - File "..\..\Project\MSVC2022\Win32\Release\libEGL.dll" - File "..\..\Project\MSVC2022\Win32\Release\libGLESV2.dll" - File "..\..\Project\MSVC2022\Win32\Release\d3dcompiler_47.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5Qml.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5Quick.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5WebChannel.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5WebEngineWidgets.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5WebEngineCore.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5PrintSupport.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5QuickWidgets.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5Positioning.dll" - File "..\..\Project\MSVC2022\Win32\Release\Qt5Widgets.dll" - File "..\..\Project\MSVC2022\Win32\Release\QtWebEngineProcess.exe" + File "..\..\..\libcurl\Win32\Release\LIBCURL.DLL" + File "..\..\Project\Qt\Win32\Qt5Core.dll" + File "..\..\Project\Qt\Win32\Qt5Gui.dll" + File "..\..\Project\Qt\Win32\Qt5Network.dll" + File "..\..\Project\Qt\Win32\libEGL.dll" + File "..\..\Project\Qt\Win32\libGLESV2.dll" + File "..\..\Project\Qt\Win32\d3dcompiler_47.dll" + File "..\..\Project\Qt\Win32\Qt5Qml.dll" + File "..\..\Project\Qt\Win32\Qt5Quick.dll" + File "..\..\Project\Qt\Win32\Qt5WebChannel.dll" + File "..\..\Project\Qt\Win32\Qt5WebEngineWidgets.dll" + File "..\..\Project\Qt\Win32\Qt5WebEngineCore.dll" + File "..\..\Project\Qt\Win32\Qt5PrintSupport.dll" + File "..\..\Project\Qt\Win32\Qt5QuickWidgets.dll" + File "..\..\Project\Qt\Win32\Qt5Positioning.dll" + File "..\..\Project\Qt\Win32\Qt5Widgets.dll" + File "..\..\Project\Qt\Win32\QtWebEngineProcess.exe" File "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\concrt140.dll" File "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\msvcp140.dll" File "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\vccorlib140.dll" File "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.44.35112\x86\Microsoft.VC143.CRT\vcruntime140.dll" SetOutPath "$INSTDIR\resources" - File "..\..\Project\MSVC2022\Win32\Release\resources\icudtl.dat" - File "..\..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources.pak" - File "..\..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources_100p.pak" - File "..\..\Project\MSVC2022\Win32\Release\resources\qtwebengine_resources_200p.pak" + File "..\..\Project\Qt\Win32\resources\icudtl.dat" + File "..\..\Project\Qt\Win32\resources\qtwebengine_resources.pak" + File "..\..\Project\Qt\Win32\resources\qtwebengine_resources_100p.pak" + File "..\..\Project\Qt\Win32\resources\qtwebengine_resources_200p.pak" SetOutPath "$INSTDIR\platforms" - File "..\..\Project\MSVC2022\Win32\Release\platforms\qwindows.dll" + File "..\..\Project\Qt\Win32\platforms\qwindows.dll" SetOutPath "$INSTDIR\translations" - File "..\..\Project\MSVC2022\Win32\Release\translations\qt_en.qm" + File "..\..\Project\Qt\Win32\translations\qt_en.qm" SetOutPath "$INSTDIR\translations\qtwebengine_locales" - File "..\..\Project\MSVC2022\Win32\Release\translations\qtwebengine_locales\en-US.pak" + File "..\..\Project\Qt\Win32\translations\qtwebengine_locales\en-US.pak" # Create files WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" @@ -175,7 +180,11 @@ Section "SectionPrincipale" SEC01 SectionEnd Section -Post - WriteUninstaller "$INSTDIR\uninst.exe" + !if /FileExists "..\..\Release\${PRODUCT_NAME}_GUI_${PRODUCT_VERSION}_Windows-uninst.exe" + File "/oname=$INSTDIR\uninst.exe" "..\..\Release\${PRODUCT_NAME}_GUI_${PRODUCT_VERSION}_Windows-uninst.exe" + !else + WriteUninstaller "$INSTDIR\uninst.exe" + !endif WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\MediaConch.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" diff --git a/Source/Lib/CMakeLists.txt b/Source/Lib/CMakeLists.txt index d0d71e86..d6215716 100644 --- a/Source/Lib/CMakeLists.txt +++ b/Source/Lib/CMakeLists.txt @@ -37,7 +37,7 @@ add_library(MediaConchLib ../IMSC1/IMSC1Plugin.cpp ../Checker/Checker.cpp ../Checker/Path.cpp - ../ThirdParty/tfsxml/tfsxml.cpp + ../ThirdParty/tfsxml/tfsxml_wrapper.cpp MediaConchDLL.cpp Lib.cpp ) diff --git a/Source/Lib/MediaConchLib.py b/Source/Lib/MediaConchLib.py index 1a2a6488..537fcf41 100644 --- a/Source/Lib/MediaConchLib.py +++ b/Source/Lib/MediaConchLib.py @@ -17,8 +17,6 @@ from ctypes import c_long as _c_long from ctypes import c_int as _c_int - - _module = _os.path.abspath(_os.path.dirname(__file__)) _machine = _platform.machine().lower() _system = _platform.system().lower() @@ -30,13 +28,18 @@ if _system == "darwin": _library = "libmediaconch.0.dylib" +elif _system == "windows": + _library = "MediaConch.dll" else: _library = "libmediaconch.so.0" try: _MediaConchLib_Handler = _CDLL("{}/{}/{}/{}".format(_module, _system, _machine, _library)) except: - _MediaConchLib_Handler = _CDLL(_library) + try: + _MediaConchLib_Handler = _CDLL("{}/{}".format(_module, _library)) + except: + _MediaConchLib_Handler = _CDLL(_library) class Format: """Possibles MediaConch output formats. diff --git a/Source/ThirdParty/tfsxml/tfsxml.cpp b/Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp similarity index 100% rename from Source/ThirdParty/tfsxml/tfsxml.cpp rename to Source/ThirdParty/tfsxml/tfsxml_wrapper.cpp