diff --git a/CMakeLists.txt b/CMakeLists.txt index 49b4ef52..8f139e1f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,8 +24,12 @@ find_package(LIBUV) set(mm_libraries ${mm_libraries} ${LIBUV_LIBRARIES}) include_directories(${LIBUV_INCLUDE_DIRS}) +option(BUILD_STATIC "Enable Static" OFF) + add_subdirectory(lib) message (STATUS "") message (STATUS "machinarium: cooperative multitasking library.") message (STATUS "") +message (STATUS "BUILD_STATIC: ${BUILD_STATIC}") +message (STATUS "") diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 5ebb67e3..b8c313cf 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,4 +1,5 @@ -set(mm_library "machinarium") + +set(mm_library machinarium) set(mm_src mm_context.c mm_fiber.c @@ -14,5 +15,11 @@ set(mm_src mm_read.c mm_write.c) -add_library(${mm_library} SHARED ${mm_src}) -target_link_libraries(${mm_library} ${mm_libraries} m rt) +add_library(mm_library_shared SHARED ${mm_src}) +set_target_properties(mm_library_shared PROPERTIES OUTPUT_NAME ${mm_library}) +target_link_libraries(mm_library_shared ${mm_libraries} m rt) + +if (BUILD_STATIC) + add_library(mm_library_static STATIC ${mm_src}) + set_target_properties(mm_library_static PROPERTIES OUTPUT_NAME ${mm_library}) +endif(BUILD_STATIC)