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.

This commit is contained in:
mjbudd77 2022-10-01 16:29:02 -04:00
parent 897491b3f5
commit 99eb406b1a
12 changed files with 369 additions and 31 deletions

View File

@ -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

170
pipelines/build.pl Executable file
View File

@ -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);
}

View File

@ -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";

View File

@ -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
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

View File

@ -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
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

View File

@ -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

View File

@ -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

View File

@ -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

74
scripts/fceuVersion.pl Executable file
View File

@ -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";
}

View File

@ -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)

View File

@ -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

View File

@ -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>