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 *.dylib
*.dll *.dll
*.exe *.exe
parselog_cli LumberJack
# ========================================== # ==========================================
# Language Server & IDE Support (Arch Linux / Dev Tools) # Language Server & IDE Support (Arch Linux / Dev Tools)

View File

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

View File

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

View File

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

View File

@@ -1,9 +1,9 @@
/** /**
* @file log_parsing.h * @file log_parsing.hpp
* @author Lew Price (lewis.e.price@outlook.com) * @author Lewis Price (lewis.e.price@outlook.com)
* @brief A series of functions for parsing the access logs of an Apache2 webserver. * @brief A series of functions for parsing the access logs of an Apache2 webserver.
* @version 0.1 * @version 1.0.0
* @date 2026-05-28 * @date 2026-06-09
* *
* @copyright Copyright (c) 2026 * @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 <vector>
#include <string> #include <string>
#include <algorithm> #include <algorithm>
@@ -213,7 +224,7 @@ int main() {
" Resize columns: Shift+← / Shift+→ " " Resize columns: Shift+← / Shift+→ "
"│ Switch column: ← / → " "│ Switch column: ← / → "
"│ Scroll: ↑↓ or wheel " "│ Scroll: ↑↓ or wheel "
"│ q = quit "; "│ q / esc = quit ";
return vbox({ return vbox({
text(" ParseLogCLI Live Monitor ") | bold | color(Color::Blue) | border, text(" ParseLogCLI Live Monitor ") | bold | color(Color::Blue) | border,