From 9399ff045d40a72c8ec90db3d07d1877ee2b3be3 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Thu, 14 Feb 2019 20:48:20 +0100 Subject: Switched from standard makefile to cmake --- .gitignore | 3 +-- CMakeLists.txt | 14 ++++++++++++++ GNUmakefile | 32 -------------------------------- config.h | 4 ++-- src/CMakeLists.txt | 9 +++++++++ 5 files changed, 26 insertions(+), 36 deletions(-) create mode 100644 CMakeLists.txt delete mode 100644 GNUmakefile create mode 100644 src/CMakeLists.txt diff --git a/.gitignore b/.gitignore index a8ff552..b639341 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ bastion -libssh/ +build id_rsa ssh_host_*_key test_client.c -*.[do] *.sw[a-p] diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..d3234c1 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required (VERSION 3.0) +project (bastion LANGUAGES C VERSION 0.1) + +set(CMAKE_VERBOSE_MAKEFILE FALSE) +set(CMAKE_BUILD_TYPE DEBUG) + +set(CMAKE_C_FLAGS "-Wall -Werror -Wextra -pedantic") +set(CMAKE_C_FLAGS_DEBUG "-g -ggdb -pg -fsanitize=address") +set(CMAKE_C_FLAGS_RELEASE "-Os") +set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os -g") + +option(LIBSSH_VERBOSE_OUTPOUT "whether or not verbose output for libssh mode is activated" OFF) + +add_subdirectory(src) diff --git a/GNUmakefile b/GNUmakefile deleted file mode 100644 index 2de00cf..0000000 --- a/GNUmakefile +++ /dev/null @@ -1,32 +0,0 @@ -CC=clang -DEBUG=-g -fsanitize=address -CFLAGS= ${DEBUG} -Wall -Werror -Wextra -Weverything -Wno-disabled-macro-expansion - -sources=$(wildcard src/*.c) -OBJ=$(sources:.c=.o) - -all: bastion - -bastion: $(OBJ) - $(CC) ${DEBUG} -o bastion $(OBJ) -lssh -lutil -ltty -lmysqlclient - -clean: - $(RM) bastion *.[do] src/*.[do] - -%.o: %.c - $(CC) -c $(CFLAGS) $*.c -o $*.o - $(CC) -MM $(CFLAGS) $*.c > $*.d - @mv -f $*.d $*.d.tmp - @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d - @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $*.d - @rm -f $*.d.tmp - -# You must compile without -fsanitize=address to use valgrind -valgrind: - valgrind --leak-check=full --show-leak-kinds=all --trace-children=yes --suppressions=${HOME}/.valgrind_suppressions ./bastion - #valgrind -v --leak-check=full --show-leak-kinds=all --trace-children=yes --suppressions=${HOME}/.valgrind_suppressions --gen-suppressions=yes ./bastion - -debug: - ASAN_OPTIONS=allow_user_segv_handler=true:detect_leaks=true:fast_unwind_on_malloc=0:check_initialization_order=1:suppressions=asan.supp \ - ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-6.0/bin/llvm-symbolizer \ - ./bastion diff --git a/config.h b/config.h index 18815e8..2823095 100644 --- a/config.h +++ b/config.h @@ -9,8 +9,8 @@ #define RSAKEY_PATH "./ssh_host_rsa_key" #define ECDSAKEY_PATH "./ssh_host_ecdsa_key" -#define MYSQL_HOST "::" -#define MYSQL_USER "root" +#define MYSQL_HOST "localhost" +#define MYSQL_USER "sshportal" #define MYSQL_PASS "graou" #define MYSQL_DB "sshportal" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..f885850 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,9 @@ +include_directories("${bastion_SOURCE_DIR}/termrec/libtty/") + +file(GLOB_RECURSE SOURCES *.c) + +add_executable(bastion ${SOURCES}) +add_library(libtty.a STATIC IMPORTED) +set_property(TARGET libtty.a PROPERTY IMPORTED_LOCATION "${bastion_SOURCE_DIR}/libtty.a") +target_link_libraries(bastion libtty.a) +target_link_libraries(bastion bz2 curl lzma mysqlclient pthread ssh z) -- cgit v1.2.3