BaseDefaults.xcpjh


/*
Target types
------------

    "Application",
    "Static Library",
    "Console Application",
    "Dynamic-Link Library",
    "Utility Project"
*/

///////////////////////////////////////////////////////////////////////////////////////////////////

config
{
    @if (IsLinuxPlatform || IsMacOSXPlatform || IsiOSPlatform || IsiOSSimPlatform)
    {
        "Debug|$(DEV_PLATFORM)"
        "Release|$(DEV_PLATFORM)"
    }

    @if (IsWindowsPlatform)
    {
        @if (SupportWin32)
        {   
            "Debug|Win32"                   ["Unicode"]
            "Release|Win32"                 ["Unicode"]
        }
        @if (Supportx64)
        {
            "Debug|x64"                     ["Unicode"]
            "Release|x64"                   ["Unicode"]
        }
        @if (SupportWinCE)
        {
            // These platforms only support unicode builds
            "Debug|Pocket PC 2003 (ARMV4)"      ["WinCE", "Unicode"]
            "Release|Pocket PC 2003 (ARMV4)"    ["WinCE", "Unicode"]
            "Debug|Smartphone 2003 (ARMV4)"     ["WinCE", "Unicode"]
            "Release|Smartphone 2003 (ARMV4)"   ["WinCE", "Unicode"]
        }
    }
}

general
{
    //////////////////// General /////////////////////////
    /*
    Specifies the directory where tools such as the linker will place all final output files that are created 
    during the build process. Typically, this includes the output of tools such as the linker, librarian, 
    or BSCMake.
    */
    
    // VS2010 can't handle OutputDirectory not matching location of file generated by the linker
    //OutputDirectory = "$(EXPORT_LIB)/$(PLATFORM)/$(CONFIG)/$(PROJNAME)"

    OutputDirectory = "$(EXPORT_LIB)/$(PLATFORM)/$(CONFIG)"

    /*
    Specifies the directory where tools such as the compiler will place all intermediate files created during 
    the build process. Typically, this includes the output of tools such as the C/C++ compiler, MIDL, and 
    the resource compiler.
    */
    IntermediateDirectory = "./$(PLATFORM)/$(CONFIG)/$(PROJNAME)"

    /*
    The Clean option (Build menu) deletes files from the intermediate directory where a project's configuration 
    is built. Files with extensions specified with this property will be deleted when Clean is run or when 
    you perform a rebuild. In addition to files of these extensions in the intermediate directory, the build 
    system will also delete any known output of the build regardless of where it is located (including intermediate 
    outputs such as .obj files). Note that you can specify wildcard characters.
    */
	//DeleteExtensionsOnClean = "*.obj;*.ilk;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;$(TargetPath);"

	//BuildLogFile = "$(IntDir)\\BuildLog.htm"
    
    //InheritedPropertySheets = "$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC60.vsprops"

    //////////////////// Project defaults /////////////////////////

    // There is no need to set this here, because it is set automatically from $TARGET_TYPE.
    // 0  = Make file
    // 1  = Application (.exe)
    // 2  = Dynamic library (.dll)
    // 4  = Static library (.lib)
    // 10 = Utility
    //ConfigurationType = "2"
    
    // 0 = Use Standard Windows Libraries
    // 1 = Use MFC in a Static Library
    // 2 = Use MFC in a Shared DLL
    UseOfMFC = "0"
    
    // 0 = Not using ATL
    // 1 = Static link to ATL
    // 2 = Dynamic link to ATL
    UseOfATL = "0"
    
    ATLMinimizesCRunTimeLibraryUsage = "false"
    
    // Defines whether _UNICODE or _MBCS should be set. Also affects the linker entry point where appropriate.
    // 0 = Not set
    // 1 = Use UniCode Character Set
    // 2 = Use Multi Byte Character Set
    //CharacterSet = "1"
    
    // There is no need to set this here, because it is set directly from the /clr compiler switches
    // 0 = No common language runtime support
    // 1 = Common language runtime support              (/clr)
    // 2 = Pure MSIL common language runtime support    (/clr:pure)
    // 3 = Safe MSIL common language runtime support    (/clr:safe)
    // 4 = Common language runtime support, old syntax  (/clr:oldSyntax)
    //ManagedExtensions = "0"
	
	// Specifies the /GL compiler option and /LTCG linker option.
	// 0 = No whole program optimisation
	// 1 = Use link time code generation
	// 2 = Profile guided optimisation - Instrument
	// 3 = Profile guided optimisation - Optimise
	// 4 = Profile guided optimisation - Update
	//WholeProgramOptimization = "0"
}

general("Debug")
{
    WholeProgramOptimization = "0"      // 0 = No whole program optimisation
}

general("Release")
{
    WholeProgramOptimization = "1"      // 1 = Use link time code generation
}

@def UseVisualLeakDetector = false
@import "Ceda/BaseCppCompilerDefaults.xcpjh"
@import "Ceda/BaseResourceCompilerDefaults.xcpjh"
@import "Ceda/BaseLinkerDefaults.xcpjh"