diff --git a/code/CoverageB.h b/code/CoverageB.h index 397844d..3382c52 100644 --- a/code/CoverageB.h +++ b/code/CoverageB.h @@ -1,4 +1,3 @@ -#pragma once #ifndef COVERAGE_B_H #define COVERAGE_B_H diff --git a/code/CoverageExJustify.h b/code/CoverageExJustify.h index a209cae..7839843 100644 --- a/code/CoverageExJustify.h +++ b/code/CoverageExJustify.h @@ -1,4 +1,3 @@ -#pragma once #ifndef COVERAGE_EX_JUSTIFY_H #define COVERAGE_EX_JUSTIFY_H diff --git a/code/CoverageExSkip.h b/code/CoverageExSkip.h index eced076..0678b3f 100644 --- a/code/CoverageExSkip.h +++ b/code/CoverageExSkip.h @@ -1,4 +1,3 @@ -#pragma once #ifndef COVERAGE_EX_SKIP_H #define COVERAGE_EX_SKIP_H diff --git a/code/CoverageFD_SET.h b/code/CoverageFD_SET.h index f9e0607..fce1688 100644 --- a/code/CoverageFD_SET.h +++ b/code/CoverageFD_SET.h @@ -1,4 +1,3 @@ -#pragma once #ifndef COVERAGE_FD_SET_H #define COVERAGE_FD_SET_H diff --git a/code/CoverageHead.h b/code/CoverageHead.h index bee2ea0..403040c 100644 --- a/code/CoverageHead.h +++ b/code/CoverageHead.h @@ -1,4 +1,3 @@ -#pragma once #ifndef COVERAGE_HEAD_H #define COVERAGE_HEAD_H @@ -41,7 +40,7 @@ class CoverageHead ~CoverageHead() { if (mData != nullptr) delete[] mData; - } + } // full coverage // b true / false diff --git a/code/CoverageMacro.h b/code/CoverageMacro.h index 409a504..2894650 100644 --- a/code/CoverageMacro.h +++ b/code/CoverageMacro.h @@ -1,5 +1,4 @@ -#pragma once #ifndef COVERAGE_MACRO_H #define COVERAGE_MACRO_H diff --git a/code/CoverageMcpp.h b/code/CoverageMcpp.h index ee9c308..ee07f20 100644 --- a/code/CoverageMcpp.h +++ b/code/CoverageMcpp.h @@ -1,4 +1,3 @@ -#pragma once #ifndef COVERAGE_MCPP_H #define COVERAGE_MCPP_H diff --git a/code/CoverageNotInc.h b/code/CoverageNotInc.h index 5e3b2f4..3d97843 100644 --- a/code/CoverageNotInc.h +++ b/code/CoverageNotInc.h @@ -1,4 +1,3 @@ -#pragma once #ifndef COVERAGE_NOT_INC_H #define COVERAGE_NOT_INC_H diff --git a/code/CoverageSrc.h b/code/CoverageSrc.h index e1887a8..c688a7f 100644 --- a/code/CoverageSrc.h +++ b/code/CoverageSrc.h @@ -1,4 +1,3 @@ -#pragma once #ifndef COVERAGE_SRC_H #define COVERAGE_SRC_H diff --git a/code/CoverageTpl.h b/code/CoverageTpl.h index 27ae690..3b52c4d 100644 --- a/code/CoverageTpl.h +++ b/code/CoverageTpl.h @@ -1,4 +1,3 @@ -#pragma once #ifndef COVERAGE_TPL_H #define COVERAGE_TPL_H diff --git a/code/SomeEnum.h b/code/SomeEnum.h index f10e205..22a6cd5 100644 --- a/code/SomeEnum.h +++ b/code/SomeEnum.h @@ -1,4 +1,3 @@ -#pragma once #ifndef SOME_ENUM_H #define SOME_ENUM_H diff --git a/code/SomeStruct.h b/code/SomeStruct.h index b6f44fe..d6e5a25 100644 --- a/code/SomeStruct.h +++ b/code/SomeStruct.h @@ -1,5 +1,3 @@ -#pragma once - #ifndef SOME_STRUCT_H #define SOME_STRUCT_H diff --git a/make/Makefile b/make/Makefile index 15c0aea..bb49fb4 100644 --- a/make/Makefile +++ b/make/Makefile @@ -17,65 +17,72 @@ ifeq ($(config),ci) Test_FD_SET_Macro_config = ci Test_Macro_config = ci Test_Mod_Cpp_config = ci + testlib_config = ci else $(error "invalid configuration $(config)") endif -PROJECTS := Test_Standard Test_Standard_Part Test_B_Macro Test_Count Test_Exclude Test_FD_SET_Macro Test_Macro Test_Mod_Cpp +PROJECTS := Test_Standard Test_Standard_Part Test_B_Macro Test_Count Test_Exclude Test_FD_SET_Macro Test_Macro Test_Mod_Cpp testlib .PHONY: all clean help $(PROJECTS) all: $(PROJECTS) -Test_Standard: +Test_Standard: testlib ifneq (,$(Test_Standard_config)) @echo "==== Building Test_Standard ($(Test_Standard_config)) ====" @${MAKE} --no-print-directory -C . -f Test_Standard.make config=$(Test_Standard_config) endif -Test_Standard_Part: +Test_Standard_Part: testlib ifneq (,$(Test_Standard_Part_config)) @echo "==== Building Test_Standard_Part ($(Test_Standard_Part_config)) ====" @${MAKE} --no-print-directory -C . -f Test_Standard_Part.make config=$(Test_Standard_Part_config) endif -Test_B_Macro: +Test_B_Macro: testlib ifneq (,$(Test_B_Macro_config)) @echo "==== Building Test_B_Macro ($(Test_B_Macro_config)) ====" @${MAKE} --no-print-directory -C . -f Test_B_Macro.make config=$(Test_B_Macro_config) endif -Test_Count: +Test_Count: testlib ifneq (,$(Test_Count_config)) @echo "==== Building Test_Count ($(Test_Count_config)) ====" @${MAKE} --no-print-directory -C . -f Test_Count.make config=$(Test_Count_config) endif -Test_Exclude: +Test_Exclude: testlib ifneq (,$(Test_Exclude_config)) @echo "==== Building Test_Exclude ($(Test_Exclude_config)) ====" @${MAKE} --no-print-directory -C . -f Test_Exclude.make config=$(Test_Exclude_config) endif -Test_FD_SET_Macro: +Test_FD_SET_Macro: testlib ifneq (,$(Test_FD_SET_Macro_config)) @echo "==== Building Test_FD_SET_Macro ($(Test_FD_SET_Macro_config)) ====" @${MAKE} --no-print-directory -C . -f Test_FD_SET_Macro.make config=$(Test_FD_SET_Macro_config) endif -Test_Macro: +Test_Macro: testlib ifneq (,$(Test_Macro_config)) @echo "==== Building Test_Macro ($(Test_Macro_config)) ====" @${MAKE} --no-print-directory -C . -f Test_Macro.make config=$(Test_Macro_config) endif -Test_Mod_Cpp: +Test_Mod_Cpp: testlib ifneq (,$(Test_Mod_Cpp_config)) @echo "==== Building Test_Mod_Cpp ($(Test_Mod_Cpp_config)) ====" @${MAKE} --no-print-directory -C . -f Test_Mod_Cpp.make config=$(Test_Mod_Cpp_config) endif +testlib: +ifneq (,$(testlib_config)) + @echo "==== Building testlib ($(testlib_config)) ====" + @${MAKE} --no-print-directory -C . -f testlib.make config=$(testlib_config) +endif + clean: @${MAKE} --no-print-directory -C . -f Test_Standard.make clean @${MAKE} --no-print-directory -C . -f Test_Standard_Part.make clean @@ -85,6 +92,7 @@ clean: @${MAKE} --no-print-directory -C . -f Test_FD_SET_Macro.make clean @${MAKE} --no-print-directory -C . -f Test_Macro.make clean @${MAKE} --no-print-directory -C . -f Test_Mod_Cpp.make clean + @${MAKE} --no-print-directory -C . -f testlib.make clean help: @echo "Usage: make [config=name] [target]" @@ -103,5 +111,6 @@ help: @echo " Test_FD_SET_Macro" @echo " Test_Macro" @echo " Test_Mod_Cpp" + @echo " testlib" @echo "" @echo "For more information, see https://github.com/premake/premake-core/wiki" \ No newline at end of file diff --git a/make/Test_B_Macro.make b/make/Test_B_Macro.make index e6da078..3c47ed2 100644 --- a/make/Test_B_Macro.make +++ b/make/Test_B_Macro.make @@ -29,9 +29,9 @@ ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -LIBS += -LDDEPS += -ALL_LDFLAGS += $(LDFLAGS) -s +LIBS += ../build/linux/lib/libtestlib.a +LDDEPS += ../build/linux/lib/libtestlib.a +ALL_LDFLAGS += $(LDFLAGS) -L../build/linux/lib -s LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) define PREBUILDCMDS endef @@ -51,11 +51,7 @@ GENERATED := OBJECTS := GENERATED += $(OBJDIR)/Test_B_Macro.o -GENERATED += $(OBJDIR)/testMain.o -GENERATED += $(OBJDIR)/testlib.o OBJECTS += $(OBJDIR)/Test_B_Macro.o -OBJECTS += $(OBJDIR)/testMain.o -OBJECTS += $(OBJDIR)/testlib.o # Rules # ############################################# @@ -119,12 +115,6 @@ endif # File Rules # ############################################# -$(OBJDIR)/testMain.o: ../testlib/testMain.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testlib.o: ../testlib/testlib.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/Test_B_Macro.o: ../tests/Test_B_Macro.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" diff --git a/make/Test_Count.make b/make/Test_Count.make index 47acad8..0392fe5 100644 --- a/make/Test_Count.make +++ b/make/Test_Count.make @@ -29,9 +29,9 @@ ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -LIBS += -LDDEPS += -ALL_LDFLAGS += $(LDFLAGS) -s +LIBS += ../build/linux/lib/libtestlib.a +LDDEPS += ../build/linux/lib/libtestlib.a +ALL_LDFLAGS += $(LDFLAGS) -L../build/linux/lib -s LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) define PREBUILDCMDS endef @@ -51,11 +51,7 @@ GENERATED := OBJECTS := GENERATED += $(OBJDIR)/Test_Count.o -GENERATED += $(OBJDIR)/testMain.o -GENERATED += $(OBJDIR)/testlib.o OBJECTS += $(OBJDIR)/Test_Count.o -OBJECTS += $(OBJDIR)/testMain.o -OBJECTS += $(OBJDIR)/testlib.o # Rules # ############################################# @@ -119,12 +115,6 @@ endif # File Rules # ############################################# -$(OBJDIR)/testMain.o: ../testlib/testMain.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testlib.o: ../testlib/testlib.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/Test_Count.o: ../tests/Test_Count.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" diff --git a/make/Test_Exclude.make b/make/Test_Exclude.make index 19404a1..bb37ba8 100644 --- a/make/Test_Exclude.make +++ b/make/Test_Exclude.make @@ -29,9 +29,9 @@ ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -LIBS += -LDDEPS += -ALL_LDFLAGS += $(LDFLAGS) -s +LIBS += ../build/linux/lib/libtestlib.a +LDDEPS += ../build/linux/lib/libtestlib.a +ALL_LDFLAGS += $(LDFLAGS) -L../build/linux/lib -s LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) define PREBUILDCMDS endef @@ -51,11 +51,7 @@ GENERATED := OBJECTS := GENERATED += $(OBJDIR)/Test_Exclude.o -GENERATED += $(OBJDIR)/testMain.o -GENERATED += $(OBJDIR)/testlib.o OBJECTS += $(OBJDIR)/Test_Exclude.o -OBJECTS += $(OBJDIR)/testMain.o -OBJECTS += $(OBJDIR)/testlib.o # Rules # ############################################# @@ -119,12 +115,6 @@ endif # File Rules # ############################################# -$(OBJDIR)/testMain.o: ../testlib/testMain.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testlib.o: ../testlib/testlib.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/Test_Exclude.o: ../tests/Test_Exclude.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" diff --git a/make/Test_FD_SET_Macro.make b/make/Test_FD_SET_Macro.make index 021f6da..0dc5a96 100644 --- a/make/Test_FD_SET_Macro.make +++ b/make/Test_FD_SET_Macro.make @@ -29,9 +29,9 @@ ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -LIBS += -LDDEPS += -ALL_LDFLAGS += $(LDFLAGS) -s +LIBS += ../build/linux/lib/libtestlib.a +LDDEPS += ../build/linux/lib/libtestlib.a +ALL_LDFLAGS += $(LDFLAGS) -L../build/linux/lib -s LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) define PREBUILDCMDS endef @@ -51,11 +51,7 @@ GENERATED := OBJECTS := GENERATED += $(OBJDIR)/Test_FD_SET_Macro.o -GENERATED += $(OBJDIR)/testMain.o -GENERATED += $(OBJDIR)/testlib.o OBJECTS += $(OBJDIR)/Test_FD_SET_Macro.o -OBJECTS += $(OBJDIR)/testMain.o -OBJECTS += $(OBJDIR)/testlib.o # Rules # ############################################# @@ -119,12 +115,6 @@ endif # File Rules # ############################################# -$(OBJDIR)/testMain.o: ../testlib/testMain.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testlib.o: ../testlib/testlib.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/Test_FD_SET_Macro.o: ../tests/Test_FD_SET_Macro.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" diff --git a/make/Test_Macro.make b/make/Test_Macro.make index 1a68891..07934d7 100644 --- a/make/Test_Macro.make +++ b/make/Test_Macro.make @@ -29,9 +29,9 @@ ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -LIBS += -LDDEPS += -ALL_LDFLAGS += $(LDFLAGS) -s +LIBS += ../build/linux/lib/libtestlib.a +LDDEPS += ../build/linux/lib/libtestlib.a +ALL_LDFLAGS += $(LDFLAGS) -L../build/linux/lib -s LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) define PREBUILDCMDS endef @@ -52,12 +52,8 @@ OBJECTS := GENERATED += $(OBJDIR)/CoverageMacro.o GENERATED += $(OBJDIR)/Test_Macro.o -GENERATED += $(OBJDIR)/testMain.o -GENERATED += $(OBJDIR)/testlib.o OBJECTS += $(OBJDIR)/CoverageMacro.o OBJECTS += $(OBJDIR)/Test_Macro.o -OBJECTS += $(OBJDIR)/testMain.o -OBJECTS += $(OBJDIR)/testlib.o # Rules # ############################################# @@ -124,12 +120,6 @@ endif $(OBJDIR)/CoverageMacro.o: ../code/CoverageMacro.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testMain.o: ../testlib/testMain.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testlib.o: ../testlib/testlib.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/Test_Macro.o: ../tests/Test_Macro.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" diff --git a/make/Test_Mod_Cpp.make b/make/Test_Mod_Cpp.make index 9a8d19a..2e5f97f 100644 --- a/make/Test_Mod_Cpp.make +++ b/make/Test_Mod_Cpp.make @@ -29,9 +29,9 @@ ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -LIBS += -LDDEPS += -ALL_LDFLAGS += $(LDFLAGS) -s +LIBS += ../build/linux/lib/libtestlib.a +LDDEPS += ../build/linux/lib/libtestlib.a +ALL_LDFLAGS += $(LDFLAGS) -L../build/linux/lib -s LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) define PREBUILDCMDS endef @@ -51,11 +51,7 @@ GENERATED := OBJECTS := GENERATED += $(OBJDIR)/Test_Mod_Cpp.o -GENERATED += $(OBJDIR)/testMain.o -GENERATED += $(OBJDIR)/testlib.o OBJECTS += $(OBJDIR)/Test_Mod_Cpp.o -OBJECTS += $(OBJDIR)/testMain.o -OBJECTS += $(OBJDIR)/testlib.o # Rules # ############################################# @@ -119,12 +115,6 @@ endif # File Rules # ############################################# -$(OBJDIR)/testMain.o: ../testlib/testMain.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testlib.o: ../testlib/testlib.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/Test_Mod_Cpp.o: ../tests/Test_Mod_Cpp.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" diff --git a/make/Test_Standard.make b/make/Test_Standard.make index ff2810d..599c730 100644 --- a/make/Test_Standard.make +++ b/make/Test_Standard.make @@ -29,9 +29,9 @@ ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -LIBS += -LDDEPS += -ALL_LDFLAGS += $(LDFLAGS) -s +LIBS += ../build/linux/lib/libtestlib.a +LDDEPS += ../build/linux/lib/libtestlib.a +ALL_LDFLAGS += $(LDFLAGS) -L../build/linux/lib -s LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) define PREBUILDCMDS endef @@ -52,12 +52,8 @@ OBJECTS := GENERATED += $(OBJDIR)/CoverageSrc.o GENERATED += $(OBJDIR)/Test_Standard.o -GENERATED += $(OBJDIR)/testMain.o -GENERATED += $(OBJDIR)/testlib.o OBJECTS += $(OBJDIR)/CoverageSrc.o OBJECTS += $(OBJDIR)/Test_Standard.o -OBJECTS += $(OBJDIR)/testMain.o -OBJECTS += $(OBJDIR)/testlib.o # Rules # ############################################# @@ -124,12 +120,6 @@ endif $(OBJDIR)/CoverageSrc.o: ../code/CoverageSrc.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testMain.o: ../testlib/testMain.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testlib.o: ../testlib/testlib.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/Test_Standard.o: ../tests/Test_Standard.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" diff --git a/make/Test_Standard_Part.make b/make/Test_Standard_Part.make index e04bf06..6dc9459 100644 --- a/make/Test_Standard_Part.make +++ b/make/Test_Standard_Part.make @@ -29,9 +29,9 @@ ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -LIBS += -LDDEPS += -ALL_LDFLAGS += $(LDFLAGS) -s +LIBS += ../build/linux/lib/libtestlib.a +LDDEPS += ../build/linux/lib/libtestlib.a +ALL_LDFLAGS += $(LDFLAGS) -L../build/linux/lib -s LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) define PREBUILDCMDS endef @@ -52,12 +52,8 @@ OBJECTS := GENERATED += $(OBJDIR)/CoverageSrc.o GENERATED += $(OBJDIR)/Test_Standard_Part.o -GENERATED += $(OBJDIR)/testMain.o -GENERATED += $(OBJDIR)/testlib.o OBJECTS += $(OBJDIR)/CoverageSrc.o OBJECTS += $(OBJDIR)/Test_Standard_Part.o -OBJECTS += $(OBJDIR)/testMain.o -OBJECTS += $(OBJDIR)/testlib.o # Rules # ############################################# @@ -124,12 +120,6 @@ endif $(OBJDIR)/CoverageSrc.o: ../code/CoverageSrc.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testMain.o: ../testlib/testMain.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/testlib.o: ../testlib/testlib.cpp - @echo "$(notdir $<)" - $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/Test_Standard_Part.o: ../tests/Test_Standard_Part.cpp @echo "$(notdir $<)" $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" diff --git a/make/premake5.lua b/make/premake5.lua index f01942b..02c8a27 100644 --- a/make/premake5.lua +++ b/make/premake5.lua @@ -13,7 +13,6 @@ workspace 'Tests' defines { 'NDEBUG' } kind 'ConsoleApp' includedirs { '../testlib', '../code' } - files { '../testlib/*.cpp' } filter { 'action:vs*' } warnings 'high' @@ -22,6 +21,10 @@ workspace 'Tests' filter { 'action:gmake*' } buildoptions { buildoptions_gcc } + filter { 'kind:ConsoleApp' } + libdirs { '../build/%{_TARGET_OS}/lib' } + links { 'testlib' } + project 'Test_Standard' files { '../tests/Test_Standard.cpp', '../code/CoverageSrc.cpp' } @@ -45,3 +48,8 @@ workspace 'Tests' project 'Test_Mod_Cpp' files { '../tests/Test_Mod_Cpp.cpp' } + + project 'testlib' + kind 'StaticLib' + targetdir '../build/%{_TARGET_OS}/lib' + files { '../testlib/*.cpp' } diff --git a/make/testlib.make b/make/testlib.make new file mode 100644 index 0000000..2a061c1 --- /dev/null +++ b/make/testlib.make @@ -0,0 +1,130 @@ +# Alternative GNU Make project makefile autogenerated by Premake + +ifndef config + config=ci +endif + +ifndef verbose + SILENT = @ +endif + +.PHONY: clean prebuild + +SHELLTYPE := posix +ifeq ($(shell echo "test"), "test") + SHELLTYPE := msdos +endif + +# Configurations +# ############################################# + +RESCOMP = windres +TARGETDIR = ../build/linux/lib +TARGET = $(TARGETDIR)/libtestlib.a +OBJDIR = ../build/linux/ci/testlib +DEFINES += -DNDEBUG +INCLUDES += -I../testlib -I../code +FORCE_INCLUDE += +ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) +ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON +ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -std=c++17 -pedantic-errors -D_COVERAGE_ON +ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) +LIBS += +LDDEPS += +ALL_LDFLAGS += $(LDFLAGS) -s +LINKCMD = $(AR) -rcs "$@" $(OBJECTS) +define PREBUILDCMDS +endef +define PRELINKCMDS +endef +define POSTBUILDCMDS +endef + +# Per File Configurations +# ############################################# + + +# File sets +# ############################################# + +GENERATED := +OBJECTS := + +GENERATED += $(OBJDIR)/testMain.o +GENERATED += $(OBJDIR)/testlib.o +OBJECTS += $(OBJDIR)/testMain.o +OBJECTS += $(OBJDIR)/testlib.o + +# Rules +# ############################################# + +all: $(TARGET) + @: + +$(TARGET): $(GENERATED) $(OBJECTS) $(LDDEPS) | $(TARGETDIR) + $(PRELINKCMDS) + @echo Linking testlib + $(SILENT) $(LINKCMD) + $(POSTBUILDCMDS) + +$(TARGETDIR): + @echo Creating $(TARGETDIR) +ifeq (posix,$(SHELLTYPE)) + $(SILENT) mkdir -p $(TARGETDIR) +else + $(SILENT) mkdir $(subst /,\\,$(TARGETDIR)) +endif + +$(OBJDIR): + @echo Creating $(OBJDIR) +ifeq (posix,$(SHELLTYPE)) + $(SILENT) mkdir -p $(OBJDIR) +else + $(SILENT) mkdir $(subst /,\\,$(OBJDIR)) +endif + +clean: + @echo Cleaning testlib +ifeq (posix,$(SHELLTYPE)) + $(SILENT) rm -f $(TARGET) + $(SILENT) rm -rf $(GENERATED) + $(SILENT) rm -rf $(OBJDIR) +else + $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET)) + $(SILENT) if exist $(subst /,\\,$(GENERATED)) del /s /q $(subst /,\\,$(GENERATED)) + $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR)) +endif + +prebuild: | $(OBJDIR) + $(PREBUILDCMDS) + +ifneq (,$(PCH)) +$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER) +$(GCH): $(PCH) | prebuild + @echo $(notdir $<) + $(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<" +$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR) +ifeq (posix,$(SHELLTYPE)) + $(SILENT) touch "$@" +else + $(SILENT) echo $null >> "$@" +endif +else +$(OBJECTS): | prebuild +endif + + +# File Rules +# ############################################# + +$(OBJDIR)/testMain.o: ../testlib/testMain.cpp + @echo "$(notdir $<)" + $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/testlib.o: ../testlib/testlib.cpp + @echo "$(notdir $<)" + $(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" + +-include $(OBJECTS:%.o=%.d) +ifneq (,$(PCH)) + -include $(PCH_PLACEHOLDER).d +endif \ No newline at end of file diff --git a/testlib/coverage.h b/testlib/coverage.h index 5f8d03a..c077ab9 100644 --- a/testlib/coverage.h +++ b/testlib/coverage.h @@ -6,7 +6,6 @@ // - msvc: https://learn.microsoft.com/en-us/cpp/preprocessor/pragma-directives-and-the-pragma-keyword // created by Manfred Sorgo -#pragma once #ifndef COVERAGE_H #define COVERAGE_H diff --git a/testlib/testlib.h b/testlib/testlib.h index 688d7b2..7df2f3f 100644 --- a/testlib/testlib.h +++ b/testlib/testlib.h @@ -1,5 +1,4 @@ // CppUTest style test "framework" -#pragma once #ifndef TESTLIB_H #define TESTLIB_H diff --git a/testlib/use.h b/testlib/use.h index 50fee58..a0cc825 100644 --- a/testlib/use.h +++ b/testlib/use.h @@ -1,4 +1,3 @@ -#pragma once #ifndef USE_H #define USE_H