Skip to content

Instantly share code, notes, and snippets.

@juntalis
Created January 14, 2013 18:06
Show Gist options
  • Select an option

  • Save juntalis/4531985 to your computer and use it in GitHub Desktop.

Select an option

Save juntalis/4531985 to your computer and use it in GitHub Desktop.
Stuff
class AdditionalIncludeDirectories(StringListProperty):
"""Specifies one or more directories to add to the include path; separate with semi-colons if more than one. (/I[path])"""
category = "General"
display_name = "Additional Include Directories"
subtype = "folder"
switch = "I"
class AdditionalUsingDirectories(StringListProperty):
"""Specifies one or more directories (separate directory names with a semicolon) to be searched to resolve names passed to a #using directive. (/AI[path])"""
category = "General"
display_name = "Resolve #using References"
subtype = "folder"
switch = "AI"
class DebugInformationFormat(EnumProperty):
"""Specifies the type of debugging information generated by the compiler. You must also change linker settings appropriately to match. (/Z7, Zd, /Zi, /ZI)"""
category = "General"
display_name = "Debug Information Format"
class CompileAsManaged(EnumProperty):
"""Use the .NET runtime service. This switch is incompatible with some other switches; see the documentation on the /clr family of switches for details."""
category = "General"
display_name = "Common Language RunTime Support"
class SuppressStartupBanner(BoolProperty):
"""Suppresses the display of the sign-on banner when the compiler starts up and display of informational messages during compiling."""
category = "General"
display_name = "Suppress Startup Banner"
switch = "nologo"
reverse_switch = "nologo-"
class WarningLevel(EnumProperty):
"""Select how strict you want the compiler to be about code errors. (/W0 - /W4)"""
category = "General"
display_name = "Warning Level"
class TreatWarningAsError(BoolProperty):
"""Treats all compiler warnings as errors. For a new project, it may be best to use /WX in all compilations; resolving all warnings will ensure the fewest possible hard-to-find code defects."""
category = "General"
display_name = "Treat Warnings As Errors"
switch = "WX"
reverse_switch = "WX-"
class TrackerLogDirectory(StringProperty):
"""Tracker Log Directory."""
category = "General"
display_name = "Tracker Log Directory"
visible = "false"
subtype = "folder"
class MultiProcessorCompilation(BoolProperty):
"""Multi-processor Compilation"""
category = "General"
display_name = "Multi-processor Compilation"
switch = "MP"
class ProcessorNumber(IntProperty):
"""Number of processors."""
category = "General"
display_name = "Number of processors"
visible = "false"
class Optimization(EnumProperty):
"""Select option for code optimization; choose Custom to use specific optimization options. (/Od, /O1, /O2, /Ox)"""
category = "Optimization"
display_name = "Optimization"
class InlineFunctionExpansion(EnumProperty):
"""Select the level of inline function expansion for the build. (/Ob1, /Ob2)"""
category = "Optimization"
display_name = "Inline Function Expansion"
class IntrinsicFunctions(BoolProperty):
"""Enables intrinsic functions. Using intrinsic functions generates faster, but possibly larger, code. (/Oi)"""
category = "Optimization"
display_name = "Enable Intrinsic Functions"
switch = "Oi"
class FavorSizeOrSpeed(EnumProperty):
"""Whether to favor code size or code speed; 'Global Optimization' must be turned on. (/Ot, /Os)"""
category = "Optimization"
display_name = "Favor Size Or Speed"
class OmitFramePointers(BoolProperty):
"""Suppresses creation of frame pointers on the call stack."""
category = "Optimization"
display_name = "Omit Frame Pointers"
switch = "Oy"
reverse_switch = "Oy-"
class EnableFiberSafeOptimizations(BoolProperty):
"""Enables memory space optimization when using fibers and thread local storage access. (/GT)"""
category = "Optimization"
display_name = "Enable Fiber-Safe Optimizations"
switch = "GT"
class WholeProgramOptimization(BoolProperty):
"""Enables cross-module optimizations by delaying code generation to link time; requires that linker option 'Link Time Code Generation' be turned on. (/GL)"""
category = "Optimization"
display_name = "Whole Program Optimization"
switch = "GL"
class PreprocessorDefinitions(StringListProperty):
"""Defines a preprocessing symbols for your source file."""
category = "Preprocessor"
display_name = "Preprocessor Definitions"
switch = "D "
class UndefinePreprocessorDefinitions(StringListProperty):
"""Specifies one or more preprocessor undefines. (/U[macro])"""
category = "Preprocessor"
display_name = "Undefine Preprocessor Definitions"
switch = "U"
class UndefineAllPreprocessorDefinitions(BoolProperty):
"""Undefine all previously defined preprocessor values. (/u)"""
category = "Preprocessor"
display_name = "Undefine All Preprocessor Definitions"
switch = "u"
class IgnoreStandardIncludePath(BoolProperty):
"""Prevents the compiler from searching for include files in directories specified in the INCLUDE environment variables."""
category = "Preprocessor"
display_name = "Ignore Standard Include Paths"
switch = "X"
class PreprocessToFile(BoolProperty):
"""Preprocesses C and C++ source files and writes the preprocessed output to a file. This option suppresses compilation, thus it does not produce an .obj file."""
category = "Preprocessor"
display_name = "Preprocess to a File"
switch = "P"
class PreprocessOutputPath(StringProperty):
"""Specify the output path for the preprocesser. The default location is the same as the source file(s)."""
category = "Preprocessor"
display_name = "Preprocess Output Path"
visible = "false"
switch = "Fi"
class PreprocessSuppressLineNumbers(BoolProperty):
"""Preprocess without #line directives."""
category = "Preprocessor"
display_name = "Preprocess Suppress Line Numbers"
switch = "EP"
class PreprocessKeepComments(BoolProperty):
"""Suppresses comment strip from source code; requires that one of the 'Preprocessing' options be set. (/C)"""
category = "Preprocessor"
display_name = "Keep Comments"
switch = "C"
class StringPooling(BoolProperty):
"""Enables the compiler to create a single read-only copy of identical strings in the program image and in memory during execution, resulting in smaller programs, an optimization called string pooling. /O1, /O2, and /ZI automatically set /GF option. """
category = "Code Generation"
display_name = "Enable String Pooling"
switch = "GF"
reverse_switch = "GF-"
class MinimalRebuild(BoolProperty):
"""Enables minimal rebuild, which determines whether C++ source files that include changed C++ class definitions (stored in header (.h) files) need to be recompiled."""
category = "Code Generation"
display_name = "Enable Minimal Rebuild"
switch = "Gm"
reverse_switch = "Gm-"
class ExceptionHandling(EnumProperty):
"""Specifies the model of exception handling to be used by the compiler."""
category = "Code Generation"
display_name = "Enable C++ Exceptions"
class SmallerTypeCheck(BoolProperty):
"""Enable checking for conversion to smaller types, incompatible with any optimization type other than debug. (/RTCc)"""
category = "Code Generation"
display_name = "Smaller Type Check"
switch = "RTCc"
class BasicRuntimeChecks(EnumProperty):
"""Perform basic runtime error checks, incompatible with any optimization type other than debug. (/RTCs, /RTCu, /RTC1)"""
category = "Code Generation"
display_name = "Basic Runtime Checks"
class RuntimeLibrary(EnumProperty):
"""Specify runtime library for linking. (/MT, /MTd, /MD, /MDd)"""
category = "Code Generation"
display_name = "Runtime Library"
class StructMemberAlignment(EnumProperty):
"""Specifies 1, 2, 4, or 8-byte boundaries for struct member alignment. (/Zp[num])"""
category = "Code Generation"
display_name = "Struct Member Alignment"
class BufferSecurityCheck(BoolProperty):
"""Check for buffer overruns; useful for closing hackable loopholes on internet servers. The default is enabled. (/GS-)"""
category = "Code Generation"
display_name = "Buffer Security Check"
switch = "GS"
reverse_switch = "GS-"
class FunctionLevelLinking(BoolProperty):
"""Allows the compiler to package individual functions in the form of packaged functions (COMDATs). Required for edit and continue to work. (/Gy)"""
category = "Code Generation"
display_name = "Enable Function-Level Linking"
switch = "Gy"
reverse_switch = "Gy-"
class EnableEnhancedInstructionSet(EnumProperty):
"""Enable use of instructions found on processors that support enhanced instruction sets, e.g., the SSE and SSE2 enhancements to the IA-32. Currently only available when building for the x86 architecture. (/arch:SSE, /arch:SSE2)"""
category = "Code Generation"
display_name = "Enable Enhanced Instruction Set"
class FloatingPointModel(EnumProperty):
"""Sets the floating point model. (/fp:precise, /fp:strict, /fp:fast)"""
category = "Code Generation"
display_name = "Floating Point Model"
class FloatingPointExceptions(BoolProperty):
"""Reliable floating-point exception model. Exceptions will be raised immediately after they are triggered. (/fp:except)"""
category = "Code Generation"
display_name = "Enable Floating Point Exceptions"
switch = "fp:except"
reverse_switch = "fp:except-"
class CreateHotpatchableImage(BoolProperty):
"""When hotpatching is on, the compiler ensures that first instruction of each function is two bytes, which is required for hot patching. (/hotpatch)"""
category = "Code Generation"
display_name = "Create Hotpatchable Image"
switch = "hotpatch"
class DisableLanguageExtensions(BoolProperty):
"""Suppresses or enables language extensions. (/Za)"""
category = "Language"
display_name = "Disable Language Extensions"
switch = "Za"
class TreatWChar_tAsBuiltInType(BoolProperty):
"""When specified, the type wchar_t becomes a native type that maps to __wchar_t in the same way that short maps to __int16. /Zc:wchar_t is on by default."""
category = "Language"
display_name = "Treat WChar_t As Built in Type"
switch = "Zc:wchar_t"
reverse_switch = "Zc:wchar_t-"
class ForceConformanceInForLoopScope(BoolProperty):
"""Used to implement standard C++ behavior for the for statement loops with Microsoft extensions (/Za, /Ze (Disable Language Extensions)). /Zc:forScope is on by default."""
category = "Language"
display_name = "Force Conformance in For Loop Scope"
switch = "Zc:forScope"
reverse_switch = "Zc:forScope-"
class RuntimeTypeInfo(BoolProperty):
"""Adds code for checking C++ object types at run time (runtime type information). (/GR, /GR-)"""
category = "Language"
display_name = "Enable Run-Time Type Information"
switch = "GR"
reverse_switch = "GR-"
class OpenMPSupport(BoolProperty):
"""Enable OpenMP 2.0 language extensions. (/openmp)"""
category = "Language"
display_name = "Open MP Support"
switch = "openmp"
reverse_switch = "openmp-"
class PrecompiledHeader(EnumProperty):
"""Create/Use Precompiled Header : Enables creation or use of a precompiled header during the build. (/Yc, /Yu)"""
category = "Precompiled Headers"
display_name = "Precompiled Header"
class PrecompiledHeaderFile(StringProperty):
"""Specifies header file name to use when creating or using a precompiled header file. (/Yc[name], /Yu[name])"""
category = "Precompiled Headers"
display_name = "Precompiled Header File"
subtype = "file"
class PrecompiledHeaderOutputFile(StringProperty):
"""Specifies the path and/or name of the generated precompiled header file. (/Fp[name])"""
category = "Precompiled Headers"
display_name = "Precompiled Header Output File"
subtype = "file"
switch = "Fp"
class ExpandAttributedSource(BoolProperty):
"""Create listing file with expanded attributes injected into source file. (/Fx)"""
category = "Output Files"
display_name = "Expand Attributed Source"
switch = "Fx"
class AssemblerOutput(EnumProperty):
"""Specifies the contents of assembly language output file. (/FA, /FAc, /FAs, /FAcs)"""
category = "Output Files"
display_name = "Assembler Output"
class AssemblerListingLocation(StringProperty):
"""Specifies relative path and/or name for ASM listing file; can be file or directory name. (/Fa[name])"""
category = "Output Files"
display_name = "ASM List Location"
subtype = "file"
switch = "Fa"
class ObjectFileName(StringProperty):
"""Specifies a name to override the default object file name; can be file or directory name. (/Fo[name])"""
category = "Output Files"
display_name = "Object File Name"
subtype = "file"
switch = "Fo"
class ProgramDataBaseFileName(StringProperty):
"""Specifies a name for a compiler-generated PDB file; also specifies base name for the required compiler-generated IDB file; can be file or directory name. (/Fd[name])"""
category = "Output Files"
display_name = "Program Database File Name"
subtype = "file"
switch = "Fd"
class GenerateXMLDocumentationFiles(BoolProperty):
"""Specifies that the compiler should generate XML documentation comment files (.XDC). (/doc)"""
category = "Output Files"
display_name = "Generate XML Documentation Files"
switch = "doc"
class XMLDocumentationFileName(StringProperty):
"""Specifies the name of the generated XML documentation files; can be file or directory name. (/doc[name])"""
category = "Output Files"
display_name = "XML Documentation File Name"
subtype = "file"
class BrowseInformation(BoolProperty):
"""Enable Browse Information : Specifies level of browse information in .bsc file. (/FR)"""
category = "Browse Information"
display_name = "Enable Browse Information"
switch = "FR"
class BrowseInformationFile(StringProperty):
"""Browse File : Specifies optional name for browser information file. (/FR[name])"""
category = "Browse Information"
display_name = "Browse Information File"
subtype = "file"
class CallingConvention(EnumProperty):
"""Select the default calling convention for your application (can be overridden by function). (/Gd, /Gr, /Gz)"""
category = "Advanced"
display_name = "Calling Convention"
class CompileAs(EnumProperty):
"""Select compile language option for .c and .cpp files. (/TC, /TP)"""
category = "Advanced"
display_name = "Compile As"
class DisableSpecificWarnings(StringListProperty):
"""Disable the desired warning numbers; put numbers in a semi-colon delimited list. (/wd[num])"""
category = "Advanced"
display_name = "Disable Specific Warnings"
switch = "wd"
class ForcedIncludeFiles(StringListProperty):
"""one or more forced include files. (/FI[name])"""
category = "Advanced"
display_name = "Forced Include File"
subtype = "file"
switch = "FI"
class ForcedUsingFiles(StringListProperty):
"""Specifies one or more forced #using files. (/FU[name])"""
category = "Advanced"
display_name = "Forced #using File"
subtype = "file"
switch = "FU"
class ShowIncludes(BoolProperty):
"""Generates a list of include files with compiler output. (/showIncludes)"""
category = "Advanced"
display_name = "Show Includes"
switch = "showIncludes"
class EnablePREfast(BoolProperty):
"""Enables code analysis functionality that identifies common coding defects in C/C++ code. (/analyze)"""
category = "Advanced"
display_name = "Enable Code Analysis"
visible = "false"
switch = "analyze"
reverse_switch = "analyze-"
class UseFullPaths(BoolProperty):
"""Use full paths in diagnostic messages. (/FC)"""
category = "Advanced"
display_name = "Use Full Paths"
switch = "FC"
class OmitDefaultLibName(BoolProperty):
"""Do not include default library names in .obj files. (/Zl)"""
category = "Advanced"
display_name = "Omit Default Library Name"
switch = "Zl"
class ErrorReporting(EnumProperty):
"""Specifies how internal tool errors should be reported back to Microsoft. The default in the IDE is prompt. The default from command line builds is queue. (/errorReport:[method])"""
category = "Advanced"
display_name = "Internal Compiler Error Reporting"
class TreatSpecificWarningsAsErrors(StringListProperty):
"""Treats the specific compiler warning as an error where n is a compiler warning."""
category = "Advanced"
display_name = "Treat Specific Warnings As Errors"
switch = "we"
class UseUnicodeForAssemblerListing(BoolProperty):
"""Causes the output file to be created in UTF-8 format. """
switch = "FAu"
display_name = "Use Unicode For Assembler Listing"
class AdditionalOptions(StringProperty):
"""Additional Options"""
category = "Command Line"
display_name = "Additional Options"
class BuildingInIDE(BoolProperty):
""" Rule property representing a boolean value. """
visible = "false"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment