samples: Create a custom DLL for debugging DLL search path issues. Hook it up to the example app.

This commit is contained in:
Rom Walton 2014-01-15 12:01:00 -05:00
parent 4e2fb97c16
commit 5e92b6c7d7
7 changed files with 306 additions and 84 deletions

View File

@ -51,16 +51,15 @@
#include <unistd.h>
#endif
#include "zlib.h"
#include "str_util.h"
#include "util.h"
#include "filesys.h"
#include "boinc_api.h"
#include "mfile.h"
#include "graphics2.h"
#include "uc2.h"
#ifdef APP_GRAPHICS
#include "uc2.h"
UC_SHMEM* shmem;
#endif
@ -166,8 +165,9 @@ int main(int argc, char **argv) {
exit(retval);
}
fprintf(stderr, "%s app started; CPU time %f, flags:%s%s%s%s%s%s\n",
fprintf(stderr, "%s app started; %s; CPU time %f, flags:%s%s%s%s%s%s\n",
boinc_msg_prefix(buf, sizeof(buf)),
uc2_dll_version(),
cpu_time,
early_exit?" early_exit":"",
early_crash?" early_crash":"",

View File

@ -27,3 +27,13 @@ struct UC_SHMEM {
// main program decrements it once/sec.
// If it's zero, don't bother updating shmem
};
#ifdef _WIN32
extern "C" {
__declspec( dllimport ) char* uc2_dll_version();
};
#endif

View File

@ -0,0 +1,62 @@
// This file is part of BOINC.
// http://boinc.berkeley.edu
// Copyright (C) 2008 University of California
//
// BOINC is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// BOINC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
#ifdef _WIN32
#include "boinc_win.h"
#else
#include "config.h"
#endif
#ifdef _WIN32
extern "C" {
__declspec( dllexport ) BOOL WINAPI DllMain(
HINSTANCE /*hinstDLL*/, // handle to DLL module
DWORD fdwReason, // reason for calling function
LPVOID /*lpReserved*/ // reserved
){
// Perform actions based on the reason for calling.
switch( fdwReason )
{
case DLL_PROCESS_ATTACH:
// Initialize once for each new process.
// Return FALSE to fail DLL load.
break;
case DLL_THREAD_ATTACH:
// Do thread-specific initialization.
break;
case DLL_THREAD_DETACH:
// Do thread-specific cleanup.
break;
case DLL_PROCESS_DETACH:
// Perform any necessary cleanup.
break;
}
return TRUE; // Successful DLL_PROCESS_ATTACH.
}
__declspec( dllexport ) char* __cdecl uc2_dll_version() {
return "example app DLL v1.0";
}
}
#endif

View File

@ -27,6 +27,9 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "worker", "worker.vcxproj", "{F1BE6109-586D-448E-8C5B-D5C2CB874EA2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_app", "uc2.vcxproj", "{CCB9A37C-7AD8-4FC1-ABEC-1A6ED2268F83}"
ProjectSection(ProjectDependencies) = postProject
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD} = {B275C525-5EF4-40BA-A70A-4E01A76A0CDD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_app_graphics", "uc2_graphics.vcxproj", "{3CF31288-A44D-4C78-A3AA-B05B6E32DF11}"
EndProject
@ -64,6 +67,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_boinczip", "test_boinc
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_boinczip_zlib_conflicts", "test_boinc_zip_zlib_conflicts.vcxproj", "{0DCD2FE4-0604-4307-ABAA-C61F0065D717}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_app_dll", "uc2_dll.vcxproj", "{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -550,6 +555,22 @@ Global
{0DCD2FE4-0604-4307-ABAA-C61F0065D717}.EmuRelease|x64.ActiveCfg = Release|x64
{0DCD2FE4-0604-4307-ABAA-C61F0065D717}.Release|Win32.ActiveCfg = Release|Win32
{0DCD2FE4-0604-4307-ABAA-C61F0065D717}.Release|x64.ActiveCfg = Release|x64
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.Debug|Win32.ActiveCfg = Debug|Win32
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.Debug|Win32.Build.0 = Debug|Win32
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.Debug|x64.ActiveCfg = Debug|x64
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.Debug|x64.Build.0 = Debug|x64
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.EmuDebug|Win32.ActiveCfg = Debug|Win32
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.EmuDebug|Win32.Build.0 = Debug|Win32
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.EmuDebug|x64.ActiveCfg = Debug|x64
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.EmuDebug|x64.Build.0 = Debug|x64
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.EmuRelease|Win32.ActiveCfg = Release|Win32
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.EmuRelease|Win32.Build.0 = Release|Win32
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.EmuRelease|x64.ActiveCfg = Release|x64
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.EmuRelease|x64.Build.0 = Release|x64
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.Release|Win32.ActiveCfg = Release|Win32
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.Release|Win32.Build.0 = Release|Win32
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.Release|x64.ActiveCfg = Release|x64
{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -290,80 +290,8 @@
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="..\clientgui\res\androidicon.xpm" />
<None Include="..\clientgui\res\atiicon.xpm" />
<None Include="..\clientgui\res\boinc.xpm" />
<None Include="..\clientgui\res\boinc32.xpm" />
<None Include="..\clientgui\res\boinc_logo.xpm" />
<None Include="..\clientgui\res\boincdisconnect.xpm" />
<None Include="..\clientgui\res\BOINCGUIApp.ico" />
<None Include="..\clientgui\res\boincsnooze.xpm" />
<None Include="..\clientgui\res\externalweblink.xpm" />
<None Include="..\clientgui\res\gridrepublic.ico" />
<None Include="..\clientgui\res\gridrepublicamwizard.xpm" />
<None Include="..\clientgui\res\mess.xpm" />
<None Include="..\clientgui\res\multicore.xpm" />
<None Include="..\clientgui\res\nvidiaicon.xpm" />
<None Include="..\clientgui\res\proj.xpm" />
<None Include="..\clientgui\res\result.xpm" />
<None Include="..\clientgui\res\stats.xpm" />
<None Include="..\clientgui\res\usage.xpm" />
<None Include="..\clientgui\res\wizard_bitmap.xpm" />
<None Include="..\clientgui\res\wizprogress01.xpm" />
<None Include="..\clientgui\res\wizprogress02.xpm" />
<None Include="..\clientgui\res\wizprogress03.xpm" />
<None Include="..\clientgui\res\wizprogress04.xpm" />
<None Include="..\clientgui\res\wizprogress05.xpm" />
<None Include="..\clientgui\res\wizprogress06.xpm" />
<None Include="..\clientgui\res\wizprogress07.xpm" />
<None Include="..\clientgui\res\wizprogress08.xpm" />
<None Include="..\clientgui\res\wizprogress09.xpm" />
<None Include="..\clientgui\res\wizprogress10.xpm" />
<None Include="..\clientgui\res\wizprogress11.xpm" />
<None Include="..\clientgui\res\wizprogress12.xpm" />
<None Include="..\clientgui\res\xfer.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\advanced_link_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\attach_project_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\attach_project_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\background_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\cancel_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\cancel_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\close_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\close_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\connecting_indicator_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\copy_all_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\copy_all_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\copy_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\copy_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\dialog_background_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\error_indicator_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\help_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\help_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\left_arrow_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\left_arrow_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\messages_alert_link_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\messages_link_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\preferences_link_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\project_area_background_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\project_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\resume_link_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\right_arrow_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\right_arrow_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\save_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\save_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\spacer_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\state_indicator_background_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\suspend_link_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\synchronize_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\synchronize_clicked_button.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\workunit_active_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\workunit_animation_background_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\workunit_animation_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\workunit_area_background_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\workunit_gauge_background_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\workunit_gauge_progress_indicator_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\workunit_suspended_image.xpm" />
<None Include="..\clientgui\res\skins\default\graphic\workunit_tab_area_background_image.xpm" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\clientgui\BOINCGUIApp.rc" />

View File

@ -127,7 +127,7 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>opengl32.lib;glu32.lib;odbc32.lib;odbccp32.lib;psapi.lib;libcmt.lib;libcpmt.lib;zlib1.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>opengl32.lib;glu32.lib;odbc32.lib;odbccp32.lib;psapi.lib;libcmt.lib;libcpmt.lib;example_app_dll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Build\$(Platform)\$(Configuration)\$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
@ -136,7 +136,7 @@
<ProgramDatabaseFile>.\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>../../boinc_depends_win_vs2010/zlib/mswin/$(Platform)/$(Configuration)/lib</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>$(OutDir)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -177,7 +177,7 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>opengl32.lib;glu32.lib;odbc32.lib;odbccp32.lib;psapi.lib;libcmt.lib;libcpmt.lib;zlib1.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>opengl32.lib;glu32.lib;odbc32.lib;odbccp32.lib;psapi.lib;libcmt.lib;libcpmt.lib;example_app_dll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Build\$(Platform)\$(Configuration)\$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
@ -186,7 +186,7 @@
<ProgramDatabaseFile>.\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalLibraryDirectories>../../boinc_depends_win_vs2010/zlib/mswin/$(Platform)/$(Configuration)/lib</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>$(OutDir)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@ -225,7 +225,7 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>libcmtd.lib;libcpmtd.lib;kernel32.lib;user32.lib;ole32.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>libcmtd.lib;libcpmtd.lib;example_app_dll.lib;kernel32.lib;user32.lib;ole32.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Build\$(Platform)\$(Configuration)\$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
@ -234,8 +234,7 @@
<ProgramDatabaseFile>.\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>$(OutDir)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -272,7 +271,7 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>libcmtd.lib;libcpmtd.lib;zlib1d.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;glu32.lib;ole32.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>libcmtd.lib;libcpmtd.lib;example_app_dll.lib;kernel32.lib;user32.lib;gdi32.lib;opengl32.lib;glu32.lib;ole32.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Build\$(Platform)\$(Configuration)\$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
@ -281,7 +280,7 @@
<ProgramDatabaseFile>.\Build\$(Platform)\$(Configuration)\$(ProjectName).pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalLibraryDirectories>../../boinc_depends_win_vs2010/zlib/mswin/$(Platform)/$(Configuration)/lib</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>$(OutDir)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>

202
win_build/uc2_dll.vcxproj Normal file
View File

@ -0,0 +1,202 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\samples\example_app\uc2_dll.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B275C525-5EF4-40BA-A70A-4E01A76A0CDD}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<ProjectName>example_app_dll</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Build\$(Platform)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Build\$(Platform)\$(Configuration)\$(ProjectName)\obj\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\Build\$(Platform)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\Build\$(Platform)\$(Configuration)\$(ProjectName)\obj\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Build\$(Platform)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Build\$(Platform)\$(Configuration)\$(ProjectName)\obj\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\Build\$(Platform)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\Build\$(Platform)\$(Configuration)\$(ProjectName)\obj\</IntDir>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..;../win_build;../lib;../api;../../boinc_depends_win_vs2010/openssl/include;../coprocs/cuda/include;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WIN32;WIN32;_MT;_DEBUG;_LIB_WIN32;_WINDOWS;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>Async</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<FloatingPointModel>Fast</FloatingPointModel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>boinc_win.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<BrowseInformation>
</BrowseInformation>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsCpp</CompileAs>
<DisableSpecificWarnings>
</DisableSpecificWarnings>
<ForcedIncludeFiles>boinc_win.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<ShowIncludes>false</ShowIncludes>
</ClCompile>
<Lib>
<OutputFile>.\Build\$(Platform)\$(Configuration)\libboinc_staticcrt.lib</OutputFile>
<AdditionalLibraryDirectories>../openssl/win32/x86/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..;../win_build;../lib;../api;../../boinc_depends_win_vs2010/openssl/include;../coprocs/cuda/include;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WIN32;WIN32;_MT;_DEBUG;_LIB_WIN32;_WINDOWS;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>Async</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<FloatingPointModel>Fast</FloatingPointModel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>boinc_win.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<BrowseInformation>
</BrowseInformation>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsCpp</CompileAs>
<DisableSpecificWarnings>
</DisableSpecificWarnings>
<ForcedIncludeFiles>boinc_win.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<ShowIncludes>false</ShowIncludes>
</ClCompile>
<Lib>
<OutputFile>.\Build\$(Platform)\$(Configuration)\libboinc_staticcrt.lib</OutputFile>
<AdditionalLibraryDirectories>../openssl/win32/x86/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..;../win_build;../lib;../api;../../boinc_depends_win_vs2010/openssl/include;../coprocs/cuda/include;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WIN32;WIN32;_MT;NDEBUG;_LIB_WIN32;_WINDOWS;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FloatingPointModel>Fast</FloatingPointModel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>boinc_win.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<BrowseInformation>
</BrowseInformation>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsCpp</CompileAs>
<DisableSpecificWarnings>
</DisableSpecificWarnings>
<ForcedIncludeFiles>boinc_win.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
</ClCompile>
<Lib>
<OutputFile>.\Build\$(Platform)\$(Configuration)\libboinc_staticcrt.lib</OutputFile>
<AdditionalLibraryDirectories>../openssl/win32/x86/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<AdditionalIncludeDirectories>..;../win_build;../lib;../api;../../boinc_depends_win_vs2010/openssl/include;../coprocs/cuda/include;../coprocs/OpenCL/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WIN32;WIN32;_MT;NDEBUG;_LIB_WIN32;_WINDOWS;_CONSOLE;CLIENT;BOINC_APP_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FloatingPointModel>Fast</FloatingPointModel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>boinc_win.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<BrowseInformation>
</BrowseInformation>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsCpp</CompileAs>
<DisableSpecificWarnings>
</DisableSpecificWarnings>
<ForcedIncludeFiles>boinc_win.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
</ClCompile>
<Lib>
<OutputFile>.\Build\$(Platform)\$(Configuration)\libboinc_staticcrt.lib</OutputFile>
<AdditionalLibraryDirectories>../openssl/win32/x86/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>