diff --git a/CMakeLists.txt b/CMakeLists.txt index 07b04f3..fc2d30a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,6 +27,15 @@ if (NOT SC_USE_WRAP) message(STATUS "Turned off --wrap.") endif() +option(SC_BUILD_STATIC "Build static library" OFF) +set(SC_LIBRARY_TYPE SHARED) +if (SC_BUILD_STATIC) + set(SC_LIBRARY_TYPE STATIC) + message(STATUS "Building static library enabled.") +else() + message(STATUS "Building shared library enabled.") +endif() + add_subdirectory(array) add_subdirectory(buffer) add_subdirectory(condition) diff --git a/array/CMakeLists.txt b/array/CMakeLists.txt index 9a7ab50..8c4406c 100644 --- a/array/CMakeLists.txt +++ b/array/CMakeLists.txt @@ -1,11 +1,11 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_array C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) -add_library(sc_array SHARED sc_array.h) +add_library(sc_array ${SC_LIBRARY_TYPE} sc_array.h) set_target_properties(sc_array PROPERTIES LINKER_LANGUAGE C) diff --git a/buffer/CMakeLists.txt b/buffer/CMakeLists.txt index 86c0ab1..6a796e6 100644 --- a/buffer/CMakeLists.txt +++ b/buffer/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_buf C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_buf SHARED + sc_buf ${SC_LIBRARY_TYPE} sc_buf.c sc_buf.h) diff --git a/condition/CMakeLists.txt b/condition/CMakeLists.txt index c9576b6..1d7a92f 100644 --- a/condition/CMakeLists.txt +++ b/condition/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_cond C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_cond SHARED + sc_cond ${SC_LIBRARY_TYPE} sc_cond.c sc_cond.h) diff --git a/crc32/CMakeLists.txt b/crc32/CMakeLists.txt index 0cd4620..b2f5a68 100644 --- a/crc32/CMakeLists.txt +++ b/crc32/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_crc32 C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_crc32 SHARED + sc_crc32 ${SC_LIBRARY_TYPE} sc_crc32.c sc_crc32.h) diff --git a/heap/CMakeLists.txt b/heap/CMakeLists.txt index 8b0d1fd..9900f3f 100644 --- a/heap/CMakeLists.txt +++ b/heap/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_heap C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_heap SHARED + sc_heap ${SC_LIBRARY_TYPE} sc_heap.c sc_heap.h) diff --git a/ini/CMakeLists.txt b/ini/CMakeLists.txt index 64ed49d..eedd4da 100644 --- a/ini/CMakeLists.txt +++ b/ini/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_ini C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_ini SHARED + sc_ini ${SC_LIBRARY_TYPE} sc_ini.c sc_ini.h) diff --git a/linked-list/CMakeLists.txt b/linked-list/CMakeLists.txt index 9c0880d..85c0a3e 100644 --- a/linked-list/CMakeLists.txt +++ b/linked-list/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_list C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_list SHARED + sc_list ${SC_LIBRARY_TYPE} sc_list.c sc_list.h) diff --git a/logger/CMakeLists.txt b/logger/CMakeLists.txt index 1213516..f410b07 100644 --- a/logger/CMakeLists.txt +++ b/logger/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_log C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_log SHARED + sc_log ${SC_LIBRARY_TYPE} sc_log.c sc_log.h) diff --git a/map/CMakeLists.txt b/map/CMakeLists.txt index 117a651..86ccb92 100644 --- a/map/CMakeLists.txt +++ b/map/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_map C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_map SHARED + sc_map ${SC_LIBRARY_TYPE} sc_map.c sc_map.h) diff --git a/memory-map/CMakeLists.txt b/memory-map/CMakeLists.txt index 757627a..fd23064 100644 --- a/memory-map/CMakeLists.txt +++ b/memory-map/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_mmap C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_mmap SHARED + sc_mmap ${SC_LIBRARY_TYPE} sc_mmap.c sc_mmap.h) diff --git a/mutex/CMakeLists.txt b/mutex/CMakeLists.txt index d87ac9c..5e2bf69 100644 --- a/mutex/CMakeLists.txt +++ b/mutex/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_mutex C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_mutex SHARED + sc_mutex ${SC_LIBRARY_TYPE} sc_mutex.c sc_mutex.h) diff --git a/option/CMakeLists.txt b/option/CMakeLists.txt index 7980040..ec14ed1 100644 --- a/option/CMakeLists.txt +++ b/option/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_option C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_option SHARED + sc_option ${SC_LIBRARY_TYPE} sc_option.c sc_option.h) diff --git a/perf/CMakeLists.txt b/perf/CMakeLists.txt index fe94120..7d94050 100644 --- a/perf/CMakeLists.txt +++ b/perf/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_perf C) set(CMAKE_C_STANDARD 99) @@ -8,7 +8,7 @@ set(CMAKE_C_EXTENSIONS OFF) if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") add_library( - sc_perf SHARED + sc_perf ${SC_LIBRARY_TYPE} sc_perf.c sc_perf.h) diff --git a/queue/CMakeLists.txt b/queue/CMakeLists.txt index c73e371..d7b054b 100644 --- a/queue/CMakeLists.txt +++ b/queue/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_queue C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_queue SHARED + sc_queue ${SC_LIBRARY_TYPE} sc_queue.h) set_target_properties(sc_queue PROPERTIES LINKER_LANGUAGE C) diff --git a/sc/CMakeLists.txt b/sc/CMakeLists.txt index b27ce6b..3b0f0c3 100644 --- a/sc/CMakeLists.txt +++ b/sc/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc SHARED + sc ${SC_LIBRARY_TYPE} sc.c sc.h) diff --git a/signal/CMakeLists.txt b/signal/CMakeLists.txt index c4fd951..39f1a44 100644 --- a/signal/CMakeLists.txt +++ b/signal/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_signal C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_signal SHARED + sc_signal ${SC_LIBRARY_TYPE} sc_signal.c sc_signal.h) diff --git a/socket/CMakeLists.txt b/socket/CMakeLists.txt index b5347c2..d2015b1 100644 --- a/socket/CMakeLists.txt +++ b/socket/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_socket C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_socket SHARED + sc_socket ${SC_LIBRARY_TYPE} sc_sock.c sc_sock.h) diff --git a/string/CMakeLists.txt b/string/CMakeLists.txt index 12c0ae3..524d324 100644 --- a/string/CMakeLists.txt +++ b/string/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_str C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_str SHARED + sc_str ${SC_LIBRARY_TYPE} sc_str.c sc_str.h) diff --git a/thread/CMakeLists.txt b/thread/CMakeLists.txt index 56db478..079f996 100644 --- a/thread/CMakeLists.txt +++ b/thread/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_thread C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_thread SHARED + sc_thread ${SC_LIBRARY_TYPE} sc_thread.c sc_thread.h) diff --git a/time/CMakeLists.txt b/time/CMakeLists.txt index 9dd0f24..1e81794 100644 --- a/time/CMakeLists.txt +++ b/time/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_time C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_time SHARED + sc_time ${SC_LIBRARY_TYPE} sc_time.c sc_time.h) diff --git a/timer/CMakeLists.txt b/timer/CMakeLists.txt index bcf90cd..398cd74 100644 --- a/timer/CMakeLists.txt +++ b/timer/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10) project(sc_timer C) set(CMAKE_C_STANDARD 99) @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_timer SHARED + sc_timer ${SC_LIBRARY_TYPE} sc_timer.c sc_timer.h) diff --git a/uri/CMakeLists.txt b/uri/CMakeLists.txt index 438c74d..28483db 100644 --- a/uri/CMakeLists.txt +++ b/uri/CMakeLists.txt @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) add_library( - sc_uri SHARED + sc_uri ${SC_LIBRARY_TYPE} sc_uri.c sc_uri.h)