Release 18.02
[platform/upstream/armnn.git] / tests / CMakeLists.txt
1 # UnitTests
2 include(CheckIncludeFiles)
3
4 include_directories(SYSTEM "${THIRD_PARTY_INCLUDE_DIRS}")
5
6 # Setup the inference test framework
7 set(inference_test_sources
8     ClassifierTestCaseData.hpp
9     InferenceModel.hpp
10     InferenceTest.hpp
11     InferenceTest.inl
12     InferenceTest.cpp
13     InferenceTestImage.hpp
14     InferenceTestImage.cpp)
15 add_library_ex(inferenceTest STATIC ${inference_test_sources})
16 target_include_directories(inferenceTest PRIVATE ../src/armnnUtils)
17
18 if(BUILD_CAFFE_PARSER)
19     macro(CaffeParserTest testName sources)
20         add_executable_ex(${testName} ${sources})
21         target_include_directories(${testName} PRIVATE ../src/armnnUtils)
22         set_target_properties(${testName} PROPERTIES COMPILE_FLAGS "${CAFFE_PARSER_TEST_ADDITIONAL_COMPILE_FLAGS}")
23
24         target_link_libraries(${testName} inferenceTest)
25         target_link_libraries(${testName} armnnCaffeParser)
26         target_link_libraries(${testName} armnn)
27         target_link_libraries(${testName} ${CMAKE_THREAD_LIBS_INIT})
28         if(OPENCL_LIBRARIES)
29             target_link_libraries(${testName} ${OPENCL_LIBRARIES})
30         endif()
31         target_link_libraries(${testName}
32             ${Boost_SYSTEM_LIBRARY}
33             ${Boost_FILESYSTEM_LIBRARY}
34             ${Boost_PROGRAM_OPTIONS_LIBRARY})
35         addDllCopyCommands(${testName})
36     endmacro()
37
38     set(CaffeCifar10AcrossChannels-Armnn_sources
39         CaffeCifar10AcrossChannels-Armnn/CaffeCifar10AcrossChannels-Armnn.cpp
40         Cifar10Database.hpp
41         Cifar10Database.cpp)
42     CaffeParserTest(CaffeCifar10AcrossChannels-Armnn "${CaffeCifar10AcrossChannels-Armnn_sources}")
43
44     set(CaffeMnist-Armnn_sources
45         CaffeMnist-Armnn/CaffeMnist-Armnn.cpp
46         MnistDatabase.hpp
47         MnistDatabase.cpp)
48     CaffeParserTest(CaffeMnist-Armnn "${CaffeMnist-Armnn_sources}")
49
50     set(CaffeAlexNet-Armnn_sources
51         CaffeAlexNet-Armnn/CaffeAlexNet-Armnn.cpp
52         ImageNetDatabase.hpp
53         ImageNetDatabase.cpp)
54     CaffeParserTest(CaffeAlexNet-Armnn "${CaffeAlexNet-Armnn_sources}")
55
56     set(MultipleNetworksCifar10_SRC
57         MultipleNetworksCifar10/MultipleNetworksCifar10.cpp
58         Cifar10Database.hpp
59         Cifar10Database.cpp)
60     CaffeParserTest(MultipleNetworksCifar10 "${MultipleNetworksCifar10_SRC}")
61
62     set(CaffeResNet-Armnn_sources
63         CaffeResNet-Armnn/CaffeResNet-Armnn.cpp
64         ImageNetDatabase.hpp
65         ImageNetDatabase.cpp)
66     CaffeParserTest(CaffeResNet-Armnn "${CaffeResNet-Armnn_sources}")
67
68     set(CaffeVGG-Armnn_sources
69         CaffeVGG-Armnn/CaffeVGG-Armnn.cpp
70         ImageNetDatabase.hpp
71         ImageNetDatabase.cpp)
72     CaffeParserTest(CaffeVGG-Armnn "${CaffeVGG-Armnn_sources}")
73
74     set(CaffeInception_BN-Armnn_sources
75         CaffeInception_BN-Armnn/CaffeInception_BN-Armnn.cpp
76         ImageNetDatabase.hpp
77         ImageNetDatabase.cpp)
78     CaffeParserTest(CaffeInception_BN-Armnn "${CaffeInception_BN-Armnn_sources}")
79
80     set(CaffeYolo-Armnn_sources
81         CaffeYolo-Armnn/CaffeYolo-Armnn.cpp
82         YoloDatabase.hpp
83         YoloDatabase.cpp
84         YoloInferenceTest.hpp)
85     CaffeParserTest(CaffeYolo-Armnn "${CaffeYolo-Armnn_sources}")
86 endif()
87
88 if (BUILD_CAFFE_PARSER)
89     set(ExecuteNetwork_sources
90         ExecuteNetwork/ExecuteNetwork.cpp)
91
92     add_executable_ex(ExecuteNetwork ${ExecuteNetwork_sources})
93     target_include_directories(ExecuteNetwork PRIVATE ../src/armnnUtils)
94
95     if (BUILD_CAFFE_PARSER)
96         target_link_libraries(ExecuteNetwork armnnCaffeParser)
97     endif()
98     target_link_libraries(ExecuteNetwork armnn)
99     target_link_libraries(ExecuteNetwork ${CMAKE_THREAD_LIBS_INIT})
100     if(OPENCL_LIBRARIES)
101         target_link_libraries(ExecuteNetwork ${OPENCL_LIBRARIES})
102     endif()
103     target_link_libraries(ExecuteNetwork
104         ${Boost_SYSTEM_LIBRARY}
105         ${Boost_FILESYSTEM_LIBRARY}
106         ${Boost_PROGRAM_OPTIONS_LIBRARY})
107     addDllCopyCommands(ExecuteNetwork)
108 endif()