IVGCVSW-4540 Fix master build failure to link UnitTests on Android
authorSadik Armagan <sadik.armagan@arm.com>
Mon, 9 Mar 2020 11:04:32 +0000 (11:04 +0000)
committerSadik Armagan <sadik.armagan@arm.com>
Mon, 9 Mar 2020 11:05:25 +0000 (11:05 +0000)
Change-Id: I22148a0bf243eabfd045475644510f30096d96e3
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
CMakeLists.txt
cmake/GlobalConfig.cmake
src/timelineDecoder/CMakeLists.txt

index 046ef83..8d63e43 100644 (file)
@@ -868,10 +868,15 @@ if(BUILD_UNIT_TESTS)
     if(BUILD_GATORD_MOCK)
         list(APPEND unittest_sources
             tests/profiling/gatordmock/tests/GatordMockTests.cpp
-            src/timelineDecoder/tests/TimelineTests.cpp
             )
     endif()
 
+    if(BUILD_TIMELINE_DECODER)
+        list(APPEND unittest_sources
+             src/timelineDecoder/tests/TimelineTests.cpp
+             )
+    endif()
+
     foreach(lib ${armnnUnitTestLibraries})
         message(STATUS "Adding object library dependency to UnitTests: ${lib}")
         list(APPEND unittest_sources $<TARGET_OBJECTS:${lib}>)
@@ -882,6 +887,7 @@ if(BUILD_UNIT_TESTS)
     target_include_directories(UnitTests PRIVATE src/armnnUtils)
     target_include_directories(UnitTests PRIVATE src/backends)
     target_include_directories(UnitTests PRIVATE src/profiling)
+    target_include_directories(UnitTests PRIVATE src/timelineDecoder)
 
     if(VALGRIND_FOUND)
         if(HEAP_PROFILING OR LEAK_CHECKING)
@@ -904,6 +910,9 @@ if(BUILD_UNIT_TESTS)
 
     if(BUILD_GATORD_MOCK)
         target_link_libraries(UnitTests gatordMockService)
+    endif()
+
+    if(BUILD_TIMELINE_DECODER)
         target_link_libraries(UnitTests timelineDecoder)
     endif()
 
@@ -990,7 +999,7 @@ if(BUILD_GATORD_MOCK)
         tests/profiling/gatordmock/StreamMetadataCommandHandler.hpp
         )
 
-    include_directories(src/timelineDecoder src/profiling tests/profiling tests/profiling/gatordmock)
+    include_directories(src/profiling tests/profiling tests/profiling/gatordmock)
 
     add_library_ex(gatordMockService STATIC ${gatord_mock_sources})
     target_include_directories(gatordMockService PRIVATE src/armnnUtils)
index 1fb86e9..f4e4ad5 100644 (file)
@@ -22,6 +22,7 @@ option(TF_LITE_GENERATED_PATH "Tensorflow lite generated C++ schema location" OF
 option(FLATBUFFERS_ROOT "Location where the flatbuffers 'include' and 'lib' folders to be found" Off)
 option(DYNAMIC_BACKEND_PATHS "Colon seperated list of paths where to load the dynamic backends from" "")
 option(BUILD_GATORD_MOCK "Build the Gatord simulator for external profiling testing." ON)
+option(BUILD_TIMELINE_DECODER "Build the Timeline Decoder for external profiling." ON)
 option(SHARED_BOOST "Use dynamic linking for boost libraries" OFF)
 
 include(SelectLibraryConfigurations)
index 6b8517a..e34fae7 100644 (file)
@@ -3,19 +3,27 @@
 # SPDX-License-Identifier: MIT
 #
 
-set(timelineDecoder_sources)
-list(APPEND timelineDecoder_sources
-        ../../include/armnn/profiling/ITimelineDecoder.hpp
-        TimelineCaptureCommandHandler.cpp
-        TimelineCaptureCommandHandler.hpp
-        TimelineDecoder.cpp
-        TimelineDecoder.hpp
-        TimelineDirectoryCaptureCommandHandler.cpp
-        TimelineDirectoryCaptureCommandHandler.hpp
-        )
+if(BUILD_TIMELINE_DECODER)
+    set(timelineDecoder_sources)
+    list(APPEND timelineDecoder_sources
+            ../../include/armnn/profiling/ITimelineDecoder.hpp
+            TimelineCaptureCommandHandler.cpp
+            TimelineCaptureCommandHandler.hpp
+            TimelineDecoder.cpp
+            TimelineDecoder.hpp
+            TimelineDirectoryCaptureCommandHandler.cpp
+            TimelineDirectoryCaptureCommandHandler.hpp
+            )
 
-include_directories(../timelineDecoder ../profiling)
+    include_directories(../timelineDecoder ../profiling)
+
+    add_library_ex(timelineDecoder SHARED ${timelineDecoder_sources})
+    set_target_properties(timelineDecoder PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
+    set_target_properties(timelineDecoder PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+
+    install(TARGETS timelineDecoder
+            LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+            RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif()
 
-add_library_ex(timelineDecoder SHARED ${timelineDecoder_sources})
 
-set_target_properties(timelineDecoder PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
\ No newline at end of file