IVGCVSW-1998 : replace Compute enum in LayerSupport free functions

!android-nn-driver:153490

Change-Id: I1c2a5f942e3a1c3626e093c90545ca27c64ba5e8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 22eeedd..8182c22 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -284,20 +284,22 @@
         ${GATOR_ROOT}/annotate/streamline_annotate.c)
 endif()
 
-add_library_ex(armnn SHARED ${armnn_sources})
-
 # the backends under src/backends extend the list of
-# static libs armnn to link against
-list(APPEND armnnLibraries armnnUtils)
+# object libs armnn to include in the build
 include(src/backends/backends.cmake)
+foreach(lib ${armnnLibraries})
+    message("Adding object library dependency to armnn: ${lib}")
+    list(APPEND armnn_sources $<TARGET_OBJECTS:${lib}>)
+endforeach()
+
+add_library_ex(armnn SHARED ${armnn_sources})
 
 target_include_directories(armnn PRIVATE src)
 target_include_directories(armnn PRIVATE src/armnn)
 target_include_directories(armnn PRIVATE src/armnnUtils)
-foreach(lib ${armnnLibraries})
-    target_link_libraries(armnn ${lib})
-    message("Adding library dependency to armnn: ${lib}")
-endforeach()
+
+target_link_libraries(armnn armnnUtils)
+
 target_link_libraries(armnn ${CMAKE_DL_LIBS})
 
 install(TARGETS armnn DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
@@ -458,7 +460,7 @@
     endif()
 
     foreach(lib ${armnnUnitTestLibraries})
-        message("Adding library dependency to UnitTests: ${lib}")
+        message("Adding object library dependency to UnitTests: ${lib}")
         list(APPEND unittest_sources $<TARGET_OBJECTS:${lib}>)
     endforeach()