mirror of
https://github.com/meekrosoft/fff
synced 2026-01-29 11:14:27 +01:00
Migrate build to CMake and standard github workflows
Replace makefiles with CMakeLists.txt. This will allow for IDE and platform agnostic builds of FFF. Update the CI for FFF to use github workflows which don't depend on MS VC. The workflow added will verify the pull requests sent to master buy running 'buildandtest' which mirrors the developer workflow. Signed-off-by: Yuval Peress <peress@google.com>
This commit is contained in:
23
examples/embedded_ui/CMakeLists.txt
Normal file
23
examples/embedded_ui/CMakeLists.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
# Copyright 2022 Google LLC
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# Create the ui_test_ansic test binary
|
||||
add_executable(ui_test_ansic src/UI_test_ansic.c src/UI.c)
|
||||
target_include_directories(ui_test_ansic PRIVATE include)
|
||||
target_link_libraries(ui_test_ansic PRIVATE fff)
|
||||
|
||||
# Create the ui_test_cpp test binary
|
||||
add_executable(ui_test_cpp src/UI_test_cpp.cpp src/UI.c)
|
||||
target_include_directories(ui_test_cpp PRIVATE include)
|
||||
target_link_libraries(ui_test_cpp PRIVATE gtest fff)
|
||||
|
||||
# Add tests to ctest
|
||||
add_test(
|
||||
NAME ui_test_ansic
|
||||
COMMAND $<TARGET_FILE:ui_test_ansic>
|
||||
)
|
||||
|
||||
add_test(
|
||||
NAME ui_test_cpp
|
||||
COMMAND $<TARGET_FILE:ui_test_cpp>
|
||||
)
|
||||
@@ -1,67 +0,0 @@
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
BUILD_DIR = ../../build
|
||||
TEMPLATE_PROGNAME = $(BUILD_DIR)/template
|
||||
C_PROGNAME = $(BUILD_DIR)/ui_test_ansic
|
||||
CPP_PROGNAME = $(BUILD_DIR)/ui_test_cpp
|
||||
CC = gcc
|
||||
CC += -c
|
||||
CPP = g++
|
||||
CPP += -c
|
||||
LD = g++
|
||||
|
||||
GTEST_OBJS = $(BUILD_DIR)/gtest-all.o $(BUILD_DIR)/gtest-main.o
|
||||
C_OBJFILES = $(BUILD_DIR)/UI_test_ansic.o $(BUILD_DIR)/UI.o
|
||||
TEMPLATE_OBJFILES = $(BUILD_DIR)/test_suite_template.o
|
||||
CPP_OBJFILES = $(BUILD_DIR)/UI_test_cpp.o $(BUILD_DIR)/UI.o $(GTEST_OBJS)
|
||||
CPP_LIBS = -lpthread
|
||||
|
||||
|
||||
all: $(C_PROGNAME) $(CPP_PROGNAME) $(TEMPLATE_PROGNAME)
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
clean:
|
||||
@echo "Cleaning object files"
|
||||
@echo " rm -f $(BUILD_DIR)/*.o"
|
||||
rm -f $(BUILD_DIR)/*.o
|
||||
@echo "Cleaning backups"
|
||||
@echo " rm -f *~"
|
||||
rm -f *~
|
||||
@echo "Removing programs"
|
||||
@echo " rm -f "$(C_PROGNAME)
|
||||
rm -f $(C_PROGNAME)
|
||||
@echo " rm -f "$(CPP_PROGNAME) $(TEMPLATE_PROGNAME)
|
||||
rm -f $(CPP_PROGNAME) $(TEMPLATE_PROGNAME)
|
||||
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
@echo "Compiling "$@
|
||||
@echo " CC "$<
|
||||
$(CC) -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/%.o: %.cpp
|
||||
@echo "Compiling "$@
|
||||
@echo " CPP "$<
|
||||
$(CPP) -DGTEST_USE_OWN_TR1_TUPLE=1 -I../.. -o $@ $<
|
||||
|
||||
$(TEMPLATE_PROGNAME): $(TEMPLATE_OBJFILES)
|
||||
@echo "Linking "$@
|
||||
@echo " LD -o "ctemplate" "$(TEMPLATE_OBJFILES)
|
||||
$(LD) -o $(TEMPLATE_PROGNAME) $(TEMPLATE_OBJFILES)
|
||||
|
||||
$(C_PROGNAME): $(C_OBJFILES)
|
||||
@echo "Linking "$@
|
||||
@echo " LD -o "$(C_PROGNAME)" "$(C_OBJFILES)
|
||||
$(LD) -o $(C_PROGNAME) $(C_OBJFILES)
|
||||
|
||||
$(CPP_PROGNAME): $(CPP_OBJFILES) $(C_OBJFILES)
|
||||
@echo "Linking "$@
|
||||
@echo " LD -o "$(CPP_PROGNAME)" "$(CPP_OBJFILES)
|
||||
$(LD) -o $(CPP_PROGNAME) $(CPP_OBJFILES) $(CPP_LIBS)
|
||||
|
||||
|
||||
|
||||
nothing:
|
||||
@echo "Nothing to do; quitting :("
|
||||
@echo "HINT: Try make all"
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "UI.h"
|
||||
#include "../../fff.h"
|
||||
#include "fff.h"
|
||||
#include "SYSTEM.h"
|
||||
#include "DISPLAY.h"
|
||||
|
||||
@@ -6,7 +6,7 @@ extern "C"{
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
|
||||
#include "../../fff.h"
|
||||
#include "fff.h"
|
||||
DEFINE_FFF_GLOBALS;
|
||||
|
||||
/* SYSTEM.h */
|
||||
@@ -1,34 +0,0 @@
|
||||
#include "../../test/c_test_framework.h"
|
||||
|
||||
/* Initialializers called for every test */
|
||||
void setup()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* Tests go here */
|
||||
TEST_F(GreeterTests, hello_world)
|
||||
{
|
||||
assert(1 == 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
setbuf(stderr, NULL);
|
||||
fprintf(stdout, "-------------\n");
|
||||
fprintf(stdout, "Running Tests\n");
|
||||
fprintf(stdout, "-------------\n\n");
|
||||
fflush(0);
|
||||
|
||||
/* Run tests */
|
||||
RUN_TEST(GreeterTests, hello_world);
|
||||
|
||||
|
||||
printf("\n-------------\n");
|
||||
printf("Complete\n");
|
||||
printf("-------------\n\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user