From 99eb406b1a101864eecd627c0a43943cbb3c417e Mon Sep 17 00:00:00 2001 From: mjbudd77 Date: Sat, 1 Oct 2022 16:29:02 -0400 Subject: 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. --- appveyor.yml | 38 ++++++++-- pipelines/build.pl | 170 +++++++++++++++++++++++++++++++++++++++++++++ pipelines/debpkg.pl | 5 +- pipelines/linux_build.sh | 18 ++++- pipelines/macOS_build.sh | 30 ++++++-- pipelines/qwin64_build.bat | 20 ++++-- pipelines/win32_build.bat | 17 +++-- pipelines/win64_build.bat | 17 +++-- scripts/fceuVersion.pl | 74 ++++++++++++++++++++ src/CMakeLists.txt | 5 ++ src/version.h | 4 +- vc/vc14_fceux.vcxproj | 4 +- 12 files changed, 370 insertions(+), 32 deletions(-) create mode 100755 pipelines/build.pl create mode 100755 scripts/fceuVersion.pl 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 = ) + { + #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 = ) +{ + #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)" Speed true .;../src/drivers/win/zlib;../src/drivers/win/directx/x64;../src;../src/drivers/win/lua/include;userconfig;defaultconfig;%(AdditionalIncludeDirectories) - 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) + 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) MultiThreaded @@ -1528,4 +1528,4 @@ xcopy /y /d "$(ProjectDir)\..\src\drivers\win\7z_64.dll" "$(OutDir)" - \ No newline at end of file + -- cgit v1.2.3 From 7b007332c49bd62492a9a306373dc5715545873f Mon Sep 17 00:00:00 2001 From: mjbudd77 Date: Sat, 1 Oct 2022 17:03:20 -0400 Subject: Updated access token. --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index d9c96f10..300fad98 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -68,7 +68,7 @@ deploy: 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 + secure: pYXqhuxNn7vivsJ6cnWCHlORrTtaWO7fyGOvGFUNKtM2apSY44gjbAhGIlD+OdtF artifact: $(WIN32_ARTIFACT), $(WIN64_ARTIFACT), $(WIN64_QTSDL_ARTIFACT), $(MACOS_ARTIFACT), $(LINUX_ARTIFACT) draft: false prerelease: true @@ -80,7 +80,7 @@ deploy: - provider: GitHub description: 'Release Builds - commit: $(APPVEYOR_REPO_COMMIT)' auth_token: - secure: 5kNj/zZ1RD5gCBq0Q4my9dBgSTYL7JVvcjv93T9i6FjYA6SAds3/Dmlz8wrRMN8E + secure: pYXqhuxNn7vivsJ6cnWCHlORrTtaWO7fyGOvGFUNKtM2apSY44gjbAhGIlD+OdtF artifact: $(WIN32_ARTIFACT), $(WIN64_ARTIFACT), $(WIN64_QTSDL_ARTIFACT), $(MACOS_ARTIFACT) draft: false prerelease: false -- cgit v1.2.3 From edae2d4f572f9dfc38c78f126ea0750bab80d2c0 Mon Sep 17 00:00:00 2001 From: mjbudd77 Date: Sat, 1 Oct 2022 17:33:17 -0400 Subject: Updated download links for interim auto builds for new interim-build pre-release setup (uploaded from appveyor using github release deployment) --- readme.md | 10 +++++----- web/download.html | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/readme.md b/readme.md index 19bd9ba4..f8d0c4a8 100644 --- a/readme.md +++ b/readme.md @@ -5,11 +5,11 @@ An open source NES Emulator for Windows and Unix that features solid emulation a ## Builds and Releases Interim builds: -* Win32: [fceux.zip](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux.zip?branch=master&job=Windows%2032) -* Win64: [fceux64.zip](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux64.zip?branch=master&job=Windows%2064) -* Win64 Qt/SDL: [qfceux64.zip](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/qfceux64.zip?branch=master&job=Win64%20Qt) -* Ubuntu: [fceux-2.6.4-amd64.deb](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.6.4-amd64.deb?branch=master&job=Ubuntu) -* MacOSX: [fceux-2.6.4-Darwin.dmg](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.6.4-Darwin.dmg?branch=master&job=MacOS) +* Win32: [fceux-win32.zip](https://github.com/TASEmulators/fceux/releases/download/interim-build/fceux-win32.zip) +* Win64: [fceux-win64.zip](https://github.com/TASEmulators/fceux/releases/download/interim-build/fceux-win64.zip) +* Win64 Qt/SDL: [fceux-win64-QtSDL.zip](https://github.com/TASEmulators/fceux/releases/download/interim-build/fceux-win64-QtSDL.zip) +* Ubuntu: [fceux-ubuntu-x64.deb](https://github.com/TASEmulators/fceux/releases/download/interim-build/fceux-ubuntu-x64.deb) +* MacOSX: [fceux-Darwin.dmg](https://github.com/TASEmulators/fceux/releases/download/interim-build/fceux-Darwin.dmg) * Status: [Appveyor](https://ci.appveyor.com/project/zeromus/fceux/) But you might like mesen more: https://github.com/SourMesen/Mesen diff --git a/web/download.html b/web/download.html index 6491e2e6..da18903f 100644 --- a/web/download.html +++ b/web/download.html @@ -81,11 +81,11 @@

If you would like to test the current in-development version of FCEUX, interim builds are available here:

Source Code

-- cgit v1.2.3