diff options
author | Marc <foxtrot@malloc.me> | 2021-11-30 22:39:26 +0000 |
---|---|---|
committer | Marc <foxtrot@malloc.me> | 2021-12-01 16:54:44 +0000 |
commit | ae6c98a48da409d040604aeffb84a38155fb5bac (patch) | |
tree | c27a8e28972209581ce3fba2130bf0c2b4f9c9c0 /CMakeLists.txt | |
download | libwifi-ae6c98a48da409d040604aeffb84a38155fb5bac.tar.gz libwifi-ae6c98a48da409d040604aeffb84a38155fb5bac.tar.bz2 libwifi-ae6c98a48da409d040604aeffb84a38155fb5bac.zip |
Initial Commit
Signed-off-by: Marc <foxtrot@malloc.me>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..3a94d82 --- /dev/null +++ b/CMakeLists.txt | |||
@@ -0,0 +1,51 @@ | |||
1 | cmake_minimum_required(VERSION 3.18) | ||
2 | |||
3 | project(wifi DESCRIPTION "802.11 Parsing / Generation library" VERSION 0.1) | ||
4 | |||
5 | execute_process(COMMAND git rev-parse --abbrev-ref HEAD OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITBRANCH) | ||
6 | execute_process(COMMAND git log -1 --pretty=format:%h OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE GITHASH) | ||
7 | execute_process(COMMAND date OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE BUILDTIME) | ||
8 | set(LIBWIFI_VERSION "0.0.1") | ||
9 | |||
10 | message(" ") | ||
11 | message(" _ _ _ _ __ _ ") | ||
12 | message("| |(_)| | (_) / _|(_) ") | ||
13 | message("| | _ | |__ __ __ _ | |_ _ ") | ||
14 | message("| || || '_ \\ \\ \\ /\\ / /| || _|| | ") | ||
15 | message("| || || |_| | \\ V V / | || | | | ") | ||
16 | message("|_||_||_.__/ \\_/\\_/ |_||_| |_| ") | ||
17 | message("-----------------------------------") | ||
18 | message("802.11 Parsing / Generation Library") | ||
19 | message("Version: ${LIBWIFI_VERSION}, Git: ${GITBRANCH} (${GITHASH}), Time: ${BUILDTIME}") | ||
20 | message(" ") | ||
21 | |||
22 | file(GLOB_RECURSE libwifi_src | ||
23 | "src/libwifi/*.h" | ||
24 | "src/libwifi/*.c" | ||
25 | ) | ||
26 | |||
27 | set(CMAKE_C_COMPILER "/usr/bin/clang") | ||
28 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu17") | ||
29 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra") | ||
30 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic -Wno-language-extension-token") | ||
31 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-prototypes -Wstrict-prototypes") | ||
32 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector-strong") | ||
33 | |||
34 | if (CMAKE_BUILD_TYPE STREQUAL "Debug") | ||
35 | message("Building as Debug") | ||
36 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb -O0") | ||
37 | endif(CMAKE_BUILD_TYPE STREQUAL "Debug") | ||
38 | |||
39 | add_library(wifi SHARED ${libwifi_src}) | ||
40 | |||
41 | set_target_properties(wifi PROPERTIES LINKER_LANGUAGE C) | ||
42 | set_target_properties(wifi PROPERTIES VERSION ${LIBWIFI_VERSION}) | ||
43 | set_target_properties(wifi PROPERTIES SOVERSION 0) | ||
44 | set_target_properties(wifi PROPERTIES PUBLIC_HEADER src/libwifi.h) | ||
45 | |||
46 | install(DIRECTORY src/libwifi/core/ DESTINATION /usr/include/libwifi/core FILES_MATCHING PATTERN "*.h") | ||
47 | install(DIRECTORY src/libwifi/parse/ DESTINATION /usr/include/libwifi/parse FILES_MATCHING PATTERN "*.h") | ||
48 | install(DIRECTORY src/libwifi/gen/ DESTINATION /usr/include/libwifi/gen FILES_MATCHING PATTERN "*.h") | ||
49 | install(TARGETS wifi LIBRARY DESTINATION /usr/lib PUBLIC_HEADER DESTINATION /usr/include) | ||
50 | |||
51 | add_custom_target(uninstall COMMAND rm -rf /usr/include/libwifi; rm -rf /usr/include/libwifi.h) | ||