# -------------------------------------
# Windows Console
# - Console Virtual Terminal Parser Fuzzer
# -------------------------------------

!include ..\..\..\..\..\vcpkg\consume.inc

# This program will generate fuzz input for the parsing engine
# and is to be used in conjunction with the fuzz wrapper tool.

# -------------------------------------
# Program Information
# -------------------------------------

TARGETNAME              = VTCommandFuzzer
TARGETTYPE              = PROGRAM
UMTYPE                  = console
UMENTRY                 = wmain
TARGET_DESTINATION      = UnitTests
DLLDEF                  =

TEST_CODE               = 1

# -------------------------------------
# CRT Configuration
# -------------------------------------

USE_UNICRT              = 1
USE_MSVCRT              = 1
NO_WCHAR_T              = 1 # use native wchar_t
USE_CXX17_STD_BYTE      = 1 # Windows disables std::byte by default...

USE_STL                 = 1
STL_VER                 = STL_VER_CURRENT
USE_NATIVE_EH           = 1

BUILD_FOR_CORESYSTEM    = 1

# -------------------------------------
# Preprocessor Settings
# -------------------------------------

UNICODE                 = 1
C_DEFINES               = $(C_DEFINES) -DUNICODE -D_UNICODE

# -------------------------------------
# Compiler Settings
# -------------------------------------

USE_STD_CPP20           = 1
MSC_WARNING_LEVEL       = /W4 /WX
USER_C_FLAGS            = $(USER_C_FLAGS) /Zc:preprocessor /fp:contract /utf-8

# -------------------------------------
# Build System Settings
# -------------------------------------

# Code in the OneCore depot automatically excludes default Win32 libraries.

CONSOLE_SRC_PATH        = $(PROJECT_ROOT)\core\console\open\src

# -------------------------------------
# Sources, Headers, and Libraries
# -------------------------------------
PRECOMPILED_CXX         =   1
PRECOMPILED_INCLUDE     =   stdafx.h

SOURCES = \
    VTCommandFuzzer.cpp \

INCLUDES = \
    ..\..\..\inc; \
    $(CONSOLE_SRC_PATH)\..\oss\chromium; \
    $(CONSOLE_SRC_PATH)\..\oss\interval_tree; \
    $(INCLUDES) \

TARGETLIBS = \
    $(TARGETLIBS) \
    $(ONECORE_EXTERNAL_SDK_LIB_VPATH_L)\onecore.lib \
    $(ONECORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\onecore_internal.lib \
