commit c2a2acca0ebd7941cffc5d14edc96708e9eb441c
parent bc350e7182f7f18fe70de32a2f7e05a73e371ce5
Author: vaplv <vaplv@free.fr>
Date: Wed, 22 Nov 2017 14:22:40 +0100
Add the BUILD_STATIC CMake option
Diffstat:
1 file changed, 25 insertions(+), 15 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -19,6 +19,7 @@ enable_testing()
set(RSYS_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../src)
option(NO_TEST "Disable the test" OFF)
+option(BUILD_STATIC "Build RSys as static library" OFF)
################################################################################
# Check dependencies
@@ -128,19 +129,29 @@ rcmake_prepend_path(RSYS_FILES_INC ${RSYS_SOURCE_DIR})
rcmake_prepend_path(RSYS_FILES_INC_API ${RSYS_SOURCE_DIR})
rcmake_prepend_path(RSYS_FILES_DOC ${PROJECT_SOURCE_DIR}/../)
-add_library(rsys SHARED
- ${RSYS_FILES_SRC}
- ${RSYS_FILES_SRC_THREAD}
- ${RSYS_FILES_INC}
- ${RSYS_FILES_INC_API})
-target_link_libraries(rsys ${CMAKE_THREAD_LIBS_INIT})
-set_target_properties(rsys PROPERTIES
- DEFINE_SYMBOL RSYS_SHARED_BUILD
- VERSION ${VERSION}
- SOVERSION ${VERSION_MAJOR})
-
-rcmake_setup_devel(rsys RSys ${VERSION} rsys/rsys_version.h)
+if(BUILD_STATIC)
+ add_library(rsys STATIC
+ ${RSYS_FILES_SRC}
+ ${RSYS_FILES_SRC_THREAD}
+ ${RSYS_FILES_INC}
+ ${RSYS_FILES_INC_API})
+ set_target_properties(rsys PROPERTIES
+ COMPILE_DEFINITIONS RSYS_STATIC_BUILD
+ VERSION ${VERSION}
+ SOVERSION ${VERSION_MAJOR})
+else()
+ add_library(rsys SHARED
+ ${RSYS_FILES_SRC}
+ ${RSYS_FILES_SRC_THREAD}
+ ${RSYS_FILES_INC}
+ ${RSYS_FILES_INC_API})
+ set_target_properties(rsys PROPERTIES
+ DEFINE_SYMBOL RSYS_SHARED_BUILD
+ VERSION ${VERSION}
+ SOVERSION ${VERSION_MAJOR})
+endif()
+target_link_libraries(rsys ${CMAKE_THREAD_LIBS_INIT})
if(CMAKE_COMPILER_IS_GNUCC)
target_link_libraries(rsys m)
if(NOT MINGW)
@@ -148,6 +159,8 @@ if(CMAKE_COMPILER_IS_GNUCC)
endif()
endif()
+rcmake_setup_devel(rsys RSys ${VERSION} rsys/rsys_version.h)
+
################################################################################
# Add tests
################################################################################
@@ -226,15 +239,12 @@ if(NOT NO_TEST)
set_target_properties(test_mutex test_condition PROPERTIES
LINK_FLAGS ${OpenMP_C_FLAGS})
endif()
-
endif()
-
endif()
################################################################################
# Define output & install directories
################################################################################
-
install(TARGETS rsys
ARCHIVE DESTINATION bin
LIBRARY DESTINATION lib