fixes cmake configuration

This commit is contained in:
2026-03-10 18:51:56 +02:00
parent e43ce67b3a
commit 575cc4d93a
16 changed files with 58 additions and 70 deletions
+17
View File
@@ -4,6 +4,23 @@ project(ZBBSClientTUI
VERSION 1.0.0 VERSION 1.0.0
) )
if(
(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
)
add_compile_definitions(_GNU_SOURCE)
endif()
set(CURSES_NEED_NCURSES TRUE)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(Curses REQUIRED)
add_subdirectory(src/widget_core)
add_subdirectory(src/widget)
add_subdirectory(src/modals)
add_subdirectory(src/lib)
add_subdirectory(src/utils)
add_subdirectory(src) add_subdirectory(src)
install( install(
-19
View File
@@ -2,8 +2,6 @@ add_executable(zbbs-client-tui)
set_property(TARGET zbbs-client-tui PROPERTY C_STANDARD 23) set_property(TARGET zbbs-client-tui PROPERTY C_STANDARD 23)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
if( if(
(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR
(CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
@@ -16,36 +14,19 @@ elseif(
(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
(CMAKE_CXX_COMPILER_ID MATCHES "Clang") (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
) )
add_compile_definitions(_GNU_SOURCE)
# target_compile_definitions(zbbs-client-tui PRIVATE _GNU_SOURCE) -> doesn't work
if (ZBBS_DEBUG) if (ZBBS_DEBUG)
target_compile_options(zbbs-client-tui PRIVATE -Wall -ggdb -pedantic) target_compile_options(zbbs-client-tui PRIVATE -Wall -ggdb -pedantic)
message("Include debug info (GNU/Clang)") message("Include debug info (GNU/Clang)")
endif() endif()
endif() endif()
file(GLOB M_HEADERS "*.h")
file(GLOB M_SOURCES "*.c") file(GLOB M_SOURCES "*.c")
set(CURSES_NEED_NCURSES TRUE)
find_package(Curses REQUIRED)
target_sources(zbbs-client-tui target_sources(zbbs-client-tui
PRIVATE PRIVATE
${M_SOURCES} ${M_SOURCES}
PUBLIC
FILE_SET HEADERS
FILES
${M_HEADERS}
) )
add_subdirectory(widget_core)
add_subdirectory(widget)
add_subdirectory(modals)
add_subdirectory(lib)
add_subdirectory(utils)
target_link_libraries(zbbs-client-tui target_link_libraries(zbbs-client-tui
PRIVATE PRIVATE
widget_core widget_core
+1 -1
View File
@@ -1,5 +1,5 @@
#include "main.h" #include "main.h"
#include "app.h" #include <widget.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include <ncurses.h> #include <ncurses.h>
#include <netinet/in.h> #include <netinet/in.h>
View File
+2 -10
View File
@@ -1,13 +1,5 @@
#include "modals/ask_server_addr.h" #include <modals.h>
#include "modals/download_pr.h" #include <widget.h>
#include "modals/login_credentials.h"
#include "modals/login_option.h"
#include "modals/notification.h"
#include "modals/server_message.h"
#include "modals/upload_dialogue.h"
#include "modals/upload_props_dialogue.h"
#include "modals/register.h"
#include "widget/dialogue.h"
#include "main.h" #include "main.h"
void app_draw_modal(app_t *app) { void app_draw_modal(app_t *app) {
+1 -4
View File
@@ -13,14 +13,11 @@
#include <sys/un.h> #include <sys/un.h>
#include <termios.h> #include <termios.h>
#include <unistd.h> #include <unistd.h>
#include <widget.h>
#include "file_processor.h" #include "file_processor.h"
#include "main.h" #include "main.h"
#include "query.h" #include "query.h"
#include "widget/dialogue.h"
#include "widget/file_list.h"
#include "widget/progress_bar.h"
static void fl_add(fl_item_t **cur, fl_item_t **start, char *fname); static void fl_add(fl_item_t **cur, fl_item_t **start, char *fname);
fl_item_t *fl_select(fl_item_t *start, int num); fl_item_t *fl_select(fl_item_t *start, int num);
void fl_clear(fl_item_t **start, fl_item_t **current); void fl_clear(fl_item_t **start, fl_item_t **current);
+1 -1
View File
@@ -9,5 +9,5 @@ target_sources(bstring
PUBLIC PUBLIC
FILE_SET HEADERS FILE_SET HEADERS
FILES FILES
${M_HEADERS} bstrlib.h
) )
+9 -7
View File
@@ -1,8 +1,15 @@
add_library(modals STATIC) add_library(modals STATIC)
file(GLOB M_HEADERS "*.h")
file(GLOB M_SOURCES "*.c") file(GLOB M_SOURCES "*.c")
target_link_directories(modals
PRIVATE
"../widget/"
"../widget_core/"
"../lib/"
"../utils/"
)
target_link_libraries(modals target_link_libraries(modals
PRIVATE PRIVATE
widget widget
@@ -17,10 +24,5 @@ target_sources(modals
PUBLIC PUBLIC
FILE_SET HEADERS FILE_SET HEADERS
FILES FILES
${M_HEADERS} modals.h
) )
target_include_directories(modals PRIVATE "../widget")
target_include_directories(modals PRIVATE "../widget_core")
target_include_directories(modals PRIVATE "../lib/")
target_include_directories(widget PRIVATE "../utils/")
+1 -3
View File
@@ -1,6 +1,4 @@
#include "app.h" #include <widget.h>
#include "dialogue.h"
#include "widget_core.h"
#include <ncurses.h> #include <ncurses.h>
#include <stdint.h> #include <stdint.h>
#include <stdlib.h> #include <stdlib.h>
-1
View File
@@ -2,7 +2,6 @@
#define ASK_SERVER_ADDR_H #define ASK_SERVER_ADDR_H
#include <widget.h> #include <widget.h>
#include "../widget/dialogue.h"
dialogue_t *init_asa_modal(app_t *app); dialogue_t *init_asa_modal(app_t *app);
+13
View File
@@ -0,0 +1,13 @@
#ifndef MODALS_H
#define MODALS_H
#include "alert.h"
#include "ask_server_addr.h"
#include "download_pr.h"
#include "login_credentials.h"
#include "login_option.h"
#include "notification.h"
#include "register.h"
#include "server_message.h"
#include "upload_dialogue.h"
#include "upload_props_dialogue.h"
#endif
+1 -4
View File
@@ -1,15 +1,12 @@
add_library(utils STATIC) add_library(utils STATIC)
file(GLOB M_HEADERS "*.h")
file(GLOB M_SOURCES "*.c") file(GLOB M_SOURCES "*.c")
list(REMOVE_ITEM M_HEADERS "utils.h")
target_sources(utils target_sources(utils
PRIVATE PRIVATE
${M_SOURCES} ${M_SOURCES}
PUBLIC PUBLIC
FILE_SET HEADERS FILE_SET HEADERS
FILES FILES
${M_HEADERS} utils.h
) )
+8 -15
View File
@@ -1,19 +1,7 @@
add_library(widget STATIC) add_library(widget STATIC)
file(GLOB M_HEADERS "*.h")
file(GLOB M_SOURCES "*.c") file(GLOB M_SOURCES "*.c")
list(REMOVE_ITEM M_HEADERS "widget.h")
target_sources(widget
PRIVATE
${M_SOURCES}
PUBLIC
FILE_SET HEADERS
FILES
${M_HEADERS}
)
target_link_libraries(widget target_link_libraries(widget
PRIVATE PRIVATE
bstring bstring
@@ -21,6 +9,11 @@ target_link_libraries(widget
utils utils
) )
target_include_directories(widget PRIVATE "../widget_core") target_sources(widget
target_include_directories(widget PRIVATE "../lib/") PRIVATE
target_include_directories(widget PRIVATE "../utils/") ${M_SOURCES}
PUBLIC
FILE_SET HEADERS
FILES
widget.h
)
+1 -1
View File
@@ -3,9 +3,9 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "app.h"
#include <widget_core.h> #include <widget_core.h>
#include "button.h" #include "button.h"
#include "app.h"
button_t *init_button(WINDOW **win, widget_t *w_parent, char *label) { button_t *init_button(WINDOW **win, widget_t *w_parent, char *label) {
button_t *btn = malloc(sizeof(button_t)); button_t *btn = malloc(sizeof(button_t));
+1 -1
View File
@@ -8,7 +8,7 @@
#include "file_list.h" #include "file_list.h"
#include "group.h" #include "group.h"
#include "input.h" #include "input.h"
#include "widget_core.h" #include <widget_core.h>
void incr_active_id(dialogue_t *d) { void incr_active_id(dialogue_t *d) {
group_el_t *active_el = NULL; group_el_t *active_el = NULL;
+1 -2
View File
@@ -1,6 +1,5 @@
add_library(widget_core STATIC) add_library(widget_core STATIC)
file(GLOB M_HEADERS "*.h")
file(GLOB M_SOURCES "*.c") file(GLOB M_SOURCES "*.c")
target_sources(widget_core target_sources(widget_core
@@ -9,5 +8,5 @@ target_sources(widget_core
PUBLIC PUBLIC
FILE_SET HEADERS FILE_SET HEADERS
FILES FILES
${M_HEADERS} widget_core.h
) )