From 956129116f7d7a1911870dcb8fd7339d0f2a1561 Mon Sep 17 00:00:00 2001 From: Anton Sergeev Date: Tue, 28 Jul 2015 03:33:17 +0600 Subject: [PATCH] Support cJSON_Utils library in CMakeLists.txt Signed-off-by: Anton Sergeev --- CMakeLists.txt | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d67ddd..8bf8e34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,23 +1,42 @@ cmake_minimum_required(VERSION 2.8) -set(PROJECT cJSON) +set(PROJ_CJSON cJSON) -project(${PROJECT} C) +project(${PROJ_CJSON} C) file(GLOB HEADERS cJSON.h) set(SOURCES cJSON.c) -add_library(${PROJECT} STATIC ${HEADERS} ${SOURCES}) -target_link_libraries(${PROJECT} m) +add_library(${PROJ_CJSON} STATIC ${HEADERS} ${SOURCES}) +target_link_libraries(${PROJ_CJSON} m) -add_library(${PROJECT}.shared SHARED ${HEADERS} ${SOURCES}) -set_target_properties(${PROJECT}.shared PROPERTIES OUTPUT_NAME cJSON) -target_link_libraries(${PROJECT}.shared m) +add_library(${PROJ_CJSON}.shared SHARED ${HEADERS} ${SOURCES}) +set_target_properties(${PROJ_CJSON}.shared PROPERTIES OUTPUT_NAME cJSON) +target_link_libraries(${PROJ_CJSON}.shared m) + + +set(PROJ_CJSON_UTILS cJSON_utils) + +project(${PROJ_CJSON_UTILS} C) + +file(GLOB HEADERS_UTILS cJSON_Utils.h) +set(SOURCES_UTILS cJSON_Utils.c) + +add_library(${PROJ_CJSON_UTILS} STATIC ${HEADERS_UTILS} ${SOURCES_UTILS}) +target_link_libraries(${PROJ_CJSON_UTILS} ${PROJ_CJSON}) + +add_library(${PROJ_CJSON_UTILS}.shared SHARED ${HEADERS_UTILS} ${SOURCES_UTILS}) +set_target_properties(${PROJ_CJSON_UTILS}.shared PROPERTIES OUTPUT_NAME cJSON_utils) +target_link_libraries(${PROJ_CJSON_UTILS}.shared ${PROJ_CJSON}.shared) option(ENABLE_CJSON_TEST "Enable building cJSON test" OFF) if(ENABLE_CJSON_TEST) - set(TEST_NAME cJSON_test) - add_executable(${TEST_NAME} test.c) - target_link_libraries(${TEST_NAME} ${PROJECT}) + set(TEST_CJSON cJSON_test) + add_executable(${TEST_CJSON} test.c) + target_link_libraries(${TEST_CJSON} ${PROJ_CJSON}.shared) + + set(TEST_CJSON_UTILS cJSON_test_utils) + add_executable(${TEST_CJSON_UTILS} test_utils.c) + target_link_libraries(${TEST_CJSON_UTILS} ${PROJ_CJSON_UTILS}.shared) endif() -- GitLab