Changed everything to reflect the new name "LumberJack" in the cmake files. Fixed my doxygen notes to reflect v1.0.0

This commit is contained in:
rapturate
2026-06-09 15:35:27 -04:00
parent cf35790578
commit 92bdaee885
7 changed files with 40 additions and 27 deletions

2
.gitignore vendored
View File

@@ -19,7 +19,7 @@ generated/
*.dylib
*.dll
*.exe
parselog_cli
LumberJack
# ==========================================
# Language Server & IDE Support (Arch Linux / Dev Tools)

View File

@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.15)
project(ParseLogCLI LANGUAGES CXX)
project(LumberJack LANGUAGES CXX)
# System and compiler configurations
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
@@ -11,7 +11,7 @@ include(FetchContent)
# ==========================================
# 1. CORE LIBRARY TARGET
# ==========================================
add_library(parselog_core
add_library(LumberJack_core
log_parsing/log_parsing.cpp
ip_to_geo/ip_to_geo.cpp
env_reader/env.cpp
@@ -20,7 +20,7 @@ add_library(parselog_core
)
# Include paths for your modules and MaxMind headers
target_include_directories(parselog_core PRIVATE
target_include_directories(LumberJack_core PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/log_parsing
${CMAKE_CURRENT_SOURCE_DIR}/ip_to_geo
${CMAKE_CURRENT_SOURCE_DIR}/third_party/include
@@ -30,41 +30,41 @@ target_include_directories(parselog_core PRIVATE
if(WIN32)
if(MSVC)
# Windows via Visual Studio Compiler
target_link_libraries(parselog_core PRIVATE
target_link_libraries(LumberJack_core PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/third_party/lib/maxminddb.lib
)
else()
# Windows via MinGW/GCC Toolchain
target_link_libraries(parselog_core PRIVATE
target_link_libraries(LumberJack_core PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/third_party/lib/libmaxminddb.a
)
endif()
# Windows requires Windows Sockets API linked for libmaxminddb network resolutions
target_link_libraries(parselog_core PRIVATE ws2_32)
target_link_libraries(LumberJack_core PRIVATE ws2_32)
elseif(APPLE)
# macOS Specific Path Integrations (Handles Intel /opt/local and Apple Silicon /opt/homebrew)
find_library(MAXMIND_LIB maxminddb HINTS /opt/homebrew/lib /usr/local/lib /opt/local/lib)
if(MAXMIND_LIB)
target_link_libraries(parselog_core PRIVATE ${MAXMIND_LIB})
target_link_libraries(LumberJack_core PRIVATE ${MAXMIND_LIB})
else()
# Fallback to local static file repository boundary if brew package is missing
target_link_libraries(parselog_core PRIVATE
target_link_libraries(LumberJack_core PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/third_party/lib/libmaxminddb.a
)
endif()
else()
# Standard Linux (Ubuntu, Arch Linux, Fedora, etc.)
target_link_libraries(parselog_core PRIVATE
target_link_libraries(LumberJack_core PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/third_party/lib/libmaxminddb.a
)
endif()
# Version definitions needed by your GeoLite2PP wrapper
target_compile_definitions(parselog_core PRIVATE
target_compile_definitions(LumberJack_core PRIVATE
GEOLITE2PP_VERSION="0.0.1"
)
@@ -81,18 +81,18 @@ FetchContent_MakeAvailable(ftxui)
# ==========================================
# 3. APPLICATION EXECUTABLE
# ==========================================
add_executable(parselog_cli main.cpp)
add_executable(LumberJack main.cpp)
target_link_libraries(parselog_cli
target_link_libraries(LumberJack
PRIVATE
parselog_core
LumberJack_core
ftxui::screen
ftxui::dom
ftxui::component
)
# CROSS-PLATFORM FIXED: Output targets route uniformly into the root project space
set_target_properties(parselog_cli PROPERTIES
set_target_properties(LumberJack PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}"
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}"

View File

@@ -1,4 +1,4 @@
This TUI program is for taking in an Apache2 access log file and providing an interactive interface to check your logs.
LumberJack TUI takes in an Apache2 access log file and provides an interactive interface to check your logs.
REQUIREMENTS:
- Access to a GeoLite2-City.mmdb database file.
@@ -11,5 +11,7 @@ NOTES:
FUTURE CHANGES:
- Filtering functionality
- Better filtering functionality
- Ban IP functionality
- Access Date/Time column
- Sorting by column (asc/desc)

View File

@@ -1,7 +1,7 @@
/**
* @file env.hpp
* @author Lewis Price (lewis.e.price@outlook.com)
* @brief
* @brief A set of functions for reading/creating the .env file
* @version 1.0.0
* @date 2026-06-09
*

View File

@@ -1,9 +1,9 @@
/**
* @file ip_to_geo.h
* @author Lew Price (lewis.e.price@outlook.com)
* @file ip_to_geo.hpp
* @author Lewis Price (lewis.e.price@outlook.com)
* @brief A series of functions for checking the location of a given IP
* @version 0.1
* @date 2026-06-03
* @version 1.0.0
* @date 2026-06-09
*
* @copyright Copyright (c) 2026
*

View File

@@ -1,9 +1,9 @@
/**
* @file log_parsing.h
* @author Lew Price (lewis.e.price@outlook.com)
* @file log_parsing.hpp
* @author Lewis Price (lewis.e.price@outlook.com)
* @brief A series of functions for parsing the access logs of an Apache2 webserver.
* @version 0.1
* @date 2026-05-28
* @version 1.0.0
* @date 2026-06-09
*
* @copyright Copyright (c) 2026
*

View File

@@ -1,3 +1,14 @@
/**
* @file main.cpp
* @author Lewis Price (lewis.e.price@outlook.com)
* @brief The main run file for LumberJack TUI
* @version 1.0.0
* @date 2026-06-09
*
* @copyright Copyright (c) 2026
*
*/
#include <vector>
#include <string>
#include <algorithm>
@@ -213,7 +224,7 @@ int main() {
" Resize columns: Shift+← / Shift+→ "
"│ Switch column: ← / → "
"│ Scroll: ↑↓ or wheel "
"│ q = quit ";
"│ q / esc = quit ";
return vbox({
text(" ParseLogCLI Live Monitor ") | bold | color(Color::Blue) | border,