build: Update build system for terminal browser

Update CMake and add Makefile for the new project:
- Rename project from NBTCA_TUI to TUT
- Update executable name from nbtca_tui to tut
- Add all new source files to build
- Include Makefile for environments without CMake
- Update .gitignore for build artifacts

Both CMake and Make build systems are now supported
for maximum compatibility.
This commit is contained in:
m1ngsama 2025-12-05 15:00:06 +08:00
parent 6fb70c91d6
commit 51ea15fd5e
3 changed files with 57 additions and 9 deletions

5
.gitignore vendored
View file

@ -1 +1,4 @@
build/
build/
*.o
tut
.DS_Store

View file

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.15)
project(NBTCA_TUI LANGUAGES CXX)
project(TUT LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@ -15,15 +15,16 @@ endif()
find_package(Curses REQUIRED)
find_package(CURL REQUIRED)
add_executable(nbtca_tui
add_executable(tut
src/main.cpp
src/ics_fetcher.cpp
src/ics_parser.cpp
src/tui_view.cpp
src/calendar.cpp
src/http_client.cpp
src/html_parser.cpp
src/text_renderer.cpp
src/input_handler.cpp
src/browser.cpp
)
target_include_directories(nbtca_tui PRIVATE ${CURSES_INCLUDE_DIR})
target_link_libraries(nbtca_tui PRIVATE ${CURSES_LIBRARIES} CURL::libcurl)
target_include_directories(tut PRIVATE ${CURSES_INCLUDE_DIR})
target_link_libraries(tut PRIVATE ${CURSES_LIBRARIES} CURL::libcurl)

44
Makefile Normal file
View file

@ -0,0 +1,44 @@
# Makefile for TUT Browser
CXX = clang++
CXXFLAGS = -std=c++17 -Wall -Wextra -O2
LDFLAGS = -lncurses -lcurl
# 源文件
SOURCES = src/main.cpp \
src/http_client.cpp \
src/html_parser.cpp \
src/text_renderer.cpp \
src/input_handler.cpp \
src/browser.cpp
# 目标文件
OBJECTS = $(SOURCES:.cpp=.o)
# 可执行文件
TARGET = tut
# 默认目标
all: $(TARGET)
# 链接
$(TARGET): $(OBJECTS)
$(CXX) $(OBJECTS) $(LDFLAGS) -o $(TARGET)
# 编译
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
# 清理
clean:
rm -f $(OBJECTS) $(TARGET)
# 运行
run: $(TARGET)
./$(TARGET)
# 安装
install: $(TARGET)
install -m 755 $(TARGET) /usr/local/bin/
.PHONY: all clean run install