summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorrimio <vasi.vilvoiu@gmail.com>2018-02-26 00:26:03 +0200
committerrimio <vasi.vilvoiu@gmail.com>2018-02-26 00:26:03 +0200
commit5c5694dc87e2a752809ee40bac6604fd3a8a275e (patch)
treea981155d71c03066465a2229b05f014e321b1d04 /CMakeLists.txt
parentb55c1a59c7404b979891ff8ec328cddc2dd681fb (diff)
Partial decoder (WIP)
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt43
1 files changed, 43 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..957588a
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,43 @@
+cmake_minimum_required (VERSION 3.1)
+
+project (ecbor LANGUAGES C)
+
+# Compiler setup
+set (CMAKE_C_STANDARD 99)
+
+add_compile_options (-Wall -Wextra -pedantic -Wmissing-prototypes -Wstrict-prototypes -Wold-style-definition)
+
+# Output directory setup
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/lib")
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/lib")
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin")
+
+# Directory setup
+set (SRC_DIR "${PROJECT_SOURCE_DIR}/src")
+set (INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include")
+
+include_directories (${INCLUDE_DIR} ${SOURCE_DIR})
+
+# Source setup
+set (LIB_INCLUDES
+ "${PROJECT_SOURCE_DIR}/include/ecbor.h"
+)
+
+set (LIB_SOURCES
+ "${SRC_DIR}/ecbor.c"
+ "${SRC_DIR}/ecbor_encoder.c"
+ "${SRC_DIR}/ecbor_decoder.c"
+)
+
+set (TOOL_SOURCES
+ # TODO
+)
+
+# Targets
+add_library (${PROJECT_NAME}_shared SHARED ${LIB_SOURCES})
+add_library (${PROJECT_NAME}_static STATIC ${LIB_SOURCES})
+
+set_target_properties (${PROJECT_NAME}_shared PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
+set_target_properties (${PROJECT_NAME}_static PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
+
+target_compile_options (${PROJECT_NAME}_static PRIVATE -nostdlib) \ No newline at end of file