This commit is contained in:
Marek Kraus
2022-09-13 11:03:39 +02:00
parent 4f6df4fb46
commit e9217452e4
5 changed files with 36 additions and 29 deletions
+21 -25
View File
@@ -3,30 +3,26 @@ project(blisp C)
set(CMAKE_C_STANDARD 23) set(CMAKE_C_STANDARD 23)
add_subdirectory(vendor/argtable3) add_subdirectory(tools/blisp)
add_executable(blisp src/main.c src/cmd/write.c)
target_include_directories(blisp PRIVATE vendor/argtable3/src) #target_sources(blisp PRIVATE
target_link_libraries(blisp PRIVATE argtable3) # ${CMAKE_SOURCE_DIR}/vendor/libserialport/serialport.c
# ${CMAKE_SOURCE_DIR}/vendor/libserialport/timing.c)
target_sources(blisp PRIVATE #
${CMAKE_SOURCE_DIR}/vendor/libserialport/serialport.c #if(WIN32)
${CMAKE_SOURCE_DIR}/vendor/libserialport/timing.c) # target_link_libraries(blisp PRIVATE Setupapi.lib)
# target_compile_definitions(blisp PRIVATE LIBSERIALPORT_MSBUILD)
if(WIN32) # target_sources(blisp PRIVATE
target_link_libraries(blisp PRIVATE Setupapi.lib) # ${CMAKE_SOURCE_DIR}/vendor/libserialport/windows.c)
target_compile_definitions(blisp PRIVATE LIBSERIALPORT_MSBUILD) #elseif(UNIX AND NOT APPLE)
target_sources(blisp PRIVATE # target_sources(blisp PRIVATE
${CMAKE_SOURCE_DIR}/vendor/libserialport/windows.c) # ${CMAKE_SOURCE_DIR}/vendor/libserialport/linux.c
elseif(UNIX AND NOT APPLE) # ${CMAKE_SOURCE_DIR}/vendor/libserialport/linux_termios.c)
target_sources(blisp PRIVATE # target_compile_definitions(blisp PRIVATE
${CMAKE_SOURCE_DIR}/vendor/libserialport/linux.c # LIBSERIALPORT_ATBUILD
${CMAKE_SOURCE_DIR}/vendor/libserialport/linux_termios.c) # "SP_API=__attribute__((visibility(\"default\")))"
target_compile_definitions(blisp PRIVATE # "SP_PRIV=__attribute__((visibility(\"hidden\")))")
LIBSERIALPORT_ATBUILD # target_include_directories(blisp PRIVATE ${CMAKE_SOURCE_DIR}/vendor/libserialport)
"SP_API=__attribute__((visibility(\"default\")))" # write_file(${CMAKE_SOURCE_DIR}/vendor/libserialport/config.h "// bypass errors.")
"SP_PRIV=__attribute__((visibility(\"hidden\")))") #endif()
target_include_directories(blisp PRIVATE ${CMAKE_SOURCE_DIR}/vendor/libserialport)
write_file(${CMAKE_SOURCE_DIR}/vendor/libserialport/config.h "// bypass errors.")
endif()
+6
View File
@@ -0,0 +1,6 @@
add_subdirectory(${CMAKE_SOURCE_DIR}/vendor/argtable3 ${CMAKE_CURRENT_BINARY_DIR}/argtable3)
add_executable(blisp src/main.c src/cmd/write.c)
target_include_directories(blisp PRIVATE "${CMAKE_SOURCE_DIR}/vendor/argtable3/src")
target_link_libraries(blisp PRIVATE argtable3)
View File
@@ -1,5 +1,10 @@
#include "../cmd.h" #include "../cmd.h"
#include <argtable3.h> #include "argtable3.h"
void blisp_flash_firmware(const char* firmware_path) {
printf("");
}
#define REG_EXTENDED 1 #define REG_EXTENDED 1
#define REG_ICASE (REG_EXTENDED << 1) #define REG_ICASE (REG_EXTENDED << 1)
@@ -35,7 +40,7 @@ uint8_t
cmd_write_parse_exec(int argc, char** argv) { cmd_write_parse_exec(int argc, char** argv) {
int errors = arg_parse(argc, argv, cmd_write_argtable); int errors = arg_parse(argc, argv, cmd_write_argtable);
if (errors == 0) { if (errors == 0) {
printf("yeet\n"); blisp_flash_firmware(binary_to_write->filename[0]); // TODO: Error code?
return 1; return 1;
} else if (cmd->count == 1) { } else if (cmd->count == 1) {
cmd_write_args_print_glossary(); cmd_write_args_print_glossary();
+2 -2
View File
@@ -1,8 +1,8 @@
#include "argtable3.h"
#include "cmd.h" #include "cmd.h"
#include <argtable3.h> #include <stdbool.h>
#include <stdint.h> #include <stdint.h>
#include <stdio.h> #include <stdio.h>
#include <stdbool.h>
struct cmd* cmds[] = { struct cmd* cmds[] = {
&cmd_write &cmd_write