split fxlink into library (not installed yet) and executable

This commit is contained in:
Lephenixnoir 2023-03-26 12:20:50 +02:00
parent 3f4aa1e750
commit 065233387d
No known key found for this signature in database
GPG key ID: 1BBA026E13FC0495
12 changed files with 18 additions and 17 deletions

View file

@ -42,16 +42,25 @@ add_custom_command(OUTPUT "${BIN}/fxsdk.sh"
DEPENDS "${SRC}/fxsdk/fxsdk.sh") DEPENDS "${SRC}/fxsdk/fxsdk.sh")
add_custom_target(fxsdk ALL DEPENDS "${BIN}/fxsdk.sh") add_custom_target(fxsdk ALL DEPENDS "${BIN}/fxsdk.sh")
# fxlink # libfxlink
configure_file(fxlink/include/fxlink/config.h.in configure_file(libfxlink/include/fxlink/config.h.in
"${BIN}/include/fxlink/config.h") "${BIN}/include/fxlink/config.h")
add_library(libfxlink STATIC
libfxlink/defs.c
libfxlink/devices.c
libfxlink/filter.c
libfxlink/logging.c
libfxlink/protocol.c)
target_link_libraries(libfxlink PUBLIC PkgConfig::libusb)
target_include_directories(libfxlink PUBLIC
"${BIN}/include"
"${SRC}/libfxlink/include")
set_target_properties(libfxlink PROPERTIES
OUTPUT_NAME "fxlink") # libfxlink.a
# fxlink
add_executable(fxlink add_executable(fxlink
fxlink/defs.c
fxlink/devices.c
fxlink/filter.c
fxlink/logging.c
fxlink/main.c fxlink/main.c
fxlink/protocol.c
fxlink/modes/interactive.c fxlink/modes/interactive.c
fxlink/modes/list.c fxlink/modes/list.c
fxlink/modes/push.c fxlink/modes/push.c
@ -66,9 +75,8 @@ add_executable(fxlink
fxlink/tui/render.c fxlink/tui/render.c
fxlink/tui/tui-interactive.c) fxlink/tui/tui-interactive.c)
target_link_libraries(fxlink target_link_libraries(fxlink
PkgConfig::libpng PkgConfig::libusb PkgConfig::ncurses -lm) libfxlink PkgConfig::libpng PkgConfig::ncurses -lm)
target_include_directories(fxlink PRIVATE target_include_directories(fxlink PRIVATE
"${BIN}/include"
"${SRC}/fxlink/include") "${SRC}/fxlink/include")
if(NOT FXLINK_DISABLE_UDISKS2) if(NOT FXLINK_DISABLE_UDISKS2)
target_link_libraries(fxlink PkgConfig::udisks2) target_link_libraries(fxlink PkgConfig::udisks2)
@ -89,5 +97,5 @@ install(FILES "${BIN}/fxg1a" TYPE BIN)
# fxconv # fxconv
install(PROGRAMS fxconv/fxconv-main.py TYPE BIN RENAME fxconv) install(PROGRAMS fxconv/fxconv-main.py TYPE BIN RENAME fxconv)
install(FILES fxconv/fxconv.py TYPE BIN) install(FILES fxconv/fxconv.py TYPE BIN)
#fxlink # fxlink
install(TARGETS fxlink) install(TARGETS fxlink)

View file

@ -10,7 +10,6 @@
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
#include <assert.h> #include <assert.h>
#include "fxlink.h"
bool fxlink_message_is_apptype(struct fxlink_message const *msg, bool fxlink_message_is_apptype(struct fxlink_message const *msg,
char const *application, char const *type) char const *application, char const *type)
@ -260,9 +259,6 @@ struct fxlink_message *fxlink_transfer_finish_IN(struct fxlink_transfer *tr)
return NULL; return NULL;
} }
if(options.verbose)
log_("extracting completed message (%d bytes)\n", tr->msg.size);
/* Shallow copy the malloc()'d data pointer */ /* Shallow copy the malloc()'d data pointer */
assert(tr->own_data && "Can't shallow copy data if we don't own it!"); assert(tr->own_data && "Can't shallow copy data if we don't own it!");
memcpy(msg, &tr->msg, sizeof *msg); memcpy(msg, &tr->msg, sizeof *msg);
@ -278,9 +274,6 @@ void fxlink_transfer_receive(struct fxlink_transfer *tr, void *data, int size)
size = remaining_size; size = remaining_size;
} }
if(options.verbose)
log_("got %d bytes (out of %d left)\n", size, remaining_size);
memcpy(tr->msg.data + tr->processed_size, data, size); memcpy(tr->msg.data + tr->processed_size, data, size);
tr->processed_size += size; tr->processed_size += size;
} }