[Cmake] Add option to change features.
authorgichan <gichan2.jang@samsung.com>
Thu, 1 Sep 2022 06:25:18 +0000 (15:25 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Tue, 6 Sep 2022 02:42:44 +0000 (11:42 +0900)
Add build option to change features.

Signed-off-by: gichan <gichan2.jang@samsung.com>
CMakeLists.txt
src/CMakeLists.txt
tests/CMakeLists.txt

index f5d6bb7ce0cb3c4c39eee66a32f616e28fb37545..5a0527c1df6e7ef8d8ca8b63ee30b60d06388b5c 100644 (file)
@@ -6,6 +6,10 @@ INCLUDE(FindPkgConfig)
 OPTION(ENABLE_TEST      "Enable Test case" OFF)
 OPTION(ENABLE_DEBUG     "Enable Debug" OFF)
 
+# Default features. You may change the features according to your needs.
+OPTION(MQTT_SUPPORT     "Enable MQTT" ON)
+OPTION(AITT_SUPPORT     "Enable AITT" ON)
+
 IF (NOT DEFINED VERSION)
     SET(VERSION    0.1.0)
 ENDIF()
@@ -37,41 +41,36 @@ SET(SOURCE_DIR    ${CMAKE_CURRENT_SOURCE_DIR}/src)
 SET(INCLUDE_DIR   ${CMAKE_CURRENT_SOURCE_DIR}/include)
 SET(NNS_EDGE_SRC_DIR  ${SOURCE_DIR}/libnnstreamer-edge)
 
-# Paho MQTT Library
-SET(ENABLE_PAHO_MQTT OFF)
-
-PKG_SEARCH_MODULE(PAHO_MQTT_PKG "paho-mqtt-c")
-IF(PAHO_MQTT_PKG_FOUND)
-    MESSAGE("Found Paho MQTT pkgconfig.")
-    SET(ENABLE_PAHO_MQTT ON)
-    SET(PAHO_MQTT_LIB ${PAHO_MQTT_PKG_LDFLAGS})
-ELSE()
-    FIND_LIBRARY(PAHO_MQTT_LIB NAMES paho-mqtt3a paho-mqtt3c paho-mqtt3as paho-mqtt3cs)
-
-    IF(NOT PAHO_MQTT_LIB)
-        MESSAGE("Cannot find Paho MQTT library." )
+IF(MQTT_SUPPORT)
+    PKG_SEARCH_MODULE(PAHO_MQTT_PKG "paho-mqtt-c")
+    IF(PAHO_MQTT_PKG_FOUND)
+        MESSAGE("Found Paho MQTT pkgconfig.")
+        SET(PAHO_MQTT_LIB ${PAHO_MQTT_PKG_LDFLAGS})
     ELSE()
-        MESSAGE("Found Paho MQTT library.")
-        SET(ENABLE_PAHO_MQTT ON)
-    ENDIF()
-ENDIF()
+        FIND_LIBRARY(PAHO_MQTT_LIB NAMES paho-mqtt3a paho-mqtt3c paho-mqtt3as paho-mqtt3cs)
 
-IF(ENABLE_PAHO_MQTT)
+        IF(NOT PAHO_MQTT_LIB)
+            MESSAGE(FATAL_ERROR "Cannot find Paho MQTT library." )
+        ELSE()
+            MESSAGE("Found Paho MQTT library.")
+        ENDIF()
+    ENDIF()
     SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_MQTT=1")
     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_MQTT=1")
 ENDIF()
 
 # AITT Library
-SET(ENABLE_AITT OFF)
-FIND_LIBRARY(AITT_LIB NAMES aitt)
-IF(NOT AITT_LIB)
-    MESSAGE("Cannot find AITT library.")
-ELSE()
-    MESSAGE("Found AITT library.")
-    SET(ENABLE_AITT ON)
-    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_AITT=1")
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_AITT=1")
-    SET(AITT_INCLUDE_DIR  ${PREFIX}/include/aitt)
+IF(AITT_SUPPORT)
+    FIND_LIBRARY(AITT_LIB NAMES aitt)
+    IF(NOT AITT_LIB)
+        MESSAGE("Cannot find AITT library.")
+        SET(AITT_SUPPORT OFF)
+    ELSE()
+        MESSAGE("Found AITT library.")
+        SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_AITT=1")
+        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_AITT=1")
+        SET(AITT_INCLUDE_DIR  ${PREFIX}/include/aitt)
+    ENDIF()
 ENDIF()
 
 ADD_SUBDIRECTORY(src)
index 76b6bdf14425ccbe324d9b4c51d93a8853e3a585..ec44ce3d09e6ae13282a32f10beb8c2a77673f8c 100644 (file)
@@ -7,11 +7,11 @@ SET(NNS_EDGE_SRCS
     ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-queue.c
 )
 
-IF(ENABLE_PAHO_MQTT)
+IF(MQTT_SUPPORT)
     SET(NNS_EDGE_SRCS ${NNS_EDGE_SRCS} ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-mqtt.c)
 ENDIF()
 
-IF(ENABLE_AITT)
+IF(AITT_SUPPORT)
     SET(NNS_EDGE_SRCS ${NNS_EDGE_SRCS} ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-aitt.c)
 ENDIF()
 
@@ -19,10 +19,12 @@ ADD_LIBRARY(${NNS_EDGE_LIB_NAME} SHARED ${NNS_EDGE_SRCS})
 SET_TARGET_PROPERTIES(${NNS_EDGE_LIB_NAME} PROPERTIES VERSION ${SO_VERSION})
 TARGET_INCLUDE_DIRECTORIES(${NNS_EDGE_LIB_NAME} PRIVATE ${INCLUDE_DIR} ${EDGE_REQUIRE_PKGS_INCLUDE_DIRS})
 TARGET_LINK_LIBRARIES(${NNS_EDGE_LIB_NAME} ${EDGE_REQUIRE_PKGS_LDFLAGS})
-IF(ENABLE_PAHO_MQTT)
+
+IF(MQTT_SUPPORT)
     TARGET_LINK_LIBRARIES(${NNS_EDGE_LIB_NAME} ${PAHO_MQTT_LIB})
 ENDIF()
-IF(ENABLE_AITT)
+
+IF(AITT_SUPPORT)
     TARGET_LINK_LIBRARIES(${NNS_EDGE_LIB_NAME} ${AITT_LIB})
     TARGET_INCLUDE_DIRECTORIES(${NNS_EDGE_LIB_NAME} PUBLIC ${AITT_INCLUDE_DIR})
 ENDIF()
index 2fa71f249c644960cdd2d2c1958cf5918a7fd715..3efd8c0345b1499c49c42c3676f939b2d32c8fc1 100644 (file)
@@ -5,7 +5,7 @@ TARGET_LINK_LIBRARIES(unittest_nnstreamer-edge ${TEST_REQUIRE_PKGS_LDFLAGS} nnst
 INSTALL (TARGETS unittest_nnstreamer-edge DESTINATION ${BIN_INSTALL_DIR})
 
 # AITT test
-IF(ENABLE_AITT)
+IF(AITT_SUPPORT)
 ADD_EXECUTABLE(unittest_nnstreamer-edge-aitt unittest_nnstreamer-edge-aitt.cc)
 TARGET_INCLUDE_DIRECTORIES(unittest_nnstreamer-edge-aitt PRIVATE ${EDGE_REQUIRE_PKGS_INCLUDE_DIRS} ${INCLUDE_DIR} ${NNS_EDGE_SRC_DIR})
 TARGET_LINK_LIBRARIES(unittest_nnstreamer-edge-aitt ${TEST_REQUIRE_PKGS_LDFLAGS} nnstreamer-edge)