From ae6c98a48da409d040604aeffb84a38155fb5bac Mon Sep 17 00:00:00 2001 From: Marc Date: Tue, 30 Nov 2021 22:39:26 +0000 Subject: Initial Commit Signed-off-by: Marc --- CMakeLists.txt | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..3a94d82 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.18) + +project(wifi DESCRIPTION "802.11 Parsing / Generation library" VERSION 0.1) + +execute_process(COMMAND git rev-parse --abbrev-ref HEAD OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITBRANCH) +execute_process(COMMAND git log -1 --pretty=format:%h OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITHASH) +execute_process(COMMAND date OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE BUILDTIME) +set(LIBWIFI_VERSION "0.0.1") + +message(" ") +message(" _ _ _ _ __ _ ") +message("| |(_)| | (_) / _|(_) ") +message("| | _ | |__ __ __ _ | |_ _ ") +message("| || || '_ \\ \\ \\ /\\ / /| || _|| | ") +message("| || || |_| | \\ V V / | || | | | ") +message("|_||_||_.__/ \\_/\\_/ |_||_| |_| ") +message("-----------------------------------") +message("802.11 Parsing / Generation Library") +message("Version: ${LIBWIFI_VERSION}, Git: ${GITBRANCH} (${GITHASH}), Time: ${BUILDTIME}") +message(" ") + +file(GLOB_RECURSE libwifi_src + "src/libwifi/*.h" + "src/libwifi/*.c" +) + +set(CMAKE_C_COMPILER "/usr/bin/clang") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu17") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic -Wno-language-extension-token") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-prototypes -Wstrict-prototypes") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector-strong") + +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + message("Building as Debug") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb -O0") +endif(CMAKE_BUILD_TYPE STREQUAL "Debug") + +add_library(wifi SHARED ${libwifi_src}) + +set_target_properties(wifi PROPERTIES LINKER_LANGUAGE C) +set_target_properties(wifi PROPERTIES VERSION ${LIBWIFI_VERSION}) +set_target_properties(wifi PROPERTIES SOVERSION 0) +set_target_properties(wifi PROPERTIES PUBLIC_HEADER src/libwifi.h) + +install(DIRECTORY src/libwifi/core/ DESTINATION /usr/include/libwifi/core FILES_MATCHING PATTERN "*.h") +install(DIRECTORY src/libwifi/parse/ DESTINATION /usr/include/libwifi/parse FILES_MATCHING PATTERN "*.h") +install(DIRECTORY src/libwifi/gen/ DESTINATION /usr/include/libwifi/gen FILES_MATCHING PATTERN "*.h") +install(TARGETS wifi LIBRARY DESTINATION /usr/lib PUBLIC_HEADER DESTINATION /usr/include) + +add_custom_target(uninstall COMMAND rm -rf /usr/include/libwifi; rm -rf /usr/include/libwifi.h) -- cgit 1.4.1