jenkins: linux-gnu, armeabi-v7, windows

Change-Id: I572b43a41344bfe438e18a2a5892b6b7be416e36
diff --git a/GreenScreen/CMakeLists.txt b/GreenScreen/CMakeLists.txt
index 574d9b1..61f9d40 100644
--- a/GreenScreen/CMakeLists.txt
+++ b/GreenScreen/CMakeLists.txt
@@ -6,35 +6,34 @@
 
 project(${ProjectName} VERSION ${Version})
 
-set (DAEMON ./../../daemon)
+set (DAEMON ${PROJECT_SOURCE_DIR}/../../daemon)
 set (PLUGIN_NAME GreenScreen)
 set (JPL_FILE_NAME ${PLUGIN_NAME}.jpl)
 set (DAEMON_SRC ${DAEMON}/src)
 set (CONTRIB_PATH ${DAEMON}/contrib)
-set (DESTINATION_PATH ./../build/)
-set (PLUGINS_LIB ../lib)
+set (PLUGINS_LIB ${PROJECT_SOURCE_DIR}/../lib)
 set (JPL_DIRECTORY ${PROJECT_BINARY_DIR}/jpl)
+set (LIBS_DIR ${PROJECT_SOURCE_DIR}/../contrib/Libs)
 
 if(WIN32)
-	message(OS:\  WINDOWS\ ${CMAKE_SYSTEM_PROCESSOR})
-	if (NOT ${CMAKE_CL_64})
-		message( FATAL_ERROR "\nUse CMake only for x64 Windows" )
-	endif()
-	set (CONTRIB_PLATFORM_CURT x64)
-	set (CONTRIB_PLATFORM ${CONTRIB_PLATFORM_CURT}-windows)
-	set (LIBRARY_FILE_NAME ${PLUGIN_NAME}.dll)
-	set (LIBS_DIR $ENV{HOME}/Documents/GITHUB/Libs)
-	set (OPENCV $ENV{HOME}/Documents/GITHUB/opencv/build-bash/)
-	set (FFMPEG ${CONTRIB_PATH}/build/ffmpeg/Build/win32/x64)
+    message(OS:\  WINDOWS\ ${CMAKE_SYSTEM_PROCESSOR})
+    if (NOT ${CMAKE_CL_64})
+        message( FATAL_ERROR "\nUse CMake only for x64 Windows" )
+    endif()
+    set (CONTRIB_PLATFORM_CURT x64)
+    set (CONTRIB_PLATFORM ${CONTRIB_PLATFORM_CURT}-windows)
+    set (LIBRARY_FILE_NAME ${PLUGIN_NAME}.dll)
+    set (LIBS_BIN_DIR $ENV{PLUGIN_ENV})
+    set (FFMPEG ${CONTRIB_PATH}/build/ffmpeg/Build/win32/x64)
 endif()
 
 if(UNIX)
-	message( FATAL_ERROR "\nUse CMake only for Windows! For linux or Android (linux host), use our bash scripts.\nPlese refer to documentation for more infos." )
-	message(OS:\  LINUX\ ${CMAKE_SYSTEM_PROCESSOR})
-	set (CONTRIB_PLATFORM_CURT ${CMAKE_SYSTEM_PROCESSOR})
-	set (CONTRIB_PLATFORM ${CONTRIB_PLATFORM_CURT}-linux-gnu)
-	set (LIBRARY_FILE_NAME lib${PLUGIN_NAME}.so)
-	set (LIBS_DIR /home/${USER}/Libs)
+    message( FATAL_ERROR "\nUse CMake only for Windows! For linux or Android (linux host), use our bash scripts.\nPlese refer to documentation for more infos." )
+    message(OS:\  LINUX\ ${CMAKE_SYSTEM_PROCESSOR})
+    set (CONTRIB_PLATFORM_CURT ${CMAKE_SYSTEM_PROCESSOR})
+    set (CONTRIB_PLATFORM ${CONTRIB_PLATFORM_CURT}-linux-gnu)
+    set (LIBRARY_FILE_NAME lib${PLUGIN_NAME}.so)
+    set (LIBS_BIN_DIR /home/${USER}/Libs)
 endif()
 
 
@@ -51,19 +50,19 @@
 set(GPU -gpu61)
 
 if (CPU)
-	set(GPU )
-	add_definitions(-DCPU)
-	message(CPU\ BUILDING!)
+    set(GPU )
+    add_definitions(-DCPU)
+    message(CPU\ BUILDING!)
 endif()
 
 if (TFLITE)
-	add_definitions(-DTFLITE)
-	set(TENSORFLOW _tensorflowLite)
-	set(model mobilenet_v2_deeplab_v3_256_myquant.tflite)
-	set(modelType .tflite)
-	set(preferencesFile preferences-tflite.json)
-	set(TFLIB libtensorflowlite)
-	message(TFLITE\ BUILDING!)
+    add_definitions(-DTFLITE)
+    set(TENSORFLOW _tensorflowLite)
+    set(model mobilenet_v2_deeplab_v3_256_myquant.tflite)
+    set(modelType .tflite)
+    set(preferencesFile preferences-tflite.json)
+    set(TFLIB libtensorflowlite)
+    message(TFLITE\ BUILDING!)
 endif()
 
 set(CMAKE_CXX_STANDARD 17)
@@ -72,106 +71,108 @@
 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
 
 set(plugin_SRC main.cpp
-			   pluginInference.cpp
-			   pluginMediaHandler.cpp
-			   pluginParameters.cpp
-			   pluginProcessor.cpp
-			   TFInference.cpp
-			   videoSubscriber.cpp
-			   )
+               pluginInference.cpp
+               pluginMediaHandler.cpp
+               pluginParameters.cpp
+               pluginProcessor.cpp
+               TFInference.cpp
+               videoSubscriber.cpp
+               )
 
 set(plugin_HDR pluginInference.h
-			   pluginMediaHandler.h
-			   pluginParameters.h
-			   pluginProcessor.h
-			   TFInference.h
-			   TFModels.h
-			   videoSubscriber.h
-			   ../lib/accel.h
-			   ../lib/framescaler.h
-			   ../lib/pluglog.h
-			   )
+               pluginMediaHandler.h
+               pluginParameters.h
+               pluginProcessor.h
+               TFInference.h
+               TFModels.h
+               videoSubscriber.h
+               ../lib/accel.h
+               ../lib/framescaler.h
+               ../lib/pluglog.h
+               )
 
 
 
 # add the library
 add_library(${ProjectName} SHARED ${plugin_SRC}
-								  ${plugin_HDR}
-								  )
+                                  ${plugin_HDR}
+                                  )
 
-target_include_directories(${ProjectName} PUBLIC ${PROJECT_BINARY_DIR}
-												 ${PROJECT_SOURCE_DIR}
-												 ${DAEMON_SRC}
-												 ${CONTRIB_PATH}
-												 ${CONTRIB_PATH}/${CONTRIB_PLATFORM}/include
-												 ${CONTRIB_PATH}/${CONTRIB_PLATFORM}/include/opencv4
-												 ${OPENCV}/install/include
-												 ${FFMPEG}/include
-												 ${PLUGINS_LIB}
-												 ${LIBS_DIR}
-												 ${LIBS_DIR}/${TENSORFLOW}/include
-												 ${LIBS_DIR}/${TENSORFLOW}/include/third_party/eigen3
-												 ${LIBS_DIR}/${TENSORFLOW}/include/flatbuffers
-												 )
 if (WIN32)
-target_link_directories(${ProjectName} PUBLIC	${CONTRIB_PATH}
-										${LIBS_DIR}/${TENSORFLOW}/lib/${CONTRIB_PLATFORM}
-										${OPENCV}/install/x64/vc16/staticlib
-										${FFMPEG}/bin
-										${LIBS_DIR}
-										${CONTRIB_PATH}/${CONTRIB_PLATFORM}/lib
-										${CONTRIB_PATH}/${CONTRIB_PLATFORM}/lib/opencv4/3rdparty
-										${LIBS_DIR}/${TENSORFLOW}/lib/${CONTRIB_PLATFORM}
-										)
+target_include_directories(${ProjectName} PUBLIC ${PROJECT_BINARY_DIR}
+                                                 ${PROJECT_SOURCE_DIR}
+                                                 ${PLUGINS_LIB}
+                                                 ${DAEMON_SRC}
+                                                 ${CONTRIB_PATH}
+                                                 ${FFMPEG}/include
+                                                 ${CONTRIB_PATH}/build/opencv/build/install/include
+                                                 ${LIBS_DIR}/${TENSORFLOW}/include
+                                                 ${LIBS_DIR}/${TENSORFLOW}/include/third_party/eigen3
+                                                 ${LIBS_DIR}/${TENSORFLOW}/include/flatbuffers
+                                                 )
+target_link_directories(${ProjectName} PUBLIC ${CONTRIB_PATH}
+                                        ${LIBS_BIN_DIR}/${TENSORFLOW}/lib/${CONTRIB_PLATFORM}
+                                        ${CONTRIB_PATH}/build/opencv/build/lib/Release
+                                        ${CONTRIB_PATH}/build/opencv/build/3rdparty/lib/Release
+                                        ${FFMPEG}/bin
+                                        )
 
 target_link_libraries(${ProjectName} PUBLIC swscale avutil libpng opencv_imgcodecs411 opencv_imgproc411 opencv_core411 ${TFLIB} zlib)
 endif()
 
 if (UNIX)
-link_directories(${ProjectName} PUBLIC	${CONTRIB_PATH}
-										${LIBS_DIR}/${TENSORFLOW}/lib/${CONTRIB_PLATFORM}
-										${OPENCV}/install/x64/vc16/staticlib
-										${FFMPEG}/bin
-										${LIBS_DIR}
-										${CONTRIB_PATH}/${CONTRIB_PLATFORM}/lib
-										${CONTRIB_PATH}/${CONTRIB_PLATFORM}/lib/opencv4/3rdparty
-										${LIBS_DIR}/${TENSORFLOW}/lib/${CONTRIB_PLATFORM}
-										)
+target_include_directories(${ProjectName} PUBLIC ${PROJECT_BINARY_DIR}
+                                                 ${PROJECT_SOURCE_DIR}
+                                                 ${PLUGINS_LIB}
+                                                 ${DAEMON_SRC}
+                                                 ${CONTRIB_PATH}/${CONTRIB_PLATFORM}/include
+                                                 ${CONTRIB_PATH}/${CONTRIB_PLATFORM}/include/opencv4
+                                                 ${LIBS_DIR}/${TENSORFLOW}/include
+                                                 ${LIBS_DIR}/${TENSORFLOW}/include/third_party/eigen3
+                                                 ${LIBS_DIR}/${TENSORFLOW}/include/flatbuffers
+                                                 )
+link_directories(${ProjectName} PUBLIC    ${CONTRIB_PATH}
+                                        ${LIBS_BIN_DIR}/${TENSORFLOW}/lib/${CONTRIB_PLATFORM}
+                                        ${CONTRIB_PATH}/${CONTRIB_PLATFORM}/lib
+                                        ${CONTRIB_PATH}/${CONTRIB_PLATFORM}/lib/opencv4/3rdparty
+                                        )
 target_link_libraries(${ProjectName} PUBLIC swscale avutil libpng opencv_imgcodecs opencv_imgproc opencv_core ${TFLIB})
 endif()
 
 add_custom_command(
-	TARGET ${ProjectName}
-	PRE_BUILD
-	COMMAND ${CMAKE_COMMAND} -E remove_directory -r ${JPL_DIRECTORY}
-	COMMAND ${CMAKE_COMMAND} -E remove_directory -r ${JPL_DIRECTORY}/../../../build/${ProjectName}
-	COMMAND ${CMAKE_COMMAND} -E make_directory ${JPL_DIRECTORY}/../../../build/${ProjectName}
-	COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/data ${JPL_DIRECTORY}/data
-	COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBS_DIR}/${TENSORFLOW}/lib/ ${JPL_DIRECTORY}/lib
-	COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/modelsSRC/${model} ${JPL_DIRECTORY}/data/models
-	COMMAND ${CMAKE_COMMAND} -E rename ${JPL_DIRECTORY}/data/models/${model} ${JPL_DIRECTORY}/data/models/mModel${modelType}
-	COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/manifest.json ${JPL_DIRECTORY}
-	COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/${preferencesFile} ${JPL_DIRECTORY}/data
-	COMMAND ${CMAKE_COMMAND} -E rename ${JPL_DIRECTORY}/data/${preferencesFile} ${JPL_DIRECTORY}/data/preferences.json
-	COMMENT "Assembling Plugin files"
+    TARGET ${ProjectName}
+    PRE_BUILD
+    COMMAND ${CMAKE_COMMAND} -E remove_directory -r ${JPL_DIRECTORY}
+    COMMAND ${CMAKE_COMMAND} -E remove_directory -r ${JPL_DIRECTORY}/../../../build/${ProjectName}
+    COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/data ${JPL_DIRECTORY}/data
+    COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBS_BIN_DIR}/${TENSORFLOW}/lib/ ${JPL_DIRECTORY}/lib
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${JPL_DIRECTORY}/data/models
+    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/modelsSRC/${model} ${JPL_DIRECTORY}/data/models
+    COMMAND ${CMAKE_COMMAND} -E rename ${JPL_DIRECTORY}/data/models/${model} ${JPL_DIRECTORY}/data/models/mModel${modelType}
+    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/manifest.json ${JPL_DIRECTORY}
+    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/${preferencesFile} ${JPL_DIRECTORY}/data
+    COMMAND ${CMAKE_COMMAND} -E rename ${JPL_DIRECTORY}/data/${preferencesFile} ${JPL_DIRECTORY}/data/preferences.json
+    COMMENT "Assembling Plugin files"
 )
 
 if (WIN32)
-	add_custom_command(
-		TARGET ${ProjectName}
-		POST_BUILD
-		COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/Release/${ProjectName}.lib ${JPL_DIRECTORY}/lib/${CONTRIB_PLATFORM}
-		COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/Release/${LIBRARY_FILE_NAME} ${JPL_DIRECTORY}/lib/${CONTRIB_PLATFORM}
-		COMMAND python ${PROJECT_SOURCE_DIR}/../assemblePlugin.py --plugins=GreenScreen
-		COMMENT "Generating JPL archive"
-	)
+    add_custom_command(
+        TARGET ${ProjectName}
+        POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E make_directory ${JPL_DIRECTORY}/../../../build/x64-windows/${TENSORFLOW}
+        COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/Release/${ProjectName}.lib ${JPL_DIRECTORY}/lib/${CONTRIB_PLATFORM}
+        COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/Release/${LIBRARY_FILE_NAME} ${JPL_DIRECTORY}/lib/${CONTRIB_PLATFORM}
+        COMMAND python ${PROJECT_SOURCE_DIR}/../assemble-plugin.py --plugins=GreenScreen --extraPath=${TENSORFLOW}
+        COMMENT "Generating JPL archive"
+    )
 else()
-	add_custom_command(
-		TARGET ${ProjectName}
-		POST_BUILD
-		COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/Release/${LIBRARY_FILE_NAME} ${JPL_DIRECTORY}/lib/${CONTRIB_PLATFORM}
-		COMMAND python ${PROJECT_SOURCE_DIR}/../assemblePlugin.py --plugins=GreenScreen
-		COMMENT "Generating JPL archive"
-	)
+    add_custom_command(
+        TARGET ${ProjectName}
+        POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E make_directory ${JPL_DIRECTORY}/../../../build/x86_64-linux-gnu/${TENSORFLOW}
+        COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/Release/${LIBRARY_FILE_NAME} ${JPL_DIRECTORY}/lib/${CONTRIB_PLATFORM}
+        COMMAND python ${PROJECT_SOURCE_DIR}/../assemble-plugin.py --plugins=GreenScreen --extraPath=${TENSORFLOW}
+        COMMENT "Generating JPL archive"
+    )
 
 endif()
\ No newline at end of file