% Settings.tex
%	Last update: 2017/02/23 F.Kanehori
\newpage
\section{�ݒ�}
\label{sec:Settings}

���̏͂ł́A�������N���Ȃ��Ǝv����ӏ��ɂ��Ă�<14.0><PH>�̋L�q���ȗ�����B
�K�X����ĉ��߂��邱�ƁB

%-------------------------------------------------------------------------------
\subsection{�\�����[�V����\sname{SprCSharp}�̃v���p�e�B�̐ݒ�}
\label{subsec:SolutionProperty}

Solution Explorer�Ń\�����[�V����\sname{SprCSharp (xx projects)}��I��

\noindent
Menu: [Project]--[Properties]�Ńv���p�e�B�y�[�W���J��

\vspace{.75ZH}
\small{%
\noindent
[Common Properties]
\begin{narrow}[\WID]
    [Startup Project]--[Single startup project]
    \begin{narrow}[\WID]
	\verb|SprCsSample|
    \end{narrow}

    [Project Dependencies]

    ���̕\�̂����ASpringhead Library�ɑ�����v���W�F�N�g�ɂ��ẮA
    <EDP>�܂���<IDP>�ɑ��݂�����̂�����ΏۂƂ���B
    \begin{narrow}[\WID]
	\def\CW{23ZW}
	\begin{longtable}{ll}
	    �v���W�F�N�g	& �ˑ��֌W�ɂ���v���W�F�N�g \\\hline
	    Base		& RunSwig \\
	    Collision		& Foundation, RunSwig \\
	    Creature		& Foundation, Framework, Physics, RunSwig \\
	    FileIO		& Foundation, RunSwig \\
	    Foundation		& Base, RunSwig \\
	    Framework		& \ParBox{\CW}{%
				  FileIO, Foundation, Graphics, Physics,
				  RunSwig} \\
	    Graphics		& Foundation, RunSwig \\
	    HumanInterface	& Foundation, RunSwig \\
	    Install		& SprCSharp, SprExport, SprImport \\
	    NameManager		& �Ȃ� \\
	    Physics		& Collision, Fouondation, RunSwig \\
	    RunSwig		& �Ȃ� \\
	    RunSwig_CSharp	& \ParBox{\CW}{%
				  Base, Collision, Creature, FileIO, Foundation,
				  Framework, Graphics, HumanInterface,
				  NameManager, Physics, TargetManager} \\
	    SprCSharp		& RunSwig_CSharp, SprImport \\
	    SprCsSample		& SprCSharp, SprExport, SprImport \\
	    SprExport		& \ParBox{\CW}{%
				  Base, Collision, Creature, FioeIO, Foundation,
				  Framework, Graphics, HumanINterface, Physics,
				  RunSwig_CSharp} \\
	    SprImport		& RunSwig_CSharp \\
	    TargetManager	& �Ȃ� \\\hline
        \end{longtable}
    \end{narrow}

    \vspace{-2.0ZH}
    [Configuration Properties]
    \vspace{0.5ZH}
    \begin{narrow}[\WID]
	[Configuration]--[Configuration Manager...]
	\begin{narrow}[\WID]
	    SprCSharp, SprCsSample, SprImport�̂��ׂĂɂ���
	    \begin{enumerate}
	      \item Platform��\SQuote{x86}��\SQuote{x64}��ǉ�����
		    \begin{narrow}[\WID]
			    \CS �v���W�F�N�g�ɂ�\SQuote{Win32}���Ȃ��̂�
			    \SQuote{x86}�ő�p����\\
			    \SQuote{Any CPU}�̃h���b�v�_�E�����X�g��<New...>����I��\\
			    Create new project platforms�̃`�F�b�N�͂͂����Ă���
		    \end{narrow}
	      \item Platform����\SQuote{Win32},\SQuote{x64}�ȊO�̂��̂��폜����\\
	      \item Project contexts�����̂悤�ɐݒ肷��\small{
		    \begin{longtable}{lllll}
			Project$\dagger$ & & Config & Platform & Build \\\hline
			\MC{5}{l}{[Debug]--[Win32]}	\\
			& LibProj  & Debug   & Win32 & check \\
			& \CS Proj & Debug   & x86   & check \\
			& Others   & Debug   & Win32 & check \\\hline
			\MC{5}{l}{[Release]--[Win32]}	\\
			& LibProj  & Release & Win32 & check \\
			& \CS Proj & Release & x86   & check \\
			& Others   & Release & Win32 & check \\\hline
			\MC{5}{l}{[Trace]--[Win32]}	\\
			& LibProj  & Trace   & Win32 & check \\
			& \CS Proj & Release & x86   & check \\
			& Others   & Release & Win32 & check \\\hline
			\MC{5}{l}{[Debug]--[x64]}	\\
			& LibProj  & Debug   & x64   & check \\
			& \CS Proj & Debug   & x64   & check \\
			& Others   & Debug   & x64   & check \\\hline
			\MC{5}{l}{[Release]--[x64]}	\\
			& LibProj  & Release & x64   & check \\
			& \CS Proj & Release & x64   & check \\
			& Others   & Release & x64   & check \\\hline
			\MC{5}{l}{[Trace]--[x64]}	\\
			& LibProj  & Trace   & x64   & check \\
			& \CS Proj & Release & x64   & check \\
			& Others   & Release & x64   & check \\\hline
		    \end{longtable}
		    \def\CW{20ZW}
		    $\dagger$ ������\\
		    \begin{narrow}[\WID]\begin{tabular}{lcl}
			LibProj &=& \ParBox{\CW}{%
				Base, Collision, Creature, FileIO, Foundation,
				Framework, Graphics, HumanInterface, Physics,
				RunSwig} \\
			\CS Projs &=& CpsCSharp, SprCsSample, SprImport \\
			Others  &=& \ParBox{\CW}{%
				Install, NameManager, RunSwig_CSharp,
				SprExport, TargetManager}
		    \end{tabular}\end{narrow}
		    \medskip
		    �Ƃ���B���Ȃ킿�A\\
		    \vspace{-1.0ZH}
		    \begin{narrow}[\WID]\begin{tabular}{ll}
			Configuration & \ParBox{\CW}{%
				Springhead Library�ȊO�ł�\SQuote{Trace}���Ȃ��̂�
				\SQuote{Release}�ő�p����B} \\
			Platforms     & \ParBox{\CW}{%
				\CS �v���W�F�N�g�ł�\SQuote{Win32}���Ȃ��̂�
				\SQuote{x86}�ő�p����B}
		    \end{tabular}\end{narrow}}
	    \end{enumerate}
	\end{narrow}
    \end{narrow}
\end{narrow}
}

%-------------------------------------------------------------------------------
\subsection{�Q�Ƃ̐ݒ�}
\label{sebsec:ReferenceSettings}

\noindent
�ȉ��̕\�̊e<\Project>�ɂ��āA

\begin{narrow}[s][\WID]
    Solution Explorer��<\Project>��I��

    \vspace{.5ZH}
    \begin{narrow}[\WID]
	Menu: [Project]--[Add Reference...]

	Name���Ɏ����ꂽ�v���W�F�N�g�̒��Ŏ��̂��̂��`�F�b�N����[OK]

	\vspace{-.75ZH}
	\def\CW{25ZH}
	\begin{narrow}[\WID]\begin{longtable}{ll}
	<\Project> & Name \\\hline
	    Collision	& Foundation \\
	    Creature	& Foundation, Framework, Physics \\
	    FileIO	& Foundation \\
	    Foundation	& Base \\
	    Framework	& FileIO, Foundation, Graphics, Physics \\
	    Graphics	& Foundation \\
	    HumanInterface	& Foundation \\
	    Physics	& Collision, Foundation \\
	    SprCSharp	& SprImport \\
	    SprCsSample	& SprCSharp, SprImport \\
	    SprExport	& \ParBox{\CW}{%
			  Base, Collision, Creature, FileIO, Foundation,
			  Framework, Graphics, HumanInterface, Physics} \\\hline
	\end{longtable}\end{narrow}
    \end{narrow}
\end{narrow}

%-------------------------------------------------------------------------------
\subsection{�e�v���W�F�N�g�̐ݒ�}
\label{sub:ProjectSettings}

%-------------------------------------------------------------------------------
\subsubsection{NameManager}
\label{subsub:NameManager}

\medskip
\noindent
Solution Explorer��[NameManager]--[Properties]��I��

\medskip
\small{%
\noindent
\SQuote{All Configurations}--\SQuote{All Platforms}�ɂ���
\vspace{.5ZH}
\begin{narrow}[\WID]
    [Configuration Properties]--[General]
    \begin{narrow}[\WID]
	[Output Directory]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\|
	\end{narrow}
	[Intermediate Directory]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\|
	\end{narrow}
	[Configuration Type]
	\begin{narrow}[\WID]
	    \verb|Makefile|
	\end{narrow}
	[Build Log File]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\| \CONT\\
	    \verb|$(MSBuildProjectName).log|
	\end{narrow}
    \end{narrow}

    [Configuration Properties]--[NMake]
    \begin{narrow}[\WID]
	[Build Command Line]
	\begin{narrow}[\WID]
	    \verb|nmake -f Makefile.NameManager|
	\end{narrow}
	[Rebuild All Command Line]
	\begin{narrow}[\WID]
	    \verb|nmake -f Makefile.NameManager|
	\end{narrow}
	[Clean Command Line]
	\begin{narrow}[\WID]
	    \verb|nmake -f Makefile.NameManager clean|
	\end{narrow}
	[Output]
	\begin{narrow}[\WID]
	    (��)
	\end{narrow}
    \end{narrow}
\end{narrow}
}

%-------------------------------------------------------------------------------
\subsubsection{RunSwig_CSharp}
\label{subsub:RunSwigCSharp}

\medskip
\noindent
Solution Explorer��[RunSwig_CSharp]--[Properties]��I��

\medskip
\small{%
\noindent
\SQuote{All Configurations}--\SQuote{All Platforms}�ɂ���
\vspace{.5ZH}
\begin{narrow}[\WID]
    [Configuration Properties]--[General]
    \begin{narrow}[\WID]
	[Output Directory]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\|
	\end{narrow}
	[Intermediate Directory]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\|
	\end{narrow}
	[Configuration Type]
	\begin{narrow}[\WID]
	    \verb|Makefile|
	\end{narrow}
	[Build Log File]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\| \CONT\\
	    \verb|$(MSBuildProjectName).log|
	\end{narrow}
    \end{narrow}

    [Configuration Properties]--[NMake]
    \begin{narrow}[\WID]
	[Build Command Line]
	\begin{narrow}[\WID]
	    \verb|nmake -f Makefile.RunSwig_CSharp| \CONT\\
	    \hspace{10mm}
	    \verb|TARGET=<Physics>| \CONT\\
	    \hspace{10mm}
	    \verb|PLAT=$(PlatformShortName)|
	    \verb|PROJECTDIR=$(ProjectDir)|
	\end{narrow}
	[Rebuild All Command Line]
	\begin{narrow}[\WID]
	    \verb|RunSwig_Clean && nmake -f Makefile.RunSwig_CSharp| \CONT\\
	    \hspace{10mm}
	    \verb|TARGET=<Physics>| \CONT\\
	    \hspace{10mm}
	    \verb|PLAT=$(PlatformShortName)|
	    \verb|PROJECTDIR=$(ProjectDir)|
	\end{narrow}
	[Clean Command Line]
	\begin{narrow}[\WID]
	    \verb|RunSwig_Clean|
	\end{narrow}
	[Output]
	\begin{narrow}[\WID]
	    (��)
	\end{narrow}
    \end{narrow}
\end{narrow}
}

%-------------------------------------------------------------------------------
\subsubsection{SprCSharp}
\label{subsub:SprCSharp}

\medskip
\noindent
Solution Explorer��[SprCSharp]--[Properties]��I��

\medskip
\begin{narrow}[s][\WID]
    [Application]--[Assembly name]
    \begin{narrow}[\WID]
	\verb|SprCSharp|
    \end{narrow}
    [Application]--[Default namespace]
    \begin{narrow}[\WID]
	\verb|SprCSharp|
    \end{narrow}
    [Build]--[Output path]
    \begin{narrow}[\WID]
	(x86, x64)��(Debug, Release)�Ƃ̊e�g�����ɂ��āA
	\begin{narrow}[\WID]
	    \verb|..\<14.0>\bin\x86\Debug\|   \\
	    \verb|..\<14.0>\bin\x86\Release\| \\
	    \verb|..\<14.0>\bin\x64\Debug\|   \\
	    \verb|..\<14.0>\bin\x64\Release\|
	\end{narrow}
	�̒�����K�؂Ȃ��̂�ݒ�
    \end{narrow}
\end{narrow}

%-------------------------------------------------------------------------------
\subsubsection{SprCsSample�̐ݒ�}
\label{subsub:SprCSharp}

\medskip
\noindent
\ref{subsub:SprCSharp} SprCSharp�Ɠ��l(SprCSharp��SprCsSample�Ɠǂݑւ���)

%-------------------------------------------------------------------------------
\subsubsection{SprExport}
\label{subsub:SprExport}

\medskip
\noindent
Solution Explorer��[SprCSharp]--[Properties]--[Configuration Properties]��I��

\medskip
\noindent
\SQuote{All Configurations}--\SQuote{All Platforms}�ɂ���

\small{%
(�������A$\ddagger$��t�������ڂɂ��ẮA�w�肳�ꂽConfiguration/Platform�ɂ���)

\medskip
\begin{narrow}[\WID]
    [General]
    \begin{narrow}[\WID]
	[Output Directory]
	\begin{narrow}[\WID]
	    \verb|$(SolutionDir)$(VisualStudioVersion)\bin\| \CONT\\
	    \verb|$(PlatformShortName)\$(Configuration)\|
	\end{narrow}
	[Intermediate Directory]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\|
	\end{narrow}
	[Target Name]
	\begin{narrow}[\WID]
	    \verb|SprExport|
	\end{narrow}
	[Character Set]
	\begin{narrow}[\WID]
	    \verb|Use Multi-Byte Character Set|
	\end{narrow}
	[Common Language Runtime Support]
	\begin{narrow}[\WID]
	    \verb|No Common Language Runtime Supprot|
	\end{narrow}
    \end{narrow}

    [C/\CPP]
    \begin{narrow}[\WID]
	[General]--[Additional Include Directories]
	\begin{narrow}[\WID]
	    \verb|../../../include;../../../src;%(AdditionalIncludeDirectories)|
	\end{narrow}
	[General]--[Common Language Runtime Support]
	\begin{narrow}[\WID]
	    \verb|No Common Language Runtime Supprot|
	\end{narrow}
	[General]--[SDL checks]
	\begin{narrow}[\WID]
	    \verb|Yes (/sdl)|
	\end{narrow}
	[General]--[Multi-procesor Compilation]
	\begin{narrow}[s][\WID]
	    \verb|Yes (/MP)|
	\end{narrow}

	[Optimization]--[Optimization]
	\begin{narrow}[\WID]
	    \makebox[25mm][l]{$\ddagger$ Debug�ł�}   \verb|Disables (/Od)|\\
	    \makebox[25mm][l]{$\ddagger$ Release�ł�} \verb|Maximize Speed (/O2)|
	\end{narrow}
	[Optimization]--[Enable Intrinsic Functions]
	\begin{narrow}[\WID]
	    \makebox[25mm][l]{$\ddagger$ Debug�ł�}   \verb|No|\\
	    \makebox[25mm][l]{$\ddagger$ Release�ł�} \verb|Yes (/Oi)|
	\end{narrow}
	[Optimization]--[Favor Size Or Speed]
	\begin{narrow}[\WID]
	    \makebox[25mm][l]{$\ddagger$ Debug�ł�}   \verb|Neither|\\
	    \makebox[25mm][l]{$\ddagger$ Release�ł�} \verb|Favor fast code (/Ot)|
	\end{narrow}
	[Optimization]--[Omit Frame Pointers]
	\begin{narrow}[\WID]
	    \makebox[25mm][l]{$\ddagger$ Debug�ł�}   \verb|No (/Oy-)|\\
	    \makebox[25mm][l]{$\ddagger$ Release�ł�} \verb|Yes (/Oy)|
	\end{narrow}
	[Optimization]--[Whole Program Optimization]
	\begin{narrow}[\WID]
	    \verb|No|
	\end{narrow}

	[Code Generation]--[Enable \CPP Exceptions]
	\begin{narrow}[\WID]
	    \verb|Yes with SEH Exceptions (/EHa)|
	\end{narrow}
	[Code Generation]--[Enable Floating Point Exceptions]
	\begin{narrow}[\WID]
	    \verb|Yes (/fp:except)|
	\end{narrow}

	[Precompiled Headers]--[Precompiled Header]
	\begin{narrow}[\WID]
	    \verb|Not Using Precompiled Headers|
	\end{narrow}

	[Advanced]--[Disable Specific Warnings]
	\begin{narrow}[\WID]
	    \verb|4244;4267|
	\end{narrow}
    \end{narrow}

    [Linker]
    \begin{narrow}[\WID]
	[General]--[Enable Incremental Linking]
	\begin{narrow}[\WID]
	    \verb|No (/INCREMENTAL:NO)|
	\end{narrow}
	[General]--[Additional Libray Directories]
	\begin{narrow}[\WID]
	    \makebox[25mm][l]{$\ddagger$ Win32�ł�} \verb|../../../lib/win32|\\
	    \makebox[25mm][l]{$\ddagger$ x64�ł�}   \verb|../../../lib/win64|
	\end{narrow}

	[Input]--[Additional Dependencies]
	\begin{narrow}[\WID]
	    \verb|XINPUT9_1_0.LIB;%(AdditionalDependencies)|
	\end{narrow}
	[Input]--[Ignore Specific Default Libraries]
	\begin{narrow}[\WID]
	    \verb|XINPUT.LIB|
	\end{narrow}
    \end{narrow}
\end{narrow}
}

%-------------------------------------------------------------------------------
\subsubsection{SprImport�̐ݒ�}
\label{subsub:SprImport}

\medskip
\noindent
\ref{subsub:SprImport} SprCSharp�Ɠ��l(SprCSharp��SprImport�Ɠǂݑւ���)

%-------------------------------------------------------------------------------
\subsubsection{TargetManager}
\label{subsub:TargetManager}

\medskip
\noindent
�S�̍\��(\SQuote{ALL})�ł�Physics�\��(\SQuote{PH})�ł��Ȃ��ꍇ�̂ݎ��̏������K�v
(�v���W�F�N�g\pname{TargetManager}��V�K�ɍ쐬�����ꍇ)

\medskip
\noindent
Solution Explorer��[TargetManager]--[Properties]��I��

\medskip
\small{%
\noindent
\SQuote{All Configurations}--\SQuote{All Platforms}�ɂ���
\vspace{.5ZH}
\begin{narrow}[\WID]
    [Configuration Properties]--[General]
    \begin{narrow}[\WID]
	[Output Directory]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\|
	\end{narrow}
	[Intermediate Directory]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\|
	\end{narrow}
	[Configuration Type]
	\begin{narrow}[\WID]
	    \verb|Makefile|
	\end{narrow}
	[Build Log File]
	\begin{narrow}[\WID]
	    \verb|$(VisualStudioVersion)\$(Platform)\$(Configuration)\| \CONT\\
	    \verb|$(MSBuildProjectName).log|
	\end{narrow}
    \end{narrow}

    [Configuration Properties]--[NMake]
    \begin{narrow}[\WID]
	[Build Command Line]
	\begin{narrow}[\WID]
	    \verb|TargetManager <Physics>|
	\end{narrow}
	[Rebuild All Command Line]
	\begin{narrow}[\WID]
	    \verb|TargetManager <Physics>|
	\end{narrow}
	[Clean Command Line]
	\begin{narrow}[\WID]
	    (��)
	\end{narrow}
	[Output]
	\begin{narrow}[\WID]
	    (��)
	\end{narrow}
    \end{narrow}
\end{narrow}
}

\bigskip
\flushright{�|�ȏ�|}
% end: Settings.tex
