Building custom filter requires "libtensor_filter.so" only.
Other libraries used by nnstreamer are not necessary for custom filters.
Thus, let them depend on libtensor_filter (or libnnstreamer.so) only.
Plus, by defining "CUSTOMFILTERDEP" CMake variable,
support both SINGLEBINARY and NON-SINGLEBINARY.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
IF(SINGLE_BINARY)
ADD_DEFINITIONS(-DSINGLE_BINARY)
MESSAGE(STATUS "The nnstreamer elements will be created as a single plugin binary.")
+ SET(CUSTOMFILTERDEP nnstreamer)
ELSE(SINGLE_BINARY)
MESSAGE(STATUS "The nnstreamer elements will be created as multple plugin binaries, one binary for one element. This is no more the standard method to release since nnstreamer 0.0.3.")
+ SET(CUSTOMFILTERDEP tensor_filter)
ENDIF(SINGLE_BINARY)
SET(VERSION "0.0.3")
ADD_LIBRARY(dummyLSTM SHARED dummy_LSTM.c)
-TARGET_LINK_LIBRARIES(dummyLSTM nnstreamer)
+TARGET_LINK_LIBRARIES(dummyLSTM ${CUSTOMFILTERDEP})
INSTALL(TARGETS dummyLSTM
RUNTIME DESTINATION ${EXEC_PREFIX}
ADD_LIBRARY(nnstreamer_customfilter_average SHARED nnstreamer_customfilter_example_average.c)
-TARGET_LINK_LIBRARIES(nnstreamer_customfilter_average ${pkgs_LIBRARIES})
-TARGET_INCLUDE_DIRECTORIES(nnstreamer_customfilter_average PUBLIC ${pkgs_INCLUDE_DIRS})
-TARGET_COMPILE_OPTIONS(nnstreamer_customfilter_average PUBLIC ${pkgs_CFLAGS_OTHER})
+TARGET_LINK_LIBRARIES(nnstreamer_customfilter_average ${CUSTOMFILTERDEP})
INSTALL(TARGETS nnstreamer_customfilter_average
RUNTIME DESTINATION ${EXEC_PREFIX}
pkg_check_modules(opencv_pkg REQUIRED opencv)
ADD_LIBRARY(nnstreamer_customfilter_opencv_scaler SHARED nnstreamer_customfilter_opencv_scaler.cc)
-TARGET_LINK_LIBRARIES(nnstreamer_customfilter_opencv_scaler ${pkgs_LIBRARIES} ${opencv_pkg_LIBRARIES})
-TARGET_INCLUDE_DIRECTORIES(nnstreamer_customfilter_opencv_scaler PUBLIC ${pkgs_INCLUDE_DIRS} ${opencv_pkg_INCLUDE_DIRS})
-TARGET_COMPILE_OPTIONS(nnstreamer_customfilter_opencv_scaler PUBLIC ${pkgs_CFLAGS_OTHER})
+TARGET_LINK_LIBRARIES(nnstreamer_customfilter_opencv_scaler ${opencv_pkg_LIBRARIES} ${CUSTOMFILTERDEP})
+TARGET_INCLUDE_DIRECTORIES(nnstreamer_customfilter_opencv_scaler PUBLIC ${opencv_pkg_INCLUDE_DIRS})
ADD_LIBRARY(nnstreamer_customfilter_opencv_average SHARED nnstreamer_customfilter_opencv_average.cc)
-TARGET_LINK_LIBRARIES(nnstreamer_customfilter_opencv_average ${pkgs_LIBRARIES} ${opencv_pkg_LIBRARIES})
-TARGET_INCLUDE_DIRECTORIES(nnstreamer_customfilter_opencv_average PUBLIC ${pkgs_INCLUDE_DIRS} ${opencv_pkg_INCLUDE_DIRS})
-TARGET_COMPILE_OPTIONS(nnstreamer_customfilter_opencv_average PUBLIC ${pkgs_CFLAGS_OTHER})
+TARGET_LINK_LIBRARIES(nnstreamer_customfilter_opencv_average ${opencv_pkg_LIBRARIES} ${CUSTOMFILTERDEP})
+TARGET_INCLUDE_DIRECTORIES(nnstreamer_customfilter_opencv_average PUBLIC ${opencv_pkg_INCLUDE_DIRS})
INSTALL(TARGETS nnstreamer_customfilter_opencv_scaler
RUNTIME DESTINATION ${EXEC_PREFIX}
ADD_LIBRARY(nnstreamer_customfilter_passthrough SHARED nnstreamer_customfilter_example_passthrough.c)
ADD_LIBRARY(nnstreamer_customfilter_passthrough_variable SHARED nnstreamer_customfilter_example_passthrough_variable.c)
-TARGET_LINK_LIBRARIES(nnstreamer_customfilter_passthrough ${pkgs_LIBRARIES})
-TARGET_INCLUDE_DIRECTORIES(nnstreamer_customfilter_passthrough PUBLIC ${pkgs_INCLUDE_DIRS})
-TARGET_COMPILE_OPTIONS(nnstreamer_customfilter_passthrough PUBLIC ${pkgs_CFLAGS_OTHER})
-
-TARGET_LINK_LIBRARIES(nnstreamer_customfilter_passthrough_variable ${pkgs_LIBRARIES})
-TARGET_INCLUDE_DIRECTORIES(nnstreamer_customfilter_passthrough_variable PUBLIC ${pkgs_INCLUDE_DIRS})
-TARGET_COMPILE_OPTIONS(nnstreamer_customfilter_passthrough_variable PUBLIC ${pkgs_CFLAGS_OTHER})
+TARGET_LINK_LIBRARIES(nnstreamer_customfilter_passthrough ${CUSTOMFILTERDEP})
+TARGET_LINK_LIBRARIES(nnstreamer_customfilter_passthrough_variable ${CUSTOMFILTERDEP})
INSTALL(TARGETS nnstreamer_customfilter_passthrough nnstreamer_customfilter_passthrough_variable
RUNTIME DESTINATION ${EXEC_PREFIX}
ADD_LIBRARY(nnstreamer_customfilter_scaler SHARED nnstreamer_customfilter_example_scaler.c)
-TARGET_LINK_LIBRARIES(nnstreamer_customfilter_scaler ${pkgs_LIBRARIES})
-TARGET_COMPILE_OPTIONS(nnstreamer_customfilter_scaler PUBLIC ${pkgs_CFLAGS_OTHER})
+TARGET_LINK_LIBRARIES(nnstreamer_customfilter_scaler ${CUSTOMFILTERDEP})
ADD_LIBRARY(nnstreamer_customfilter_scaler_allocator SHARED nnstreamer_customfilter_example_scaler_allocator.c)
-TARGET_LINK_LIBRARIES(nnstreamer_customfilter_scaler_allocator ${pkgs_LIBRARIES})
-TARGET_COMPILE_OPTIONS(nnstreamer_customfilter_scaler_allocator PUBLIC ${pkgs_CFLAGS_OTHER})
+TARGET_LINK_LIBRARIES(nnstreamer_customfilter_scaler_allocator ${CUSTOMFILTERDEP})
INSTALL(TARGETS nnstreamer_customfilter_scaler nnstreamer_customfilter_scaler_allocator
RUNTIME DESTINATION ${EXEC_PREFIX}
# Unit test uses this custom filter
ADD_LIBRARY(nnscustom_framecounter SHARED nnstreamer_sink/nnscustom_framecounter.c)
-TARGET_LINK_LIBRARIES(nnscustom_framecounter nnstreamer)
+TARGET_LINK_LIBRARIES(nnscustom_framecounter ${CUSTOMFILTERDEP})
+
ADD_TEST(NAME unit_test
COMMAND sh -c "GST_PLUGIN_PATH=${PROJECT_SOURCE_DIR}/build ssat ${CMAKE_CURRENT_SOURCE_DIR}")