saker.msvc Documentation TaskDoc JavaDoc

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.