Merge topic 'vs14-generator'
f0e298ad Help: Add notes for topic 'vs14-generator' 5c105140 Tests: Simplify LoadCommand tests b1cbd577 FindBoost: Add -vc140 mangling for VS 14 bdc7d9c8 VS14: Fix Cl and Link flag tables as previous versions d96b3f68 VS14: Generate flag tables from MSBuild v140 tool files 65624c39 VS14: Add Visual Studio 14 generator (#14982) 8635ac23 Tests/Preprocess: Remove unnecessary VS version tests
This commit is contained in:
commit
1563668fd0
9
Help/generator/Visual Studio 14.rst
Normal file
9
Help/generator/Visual Studio 14.rst
Normal file
@ -0,0 +1,9 @@
|
||||
Visual Studio 14
|
||||
----------------
|
||||
|
||||
Generates Visual Studio 14 project files.
|
||||
|
||||
It is possible to append a space followed by the platform name to
|
||||
create project files for a specific target platform. E.g.
|
||||
"Visual Studio 14 Win64" will create project files for the
|
||||
x64 processor; "Visual Studio 14 ARM" for ARM.
|
@ -64,6 +64,7 @@ one may launch CMake from any environment.
|
||||
/generator/Visual Studio 10 2010
|
||||
/generator/Visual Studio 11 2012
|
||||
/generator/Visual Studio 12 2013
|
||||
/generator/Visual Studio 14
|
||||
/generator/Xcode
|
||||
|
||||
Extra Generators
|
||||
|
@ -179,6 +179,7 @@ Variables that Describe the System
|
||||
/variable/MSVC10
|
||||
/variable/MSVC11
|
||||
/variable/MSVC12
|
||||
/variable/MSVC14
|
||||
/variable/MSVC60
|
||||
/variable/MSVC70
|
||||
/variable/MSVC71
|
||||
|
4
Help/release/dev/vs14-generator.rst
Normal file
4
Help/release/dev/vs14-generator.rst
Normal file
@ -0,0 +1,4 @@
|
||||
vs14-generator
|
||||
--------------
|
||||
|
||||
* A :generator:`Visual Studio 14` generator was added.
|
6
Help/variable/MSVC14.rst
Normal file
6
Help/variable/MSVC14.rst
Normal file
@ -0,0 +1,6 @@
|
||||
MSVC14
|
||||
------
|
||||
|
||||
True when using Microsoft Visual C 14.0
|
||||
|
||||
Set to true when the compiler is version 14.0 of Microsoft Visual C.
|
@ -3,9 +3,7 @@ MSVC_VERSION
|
||||
|
||||
The version of Microsoft Visual C/C++ being used if any.
|
||||
|
||||
Known version numbers are:
|
||||
|
||||
::
|
||||
Known version numbers are::
|
||||
|
||||
1200 = VS 6.0
|
||||
1300 = VS 7.0
|
||||
@ -15,3 +13,4 @@ Known version numbers are:
|
||||
1600 = VS 10.0
|
||||
1700 = VS 11.0
|
||||
1800 = VS 12.0
|
||||
1900 = VS 14.0
|
||||
|
@ -383,6 +383,8 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
|
||||
else()
|
||||
set (_boost_COMPILER "-il")
|
||||
endif()
|
||||
elseif (MSVC14)
|
||||
set(_boost_COMPILER "-vc140")
|
||||
elseif (MSVC12)
|
||||
set(_boost_COMPILER "-vc120")
|
||||
elseif (MSVC11)
|
||||
|
@ -198,6 +198,10 @@ if(MSVC)
|
||||
MSVCRT_FILES_FOR_VERSION(12)
|
||||
endif()
|
||||
|
||||
if(MSVC14)
|
||||
MSVCRT_FILES_FOR_VERSION(14)
|
||||
endif()
|
||||
|
||||
if(CMAKE_INSTALL_MFC_LIBRARIES)
|
||||
if(MSVC70)
|
||||
set(__install__libs ${__install__libs}
|
||||
@ -367,6 +371,10 @@ if(MSVC)
|
||||
if(MSVC12)
|
||||
MFC_FILES_FOR_VERSION(12)
|
||||
endif()
|
||||
|
||||
if(MSVC14)
|
||||
MFC_FILES_FOR_VERSION(14)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
foreach(lib
|
||||
|
@ -85,6 +85,7 @@ if(NOT MSVC_VERSION)
|
||||
set(MSVC10)
|
||||
set(MSVC11)
|
||||
set(MSVC12)
|
||||
set(MSVC14)
|
||||
set(MSVC60)
|
||||
set(MSVC70)
|
||||
set(MSVC71)
|
||||
@ -92,7 +93,9 @@ if(NOT MSVC_VERSION)
|
||||
set(MSVC90)
|
||||
set(CMAKE_COMPILER_2005)
|
||||
set(CMAKE_COMPILER_SUPPORTS_PDBTYPE)
|
||||
if(NOT "${_compiler_version}" VERSION_LESS 18)
|
||||
if(NOT "${_compiler_version}" VERSION_LESS 19)
|
||||
set(MSVC14 1)
|
||||
elseif(NOT "${_compiler_version}" VERSION_LESS 18)
|
||||
set(MSVC12 1)
|
||||
elseif(NOT "${_compiler_version}" VERSION_LESS 17)
|
||||
set(MSVC11 1)
|
||||
|
@ -426,6 +426,8 @@ if (WIN32)
|
||||
cmGlobalVisualStudio11Generator.cxx
|
||||
cmGlobalVisualStudio12Generator.h
|
||||
cmGlobalVisualStudio12Generator.cxx
|
||||
cmGlobalVisualStudio14Generator.h
|
||||
cmGlobalVisualStudio14Generator.cxx
|
||||
cmGlobalVisualStudioGenerator.cxx
|
||||
cmGlobalVisualStudioGenerator.h
|
||||
cmIDEFlagTable.h
|
||||
|
116
Source/cmGlobalVisualStudio14Generator.cxx
Normal file
116
Source/cmGlobalVisualStudio14Generator.cxx
Normal file
@ -0,0 +1,116 @@
|
||||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2014 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
#include "cmGlobalVisualStudio14Generator.h"
|
||||
#include "cmLocalVisualStudio10Generator.h"
|
||||
#include "cmMakefile.h"
|
||||
|
||||
static const char vs14generatorName[] = "Visual Studio 14";
|
||||
|
||||
class cmGlobalVisualStudio14Generator::Factory
|
||||
: public cmGlobalGeneratorFactory
|
||||
{
|
||||
public:
|
||||
virtual cmGlobalGenerator* CreateGlobalGenerator(
|
||||
const std::string& genName) const
|
||||
{
|
||||
if(strncmp(genName.c_str(), vs14generatorName,
|
||||
sizeof(vs14generatorName) - 1) != 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
const char* p = genName.c_str() + sizeof(vs14generatorName) - 1;
|
||||
if(!*p)
|
||||
{
|
||||
return new cmGlobalVisualStudio14Generator(
|
||||
genName, "", "");
|
||||
}
|
||||
if(*p++ != ' ')
|
||||
{ return 0; }
|
||||
if(strcmp(p, "Win64") == 0)
|
||||
{
|
||||
return new cmGlobalVisualStudio14Generator(
|
||||
genName, "x64", "CMAKE_FORCE_WIN64");
|
||||
}
|
||||
if(strcmp(p, "ARM") == 0)
|
||||
{
|
||||
return new cmGlobalVisualStudio14Generator(
|
||||
genName, "ARM", "");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual void GetDocumentation(cmDocumentationEntry& entry) const
|
||||
{
|
||||
entry.Name = vs14generatorName;
|
||||
entry.Brief = "Generates Visual Studio 14 project files.";
|
||||
}
|
||||
|
||||
virtual void GetGenerators(std::vector<std::string>& names) const
|
||||
{
|
||||
names.push_back(vs14generatorName);
|
||||
names.push_back(vs14generatorName + std::string(" ARM"));
|
||||
names.push_back(vs14generatorName + std::string(" Win64"));
|
||||
}
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmGlobalGeneratorFactory* cmGlobalVisualStudio14Generator::NewFactory()
|
||||
{
|
||||
return new Factory;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmGlobalVisualStudio14Generator::cmGlobalVisualStudio14Generator(
|
||||
const std::string& name, const std::string& platformName,
|
||||
const std::string& additionalPlatformDefinition)
|
||||
: cmGlobalVisualStudio12Generator(name, platformName,
|
||||
additionalPlatformDefinition)
|
||||
{
|
||||
std::string vc14Express;
|
||||
this->ExpressEdition = cmSystemTools::ReadRegistryValue(
|
||||
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\14.0\\Setup\\VC;"
|
||||
"ProductDir", vc14Express, cmSystemTools::KeyWOW64_32);
|
||||
this->DefaultPlatformToolset = "v140";
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
cmGlobalVisualStudio14Generator::MatchesGeneratorName(
|
||||
const std::string& name) const
|
||||
{
|
||||
return name == this->GetName();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalVisualStudio14Generator::WriteSLNHeader(std::ostream& fout)
|
||||
{
|
||||
// Visual Studio 14 writes .sln format 12.00
|
||||
fout << "Microsoft Visual Studio Solution File, Format Version 12.00\n";
|
||||
if (this->ExpressEdition)
|
||||
{
|
||||
fout << "# Visual Studio Express 14 for Windows Desktop\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
fout << "# Visual Studio 14\n";
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmLocalGenerator *cmGlobalVisualStudio14Generator::CreateLocalGenerator()
|
||||
{
|
||||
cmLocalVisualStudio10Generator* lg =
|
||||
new cmLocalVisualStudio10Generator(cmLocalVisualStudioGenerator::VS14);
|
||||
lg->SetPlatformName(this->GetPlatformName());
|
||||
lg->SetGlobalGenerator(this);
|
||||
return lg;
|
||||
}
|
44
Source/cmGlobalVisualStudio14Generator.h
Normal file
44
Source/cmGlobalVisualStudio14Generator.h
Normal file
@ -0,0 +1,44 @@
|
||||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2014 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
#ifndef cmGlobalVisualStudio14Generator_h
|
||||
#define cmGlobalVisualStudio14Generator_h
|
||||
|
||||
#include "cmGlobalVisualStudio12Generator.h"
|
||||
|
||||
|
||||
/** \class cmGlobalVisualStudio14Generator */
|
||||
class cmGlobalVisualStudio14Generator:
|
||||
public cmGlobalVisualStudio12Generator
|
||||
{
|
||||
public:
|
||||
cmGlobalVisualStudio14Generator(const std::string& name,
|
||||
const std::string& platformName,
|
||||
const std::string& additionalPlatformDefinition);
|
||||
static cmGlobalGeneratorFactory* NewFactory();
|
||||
|
||||
virtual bool MatchesGeneratorName(const std::string& name) const;
|
||||
|
||||
virtual void WriteSLNHeader(std::ostream& fout);
|
||||
|
||||
///! create the correct local generator
|
||||
virtual cmLocalGenerator *CreateLocalGenerator();
|
||||
|
||||
/** TODO: VS 14 user macro support. */
|
||||
virtual std::string GetUserMacrosDirectory() { return ""; }
|
||||
|
||||
virtual const char* GetToolsVersion() { return "14.0"; }
|
||||
protected:
|
||||
virtual const char* GetIDEVersion() { return "14.0"; }
|
||||
private:
|
||||
class Factory;
|
||||
};
|
||||
#endif
|
@ -40,7 +40,9 @@ public:
|
||||
VS9 = 90,
|
||||
VS10 = 100,
|
||||
VS11 = 110,
|
||||
VS12 = 120
|
||||
VS12 = 120,
|
||||
/* VS13 = 130 was skipped */
|
||||
VS14 = 140
|
||||
};
|
||||
|
||||
cmLocalVisualStudioGenerator(VSVersion v);
|
||||
|
296
Source/cmVS14CLFlagTable.h
Normal file
296
Source/cmVS14CLFlagTable.h
Normal file
@ -0,0 +1,296 @@
|
||||
static cmVS7FlagTable cmVS14CLFlagTable[] =
|
||||
{
|
||||
|
||||
//Enum Properties
|
||||
{"DebugInformationFormat", "",
|
||||
"None", "None", 0},
|
||||
{"DebugInformationFormat", "Z7",
|
||||
"C7 compatible", "OldStyle", 0},
|
||||
{"DebugInformationFormat", "Zi",
|
||||
"Program Database", "ProgramDatabase", 0},
|
||||
{"DebugInformationFormat", "ZI",
|
||||
"Program Database for Edit And Continue", "EditAndContinue", 0},
|
||||
|
||||
{"WarningLevel", "W0",
|
||||
"Turn Off All Warnings", "TurnOffAllWarnings", 0},
|
||||
{"WarningLevel", "W1",
|
||||
"Level1", "Level1", 0},
|
||||
{"WarningLevel", "W2",
|
||||
"Level2", "Level2", 0},
|
||||
{"WarningLevel", "W3",
|
||||
"Level3", "Level3", 0},
|
||||
{"WarningLevel", "W4",
|
||||
"Level4", "Level4", 0},
|
||||
{"WarningLevel", "Wall",
|
||||
"EnableAllWarnings", "EnableAllWarnings", 0},
|
||||
|
||||
{"Optimization", "",
|
||||
"Custom", "Custom", 0},
|
||||
{"Optimization", "Od",
|
||||
"Disabled", "Disabled", 0},
|
||||
{"Optimization", "O1",
|
||||
"Minimize Size", "MinSpace", 0},
|
||||
{"Optimization", "O2",
|
||||
"Maximize Speed", "MaxSpeed", 0},
|
||||
{"Optimization", "Ox",
|
||||
"Full Optimization", "Full", 0},
|
||||
|
||||
{"InlineFunctionExpansion", "",
|
||||
"Default", "Default", 0},
|
||||
{"InlineFunctionExpansion", "Ob0",
|
||||
"Disabled", "Disabled", 0},
|
||||
{"InlineFunctionExpansion", "Ob1",
|
||||
"Only __inline", "OnlyExplicitInline", 0},
|
||||
{"InlineFunctionExpansion", "Ob2",
|
||||
"Any Suitable", "AnySuitable", 0},
|
||||
|
||||
{"FavorSizeOrSpeed", "Os",
|
||||
"Favor small code", "Size", 0},
|
||||
{"FavorSizeOrSpeed", "Ot",
|
||||
"Favor fast code", "Speed", 0},
|
||||
{"FavorSizeOrSpeed", "",
|
||||
"Neither", "Neither", 0},
|
||||
|
||||
{"ExceptionHandling", "EHa",
|
||||
"Yes with SEH Exceptions", "Async", 0},
|
||||
{"ExceptionHandling", "EHsc",
|
||||
"Yes", "Sync", 0},
|
||||
{"ExceptionHandling", "EHs",
|
||||
"Yes with Extern C functions", "SyncCThrow", 0},
|
||||
{"ExceptionHandling", "",
|
||||
"No", "false", 0},
|
||||
|
||||
{"BasicRuntimeChecks", "RTCs",
|
||||
"Stack Frames", "StackFrameRuntimeCheck", 0},
|
||||
{"BasicRuntimeChecks", "RTCu",
|
||||
"Uninitialized variables", "UninitializedLocalUsageCheck", 0},
|
||||
{"BasicRuntimeChecks", "RTC1",
|
||||
"Both (/RTC1, equiv. to /RTCsu)", "EnableFastChecks", 0},
|
||||
{"BasicRuntimeChecks", "",
|
||||
"Default", "Default", 0},
|
||||
|
||||
{"RuntimeLibrary", "MT",
|
||||
"Multi-threaded", "MultiThreaded", 0},
|
||||
{"RuntimeLibrary", "MTd",
|
||||
"Multi-threaded Debug", "MultiThreadedDebug", 0},
|
||||
{"RuntimeLibrary", "MD",
|
||||
"Multi-threaded DLL", "MultiThreadedDLL", 0},
|
||||
{"RuntimeLibrary", "MDd",
|
||||
"Multi-threaded Debug DLL", "MultiThreadedDebugDLL", 0},
|
||||
|
||||
{"StructMemberAlignment", "Zp1",
|
||||
"1 Byte", "1Byte", 0},
|
||||
{"StructMemberAlignment", "Zp2",
|
||||
"2 Bytes", "2Bytes", 0},
|
||||
{"StructMemberAlignment", "Zp4",
|
||||
"4 Byte", "4Bytes", 0},
|
||||
{"StructMemberAlignment", "Zp8",
|
||||
"8 Bytes", "8Bytes", 0},
|
||||
{"StructMemberAlignment", "Zp16",
|
||||
"16 Bytes", "16Bytes", 0},
|
||||
{"StructMemberAlignment", "",
|
||||
"Default", "Default", 0},
|
||||
|
||||
{"BufferSecurityCheck", "GS-",
|
||||
"Disable Security Check", "false", 0},
|
||||
{"BufferSecurityCheck", "GS",
|
||||
"Enable Security Check", "true", 0},
|
||||
|
||||
{"EnableEnhancedInstructionSet", "arch:SSE",
|
||||
"Streaming SIMD Extensions", "StreamingSIMDExtensions", 0},
|
||||
{"EnableEnhancedInstructionSet", "arch:SSE2",
|
||||
"Streaming SIMD Extensions 2", "StreamingSIMDExtensions2", 0},
|
||||
{"EnableEnhancedInstructionSet", "arch:AVX",
|
||||
"Advanced Vector Extensions", "AdvancedVectorExtensions", 0},
|
||||
{"EnableEnhancedInstructionSet", "arch:AVX2",
|
||||
"Advanced Vector Extensions 2", "AdvancedVectorExtensions2", 0},
|
||||
{"EnableEnhancedInstructionSet", "arch:IA32",
|
||||
"No Enhanced Instructions", "NoExtensions", 0},
|
||||
{"EnableEnhancedInstructionSet", "",
|
||||
"Not Set", "NotSet", 0},
|
||||
|
||||
{"FloatingPointModel", "fp:precise",
|
||||
"Precise", "Precise", 0},
|
||||
{"FloatingPointModel", "fp:strict",
|
||||
"Strict", "Strict", 0},
|
||||
{"FloatingPointModel", "fp:fast",
|
||||
"Fast", "Fast", 0},
|
||||
|
||||
{"PrecompiledHeader", "Yc",
|
||||
"Create", "Create",
|
||||
cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
|
||||
{"PrecompiledHeader", "Yu",
|
||||
"Use", "Use",
|
||||
cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
|
||||
{"PrecompiledHeader", "",
|
||||
"Not Using Precompiled Headers", "NotUsing", 0},
|
||||
|
||||
{"AssemblerOutput", "",
|
||||
"No Listing", "NoListing", 0},
|
||||
{"AssemblerOutput", "FA",
|
||||
"Assembly-Only Listing", "AssemblyCode", 0},
|
||||
{"AssemblerOutput", "FAc",
|
||||
"Assembly With Machine Code", "AssemblyAndMachineCode", 0},
|
||||
{"AssemblerOutput", "FAs",
|
||||
"Assembly With Source Code", "AssemblyAndSourceCode", 0},
|
||||
{"AssemblerOutput", "FAcs",
|
||||
"Assembly, Machine Code and Source", "All", 0},
|
||||
|
||||
{"CallingConvention", "Gd",
|
||||
"__cdecl", "Cdecl", 0},
|
||||
{"CallingConvention", "Gr",
|
||||
"__fastcall", "FastCall", 0},
|
||||
{"CallingConvention", "Gz",
|
||||
"__stdcall", "StdCall", 0},
|
||||
{"CallingConvention", "Gv",
|
||||
"__vectorcall", "VectorCall", 0},
|
||||
|
||||
{"CompileAs", "",
|
||||
"Default", "Default", 0},
|
||||
{"CompileAs", "TC",
|
||||
"Compile as C Code", "CompileAsC", 0},
|
||||
{"CompileAs", "TP",
|
||||
"Compile as C++ Code", "CompileAsCpp", 0},
|
||||
|
||||
{"ErrorReporting", "errorReport:none",
|
||||
"Do Not Send Report", "None", 0},
|
||||
{"ErrorReporting", "errorReport:prompt",
|
||||
"Prompt Immediately", "Prompt", 0},
|
||||
{"ErrorReporting", "errorReport:queue",
|
||||
"Queue For Next Login", "Queue", 0},
|
||||
{"ErrorReporting", "errorReport:send",
|
||||
"Send Automatically", "Send", 0},
|
||||
|
||||
{"CompileAsManaged", "",
|
||||
"No Common Language RunTime Support", "false", 0},
|
||||
{"CompileAsManaged", "clr",
|
||||
"Common Language RunTime Support", "true", 0},
|
||||
{"CompileAsManaged", "clr:pure",
|
||||
"Pure MSIL Common Language RunTime Support", "Pure", 0},
|
||||
{"CompileAsManaged", "clr:safe",
|
||||
"Safe MSIL Common Language RunTime Support", "Safe", 0},
|
||||
{"CompileAsManaged", "clr:oldSyntax",
|
||||
"Common Language RunTime Support, Old Syntax", "OldSyntax", 0},
|
||||
|
||||
|
||||
//Bool Properties
|
||||
{"CompileAsWinRT", "ZW", "", "true", 0},
|
||||
{"WinRTNoStdLib", "ZW:nostdlib", "", "true", 0},
|
||||
{"SuppressStartupBanner", "nologo", "", "true", 0},
|
||||
{"TreatWarningAsError", "WX-", "", "false", 0},
|
||||
{"TreatWarningAsError", "WX", "", "true", 0},
|
||||
{"SDLCheck", "sdl-", "", "false", 0},
|
||||
{"SDLCheck", "sdl", "", "true", 0},
|
||||
{"IntrinsicFunctions", "Oi", "", "true", 0},
|
||||
{"OmitFramePointers", "Oy-", "", "false", 0},
|
||||
{"OmitFramePointers", "Oy", "", "true", 0},
|
||||
{"EnableFiberSafeOptimizations", "GT", "", "true", 0},
|
||||
{"WholeProgramOptimization", "GL", "", "true", 0},
|
||||
{"UndefineAllPreprocessorDefinitions", "u", "", "true", 0},
|
||||
{"IgnoreStandardIncludePath", "X", "", "true", 0},
|
||||
{"PreprocessToFile", "P", "", "true", 0},
|
||||
{"PreprocessSuppressLineNumbers", "EP", "", "true", 0},
|
||||
{"PreprocessKeepComments", "C", "", "true", 0},
|
||||
{"StringPooling", "GF-", "", "false", 0},
|
||||
{"StringPooling", "GF", "", "true", 0},
|
||||
{"MinimalRebuild", "Gm-", "", "false", 0},
|
||||
{"MinimalRebuild", "Gm", "", "true", 0},
|
||||
{"SmallerTypeCheck", "RTCc", "", "true", 0},
|
||||
{"FunctionLevelLinking", "Gy-", "", "false", 0},
|
||||
{"FunctionLevelLinking", "Gy", "", "true", 0},
|
||||
{"EnableParallelCodeGeneration", "Qpar-", "", "false", 0},
|
||||
{"EnableParallelCodeGeneration", "Qpar", "", "true", 0},
|
||||
{"FloatingPointExceptions", "fp:except-", "", "false", 0},
|
||||
{"FloatingPointExceptions", "fp:except", "", "true", 0},
|
||||
{"CreateHotpatchableImage", "hotpatch", "", "true", 0},
|
||||
{"DisableLanguageExtensions", "Za", "", "true", 0},
|
||||
{"TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0},
|
||||
{"TreatWChar_tAsBuiltInType", "Zc:wchar_t", "", "true", 0},
|
||||
{"ForceConformanceInForLoopScope", "Zc:forScope-", "", "false", 0},
|
||||
{"ForceConformanceInForLoopScope", "Zc:forScope", "", "true", 0},
|
||||
{"RuntimeTypeInfo", "GR-", "", "false", 0},
|
||||
{"RuntimeTypeInfo", "GR", "", "true", 0},
|
||||
{"OpenMPSupport", "openmp-", "", "false", 0},
|
||||
{"OpenMPSupport", "openmp", "", "true", 0},
|
||||
{"ExpandAttributedSource", "Fx", "", "true", 0},
|
||||
{"UseUnicodeForAssemblerListing", "FAu", "", "true", 0},
|
||||
{"ShowIncludes", "showIncludes", "", "true", 0},
|
||||
{"EnablePREfast", "analyze-", "", "false", 0},
|
||||
{"EnablePREfast", "analyze", "", "true", 0},
|
||||
{"UseFullPaths", "FC", "", "true", 0},
|
||||
{"OmitDefaultLibName", "Zl", "", "true", 0},
|
||||
|
||||
//Bool Properties With Argument
|
||||
{"MultiProcessorCompilation", "MP", "", "true",
|
||||
cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
|
||||
{"ProcessorNumber", "MP", "Multi-processor Compilation", "",
|
||||
cmVS7FlagTable::UserValueRequired},
|
||||
{"GenerateXMLDocumentationFiles", "doc", "", "true",
|
||||
cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
|
||||
{"XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "",
|
||||
cmVS7FlagTable::UserValueRequired},
|
||||
{"BrowseInformation", "FR", "", "true",
|
||||
cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
|
||||
{"BrowseInformationFile", "FR", "Enable Browse Information", "",
|
||||
cmVS7FlagTable::UserValueRequired},
|
||||
|
||||
//String List Properties
|
||||
{"AdditionalIncludeDirectories", "I",
|
||||
"Additional Include Directories",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"AdditionalUsingDirectories", "AI",
|
||||
"Additional #using Directories",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"PreprocessorDefinitions", "D ",
|
||||
"Preprocessor Definitions",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"UndefinePreprocessorDefinitions", "U",
|
||||
"Undefine Preprocessor Definitions",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"DisableSpecificWarnings", "wd",
|
||||
"Disable Specific Warnings",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"ForcedIncludeFiles", "FI",
|
||||
"Forced Include File",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"ForcedUsingFiles", "FU",
|
||||
"Forced #using File",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"PREfastLog", "analyze:log",
|
||||
"Code Analysis Log",
|
||||
"", cmVS7FlagTable::UserFollowing},
|
||||
{"PREfastAdditionalPlugins", "analyze:plugin",
|
||||
"Additional Code Analysis Native plugins",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"TreatSpecificWarningsAsErrors", "we",
|
||||
"Treat Specific Warnings As Errors",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
|
||||
//String Properties
|
||||
// Skip [TrackerLogDirectory] - no command line Switch.
|
||||
{"PreprocessOutputPath", "Fi",
|
||||
"Preprocess Output Path",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"PrecompiledHeaderFile", "Yc",
|
||||
"Precompiled Header Name",
|
||||
"", cmVS7FlagTable::UserValueRequired},
|
||||
{"PrecompiledHeaderFile", "Yu",
|
||||
"Precompiled Header Name",
|
||||
"", cmVS7FlagTable::UserValueRequired},
|
||||
{"PrecompiledHeaderOutputFile", "Fp",
|
||||
"Precompiled Header Output File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"AssemblerListingLocation", "Fa",
|
||||
"ASM List Location",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"ObjectFileName", "Fo",
|
||||
"Object File Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"ProgramDataBaseFileName", "Fd",
|
||||
"Program Database File Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [XMLDocumentationFileName] - no command line Switch.
|
||||
// Skip [BrowseInformationFile] - no command line Switch.
|
||||
// Skip [AdditionalOptions] - no command line Switch.
|
||||
{0,0,0,0,0}
|
||||
};
|
102
Source/cmVS14LibFlagTable.h
Normal file
102
Source/cmVS14LibFlagTable.h
Normal file
@ -0,0 +1,102 @@
|
||||
static cmVS7FlagTable cmVS14LibFlagTable[] =
|
||||
{
|
||||
|
||||
//Enum Properties
|
||||
{"ErrorReporting", "ERRORREPORT:PROMPT",
|
||||
"PromptImmediately", "PromptImmediately", 0},
|
||||
{"ErrorReporting", "ERRORREPORT:QUEUE",
|
||||
"Queue For Next Login", "QueueForNextLogin", 0},
|
||||
{"ErrorReporting", "ERRORREPORT:SEND",
|
||||
"Send Error Report", "SendErrorReport", 0},
|
||||
{"ErrorReporting", "ERRORREPORT:NONE",
|
||||
"No Error Report", "NoErrorReport", 0},
|
||||
|
||||
{"TargetMachine", "MACHINE:ARM",
|
||||
"MachineARM", "MachineARM", 0},
|
||||
{"TargetMachine", "MACHINE:EBC",
|
||||
"MachineEBC", "MachineEBC", 0},
|
||||
{"TargetMachine", "MACHINE:IA64",
|
||||
"MachineIA64", "MachineIA64", 0},
|
||||
{"TargetMachine", "MACHINE:MIPS",
|
||||
"MachineMIPS", "MachineMIPS", 0},
|
||||
{"TargetMachine", "MACHINE:MIPS16",
|
||||
"MachineMIPS16", "MachineMIPS16", 0},
|
||||
{"TargetMachine", "MACHINE:MIPSFPU",
|
||||
"MachineMIPSFPU", "MachineMIPSFPU", 0},
|
||||
{"TargetMachine", "MACHINE:MIPSFPU16",
|
||||
"MachineMIPSFPU16", "MachineMIPSFPU16", 0},
|
||||
{"TargetMachine", "MACHINE:SH4",
|
||||
"MachineSH4", "MachineSH4", 0},
|
||||
{"TargetMachine", "MACHINE:THUMB",
|
||||
"MachineTHUMB", "MachineTHUMB", 0},
|
||||
{"TargetMachine", "MACHINE:X64",
|
||||
"MachineX64", "MachineX64", 0},
|
||||
{"TargetMachine", "MACHINE:X86",
|
||||
"MachineX86", "MachineX86", 0},
|
||||
|
||||
{"SubSystem", "SUBSYSTEM:CONSOLE",
|
||||
"Console", "Console", 0},
|
||||
{"SubSystem", "SUBSYSTEM:WINDOWS",
|
||||
"Windows", "Windows", 0},
|
||||
{"SubSystem", "SUBSYSTEM:NATIVE",
|
||||
"Native", "Native", 0},
|
||||
{"SubSystem", "SUBSYSTEM:EFI_APPLICATION",
|
||||
"EFI Application", "EFI Application", 0},
|
||||
{"SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER",
|
||||
"EFI Boot Service Driver", "EFI Boot Service Driver", 0},
|
||||
{"SubSystem", "SUBSYSTEM:EFI_ROM",
|
||||
"EFI ROM", "EFI ROM", 0},
|
||||
{"SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER",
|
||||
"EFI Runtime", "EFI Runtime", 0},
|
||||
{"SubSystem", "SUBSYSTEM:WINDOWSCE",
|
||||
"WindowsCE", "WindowsCE", 0},
|
||||
{"SubSystem", "SUBSYSTEM:POSIX",
|
||||
"POSIX", "POSIX", 0},
|
||||
|
||||
|
||||
//Bool Properties
|
||||
{"SuppressStartupBanner", "NOLOGO", "", "true", 0},
|
||||
{"IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0},
|
||||
{"TreatLibWarningAsErrors", "WX:NO", "", "false", 0},
|
||||
{"TreatLibWarningAsErrors", "WX", "", "true", 0},
|
||||
{"Verbose", "VERBOSE", "", "true", 0},
|
||||
{"LinkTimeCodeGeneration", "LTCG", "", "true", 0},
|
||||
|
||||
//Bool Properties With Argument
|
||||
|
||||
//String List Properties
|
||||
// Skip [AdditionalDependencies] - no command line Switch.
|
||||
{"AdditionalLibraryDirectories", "LIBPATH:",
|
||||
"Additional Library Directories",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"IgnoreSpecificDefaultLibraries", "NODEFAULTLIB:",
|
||||
"Ignore Specific Default Libraries",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"ExportNamedFunctions", "EXPORT:",
|
||||
"Export Named Functions",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"RemoveObjects", "REMOVE:",
|
||||
"Remove Objects",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
|
||||
//String Properties
|
||||
{"OutputFile", "OUT:",
|
||||
"Output File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"ModuleDefinitionFile", "DEF:",
|
||||
"Module Definition File Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"ForceSymbolReferences", "INCLUDE:",
|
||||
"Force Symbol References",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"DisplayLibrary", "LIST:",
|
||||
"Display Library to standard output",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [MinimumRequiredVersion] - no command line Switch.
|
||||
{"Name", "NAME:",
|
||||
"Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [AdditionalOptions] - no command line Switch.
|
||||
// Skip [TrackerLogDirectory] - no command line Switch.
|
||||
{0,0,0,0,0}
|
||||
};
|
340
Source/cmVS14LinkFlagTable.h
Normal file
340
Source/cmVS14LinkFlagTable.h
Normal file
@ -0,0 +1,340 @@
|
||||
static cmVS7FlagTable cmVS14LinkFlagTable[] =
|
||||
{
|
||||
|
||||
//Enum Properties
|
||||
{"ShowProgress", "",
|
||||
"Not Set", "NotSet", 0},
|
||||
{"ShowProgress", "VERBOSE",
|
||||
"Display all progress messages", "LinkVerbose", 0},
|
||||
{"ShowProgress", "VERBOSE:Lib",
|
||||
"For Libraries Searched", "LinkVerboseLib", 0},
|
||||
{"ShowProgress", "VERBOSE:ICF",
|
||||
"About COMDAT folding during optimized linking", "LinkVerboseICF", 0},
|
||||
{"ShowProgress", "VERBOSE:REF",
|
||||
"About data removed during optimized linking", "LinkVerboseREF", 0},
|
||||
{"ShowProgress", "VERBOSE:SAFESEH",
|
||||
"About Modules incompatible with SEH", "LinkVerboseSAFESEH", 0},
|
||||
{"ShowProgress", "VERBOSE:CLR",
|
||||
"About linker activity related to managed code", "LinkVerboseCLR", 0},
|
||||
|
||||
{"ForceFileOutput", "FORCE",
|
||||
"Enabled", "Enabled", 0},
|
||||
{"ForceFileOutput", "FORCE:MULTIPLE",
|
||||
"Multiply Defined Symbol Only", "MultiplyDefinedSymbolOnly", 0},
|
||||
{"ForceFileOutput", "FORCE:UNRESOLVED",
|
||||
"Undefined Symbol Only", "UndefinedSymbolOnly", 0},
|
||||
|
||||
{"CreateHotPatchableImage", "FUNCTIONPADMIN",
|
||||
"Enabled", "Enabled", 0},
|
||||
{"CreateHotPatchableImage", "FUNCTIONPADMIN:5",
|
||||
"X86 Image Only", "X86Image", 0},
|
||||
{"CreateHotPatchableImage", "FUNCTIONPADMIN:6",
|
||||
"X64 Image Only", "X64Image", 0},
|
||||
{"CreateHotPatchableImage", "FUNCTIONPADMIN:16",
|
||||
"Itanium Image Only", "ItaniumImage", 0},
|
||||
|
||||
{"UACExecutionLevel", "level='asInvoker'",
|
||||
"asInvoker", "AsInvoker", 0},
|
||||
{"UACExecutionLevel", "level='highestAvailable'",
|
||||
"highestAvailable", "HighestAvailable", 0},
|
||||
{"UACExecutionLevel", "level='requireAdministrator'",
|
||||
"requireAdministrator", "RequireAdministrator", 0},
|
||||
|
||||
{"SubSystem", "",
|
||||
"Not Set", "NotSet", 0},
|
||||
{"SubSystem", "SUBSYSTEM:CONSOLE",
|
||||
"Console", "Console", 0},
|
||||
{"SubSystem", "SUBSYSTEM:WINDOWS",
|
||||
"Windows", "Windows", 0},
|
||||
{"SubSystem", "SUBSYSTEM:NATIVE",
|
||||
"Native", "Native", 0},
|
||||
{"SubSystem", "SUBSYSTEM:EFI_APPLICATION",
|
||||
"EFI Application", "EFI Application", 0},
|
||||
{"SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER",
|
||||
"EFI Boot Service Driver", "EFI Boot Service Driver", 0},
|
||||
{"SubSystem", "SUBSYSTEM:EFI_ROM",
|
||||
"EFI ROM", "EFI ROM", 0},
|
||||
{"SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER",
|
||||
"EFI Runtime", "EFI Runtime", 0},
|
||||
{"SubSystem", "SUBSYSTEM:POSIX",
|
||||
"POSIX", "POSIX", 0},
|
||||
|
||||
{"Driver", "",
|
||||
"Not Set", "NotSet", 0},
|
||||
{"Driver", "Driver",
|
||||
"Driver", "Driver", 0},
|
||||
{"Driver", "DRIVER:UPONLY",
|
||||
"UP Only", "UpOnly", 0},
|
||||
{"Driver", "DRIVER:WDM",
|
||||
"WDM", "WDM", 0},
|
||||
|
||||
{"LinkTimeCodeGeneration", "",
|
||||
"Default", "Default", 0},
|
||||
{"LinkTimeCodeGeneration", "LTCG",
|
||||
"Use Link Time Code Generation", "UseLinkTimeCodeGeneration", 0},
|
||||
{"LinkTimeCodeGeneration", "LTCG:PGInstrument",
|
||||
"Profile Guided Optimization - Instrument", "PGInstrument", 0},
|
||||
{"LinkTimeCodeGeneration", "LTCG:PGOptimize",
|
||||
"Profile Guided Optimization - Optimization", "PGOptimization", 0},
|
||||
{"LinkTimeCodeGeneration", "LTCG:PGUpdate",
|
||||
"Profile Guided Optimization - Update", "PGUpdate", 0},
|
||||
|
||||
{"GenerateWindowsMetadata", "WINMD",
|
||||
"Yes", "true", 0},
|
||||
{"GenerateWindowsMetadata", "WINMD:NO",
|
||||
"No", "false", 0},
|
||||
|
||||
{"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA1",
|
||||
"SHA1", "SHA1", 0},
|
||||
{"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA256",
|
||||
"SHA256", "SHA256", 0},
|
||||
{"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA384",
|
||||
"SHA384", "SHA384", 0},
|
||||
{"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA512",
|
||||
"SHA512", "SHA512", 0},
|
||||
|
||||
{"TargetMachine", "",
|
||||
"Not Set", "NotSet", 0},
|
||||
{"TargetMachine", "MACHINE:ARM",
|
||||
"MachineARM", "MachineARM", 0},
|
||||
{"TargetMachine", "MACHINE:EBC",
|
||||
"MachineEBC", "MachineEBC", 0},
|
||||
{"TargetMachine", "MACHINE:IA64",
|
||||
"MachineIA64", "MachineIA64", 0},
|
||||
{"TargetMachine", "MACHINE:MIPS",
|
||||
"MachineMIPS", "MachineMIPS", 0},
|
||||
{"TargetMachine", "MACHINE:MIPS16",
|
||||
"MachineMIPS16", "MachineMIPS16", 0},
|
||||
{"TargetMachine", "MACHINE:MIPSFPU",
|
||||
"MachineMIPSFPU", "MachineMIPSFPU", 0},
|
||||
{"TargetMachine", "MACHINE:MIPSFPU16",
|
||||
"MachineMIPSFPU16", "MachineMIPSFPU16", 0},
|
||||
{"TargetMachine", "MACHINE:SH4",
|
||||
"MachineSH4", "MachineSH4", 0},
|
||||
{"TargetMachine", "MACHINE:THUMB",
|
||||
"MachineTHUMB", "MachineTHUMB", 0},
|
||||
{"TargetMachine", "MACHINE:X64",
|
||||
"MachineX64", "MachineX64", 0},
|
||||
{"TargetMachine", "MACHINE:X86",
|
||||
"MachineX86", "MachineX86", 0},
|
||||
|
||||
{"CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA",
|
||||
"MTA threading attribute", "MTAThreadingAttribute", 0},
|
||||
{"CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA",
|
||||
"STA threading attribute", "STAThreadingAttribute", 0},
|
||||
{"CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE",
|
||||
"Default threading attribute", "DefaultThreadingAttribute", 0},
|
||||
|
||||
{"CLRImageType", "CLRIMAGETYPE:IJW",
|
||||
"Force IJW image", "ForceIJWImage", 0},
|
||||
{"CLRImageType", "CLRIMAGETYPE:PURE",
|
||||
"Force Pure IL Image", "ForcePureILImage", 0},
|
||||
{"CLRImageType", "CLRIMAGETYPE:SAFE",
|
||||
"Force Safe IL Image", "ForceSafeILImage", 0},
|
||||
{"CLRImageType", "",
|
||||
"Default image type", "Default", 0},
|
||||
|
||||
{"SignHash", "CLRSIGNHASH:SHA1",
|
||||
"SHA1", "SHA1", 0},
|
||||
{"SignHash", "CLRSIGNHASH:SHA256",
|
||||
"SHA256", "SHA256", 0},
|
||||
{"SignHash", "CLRSIGNHASH:SHA384",
|
||||
"SHA384", "SHA384", 0},
|
||||
{"SignHash", "CLRSIGNHASH:SHA512",
|
||||
"SHA512", "SHA512", 0},
|
||||
|
||||
{"LinkErrorReporting", "ERRORREPORT:PROMPT",
|
||||
"PromptImmediately", "PromptImmediately", 0},
|
||||
{"LinkErrorReporting", "ERRORREPORT:QUEUE",
|
||||
"Queue For Next Login", "QueueForNextLogin", 0},
|
||||
{"LinkErrorReporting", "ERRORREPORT:SEND",
|
||||
"Send Error Report", "SendErrorReport", 0},
|
||||
{"LinkErrorReporting", "ERRORREPORT:NONE",
|
||||
"No Error Report", "NoErrorReport", 0},
|
||||
|
||||
{"CLRSupportLastError", "CLRSupportLastError",
|
||||
"Enabled", "Enabled", 0},
|
||||
{"CLRSupportLastError", "CLRSupportLastError:NO",
|
||||
"Disabled", "Disabled", 0},
|
||||
{"CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL",
|
||||
"System Dlls Only", "SystemDlls", 0},
|
||||
|
||||
|
||||
//Bool Properties
|
||||
{"LinkIncremental", "INCREMENTAL:NO", "", "false", 0},
|
||||
{"LinkIncremental", "INCREMENTAL", "", "true", 0},
|
||||
{"SuppressStartupBanner", "NOLOGO", "", "true", 0},
|
||||
{"LinkStatus", "LTCG:NOSTATUS", "", "false", 0},
|
||||
{"LinkStatus", "LTCG:STATUS", "", "true", 0},
|
||||
{"PreventDllBinding", "ALLOWBIND:NO", "", "false", 0},
|
||||
{"PreventDllBinding", "ALLOWBIND", "", "true", 0},
|
||||
{"TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0},
|
||||
{"TreatLinkerWarningAsErrors", "WX", "", "true", 0},
|
||||
{"IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0},
|
||||
{"GenerateManifest", "MANIFEST:NO", "", "false", 0},
|
||||
{"GenerateManifest", "MANIFEST", "", "true", 0},
|
||||
{"AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0},
|
||||
{"UACUIAccess", "uiAccess='false'", "", "false", 0},
|
||||
{"UACUIAccess", "uiAccess='true'", "", "true", 0},
|
||||
{"ManifestEmbed", "manifest:embed", "", "true", 0},
|
||||
{"GenerateDebugInformation", "DEBUG", "", "true", 0},
|
||||
{"MapExports", "MAPINFO:EXPORTS", "", "true", 0},
|
||||
{"AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0},
|
||||
{"AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0},
|
||||
{"LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0},
|
||||
{"LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0},
|
||||
{"TerminalServerAware", "TSAWARE:NO", "", "false", 0},
|
||||
{"TerminalServerAware", "TSAWARE", "", "true", 0},
|
||||
{"SwapRunFromCD", "SWAPRUN:CD", "", "true", 0},
|
||||
{"SwapRunFromNET", "SWAPRUN:NET", "", "true", 0},
|
||||
{"OptimizeReferences", "OPT:NOREF", "", "false", 0},
|
||||
{"OptimizeReferences", "OPT:REF", "", "true", 0},
|
||||
{"EnableCOMDATFolding", "OPT:NOICF", "", "false", 0},
|
||||
{"EnableCOMDATFolding", "OPT:ICF", "", "true", 0},
|
||||
{"IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0},
|
||||
{"AppContainer", "APPCONTAINER", "", "true", 0},
|
||||
{"WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN:NO", "", "false", 0},
|
||||
{"WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN", "", "true", 0},
|
||||
{"NoEntryPoint", "NOENTRY", "", "true", 0},
|
||||
{"SetChecksum", "RELEASE", "", "true", 0},
|
||||
{"RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0},
|
||||
{"RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0},
|
||||
{"FixedBaseAddress", "FIXED:NO", "", "false", 0},
|
||||
{"FixedBaseAddress", "FIXED", "", "true", 0},
|
||||
{"DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0},
|
||||
{"DataExecutionPrevention", "NXCOMPAT", "", "true", 0},
|
||||
{"TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0},
|
||||
{"SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0},
|
||||
{"SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0},
|
||||
{"Profile", "PROFILE", "", "true", 0},
|
||||
{"LinkDelaySign", "DELAYSIGN:NO", "", "false", 0},
|
||||
{"LinkDelaySign", "DELAYSIGN", "", "true", 0},
|
||||
{"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0},
|
||||
{"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0},
|
||||
{"DetectOneDefinitionRule", "ODR", "", "true", 0},
|
||||
{"ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0},
|
||||
{"ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0},
|
||||
{"LinkDLL", "DLL", "", "true", 0},
|
||||
|
||||
//Bool Properties With Argument
|
||||
{"EnableUAC", "MANIFESTUAC:NO", "", "false", 0},
|
||||
{"EnableUAC", "MANIFESTUAC:", "", "true",
|
||||
cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
|
||||
{"UACUIAccess", "MANIFESTUAC:", "Enable User Account Control (UAC)", "",
|
||||
cmVS7FlagTable::UserValueRequired},
|
||||
{"GenerateMapFile", "MAP", "", "true",
|
||||
cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
|
||||
{"MapFileName", "MAP:", "Generate Map File", "",
|
||||
cmVS7FlagTable::UserValueRequired},
|
||||
|
||||
//String List Properties
|
||||
{"AdditionalLibraryDirectories", "LIBPATH:",
|
||||
"Additional Library Directories",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
// Skip [AdditionalDependencies] - no command line Switch.
|
||||
{"IgnoreSpecificDefaultLibraries", "NODEFAULTLIB:",
|
||||
"Ignore Specific Default Libraries",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"AddModuleNamesToAssembly", "ASSEMBLYMODULE:",
|
||||
"Add Module to Assembly",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"EmbedManagedResourceFile", "ASSEMBLYRESOURCE:",
|
||||
"Embed Managed Resource File",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"ForceSymbolReferences", "INCLUDE:",
|
||||
"Force Symbol References",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"DelayLoadDLLs", "DELAYLOAD:",
|
||||
"Delay Loaded Dlls",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:",
|
||||
"Assembly Link Resource",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"AdditionalManifestDependencies", "MANIFESTDEPENDENCY:",
|
||||
"Additional Manifest Dependencies",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"ManifestInput", "manifestinput:",
|
||||
"Manifest Input",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
|
||||
//String Properties
|
||||
{"OutputFile", "OUT:",
|
||||
"Output File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"Version", "VERSION:",
|
||||
"Version",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"SpecifySectionAttributes", "SECTION:",
|
||||
"Specify Section Attributes",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"MSDOSStubFileName", "STUB:",
|
||||
"MS-DOS Stub File Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [TrackerLogDirectory] - no command line Switch.
|
||||
{"ModuleDefinitionFile", "DEF:",
|
||||
"Module Definition File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"ManifestFile", "ManifestFile:",
|
||||
"Manifest File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"ProgramDatabaseFile", "PDB:",
|
||||
"Generate Program Database File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"StripPrivateSymbols", "PDBSTRIPPED:",
|
||||
"Strip Private Symbols",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [MapFileName] - no command line Switch.
|
||||
// Skip [MinimumRequiredVersion] - no command line Switch.
|
||||
{"HeapReserveSize", "HEAP:",
|
||||
"Heap Reserve Size",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [HeapCommitSize] - no command line Switch.
|
||||
{"StackReserveSize", "STACK:",
|
||||
"Stack Reserve Size",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [StackCommitSize] - no command line Switch.
|
||||
{"FunctionOrder", "ORDER:@",
|
||||
"Function Order",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"ProfileGuidedDatabase", "PGD:",
|
||||
"Profile Guided Database",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"MidlCommandFile", "MIDL:@",
|
||||
"MIDL Commands",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"MergedIDLBaseFileName", "IDLOUT:",
|
||||
"Merged IDL Base File Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"TypeLibraryFile", "TLBOUT:",
|
||||
"Type Library",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"WindowsMetadataFile", "WINMDFILE:",
|
||||
"Windows Metadata File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"WindowsMetadataLinkKeyFile", "WINMDKEYFILE:",
|
||||
"Windows Metadata Key File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"WindowsMetadataKeyContainer", "WINMDKEYCONTAINER:",
|
||||
"Windows Metadata Key Container",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"EntryPointSymbol", "ENTRY:",
|
||||
"Entry Point",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"BaseAddress", "BASE:",
|
||||
"Base Address",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"ImportLibrary", "IMPLIB:",
|
||||
"Import Library",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"MergeSections", "MERGE:",
|
||||
"Merge Sections",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"LinkKeyFile", "KEYFILE:",
|
||||
"Key File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"KeyContainer", "KEYCONTAINER:",
|
||||
"Key Container",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [AdditionalOptions] - no command line Switch.
|
||||
{0,0,0,0,0}
|
||||
};
|
@ -29,6 +29,9 @@
|
||||
#include "cmVS12CLFlagTable.h"
|
||||
#include "cmVS12LinkFlagTable.h"
|
||||
#include "cmVS12LibFlagTable.h"
|
||||
#include "cmVS14CLFlagTable.h"
|
||||
#include "cmVS14LinkFlagTable.h"
|
||||
#include "cmVS14LibFlagTable.h"
|
||||
|
||||
#include <cmsys/auto_ptr.hxx>
|
||||
|
||||
@ -36,7 +39,9 @@ cmIDEFlagTable const* cmVisualStudio10TargetGenerator::GetClFlagTable() const
|
||||
{
|
||||
cmLocalVisualStudioGenerator::VSVersion
|
||||
v = this->LocalGenerator->GetVersion();
|
||||
if(v >= cmLocalVisualStudioGenerator::VS12)
|
||||
if(v >= cmLocalVisualStudioGenerator::VS14)
|
||||
{ return cmVS14CLFlagTable; }
|
||||
else if(v >= cmLocalVisualStudioGenerator::VS12)
|
||||
{ return cmVS12CLFlagTable; }
|
||||
else if(v == cmLocalVisualStudioGenerator::VS11)
|
||||
{ return cmVS11CLFlagTable; }
|
||||
@ -48,7 +53,9 @@ cmIDEFlagTable const* cmVisualStudio10TargetGenerator::GetLibFlagTable() const
|
||||
{
|
||||
cmLocalVisualStudioGenerator::VSVersion
|
||||
v = this->LocalGenerator->GetVersion();
|
||||
if(v >= cmLocalVisualStudioGenerator::VS12)
|
||||
if(v >= cmLocalVisualStudioGenerator::VS14)
|
||||
{ return cmVS14LibFlagTable; }
|
||||
else if(v >= cmLocalVisualStudioGenerator::VS12)
|
||||
{ return cmVS12LibFlagTable; }
|
||||
else if(v == cmLocalVisualStudioGenerator::VS11)
|
||||
{ return cmVS11LibFlagTable; }
|
||||
@ -60,7 +67,9 @@ cmIDEFlagTable const* cmVisualStudio10TargetGenerator::GetLinkFlagTable() const
|
||||
{
|
||||
cmLocalVisualStudioGenerator::VSVersion
|
||||
v = this->LocalGenerator->GetVersion();
|
||||
if(v >= cmLocalVisualStudioGenerator::VS12)
|
||||
if(v >= cmLocalVisualStudioGenerator::VS14)
|
||||
{ return cmVS14LinkFlagTable; }
|
||||
else if(v >= cmLocalVisualStudioGenerator::VS12)
|
||||
{ return cmVS12LinkFlagTable; }
|
||||
else if(v == cmLocalVisualStudioGenerator::VS11)
|
||||
{ return cmVS11LinkFlagTable; }
|
||||
|
@ -68,6 +68,7 @@ void cmVisualStudioGeneratorOptions::FixExceptionHandlingDefault()
|
||||
case cmLocalVisualStudioGenerator::VS10:
|
||||
case cmLocalVisualStudioGenerator::VS11:
|
||||
case cmLocalVisualStudioGenerator::VS12:
|
||||
case cmLocalVisualStudioGenerator::VS14:
|
||||
// by default VS puts <ExceptionHandling></ExceptionHandling> empty
|
||||
// for a project, to make our projects look the same put a new line
|
||||
// and space over for the closing </ExceptionHandling> as the default
|
||||
|
@ -58,6 +58,7 @@
|
||||
# include "cmGlobalVisualStudio10Generator.h"
|
||||
# include "cmGlobalVisualStudio11Generator.h"
|
||||
# include "cmGlobalVisualStudio12Generator.h"
|
||||
# include "cmGlobalVisualStudio14Generator.h"
|
||||
# include "cmGlobalBorlandMakefileGenerator.h"
|
||||
# include "cmGlobalNMakeMakefileGenerator.h"
|
||||
# include "cmGlobalJOMMakefileGenerator.h"
|
||||
@ -1380,6 +1381,7 @@ int cmake::ActualConfigure()
|
||||
{"10.0", "Visual Studio 10 2010"},
|
||||
{"11.0", "Visual Studio 11 2012"},
|
||||
{"12.0", "Visual Studio 12 2013"},
|
||||
{"14.0", "Visual Studio 14"},
|
||||
{0, 0}};
|
||||
for(int i=0; version[i].MSVersion != 0; i++)
|
||||
{
|
||||
@ -1778,6 +1780,8 @@ void cmake::AddDefaultGenerators()
|
||||
cmGlobalVisualStudio11Generator::NewFactory());
|
||||
this->Generators.push_back(
|
||||
cmGlobalVisualStudio12Generator::NewFactory());
|
||||
this->Generators.push_back(
|
||||
cmGlobalVisualStudio14Generator::NewFactory());
|
||||
this->Generators.push_back(
|
||||
cmGlobalVisualStudio71Generator::NewFactory());
|
||||
this->Generators.push_back(
|
||||
|
@ -12,6 +12,9 @@
|
||||
# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/v120/1033/cl.xml"
|
||||
# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/v120/1033/lib.xml"
|
||||
# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/v120/1033/link.xml"
|
||||
# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/V140/1033/cl.xml"
|
||||
# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/V140/1033/lib.xml"
|
||||
# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/V140/1033/link.xml"
|
||||
#
|
||||
# BoolProperty <Name>true|false</Name>
|
||||
# simple example:
|
||||
|
@ -40,6 +40,9 @@ endif()
|
||||
if(DEFINED MSVC12)
|
||||
math(EXPR msvc_total "${msvc_total} + 1")
|
||||
endif()
|
||||
if(DEFINED MSVC14)
|
||||
math(EXPR msvc_total "${msvc_total} + 1")
|
||||
endif()
|
||||
|
||||
echo_var(MSVC)
|
||||
echo_var(MSVC60)
|
||||
@ -50,6 +53,7 @@ echo_var(MSVC90)
|
||||
echo_var(MSVC10)
|
||||
echo_var(MSVC11)
|
||||
echo_var(MSVC12)
|
||||
echo_var(MSVC14)
|
||||
echo_var(MSVC_IDE)
|
||||
|
||||
if(MSVC)
|
||||
|
@ -8,10 +8,6 @@ include (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
|
||||
CHECK_TYPE_SIZE(char SIZEOF_CHAR)
|
||||
CHECK_TYPE_SIZE(short SIZEOF_SHORT)
|
||||
|
||||
include (CheckFunctionExists)
|
||||
CHECK_FUNCTION_EXISTS(printf HAVE_PRINTF)
|
||||
CHECK_FUNCTION_EXISTS(vsblabla HAVE_VSBLABLA)
|
||||
|
||||
configure_file(${LoadCommand_SOURCE_DIR}/LoadedCommand.h.in
|
||||
${LoadCommand_BINARY_DIR}/LoadedCommand.h)
|
||||
|
||||
|
@ -9,15 +9,6 @@ int testSizeOf(int s1, int s2)
|
||||
int main ()
|
||||
{
|
||||
int ret = 0;
|
||||
#ifdef HAVE_VSBLABLA
|
||||
printf("Should not be able to find vsblabla\n");
|
||||
ret = 1;
|
||||
#endif
|
||||
|
||||
#if !defined( HAVE_PRINTF )
|
||||
printf("Should be able to find printf\n");
|
||||
ret= 1;
|
||||
#endif
|
||||
|
||||
#if !defined( ADDED_DEFINITION )
|
||||
printf("Should have ADDED_DEFINITION defined\n");
|
||||
|
@ -1,7 +1,3 @@
|
||||
/* Check for size of types */
|
||||
#cmakedefine SIZEOF_CHAR ${SIZEOF_CHAR}
|
||||
#cmakedefine SIZEOF_SHORT ${SIZEOF_SHORT}
|
||||
|
||||
/* Check for functions */
|
||||
#cmakedefine HAVE_PRINTF
|
||||
#cmakedefine HAVE_VSBLABLA
|
||||
|
@ -8,10 +8,6 @@ include (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
|
||||
CHECK_TYPE_SIZE(char SIZEOF_CHAR)
|
||||
CHECK_TYPE_SIZE(short SIZEOF_SHORT)
|
||||
|
||||
include (CheckFunctionExists)
|
||||
CHECK_FUNCTION_EXISTS(printf HAVE_PRINTF)
|
||||
CHECK_FUNCTION_EXISTS(vsblabla HAVE_VSBLABLA)
|
||||
|
||||
include (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
|
||||
CHECK_INCLUDE_FILE("sys/prctl.h" HAVE_SYS_PRCTL_H)
|
||||
|
||||
|
@ -9,15 +9,6 @@ int testSizeOf(int s1, int s2)
|
||||
int main ()
|
||||
{
|
||||
int ret = 0;
|
||||
#ifdef HAVE_VSBLABLA
|
||||
printf("Should not be able to find vsblabla\n");
|
||||
ret = 1;
|
||||
#endif
|
||||
|
||||
#if !defined( HAVE_PRINTF )
|
||||
printf("Should be able to find printf\n");
|
||||
ret= 1;
|
||||
#endif
|
||||
|
||||
#if !defined( ADDED_DEFINITION )
|
||||
printf("Should have ADDED_DEFINITION defined\n");
|
||||
|
@ -2,10 +2,6 @@
|
||||
#cmakedefine SIZEOF_CHAR ${SIZEOF_CHAR}
|
||||
#cmakedefine SIZEOF_SHORT ${SIZEOF_SHORT}
|
||||
|
||||
/* Check for functions */
|
||||
#cmakedefine HAVE_PRINTF
|
||||
#cmakedefine HAVE_VSBLABLA
|
||||
|
||||
/* Check for headers */
|
||||
#cmakedefine HAVE_SYS_PRCTL_H
|
||||
|
||||
|
@ -34,15 +34,6 @@ endif()
|
||||
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
|
||||
set(PP_VS 1)
|
||||
endif()
|
||||
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 10")
|
||||
set(PP_VS100 1)
|
||||
endif()
|
||||
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 11")
|
||||
set(PP_VS110 1)
|
||||
endif()
|
||||
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 12")
|
||||
set(PP_VS120 1)
|
||||
endif()
|
||||
|
||||
# Some tests below check the PP_* variables set above. They are meant
|
||||
# to test the case that the build tool is at fault. Other tests below
|
||||
|
@ -3,7 +3,7 @@ include(RunCMake)
|
||||
set(RunCMake_GENERATOR_TOOLSET "")
|
||||
run_cmake(NoToolset)
|
||||
|
||||
if("${RunCMake_GENERATOR}" MATCHES "Visual Studio 1[012]|Xcode" AND NOT XCODE_BELOW_3)
|
||||
if("${RunCMake_GENERATOR}" MATCHES "Visual Studio 1[0124]|Xcode" AND NOT XCODE_BELOW_3)
|
||||
set(RunCMake_GENERATOR_TOOLSET "Test Toolset")
|
||||
run_cmake(TestToolset)
|
||||
else()
|
||||
@ -17,7 +17,7 @@ set(RunCMake_TEST_OPTIONS -T "Extra Toolset")
|
||||
run_cmake(TwoToolsets)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
||||
if("${RunCMake_GENERATOR}" MATCHES "Visual Studio 1[012]|Xcode" AND NOT XCODE_BELOW_3)
|
||||
if("${RunCMake_GENERATOR}" MATCHES "Visual Studio 1[0124]|Xcode" AND NOT XCODE_BELOW_3)
|
||||
set(RunCMake_TEST_OPTIONS -DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/TestToolset-toolchain.cmake)
|
||||
run_cmake(TestToolsetToolchain)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
|
@ -6,7 +6,7 @@ if(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
|
||||
else()
|
||||
set(PROJECT_EXT vcproj)
|
||||
endif()
|
||||
if(${CMAKE_GENERATOR} MATCHES "Visual Studio 1[012]")
|
||||
if(${CMAKE_GENERATOR} MATCHES "Visual Studio 1[0124]")
|
||||
set(PROJECT_EXT vcxproj)
|
||||
endif()
|
||||
|
||||
@ -54,7 +54,7 @@ add_dependencies(VSExternalInclude lib2)
|
||||
# and the sln file can no longer be the only source
|
||||
# of that depend. So, for VS 10 make the executable
|
||||
# depend on lib1 and lib2
|
||||
if(${CMAKE_GENERATOR} MATCHES "Visual Studio 1[012]")
|
||||
if(${CMAKE_GENERATOR} MATCHES "Visual Studio 1[0124]")
|
||||
add_dependencies(VSExternalInclude lib1)
|
||||
endif()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user