saker.msvc Documentation TaskDoc JavaDoc Packages
  1. saker.msvc
  2. Examples
  3. Macro definitions

Macro definitions

The saker.msvc.ccompile() task allows you to add macro preprocessor definitions to the compiled files. This corresponds to the /D parameter of cl.exe:

saker.msvc.ccompile([
	{
		Files: src/**/*.cpp,
		MacroDefinitions: {
			MY_MACRO: 123
		}
	},
	{
		Files: src/**/*.c,
		MacroDefinitions: {
			MY_MACRO: 456
		}
	}
])

In the above all C++ files will have the MY_MACRO with the value 123 defined for them, while for C files the MY_MACRO will have the 456 value.

To define a macro without any value, use the following:

saker.msvc.ccompile(
	{
		Files: src/**/*.cpp,
		MacroDefinitions: {
			MY_MACRO: ""
		}
	}
)

This way the actual argument passed to the cl.exe is /DMY_MACRO.