REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4389 * Add gmock support to GoogleTestLib * Add FunctionMockLib library class and library instance * Add GoogleTest extension to GoogleTestLib.h for CHAR16 type * Add GoogleTest extension to GoogleTestLib.h for buffer types * HOST_APPLICATION only supports IA32/X64 Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Chris Johnson <chris.n.johnson@intel.com> Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Oliver Smith-Denny <osde@linux.microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
		
			
				
	
	
		
			72 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
## @file
 | 
						|
# UnitTestFrameworkPkg DSC include file for host based test DSC
 | 
						|
#
 | 
						|
# Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
 | 
						|
# SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
#
 | 
						|
##
 | 
						|
 | 
						|
!include UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc
 | 
						|
 | 
						|
[LibraryClasses.common.HOST_APPLICATION]
 | 
						|
  BaseLib|MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
 | 
						|
  UnitTestHostBaseLib|MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
 | 
						|
  CpuLib|MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.inf
 | 
						|
  CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLibNull/BaseCacheMaintenanceLibNull.inf
 | 
						|
  CmockaLib|UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf
 | 
						|
  GoogleTestLib|UnitTestFrameworkPkg/Library/GoogleTestLib/GoogleTestLib.inf
 | 
						|
  SubhookLib|UnitTestFrameworkPkg/Library/SubhookLib/SubhookLib.inf
 | 
						|
  FunctionMockLib|UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf
 | 
						|
  UnitTestLib|UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLibCmocka.inf
 | 
						|
  DebugLib|UnitTestFrameworkPkg/Library/Posix/DebugLibPosix/DebugLibPosix.inf
 | 
						|
  MemoryAllocationLib|UnitTestFrameworkPkg/Library/Posix/MemoryAllocationLibPosix/MemoryAllocationLibPosix.inf
 | 
						|
  UefiBootServicesTableLib|UnitTestFrameworkPkg/Library/UnitTestUefiBootServicesTableLib/UnitTestUefiBootServicesTableLib.inf
 | 
						|
 | 
						|
[BuildOptions]
 | 
						|
  GCC:*_*_*_CC_FLAGS = -fno-pie
 | 
						|
!ifdef $(UNIT_TESTING_DEBUG)
 | 
						|
  MSFT:*_*_*_CC_FLAGS  = -D UNIT_TESTING_DEBUG=1
 | 
						|
  GCC:*_*_*_CC_FLAGS   = -D UNIT_TESTING_DEBUG=1
 | 
						|
  XCODE:*_*_*_CC_FLAGS = -D UNIT_TESTING_DEBUG=1
 | 
						|
!endif
 | 
						|
  GCC:*_GCC5_*_CC_FLAGS = --coverage
 | 
						|
  GCC:*_GCC5_*_DLINK_FLAGS = --coverage
 | 
						|
[BuildOptions.common.EDKII.HOST_APPLICATION]
 | 
						|
  #
 | 
						|
  # MSFT
 | 
						|
  #
 | 
						|
  MSFT:*_*_*_CC_FLAGS               = /EHsc
 | 
						|
  MSFT:*_*_*_DLINK_FLAGS            == /out:"$(BIN_DIR)\$(MODULE_NAME_GUID).exe" /pdb:"$(BIN_DIR)\$(MODULE_NAME_GUID).pdb" /IGNORE:4001 /NOLOGO /SUBSYSTEM:CONSOLE /DEBUG /STACK:0x40000,0x40000 /NODEFAULTLIB:libcmt.lib libcmtd.lib
 | 
						|
  MSFT:*_*_IA32_DLINK_FLAGS         = /MACHINE:I386
 | 
						|
  MSFT:*_*_X64_DLINK_FLAGS          = /MACHINE:AMD64
 | 
						|
 | 
						|
  MSFT:*_VS2015_IA32_DLINK_FLAGS    = /LIBPATH:"%VS2015_PREFIX%Lib" /LIBPATH:"%VS2015_PREFIX%VC\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
 | 
						|
  MSFT:*_VS2015x86_IA32_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%Lib" /LIBPATH:"%VS2015_PREFIX%VC\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
 | 
						|
  MSFT:*_VS2017_IA32_DLINK_FLAGS    = /LIBPATH:"%VCToolsInstallDir%lib\x86" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
 | 
						|
  MSFT:*_VS2019_IA32_DLINK_FLAGS    = /LIBPATH:"%VCToolsInstallDir%lib\x86" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
 | 
						|
 | 
						|
  MSFT:*_VS2015_X64_DLINK_FLAGS     = /LIBPATH:"%VS2015_PREFIX%VC\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
 | 
						|
  MSFT:*_VS2015x86_X64_DLINK_FLAGS  = /LIBPATH:"%VS2015_PREFIX%VC\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
 | 
						|
  MSFT:*_VS2017_X64_DLINK_FLAGS     = /LIBPATH:"%VCToolsInstallDir%lib\x64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
 | 
						|
  MSFT:*_VS2019_X64_DLINK_FLAGS     = /LIBPATH:"%VCToolsInstallDir%lib\x64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
 | 
						|
 | 
						|
  #
 | 
						|
  # GCC
 | 
						|
  #
 | 
						|
  GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -m32 -no-pie
 | 
						|
  GCC:*_*_X64_DLINK_FLAGS  == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -m64 -no-pie
 | 
						|
  GCC:*_*_*_DLINK2_FLAGS   == -lgcov -lpthread -lstdc++ -lm
 | 
						|
 | 
						|
  #
 | 
						|
  # Need to do this link via gcc and not ld as the pathing to libraries changes from OS version to OS version
 | 
						|
  #
 | 
						|
  XCODE:*_*_IA32_DLINK_PATH == gcc
 | 
						|
  XCODE:*_*_IA32_CC_FLAGS = -I$(WORKSPACE)/EmulatorPkg/Unix/Host/X11IncludeHack
 | 
						|
  XCODE:*_*_IA32_DLINK_FLAGS == -arch i386 -o $(BIN_DIR)/$(MODULE_NAME_GUID) -L/usr/X11R6/lib -lXext -lX11 -framework Carbon
 | 
						|
  XCODE:*_*_IA32_ASM_FLAGS == -arch i386 -g
 | 
						|
 | 
						|
  XCODE:*_*_X64_DLINK_PATH == gcc
 | 
						|
  XCODE:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -L/usr/X11R6/lib -lXext -lX11 -framework Carbon -Wl,-no_pie
 | 
						|
  XCODE:*_*_X64_ASM_FLAGS == -g
 | 
						|
  XCODE:*_*_X64_CC_FLAGS = -O0 -target x86_64-apple-darwin -I$(WORKSPACE)/EmulatorPkg/Unix/Host/X11IncludeHack "-DEFIAPI=__attribute__((ms_abi))"
 |