mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-16 18:52:25 +01:00
adding initial revision of Tutorial sample code
This commit is contained in:
parent
02006d85d7
commit
41cfce878a
5
projects/CPPBuilder5/.gitignore
vendored
Normal file
5
projects/CPPBuilder5/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
/Tutorial1.exe
|
||||
/Tutorial1.obj
|
||||
/Tutorial1.tds
|
||||
/Tutorial1.~bpf
|
||||
/Tutorial1.~bpr
|
5
projects/CPPBuilder5/Tutorial1.bpf
Normal file
5
projects/CPPBuilder5/Tutorial1.bpf
Normal file
@ -0,0 +1,5 @@
|
||||
USEUNIT("Tutorial1.cpp");
|
||||
//---------------------------------------------------------------------------
|
||||
This file is used by the project manager only and should be treated like the project file
|
||||
|
||||
main
|
116
projects/CPPBuilder5/Tutorial1.bpr
Normal file
116
projects/CPPBuilder5/Tutorial1.bpr
Normal file
@ -0,0 +1,116 @@
|
||||
<?xml version='1.0' encoding='utf-8' ?>
|
||||
<!-- C++Builder XML Project -->
|
||||
<PROJECT>
|
||||
<MACROS>
|
||||
<VERSION value="BCB.05.03"/>
|
||||
<PROJECT value="Tutorial1.exe"/>
|
||||
<OBJFILES value="Tutorial1.obj"/>
|
||||
<RESFILES value=""/>
|
||||
<DEFFILE value=""/>
|
||||
<RESDEPEN value="$(RESFILES)"/>
|
||||
<LIBFILES value=""/>
|
||||
<LIBRARIES value=""/>
|
||||
<SPARELIBS value=""/>
|
||||
<PACKAGES value="Vcl50.bpi Vclx50.bpi bcbsmp50.bpi Qrpt50.bpi Vcldb50.bpi Vclbde50.bpi
|
||||
ibsmp50.bpi vcldbx50.bpi TeeUI50.bpi TeeDB50.bpi Tee50.bpi TeeQR50.bpi
|
||||
VCLIB50.bpi bcbie50.bpi vclie50.bpi Inetdb50.bpi Inet50.bpi NMFast50.bpi
|
||||
dclocx50.bpi bcb2kaxserver50.bpi"/>
|
||||
<PATHCPP value=".;"/>
|
||||
<PATHPAS value=".;"/>
|
||||
<PATHRC value=".;"/>
|
||||
<PATHASM value=".;"/>
|
||||
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
|
||||
<RELEASELIBPATH value="$(BCB)\lib\release"/>
|
||||
<LINKER value="tlink32"/>
|
||||
<USERDEFINES value="_DEBUG;CATCH_PLATFORM_WINDOWS"/>
|
||||
<SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
|
||||
<MAINSOURCE value="Tutorial1.bpf"/>
|
||||
<INCLUDEPATH value="$(BCB)\include;$(BCB)\include\vcl;..\..\single_include"/>
|
||||
<LIBPATH value="$(BCB)\lib\obj;$(BCB)\lib"/>
|
||||
<WARNINGS value="-w-par"/>
|
||||
</MACROS>
|
||||
<OPTIONS>
|
||||
<CFLAG1 value="-Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -tWC
|
||||
-tWM- -c"/>
|
||||
<PFLAGS value="-$YD -$W -$O- -v -JPHNE -M"/>
|
||||
<RFLAGS value=""/>
|
||||
<AFLAGS value="/mx /w2 /zd"/>
|
||||
<LFLAGS value="-D"" -ap -Tpe -x -Gn -v"/>
|
||||
</OPTIONS>
|
||||
<LINKER>
|
||||
<ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
|
||||
<ALLRES value="$(RESFILES)"/>
|
||||
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32i.lib"/>
|
||||
</LINKER>
|
||||
<IDEOPTIONS>
|
||||
[Version Info]
|
||||
IncludeVerInfo=0
|
||||
AutoIncBuild=0
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
Release=0
|
||||
Build=0
|
||||
Debug=0
|
||||
PreRelease=0
|
||||
Special=0
|
||||
Private=0
|
||||
DLL=0
|
||||
Locale=2057
|
||||
CodePage=1252
|
||||
|
||||
[Version Info Keys]
|
||||
CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
|
||||
[Excluded Packages]
|
||||
$(BCB)\Projects\Bpl\ThemeManagerC5D.bpl=Soft Gems Theme Manager
|
||||
|
||||
[HistoryLists\hlIncludePath]
|
||||
Count=3
|
||||
Item0=$(BCB)\include;$(BCB)\include\vcl;..\..\single_include
|
||||
Item1=..\..\..\..\CatchSimpleTest;$(BCB)\include;$(BCB)\include\vcl
|
||||
Item2=$(BCB)\include;$(BCB)\include\vcl
|
||||
|
||||
[HistoryLists\hlLibraryPath]
|
||||
Count=2
|
||||
Item0=$(BCB)\lib\obj;$(BCB)\lib
|
||||
Item1=..\..\..\..\CatchSimpleTest;$(BCB)\lib\obj;$(BCB)\lib
|
||||
|
||||
[HistoryLists\hlDebugSourcePath]
|
||||
Count=1
|
||||
Item0=$(BCB)\source\vcl
|
||||
|
||||
[HistoryLists\hlConditionals]
|
||||
Count=2
|
||||
Item0=_DEBUG;CATCH_PLATFORM_WINDOWS
|
||||
Item1=_DEBUG
|
||||
|
||||
[Debugging]
|
||||
DebugSourceDirs=$(BCB)\source\vcl
|
||||
|
||||
[Parameters]
|
||||
RunParams=
|
||||
HostApplication=
|
||||
RemoteHost=
|
||||
RemotePath=
|
||||
RemoteDebug=0
|
||||
|
||||
[Compiler]
|
||||
ShowInfoMsgs=0
|
||||
LinkDebugVcl=0
|
||||
LinkCGLIB=0
|
||||
|
||||
[Language]
|
||||
ActiveLang=
|
||||
ProjectLang=
|
||||
RootDir=
|
||||
</IDEOPTIONS>
|
||||
</PROJECT>
|
15
projects/CPPBuilder5/Tutorial1.cpp
Normal file
15
projects/CPPBuilder5/Tutorial1.cpp
Normal file
@ -0,0 +1,15 @@
|
||||
#define CATCH_CONFIG_MAIN // This tell CATCH to provide a main() - only do this in one cpp file
|
||||
#include "catch.hpp"
|
||||
|
||||
unsigned int Factorial( unsigned int number ) {
|
||||
return number <= 1 ? number : Factorial(number-1)*number;
|
||||
}
|
||||
|
||||
TEST_CASE( "example/factorial", "The Factorial function returns the factorial of the number passed in" ) {
|
||||
REQUIRE( Factorial(0) == (unsigned) 1 );
|
||||
REQUIRE( Factorial(1) == (unsigned) 1 );
|
||||
REQUIRE( Factorial(2) == (unsigned) 2 );
|
||||
REQUIRE( Factorial(3) == (unsigned) 6 );
|
||||
REQUIRE( Factorial(10) == (unsigned) 3628800 );
|
||||
|
||||
}
|
187
projects/CPPBuilder5/Tutorial1.mak
Normal file
187
projects/CPPBuilder5/Tutorial1.mak
Normal file
@ -0,0 +1,187 @@
|
||||
# ---------------------------------------------------------------------------
|
||||
!if !$d(BCB)
|
||||
BCB = $(MAKEDIR)\..
|
||||
!endif
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# IDE SECTION
|
||||
# ---------------------------------------------------------------------------
|
||||
# The following section of the project makefile is managed by the BCB IDE.
|
||||
# It is recommended to use the IDE to change any of the values in this
|
||||
# section.
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
VERSION = BCB.05.03
|
||||
# ---------------------------------------------------------------------------
|
||||
PROJECT = Tutorial1.exe
|
||||
OBJFILES = Tutorial1.obj
|
||||
RESFILES =
|
||||
MAINSOURCE = Tutorial1.bpf
|
||||
RESDEPEN = $(RESFILES)
|
||||
LIBFILES =
|
||||
IDLFILES =
|
||||
IDLGENFILES =
|
||||
LIBRARIES =
|
||||
PACKAGES = Vcl50.bpi Vclx50.bpi bcbsmp50.bpi Qrpt50.bpi Vcldb50.bpi Vclbde50.bpi \
|
||||
ibsmp50.bpi vcldbx50.bpi TeeUI50.bpi TeeDB50.bpi Tee50.bpi TeeQR50.bpi \
|
||||
VCLIB50.bpi bcbie50.bpi vclie50.bpi Inetdb50.bpi Inet50.bpi NMFast50.bpi \
|
||||
dclocx50.bpi bcb2kaxserver50.bpi
|
||||
SPARELIBS =
|
||||
DEFFILE =
|
||||
# ---------------------------------------------------------------------------
|
||||
PATHCPP = .;
|
||||
PATHASM = .;
|
||||
PATHPAS = .;
|
||||
PATHRC = .;
|
||||
DEBUGLIBPATH = $(BCB)\lib\debug
|
||||
RELEASELIBPATH = $(BCB)\lib\release
|
||||
USERDEFINES = _DEBUG;CATCH_PLATFORM_WINDOWS
|
||||
SYSDEFINES = NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES
|
||||
INCLUDEPATH = $(BCB)\include;$(BCB)\include\vcl;..\..\single_include
|
||||
LIBPATH = $(BCB)\lib\obj;$(BCB)\lib
|
||||
WARNINGS= -w-par
|
||||
# ---------------------------------------------------------------------------
|
||||
CFLAG1 = -Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -tWC \
|
||||
-tWM- -c
|
||||
IDLCFLAGS =
|
||||
PFLAGS = -$YD -$W -$O- -v -JPHNE -M
|
||||
RFLAGS =
|
||||
AFLAGS = /mx /w2 /zd
|
||||
LFLAGS = -D"" -ap -Tpe -x -Gn -v
|
||||
# ---------------------------------------------------------------------------
|
||||
ALLOBJ = c0x32.obj $(PACKAGES) $(OBJFILES)
|
||||
ALLRES = $(RESFILES)
|
||||
ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cw32i.lib
|
||||
# ---------------------------------------------------------------------------
|
||||
!ifdef IDEOPTIONS
|
||||
|
||||
[Version Info]
|
||||
IncludeVerInfo=0
|
||||
AutoIncBuild=0
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
Release=0
|
||||
Build=0
|
||||
Debug=0
|
||||
PreRelease=0
|
||||
Special=0
|
||||
Private=0
|
||||
DLL=0
|
||||
|
||||
[Version Info Keys]
|
||||
CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
|
||||
[Debugging]
|
||||
DebugSourceDirs=$(BCB)\source\vcl
|
||||
|
||||
!endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# MAKE SECTION
|
||||
# ---------------------------------------------------------------------------
|
||||
# This section of the project file is not used by the BCB IDE. It is for
|
||||
# the benefit of building from the command-line using the MAKE utility.
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
.autodepend
|
||||
# ---------------------------------------------------------------------------
|
||||
!if "$(USERDEFINES)" != ""
|
||||
AUSERDEFINES = -d$(USERDEFINES:;= -d)
|
||||
!else
|
||||
AUSERDEFINES =
|
||||
!endif
|
||||
|
||||
!if !$d(BCC32)
|
||||
BCC32 = bcc32
|
||||
!endif
|
||||
|
||||
!if !$d(CPP32)
|
||||
CPP32 = cpp32
|
||||
!endif
|
||||
|
||||
!if !$d(DCC32)
|
||||
DCC32 = dcc32
|
||||
!endif
|
||||
|
||||
!if !$d(TASM32)
|
||||
TASM32 = tasm32
|
||||
!endif
|
||||
|
||||
!if !$d(LINKER)
|
||||
LINKER = ilink32
|
||||
!endif
|
||||
|
||||
!if !$d(BRCC32)
|
||||
BRCC32 = brcc32
|
||||
!endif
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
!if $d(PATHCPP)
|
||||
.PATH.CPP = $(PATHCPP)
|
||||
.PATH.C = $(PATHCPP)
|
||||
!endif
|
||||
|
||||
!if $d(PATHPAS)
|
||||
.PATH.PAS = $(PATHPAS)
|
||||
!endif
|
||||
|
||||
!if $d(PATHASM)
|
||||
.PATH.ASM = $(PATHASM)
|
||||
!endif
|
||||
|
||||
!if $d(PATHRC)
|
||||
.PATH.RC = $(PATHRC)
|
||||
!endif
|
||||
# ---------------------------------------------------------------------------
|
||||
$(PROJECT): $(IDLGENFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
|
||||
$(BCB)\BIN\$(LINKER) @&&!
|
||||
$(LFLAGS) -L$(LIBPATH) +
|
||||
$(ALLOBJ), +
|
||||
$(PROJECT),, +
|
||||
$(ALLLIB), +
|
||||
$(DEFFILE), +
|
||||
$(ALLRES)
|
||||
!
|
||||
# ---------------------------------------------------------------------------
|
||||
.pas.hpp:
|
||||
$(BCB)\BIN\$(DCC32) $(PFLAGS) -U$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -O$(INCLUDEPATH) --BCB {$< }
|
||||
|
||||
.pas.obj:
|
||||
$(BCB)\BIN\$(DCC32) $(PFLAGS) -U$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -O$(INCLUDEPATH) --BCB {$< }
|
||||
|
||||
.cpp.obj:
|
||||
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
|
||||
|
||||
.c.obj:
|
||||
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
|
||||
|
||||
.c.i:
|
||||
$(BCB)\BIN\$(CPP32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n. {$< }
|
||||
|
||||
.cpp.i:
|
||||
$(BCB)\BIN\$(CPP32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n. {$< }
|
||||
|
||||
.asm.obj:
|
||||
$(BCB)\BIN\$(TASM32) $(AFLAGS) -i$(INCLUDEPATH:;= -i) $(AUSERDEFINES) -d$(SYSDEFINES:;= -d) $<, $@
|
||||
|
||||
.rc.res:
|
||||
$(BCB)\BIN\$(BRCC32) $(RFLAGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -fo$@ $<
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
3
projects/CPPBuilder5/bcbenv.bat
Normal file
3
projects/CPPBuilder5/bcbenv.bat
Normal file
@ -0,0 +1,3 @@
|
||||
@echo off
|
||||
IF "%ProgramFiles(x86)%"=="" SET PATH="C:\PROGRA~1\Borland\CBUILD~1\bin";"C:\Program Files\Git\cmd";"c:\Program Files\doxygen\bin";C:\Windows\System32 & exit /b
|
||||
SET PATH=C:\CBuilder5\bin;"C:\Program Files (x86)\Git\cmd";"c:\Program Files\doxygen\bin";C:\Windows\System32
|
50
projects/CPPBuilder5/makefile
Normal file
50
projects/CPPBuilder5/makefile
Normal file
@ -0,0 +1,50 @@
|
||||
ROOT = $(MAKEDIR)\..
|
||||
BRCC = $(ROOT)\bin\brcc32.exe
|
||||
|
||||
.silent
|
||||
default: clean all
|
||||
|
||||
clean:
|
||||
echo ========== cleaning object files ======
|
||||
-@DEL /F /Q /S *.obj *.tds *.exe 1>nul
|
||||
|
||||
|
||||
# this override of the default implicit rule is a hack for not getting a ".bpr.exe" rule working correctly
|
||||
# to override the default .cpp.exe rule
|
||||
# currently relying upon BCB convention of a main cpp file named for the project listing project files
|
||||
.cpp.exe:
|
||||
echo ========== build for $@ ======
|
||||
bpr2mak -q $&.bpr
|
||||
make -a -f $&.mak
|
||||
|
||||
Tutorial1.exe:
|
||||
|
||||
TARGETS= Tutorial1.exe
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
help:
|
||||
@echo targets built by this makefile: $(TARGETS)
|
||||
@echo.
|
||||
@echo help - shows this output
|
||||
@echo all - builds all targets
|
||||
@echo clean - cleans all targets
|
||||
@echo tests - performs some tests on targets
|
||||
@echo default - clean all
|
||||
|
||||
|
||||
pre-tests:
|
||||
echo ========== running tests ======
|
||||
|
||||
post-tests:
|
||||
echo ========== completed tests ======
|
||||
|
||||
tests: Tutorial1.exe pre-tests unit-tests post-tests
|
||||
|
||||
|
||||
unit-tests: Tutorial1.exe
|
||||
-Tutorial1.exe
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user