diff --git a/.gitignore b/.gitignore index d163863..48ff0b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ -build/ \ No newline at end of file +build/ +*.o +tut +.DS_Store diff --git a/CMakeLists.txt b/CMakeLists.txt index 527c299..e214d1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bf648bd --- /dev/null +++ b/Makefile @@ -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