CI attempt 1

This commit is contained in:
2024-02-25 18:03:38 -06:00
parent f18610d526
commit 6d7dbbfe74
3 changed files with 93 additions and 76 deletions

View File

@@ -7,8 +7,19 @@ LUA_INCDIR := /usr/include
SRCDIR := .
IS_CLANG = $(filter %clang++,$(CXX))
IS_GCC = $(filter %g++,$(CXX))
ifeq ($(OS),Windows_NT)
is_clang = $(filter %clang++,$(CXX))
is_gcc = $(filter %g++,$(CXX))
else
uname_s := $(shell uname -s)
ifeq ($(uname_s),Darwin)
is_clang = 1
is_gcc =
else
is_clang = $(filter %clang++,$(CXX))
is_gcc = $(filter %g++,$(CXX))
endif
endif
OPTFLAG := -O2
SANITIZE_FLAGS := -fsanitize=undefined -fsanitize=address -fsanitize=alignment -fsanitize=bounds-strict \
@@ -20,59 +31,59 @@ LTO_FLAGS := -flto=auto
-include config.mk
ifeq ($(origin LUAROCKS), command line)
CCFLAGS := $(CFLAGS)
override CFLAGS := -std=c99 $(CCFLAGS)
CCFLAGS := $(CFLAGS)
override CFLAGS := -std=c99 $(CCFLAGS)
ifneq ($(filter %gcc,$(CC)),)
CXX := $(patsubst %gcc,%g++,$(CC))
else
ifneq ($(filter %clang,$(CC)),)
CXX := $(patsubst %clang,%clang++,$(CC))
endif
endif
ifneq ($(filter %gcc,$(CC)),)
CXX := $(patsubst %gcc,%g++,$(CC))
else
ifneq ($(filter %clang,$(CC)),)
CXX := $(patsubst %clang,%clang++,$(CC))
endif
endif
luarocks: mostlyclean ljkiwi.$(LIB_EXT)
luarocks: ljkiwi.$(LIB_EXT)
else
CCFLAGS += -fPIC $(OPTFLAG)
override CFLAGS += -std=c99 $(CCFLAGS)
CCFLAGS += -fPIC $(OPTFLAG)
override CFLAGS += -std=c99 $(CCFLAGS)
endif
CCFLAGS += -Wall -fvisibility=hidden -Wformat=2 -Wconversion -Wimplicit-fallthrough
ifdef FSANITIZE
CCFLAGS += $(SANITIZE_FLAGS)
CCFLAGS += $(SANITIZE_FLAGS)
endif
ifndef FNOLTO
CCFLAGS += $(LTO_FLAGS)
CCFLAGS += $(LTO_FLAGS)
endif
ifneq ($(IS_GCC),)
PCH := ljkiwi.hpp.gch
ifneq ($(is_gcc),)
#PCH := ljkiwi.hpp.gch
else
ifneq ($(IS_CLANG),)
override CXXFLAGS += -pedantic -Wno-c99-extensions
PCH := ljkiwi.hpp.pch
endif
ifneq ($(is_clang),)
override CXXFLAGS += -pedantic -Wno-c99-extensions
#PCH := ljkiwi.hpp.pch
endif
endif
override CPPFLAGS += -I$(SRCDIR) -I$(SRCDIR)/kiwi -I"$(LUA_INCDIR)"
override CXXFLAGS += -std=c++14 -fno-rtti $(CCFLAGS)
ifeq ($(OS),Windows_NT)
override CPPFLAGS += -DLUA_BUILD_AS_DLL
override LIBFLAG += "$(LUA_LIBDIR)/$(LUALIB)"
override CPPFLAGS += -DLUA_BUILD_AS_DLL
override LIBFLAG += "$(LUA_LIBDIR)/$(LUALIB)"
endif
ifdef LUA
LUA_VERSION ?= $(lastword $(shell "$(LUA)" -e "print(_VERSION)"))
LUA_VERSION ?= $(lastword $(shell "$(LUA)" -e "print(_VERSION)"))
endif
ifndef LUA_VERSION
LJKIWI_CKIWI := 1
LJKIWI_CKIWI := 1
else
ifeq ($(LUA_VERSION),5.1)
LJKIWI_CKIWI := 1
LJKIWI_CKIWI := 1
endif
endif
@@ -82,7 +93,7 @@ KIWI_LIB := AssocVector.h constraint.h debug.h errors.h expression.h kiwi.h mapt
OBJS := luakiwi.o
ifdef LJKIWI_CKIWI
OBJS += ckiwi.o
OBJS += ckiwi.o
endif
vpath %.cpp $(SRCDIR)/ckiwi $(SRCDIR)/luakiwi
@@ -111,7 +122,7 @@ ljkiwi.$(LIB_EXT): $(OBJS)
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -x c++-header -o $@ $<
%.hpp.pch: %.hpp
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -x c++-header -o $@ $<
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ -x c++-header $<
%.o: %.cpp
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<