Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/fceux.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormjbudd77 <mjbudd77@gmail.com>2022-10-01 23:29:02 +0300
committermjbudd77 <mjbudd77@gmail.com>2022-10-01 23:29:02 +0300
commit99eb406b1a101864eecd627c0a43943cbb3c417e (patch)
tree94deac34da2133371030a999cd9e489154ec6af3
parent897491b3f52685189a1a8ad4f21596d105538f35 (diff)
Added appveyor github release functionality. Master auto builds are now uploaded to a rolling interim-build pre-release. Release tag builds will upload official release builds from appveyor automatically.
-rw-r--r--appveyor.yml38
-rwxr-xr-xpipelines/build.pl170
-rwxr-xr-xpipelines/debpkg.pl5
-rwxr-xr-xpipelines/linux_build.sh18
-rwxr-xr-xpipelines/macOS_build.sh30
-rw-r--r--pipelines/qwin64_build.bat20
-rw-r--r--pipelines/win32_build.bat17
-rw-r--r--pipelines/win64_build.bat17
-rwxr-xr-xscripts/fceuVersion.pl74
-rw-r--r--src/CMakeLists.txt5
-rw-r--r--src/version.h4
-rw-r--r--vc/vc14_fceux.vcxproj4
12 files changed, 370 insertions, 32 deletions
diff --git a/appveyor.yml b/appveyor.yml
index 918b5583..d9c96f10 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -27,7 +27,7 @@ for:
- job_name: Windows 32
build_script:
- - cmd: pipelines/win32_build.bat
+ - cmd: perl pipelines/build.pl win32
-
matrix:
@@ -35,7 +35,7 @@ for:
- job_name: Windows 64
build_script:
- - cmd: pipelines/win64_build.bat
+ - cmd: perl pipelines/build.pl win64
-
matrix:
@@ -43,7 +43,7 @@ for:
- job_name: Win64 Qt
build_script:
- - cmd: pipelines/qwin64_build.bat
+ - cmd: perl pipelines/build.pl win64-QtSDL
-
matrix:
@@ -51,7 +51,7 @@ for:
- job_name: Ubuntu
build_script:
- - sh: ./pipelines/linux_build.sh
+ - sh: perl pipelines/build.pl linux
-
matrix:
@@ -59,5 +59,31 @@ for:
- job_name: MacOS
build_script:
- - sh: ./pipelines/macOS_build.sh
-
+ - sh: perl pipelines/build.pl macOS
+
+deploy:
+
+ - provider: GitHub
+ tag: interim-build
+ release: interim-build
+ description: 'Interim Builds - Latest auto builds off master branch - commit: $(APPVEYOR_REPO_COMMIT)\nDate: $(APPVEYOR_REPO_COMMIT_TIMESTAMP)'
+ auth_token:
+ secure: 5kNj/zZ1RD5gCBq0Q4my9dBgSTYL7JVvcjv93T9i6FjYA6SAds3/Dmlz8wrRMN8E
+ artifact: $(WIN32_ARTIFACT), $(WIN64_ARTIFACT), $(WIN64_QTSDL_ARTIFACT), $(MACOS_ARTIFACT), $(LINUX_ARTIFACT)
+ draft: false
+ prerelease: true
+ force_update: true
+ on:
+ branch: master # release from master branch only
+ APPVEYOR_REPO_TAG: false # never deploy on tag push
+
+ - provider: GitHub
+ description: 'Release Builds - commit: $(APPVEYOR_REPO_COMMIT)'
+ auth_token:
+ secure: 5kNj/zZ1RD5gCBq0Q4my9dBgSTYL7JVvcjv93T9i6FjYA6SAds3/Dmlz8wrRMN8E
+ artifact: $(WIN32_ARTIFACT), $(WIN64_ARTIFACT), $(WIN64_QTSDL_ARTIFACT), $(MACOS_ARTIFACT)
+ draft: false
+ prerelease: false
+ force_update: false
+ on:
+ APPVEYOR_REPO_TAG: true # deploy on tag push only
diff --git a/pipelines/build.pl b/pipelines/build.pl
new file mode 100755
index 00000000..7c469136
--- /dev/null
+++ b/pipelines/build.pl
@@ -0,0 +1,170 @@
+#!/usr/bin/perl
+
+use strict;
+use File::Basename;
+#use File::Spec;
+
+#
+# Global Variables
+#
+my $platform = "";
+my $fceuVersionMajor = 1;
+my $fceuVersionMinor = 0;
+my $fceuVersionPatch = 0;
+
+foreach my $arg (@ARGV)
+{
+ #print $arg, "\n";
+
+ if ($platform eq "")
+ {
+ $platform = $arg;
+ }
+}
+
+my $dirname = dirname(__FILE__);
+my $projRoot = "$dirname/..";
+my $ReleaseBuild=0;
+my $ReleaseVersion="";
+
+#print "PATH: $ENV{PATH}\n";
+#print "Dir $dirname\n";
+#
+($fceuVersionMajor, $fceuVersionMinor, $fceuVersionPatch) = getVersion();
+
+($ReleaseBuild, $ReleaseVersion) = isReleaseBuild();
+
+if ($ReleaseBuild)
+{
+ $ENV{FCEU_RELEASE_VERSION} = $ReleaseVersion;
+}
+
+if ($platform eq "win32")
+{
+ build_win32();
+}
+elsif ($platform eq "win64")
+{
+ build_win64();
+}
+elsif ($platform eq "win64-QtSDL")
+{
+ build_win64_QtSDL();
+}
+elsif ($platform eq "linux")
+{
+ build_ubuntu_linux();
+}
+elsif ($platform eq "macOS")
+{
+ build_macOS();
+}
+#--------------------------------------------------------------------------------------------
+# Build win32 version
+#--------------------------------------------------------------------------------------------
+sub build_win32
+{
+ chdir("$projRoot");
+
+ my $ret = system("cmd.exe /c pipelines\\\\win32_build.bat");
+
+ if ($ret != 0){ die "Build Errors Detected\n";}
+}
+#--------------------------------------------------------------------------------------------
+# Build win64 version
+#--------------------------------------------------------------------------------------------
+sub build_win64
+{
+ chdir("$projRoot");
+
+ my $ret = system("cmd.exe /c pipelines\\\\win64_build.bat");
+
+ if ($ret != 0){ die "Build Errors Detected\n";}
+}
+#--------------------------------------------------------------------------------------------
+# Build win64-Qt/SDL version
+#--------------------------------------------------------------------------------------------
+sub build_win64_QtSDL
+{
+ chdir("$projRoot");
+
+ my $ret = system("cmd.exe /c pipelines\\\\qwin64_build.bat");
+
+ if ($ret != 0){ die "Build Errors Detected\n";}
+}
+#--------------------------------------------------------------------------------------------
+# Build Ubuntu Linux version
+#--------------------------------------------------------------------------------------------
+sub build_ubuntu_linux
+{
+ chdir("$projRoot");
+
+ my $ret = system("./pipelines/linux_build.sh");
+
+ if ($ret != 0){ die "Build Errors Detected\n";}
+}
+#--------------------------------------------------------------------------------------------
+# Build MacOSX version
+#--------------------------------------------------------------------------------------------
+sub build_macOS
+{
+ chdir("$projRoot");
+
+ my $ret = system("./pipelines/macOS_build.sh");
+
+ if ($ret != 0){ die "Build Errors Detected\n";}
+}
+#--------------------------------------------------------------------------------------------
+# Search src/version.h and retrieve version numbers
+#--------------------------------------------------------------------------------------------
+sub getVersion
+{
+ my $versionHeader = "$projRoot/src/version.h";
+ my $line;
+ my $major = 1;
+ my $minor = 0;
+ my $patch = 0;
+ open INFILE, "$versionHeader" or die "Error: Could not open file: $versionHeader\n";
+ while ($line = <INFILE>)
+ {
+ #print $line;
+ if ($line =~ m/\s*#define\s+FCEU_VERSION_MAJOR\s+(\d+)/)
+ {
+ $major = $1;
+ }
+ elsif ($line =~ m/\s*#define\s+FCEU_VERSION_MINOR\s+(\d+)/)
+ {
+ $minor = $1;
+ }
+ elsif ($line =~ m/\s*#define\s+FCEU_VERSION_PATCH\s+(\d+)/)
+ {
+ $patch = $1;
+ }
+ }
+ close(INFILE);
+
+ return ( $major, $minor, $patch );
+}
+#--------------------------------------------------------------------------------------------
+# Returns whether this is a release build and returns the version if detected
+#--------------------------------------------------------------------------------------------
+sub isReleaseBuild
+{
+ my $isRelease = 0;
+ my $tagVersion = "";
+
+ if (defined($ENV{APPVEYOR_REPO_TAG_NAME}))
+ {
+ if ($ENV{APPVEYOR_REPO_TAG_NAME} =~ m/fceux-(\d+\.\d+\.\d+)/)
+ {
+ $tagVersion = $1;
+ $isRelease = 1;
+ }
+ elsif ($ENV{APPVEYOR_REPO_TAG_NAME} =~ m/(\d+\.\d+\.\d+)/)
+ {
+ $tagVersion = $1;
+ $isRelease = 1;
+ }
+ }
+ return ($isRelease, $tagVersion);
+}
diff --git a/pipelines/debpkg.pl b/pipelines/debpkg.pl
index 758e5d02..0dd554af 100755
--- a/pipelines/debpkg.pl
+++ b/pipelines/debpkg.pl
@@ -1,8 +1,11 @@
#!/usr/bin/perl
use strict;
+use File::Basename;
-my $VERSION="2.6.4";
+my $dirname = dirname(__FILE__);
+
+my $VERSION=`perl $dirname/../scripts/fceuVersion.pl`;
my $INSTALL_PREFIX="/tmp/fceux";
my $CTL_FILENAME="$INSTALL_PREFIX/DEBIAN/control";
my $ARCH="amd64";
diff --git a/pipelines/linux_build.sh b/pipelines/linux_build.sh
index 77922b5e..cc6cf21c 100755
--- a/pipelines/linux_build.sh
+++ b/pipelines/linux_build.sh
@@ -4,6 +4,7 @@ id
pwd
uname -a
cat /etc/os-release
+env
SCRIPT_DIR=$( cd $(dirname $BASH_SOURCE[0]); pwd );
@@ -20,6 +21,10 @@ echo "APPVEYOR_SSH_KEY=$APPVEYOR_SSH_KEY";
echo "APPVEYOR_SSH_BLOCK=$APPVEYOR_SSH_BLOCK";
echo '****************************************'
+if [ ! -z $FCEU_RELEASE_VERSION ]; then
+ APPVEYOR_CMAKE_FLAGS=" -DPUBLIC_RELEASE=1 ";
+fi
+
echo '****************************************'
echo '****************************************'
echo '*** Installing Package Dependencies ***'
@@ -119,6 +124,7 @@ cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
+ $APPVEYOR_CMAKE_FLAGS \
..
make -j `nproc`
make install DESTDIR=$INSTALL_PREFIX
@@ -191,5 +197,13 @@ echo 'Testing Install of Package'
echo '**************************************************************'
sudo dpkg -i /tmp/fceux-*.deb
-echo 'Pushing Debian Package to Build Artifacts'
-appveyor PushArtifact /tmp/fceux-*.deb
+if [ ! -z $APPVEYOR ]; then
+ echo 'Pushing Debian Package to Build Artifacts'
+ if [ -z $FCEU_RELEASE_VERSION ]; then
+ cp /tmp/fceux-*.deb /tmp/fceux-ubuntu-x64.deb
+ appveyor PushArtifact /tmp/fceux-ubuntu-x64.deb
+ appveyor SetVariable -Name LINUX_ARTIFACT -Value fceux-ubuntu-x64.deb
+ else
+ appveyor PushArtifact /tmp/fceux-*.deb
+ fi
+fi
diff --git a/pipelines/macOS_build.sh b/pipelines/macOS_build.sh
index e4ef91fa..7b61754a 100755
--- a/pipelines/macOS_build.sh
+++ b/pipelines/macOS_build.sh
@@ -5,15 +5,19 @@ id
pwd
uname -a
sw_vers
+env
+
+SCRIPT_DIR=$( cd $(dirname $BASH_SOURCE[0]); pwd );
QT_MAJOR=5;
QT_PKGNAME=qt$QT_MAJOR;
-FCEUX_VERSION_MAJOR=2
-FCEUX_VERSION_MINOR=6
-FCEUX_VERSION_PATCH=4
+FCEUX_VERSION_MAJOR=`perl $SCRIPT_DIR/../scripts/fceuVersion.pl -major`;
+FCEUX_VERSION_MINOR=`perl $SCRIPT_DIR/../scripts/fceuVersion.pl -minor`;
+FCEUX_VERSION_PATCH=`perl $SCRIPT_DIR/../scripts/fceuVersion.pl -patch`;
+FCEUX_VERSION="$FCEUX_VERSION_MAJOR.$FCEUX_VERSION_MINOR.$FCEUX_VERSION_PATCH";
SDL2_VERSION=2.0.20
-SCRIPT_DIR=$( cd $(dirname $BASH_SOURCE[0]); pwd );
+echo "Building Version: $FCEUX_VERSION";
NPROC=`getconf _NPROCESSORS_ONLN`;
echo "Number of Processors: $NPROC";
@@ -34,6 +38,10 @@ echo "APPVEYOR_SSH_KEY=$APPVEYOR_SSH_KEY";
echo "APPVEYOR_SSH_BLOCK=$APPVEYOR_SSH_BLOCK";
echo '****************************************'
+if [ ! -z $FCEU_RELEASE_VERSION ]; then
+ APPVEYOR_CMAKE_FLAGS=" -DPUBLIC_RELEASE=1 ";
+fi
+
echo '****************************************'
echo 'Install Dependency sdl2'
echo '****************************************'
@@ -121,13 +129,23 @@ cmake \
-DCPACK_PACKAGE_VERSION_MINOR=$FCEUX_VERSION_MINOR \
-DCPACK_PACKAGE_VERSION_PATCH=$FCEUX_VERSION_PATCH \
-DQT6=$USE_QT6 \
+ $APPVEYOR_CMAKE_FLAGS \
.. || exit 1
make -j $NPROC || exit 1
#sudo make install || exit 1 # make install is already run by cpack
sudo cpack -G DragNDrop || exit 1
-echo 'Pushing DMG Package to Build Artifacts'
-appveyor PushArtifact fceux-*.dmg
+if [ ! -z $APPVEYOR ]; then
+ echo 'Pushing DMG Package to Build Artifacts'
+ if [ -z $FCEU_RELEASE_VERSION ]; then
+ cp fceux-*.dmg fceux-Darwin.dmg
+ appveyor PushArtifact fceux-Darwin.dmg
+ appveyor SetVariable -Name MACOS_ARTIFACT -Value fceux-Darwin.dmg
+ else
+ appveyor PushArtifact fceux-*.dmg
+ appveyor SetVariable -Name MACOS_ARTIFACT -Value `ls fceux-*.dmg`
+ fi
+fi
# Debug via ssh if necessary
if [ ! -z $APPVEYOR_SSH_BLOCK ]; then
diff --git a/pipelines/qwin64_build.bat b/pipelines/qwin64_build.bat
index 165a512c..443a4610 100644
--- a/pipelines/qwin64_build.bat
+++ b/pipelines/qwin64_build.bat
@@ -8,6 +8,7 @@ call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary
cd /d %CWD%
+set
where cmake
where nmake
where msbuild
@@ -36,10 +37,12 @@ del ffmpeg-5.0-full_build-shared.zip
set SDL_INSTALL_PREFIX=%CD%
set FFMPEG_INSTALL_PREFIX=%CD%
+set PUBLIC_RELEASE=0
+IF DEFINED FCEU_RELEASE_VERSION (set PUBLIC_RELEASE=1)
REM cmake -h
REM cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DSDL_INSTALL_PREFIX=%SDL_INSTALL_PREFIX% ..
-cmake -DQT6=0 -DSDL_INSTALL_PREFIX=%SDL_INSTALL_PREFIX% -DUSE_LIBAV=1 -DFFMPEG_INSTALL_PREFIX=%FFMPEG_INSTALL_PREFIX% -G"Visual Studio 16" -T"v142" ..
+cmake -DQT6=0 -DPUBLIC_RELEASE=%PUBLIC_RELEASE% -DSDL_INSTALL_PREFIX=%SDL_INSTALL_PREFIX% -DUSE_LIBAV=1 -DFFMPEG_INSTALL_PREFIX=%FFMPEG_INSTALL_PREFIX% -G"Visual Studio 16" -T"v142" ..
REM nmake
msbuild /m fceux.sln /p:Configuration=Release
@@ -51,23 +54,30 @@ copy %FFMPEG_INSTALL_PREFIX%\ffmpeg\bin\*.dll bin\.
windeployqt --no-compiler-runtime bin\qfceux.exe
+set ZIP_FILENAME=fceux-win64-QtSDL.zip
+IF DEFINED FCEU_RELEASE_VERSION set ZIP_FILENAME=fceux-%FCEU_RELEASE_VERSION%-win64-QtSDL.zip
+
+set DEPLOY_GROUP=master
+IF DEFINED APPVEYOR_REPO_TAG_NAME set DEPLOY_GROUP=%APPVEYOR_REPO_TAG_NAME%
+
dir bin
REM Create Zip Archive
-%PROJECT_ROOT%\vc\zip -X -9 -r %PROJECT_ROOT%\vc\qfceux64.zip bin
+%PROJECT_ROOT%\vc\zip -X -9 -r %PROJECT_ROOT%\vc\%ZIP_FILENAME% bin
@if ERRORLEVEL 1 goto end
cd %PROJECT_ROOT%\output
-%PROJECT_ROOT%\vc\zip -X -9 -u -r %PROJECT_ROOT%\vc\qfceux64.zip palettes luaScripts tools
+%PROJECT_ROOT%\vc\zip -X -9 -u -r %PROJECT_ROOT%\vc\%ZIP_FILENAME% palettes luaScripts tools
@if ERRORLEVEL 1 goto end
mkdir doc
copy *.chm doc\.
-%PROJECT_ROOT%\vc\zip -X -9 -u -r %PROJECT_ROOT%\vc\qfceux64.zip doc
+%PROJECT_ROOT%\vc\zip -X -9 -u -r %PROJECT_ROOT%\vc\%ZIP_FILENAME% doc
@if ERRORLEVEL 1 goto end
cd %PROJECT_ROOT%
-appveyor PushArtifact %PROJECT_ROOT%\vc\qfceux64.zip
+IF DEFINED APPVEYOR appveyor SetVariable -Name WIN64_QTSDL_ARTIFACT -Value %ZIP_FILENAME%
+IF DEFINED APPVEYOR appveyor PushArtifact %PROJECT_ROOT%\vc\%ZIP_FILENAME%
:end
diff --git a/pipelines/win32_build.bat b/pipelines/win32_build.bat
index 61ea22a9..bddae1f0 100644
--- a/pipelines/win32_build.bat
+++ b/pipelines/win32_build.bat
@@ -1,18 +1,27 @@
set PROJECT_ROOT=%~dp0..
+set BUILD_CONFIG=Release
-msbuild %PROJECT_ROOT%\vc\vc14_fceux.vcxproj /p:Configuration=Release /p:Platform="Win32"
+set ZIP_FILENAME=fceux-win32.zip
+if defined FCEU_RELEASE_VERSION set ZIP_FILENAME=fceux-%FCEU_RELEASE_VERSION%-win32.zip
+if defined FCEU_RELEASE_VERSION set BUILD_CONFIG=PublicRelease
+
+set DEPLOY_GROUP=master
+IF DEFINED APPVEYOR_REPO_TAG_NAME set DEPLOY_GROUP=%APPVEYOR_REPO_TAG_NAME%
+
+msbuild %PROJECT_ROOT%\vc\vc14_fceux.vcxproj /p:Configuration=%BUILD_CONFIG% /p:Platform="Win32"
@if ERRORLEVEL 1 goto end
cd %PROJECT_ROOT%\vc
REM Create Zip Archive
cd %PROJECT_ROOT%\output
-..\vc\zip -X -9 -r ..\vc\fceux.zip fceux.exe fceux.chm taseditor.chm lua5.1.dll lua51.dll 7z.dll auxlib.lua palettes luaScripts tools
+..\vc\zip -X -9 -r ..\vc\%ZIP_FILENAME% fceux.exe fceux.chm taseditor.chm lua5.1.dll lua51.dll 7z.dll auxlib.lua palettes luaScripts tools
@if ERRORLEVEL 1 goto end
cd %PROJECT_ROOT%
-appveyor PushArtifact %PROJECT_ROOT%\vc\fceux.zip
+IF DEFINED APPVEYOR appveyor SetVariable -Name WIN32_ARTIFACT -Value %ZIP_FILENAME%
+IF DEFINED APPVEYOR appveyor PushArtifact %PROJECT_ROOT%\vc\%ZIP_FILENAME%
-:end \ No newline at end of file
+:end
diff --git a/pipelines/win64_build.bat b/pipelines/win64_build.bat
index 3d127b8d..9a53f144 100644
--- a/pipelines/win64_build.bat
+++ b/pipelines/win64_build.bat
@@ -1,7 +1,15 @@
set PROJECT_ROOT=%~dp0..
+set BUILD_CONFIG=Release
-msbuild %PROJECT_ROOT%\vc\vc14_fceux.vcxproj /p:Configuration=Release /p:Platform="x64"
+set ZIP_FILENAME=fceux-win64.zip
+if defined FCEU_RELEASE_VERSION set ZIP_FILENAME=fceux-%FCEU_RELEASE_VERSION%-win64.zip
+if defined FCEU_RELEASE_VERSION set BUILD_CONFIG=PublicRelease
+
+set DEPLOY_GROUP=master
+IF DEFINED APPVEYOR_REPO_TAG_NAME set DEPLOY_GROUP=%APPVEYOR_REPO_TAG_NAME%
+
+msbuild %PROJECT_ROOT%\vc\vc14_fceux.vcxproj /p:Configuration=%BUILD_CONFIG% /p:Platform="x64"
@if ERRORLEVEL 1 goto end
cd %PROJECT_ROOT%\vc
@@ -9,13 +17,14 @@ cd %PROJECT_ROOT%\vc
REM Create Zip Archive
cd %PROJECT_ROOT%\output
-..\vc\zip -X -9 -j ..\vc\fceux64.zip ..\vc\x64\Release\fceux64.exe ..\src\drivers\win\lua\x64\lua5.1.dll ..\src\drivers\win\lua\x64\lua51.dll ..\src\auxlib.lua ..\src\drivers\win\7z_64.dll
+..\vc\zip -X -9 -j ..\vc\%ZIP_FILENAME% ..\vc\x64\%BUILD_CONFIG%\fceux64.exe ..\src\drivers\win\lua\x64\lua5.1.dll ..\src\drivers\win\lua\x64\lua51.dll ..\src\auxlib.lua ..\src\drivers\win\7z_64.dll
@if ERRORLEVEL 1 goto end
-..\vc\zip -X -9 -u -r ..\vc\fceux64.zip fceux.chm taseditor.chm palettes luaScripts tools
+..\vc\zip -X -9 -u -r ..\vc\%ZIP_FILENAME% fceux.chm taseditor.chm palettes luaScripts tools
@if ERRORLEVEL 1 goto end
cd %PROJECT_ROOT%
-appveyor PushArtifact %PROJECT_ROOT%\vc\fceux64.zip
+IF DEFINED APPVEYOR appveyor SetVariable -Name WIN64_ARTIFACT -Value %ZIP_FILENAME%
+IF DEFINED APPVEYOR appveyor PushArtifact %PROJECT_ROOT%\vc\%ZIP_FILENAME%
:end
diff --git a/scripts/fceuVersion.pl b/scripts/fceuVersion.pl
new file mode 100755
index 00000000..67beaca0
--- /dev/null
+++ b/scripts/fceuVersion.pl
@@ -0,0 +1,74 @@
+#!/usr/bin/perl
+
+use strict;
+use File::Basename;
+#use File::Spec;
+
+my $format = 0;
+
+foreach my $arg (@ARGV)
+{
+ #print $arg, "\n";
+
+ if ($arg eq "-major")
+ {
+ $format = 1;
+ }
+ elsif ($arg eq "-minor")
+ {
+ $format = 2;
+ }
+ elsif ($arg eq "-patch")
+ {
+ $format = 3;
+ }
+}
+
+#my $file = File::Spec->rel2abs( __FILE__ );
+my $dirname = dirname(__FILE__);
+my $projRoot = "$dirname/..";
+my $versionHeader = "$projRoot/src/version.h";
+my $major = 1;
+my $minor = 0;
+my $patch = 0;
+
+#print "File: $file\n";
+#print "Dir $dirname\n";
+
+my $line;
+
+open INFILE, "$versionHeader" or die "Error: Could not open file: $versionHeader\n";
+while ($line = <INFILE>)
+{
+ #print $line;
+ if ($line =~ m/\s*#define\s+FCEU_VERSION_MAJOR\s+(\d+)/)
+ {
+ $major = $1;
+ }
+ elsif ($line =~ m/\s*#define\s+FCEU_VERSION_MINOR\s+(\d+)/)
+ {
+ $minor = $1;
+ }
+ elsif ($line =~ m/\s*#define\s+FCEU_VERSION_PATCH\s+(\d+)/)
+ {
+ $patch = $1;
+ }
+}
+close(INFILE);
+
+if ($format == 1)
+{
+ print "$major";
+}
+elsif ($format == 2)
+{
+ print "$minor";
+}
+elsif ($format == 3)
+{
+ print "$patch";
+}
+else
+{
+ print "$major.$minor.$patch";
+}
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 8ef081d4..c4dc2b02 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -5,6 +5,10 @@ set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
+if (${PUBLIC_RELEASE})
+ add_definitions( -DPUBLIC_RELEASE=1 )
+endif()
+
if ( ${QT6} )
message( STATUS "GUI Frontend: Qt6")
set( Qt Qt6 )
@@ -28,6 +32,7 @@ else()
include_directories( ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Help_INCLUDE_DIRS} )
endif()
+
if(WIN32)
find_package(OpenGL REQUIRED)
#find_package(Qt5 COMPONENTS Widgets OpenGL REQUIRED)
diff --git a/src/version.h b/src/version.h
index dc2c1be9..01c9daae 100644
--- a/src/version.h
+++ b/src/version.h
@@ -62,14 +62,14 @@
#define FCEU_VERSION_MAJOR 2
#define FCEU_VERSION_MINOR 6
-#define FCEU_VERSION_PATCH 4
+#define FCEU_VERSION_PATCH 5
#define FCEU_VERSION_NUMERIC ( (FCEU_VERSION_MAJOR*10000) + (FCEU_VERSION_MINOR*100) + (FCEU_VERSION_PATCH) )
#define FCEU_VERSION_MAJOR_DECODE(x) ( (x / 10000) )
#define FCEU_VERSION_MINOR_DECODE(x) ( (x / 100) % 100 )
#define FCEU_VERSION_PATCH_DECODE(x) (x % 100)
-#define FCEU_VERSION_STRING "2.6.4" FCEU_SUBVERSION_STRING FCEU_FEATURE_STRING FCEU_COMPILER
+#define FCEU_VERSION_STRING "2.6.5" FCEU_SUBVERSION_STRING FCEU_FEATURE_STRING FCEU_COMPILER
#define FCEU_NAME_AND_VERSION FCEU_NAME " " FCEU_VERSION_STRING
#endif
diff --git a/vc/vc14_fceux.vcxproj b/vc/vc14_fceux.vcxproj
index 4611ee98..10bdf280 100644
--- a/vc/vc14_fceux.vcxproj
+++ b/vc/vc14_fceux.vcxproj
@@ -353,7 +353,7 @@ xcopy /y /d "$(ProjectDir)\..\src\drivers\win\7z_64.dll" "$(OutDir)"</Command>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.;../src/drivers/win/zlib;../src/drivers/win/directx/x64;../src;../src/drivers/win/lua/include;userconfig;defaultconfig;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;WIN64;MSVC;_CRT_SECURE_NO_DEPRECATE;_WIN32_WINDOWS=0x0410;WINVER=0x0410;NETWORK;LSB_FIRST;FCEUDEF_DEBUGGER;_USE_SHARED_MEMORY_;NOMINMAX;HAS_vsnprintf;_S9XLUA_H;NDEBUG;MSVC;_CRT_SECURE_NO_DEPRECATE;_WIN32_WINDOWS=0x0410;WINVER=0x0410;NETWORK;LSB_FIRST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>PUBLIC_RELEASE;WIN32;WIN64;MSVC;_CRT_SECURE_NO_DEPRECATE;_WIN32_WINDOWS=0x0410;WINVER=0x0410;NETWORK;LSB_FIRST;FCEUDEF_DEBUGGER;_USE_SHARED_MEMORY_;NOMINMAX;HAS_vsnprintf;_S9XLUA_H;NDEBUG;MSVC;_CRT_SECURE_NO_DEPRECATE;_WIN32_WINDOWS=0x0410;WINVER=0x0410;NETWORK;LSB_FIRST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
@@ -1528,4 +1528,4 @@ xcopy /y /d "$(ProjectDir)\..\src\drivers\win\7z_64.dll" "$(OutDir)"</Command>
</VisualStudio>
</ProjectExtensions>
<!-- ================ UNDUPOBJ ================ -->
-</Project> \ No newline at end of file
+</Project>