rsys

Basic data structures and low-level features
git clone git://git.meso-star.fr/rsys.git
Log | Files | Refs | README | LICENSE

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:
Mcmake/CMakeLists.txt | 40+++++++++++++++++++++++++---------------
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