Publishing R3
[platform/upstream/dldt.git] / inference-engine / thirdparty / mkl-dnn / tests / CMakeLists.txt
1 #===============================================================================
2 # Copyright 2016-2018 Intel Corporation
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #===============================================================================
16
17 option(WITH_TEST "include tests" ON)
18 if (NOT WITH_TEST)
19     return()
20 endif()
21
22 if(POLICY CMP0065)
23     cmake_policy(SET CMP0065 NEW)
24 endif()
25
26 # propagate TEST specific flags
27 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_TEST_CCXX_FLAGS}")
28 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_TEST_CCXX_FLAGS}")
29
30 set(SUPPRESS_SOME_WARNINGS)
31 if(UNIX OR APPLE OR MINGW)
32     # workaround for Intel Compiler 16.0 that doesn't suppress warning on
33     # deprecation with "-Wno-deprecated" compiler flag
34     if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" AND
35             CMAKE_CXX_COMPILER_VERSION VERSION_LESS "17.0")
36         set(SUPPRESS_SOME_WARNINGS "-diag-disable:1478")
37     else()
38         set(SUPPRESS_SOME_WARNINGS "-Wno-deprecated-declarations")
39     endif()
40 elseif(WIN32 AND NOT MINGW)
41     if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
42         # 1478: deprecated functions
43         set(SUPPRESS_SOME_WARNINGS "/Qdiag-disable:1478")
44     else()
45         # c4244: conversion with possible loss of data
46         # c4996: unsafe / deprecated functions
47         set(SUPPRESS_SOME_WARNINGS "/wd4996 /wd4244")
48     endif()
49 endif()
50 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SUPPRESS_SOME_WARNINGS}")
51 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SUPPRESS_SOME_WARNINGS}")
52
53 #add_executable(api-check-c api_check.c)
54 #target_link_libraries(api-check-c ${LIB_NAME} ${EXTRA_LIBS})
55 #add_test(api-check-c api-check-c)
56
57 # add_executable(simple_convolution-c simple_convolution.c)
58 # set_property(TARGET simple_convolution-c PROPERTY C_STANDARD 99)
59 # target_link_libraries(simple_convolution-c ${LIB_NAME} ${EXTRA_LIBS})
60 # add_test(simple_convolution-c simple_convolution-c)
61
62 add_executable(api-c api.c)
63 set_property(TARGET api-c PROPERTY C_STANDARD 99)
64 target_link_libraries(api-c ${LIB_NAME} ${EXTRA_LIBS})
65 add_test(api-c api-c)
66
67 if(WIN32)
68     set_property(TEST api-c PROPERTY ENVIRONMENT "PATH=${CTESTCONFIG_PATH}")
69     configure_file(${CMAKE_SOURCE_DIR}/config_template.vcxproj.user
70         api-c.vcxproj.user @ONLY)
71 endif()
72
73 if(UNIX OR APPLE OR MINGW)
74     set(test_c_symbols "${CMAKE_CURRENT_BINARY_DIR}/test_c_symbols.c")
75     add_executable(test_c_symbols-c ${test_c_symbols})
76     add_custom_command(
77         OUTPUT ${test_c_symbols}
78         COMMAND /bin/bash ${CMAKE_CURRENT_SOURCE_DIR}/generate_c_symbols_refs.sh
79         ${CMAKE_CURRENT_SOURCE_DIR}/.. ${test_c_symbols}
80     )
81     target_link_libraries(test_c_symbols-c ${LIB_NAME} ${EXTRA_LIBS})
82     add_test(test_c_symbols-c test_c_symbols-c)
83     if(MINGW)
84         configure_file(${CMAKE_SOURCE_DIR}/config_template.vcxproj.user
85             test_c_symbols-c.vcxproj.user @ONLY)
86         set_property(TEST test_c_symbols-c PROPERTY ENVIRONMENT "PATH=${CTESTCONFIG_PATH}")
87     endif()
88 # elseif(WIN32)
89 # No Windows support for: test_c_symbols.c
90 endif()
91
92 add_subdirectory(gtests)
93 add_subdirectory(benchdnn)