Reorganize work with openvino/thirdparty (Copied from PR6744) (#6880)

* Copied PR6744

* Added CMakeLists.txt into gflags

* Return gflags into .gitmodules

* Added CMakeLists.txt into gtest

* fix: remove extra gflags and gtests from .gitmodules

* Change syntax in set gtest_targets

* Make gtest/CMakeLists.txt as in PR6744 for pre-commit experiment

* Update gtest/CMakeLists.txt

* Change version of gtest repo

* Return gtest info into .gitmodules

* Update gflags version to currently used
This commit is contained in:
Daria Ilina 2021-08-11 11:33:52 +03:00 committed by GitHub
parent 9d9a24c914
commit 5292de5338
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 91 additions and 107 deletions

8
.gitmodules vendored
View File

@ -18,12 +18,12 @@
path = thirdparty/ade
url = https://github.com/opencv/ade.git
ignore = dirty
[submodule "thirdparty/gflags"]
path = thirdparty/gflags
[submodule "thirdparty/gflags/gflags"]
path = thirdparty/gflags/gflags
url = https://github.com/gflags/gflags.git
ignore = dirty
[submodule "thirdparty/gtest"]
path = thirdparty/gtest
[submodule "thirdparty/gtest/gtest"]
path = thirdparty/gtest/gtest
url = https://github.com/openvinotoolkit/googletest.git
ignore = dirty
[submodule "thirdparty/ocl/icd_loader"]

View File

@ -113,19 +113,7 @@ endif()
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags" AND
NOT DEFINED OpenVINO_SOURCE_DIR)
function(add_gflags)
# common gflags settings
set(GFLAGS_IS_SUBPROJECT TRUE)
set(HAVE_SYS_STAT_H 1)
set(HAVE_INTTYPES_H 1)
set(INTTYPES_FORMAT C99)
set(BUILD_TESTING OFF)
set(BUILD_SHARED_LIBS OFF)
add_subdirectory(thirdparty/gflags EXCLUDE_FROM_ALL)
set_target_properties(gflags_nothreads_static PROPERTIES FOLDER thirdparty)
endfunction()
add_gflags()
add_subdirectory(thirdparty/gflags EXCLUDE_FROM_ALL)
endif()
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib")

View File

@ -11,28 +11,22 @@ add_library(${TARGET_NAME} STATIC ${SRC} ${HDR})
target_include_directories(${TARGET_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
if(EXISTS "${OpenVINO_SOURCE_DIR}/thirdparty/gflags")
function(add_gflags)
set(GFLAGS_IS_SUBPROJECT TRUE)
set(HAVE_SYS_STAT_H 1)
set(HAVE_INTTYPES_H 1)
set(INTTYPES_FORMAT C99)
set(BUILD_TESTING OFF)
set(BUILD_SHARED_LIBS OFF)
add_subdirectory(${OpenVINO_SOURCE_DIR}/thirdparty/gflags
${CMAKE_CURRENT_BINARY_DIR}/gflags_build
EXCLUDE_FROM_ALL)
set_target_properties(gflags_nothreads_static PROPERTIES FOLDER thirdparty)
endfunction()
add_gflags()
endif()
add_subdirectory(${OpenVINO_SOURCE_DIR}/thirdparty/gflags
${CMAKE_CURRENT_BINARY_DIR}/gflags_build
EXCLUDE_FROM_ALL)
add_subdirectory(${OpenVINO_SOURCE_DIR}/thirdparty/gtest
${CMAKE_CURRENT_BINARY_DIR}/gtest_build
EXCLUDE_FROM_ALL)
add_subdirectory(${OpenVINO_SOURCE_DIR}/thirdparty/pugixml
${CMAKE_CURRENT_BINARY_DIR}/pugixml_build
EXCLUDE_FROM_ALL)
add_subdirectory("${OpenVINO_SOURCE_DIR}/tests/lib" tests_shared_lib)
target_link_libraries(${TARGET_NAME}
PUBLIC
IE::gtest
IE::pugixml
gtest
pugixml
gflags
tests_shared_lib
PRIVATE
IE::gtest_main)
gtest_main)

View File

@ -8,20 +8,8 @@ file (GLOB SRC *.cpp)
add_library(${TARGET_NAME} STATIC ${SRC})
target_include_directories(${TARGET_NAME} PUBLIC "${CMAKE_SOURCE_DIR}/include")
if(EXISTS "${OpenVINO_SOURCE_DIR}/thirdparty/gflags")
function(add_gflags)
set(GFLAGS_IS_SUBPROJECT TRUE)
set(HAVE_SYS_STAT_H 1)
set(HAVE_INTTYPES_H 1)
set(INTTYPES_FORMAT C99)
set(BUILD_TESTING OFF)
set(BUILD_SHARED_LIBS OFF)
add_subdirectory(${OpenVINO_SOURCE_DIR}/thirdparty/gflags
${CMAKE_CURRENT_BINARY_DIR}/gflags_build
EXCLUDE_FROM_ALL)
set_target_properties(gflags_nothreads_static PROPERTIES FOLDER thirdparty)
endfunction()
add_gflags()
endif()
add_subdirectory(${OpenVINO_SOURCE_DIR}/thirdparty/gflags
${CMAKE_CURRENT_BINARY_DIR}/gflags_build
EXCLUDE_FROM_ALL)
target_link_libraries(${TARGET_NAME} gflags)

View File

@ -54,72 +54,18 @@ openvino_developer_export_targets(COMPONENT openvino_common TARGETS ade fluid)
# Gflags
#
function(add_gflags)
# common gflags settings
set(GFLAGS_IS_SUBPROJECT TRUE)
set(HAVE_SYS_STAT_H 1)
set(HAVE_INTTYPES_H 1)
set(INTTYPES_FORMAT C99)
set(BUILD_TESTING OFF)
set(BUILD_SHARED_LIBS OFF)
add_subdirectory(gflags EXCLUDE_FROM_ALL)
set_target_properties(gflags_nothreads_static PROPERTIES FOLDER thirdparty)
openvino_developer_export_targets(COMPONENT openvino_common TARGETS gflags)
endfunction()
add_gflags()
add_subdirectory(gflags EXCLUDE_FROM_ALL)
openvino_developer_export_targets(COMPONENT openvino_common TARGETS gflags)
#
# Google Tests framework
#
function(add_gtest_libraries)
set(gtest_force_shared_crt ON CACHE BOOL "disable static CRT for google test")
set(BUILD_SHARED_LIBS OFF)
set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
if(NGRAPH_UNIT_TEST_ENABLE OR ENABLE_TESTS)
add_subdirectory(gtest EXCLUDE_FROM_ALL)
get_target_property(gtest_include_dirs gtest INTERFACE_INCLUDE_DIRECTORIES)
set_target_properties(gtest PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${gtest_include_dirs}")
get_target_property(gmock_include_dirs gtest INTERFACE_INCLUDE_DIRECTORIES)
set_target_properties(gmock PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${gmock_include_dirs};${gmock_SOURCE_DIR}/include")
set(gtest_targets gtest gtest_main gmock gmock_main)
foreach(target IN LISTS gtest_targets)
# If we have specified /Z7 option, remove -Zi option which comes from gtest
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
get_target_property(_target_cxx_flags ${target} COMPILE_OPTIONS)
if(_target_cxx_flags)
if(CMAKE_CXX_FLAGS_DEBUG MATCHES ".+/Z7.+" OR CMAKE_CXX_FLAGS_RELWITHDEBINFO MATCHES ".+/Z7.+")
string(REPLACE "-Zi" " " _target_cxx_flags ${_target_cxx_flags})
message(STATUS "Removing -Zi flag from target " ${target})
set_target_properties(${target} PROPERTIES COMPILE_OPTIONS "${_target_cxx_flags}")
endif()
endif()
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG OR
CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
target_compile_options(${target} PRIVATE -Wno-undef)
if(CMAKE_COMPILER_IS_GNUCXX)
target_compile_options(${target} PRIVATE -Wno-deprecated-copy)
endif()
endif()
ov_disable_all_warnings(${target})
endforeach()
set_target_properties(gtest gtest_main gmock gmock_main
PROPERTIES FOLDER thirdparty)
openvino_developer_export_targets(COMPONENT inference_engine_tests
TARGETS gmock gmock_main gtest gtest_main)
endfunction()
if(NGRAPH_UNIT_TEST_ENABLE OR ENABLE_TESTS)
add_gtest_libraries()
endif()
#

13
thirdparty/gflags/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,13 @@
# Copyright (C) 2018-2021 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
set(GFLAGS_IS_SUBPROJECT TRUE)
set(HAVE_SYS_STAT_H 1)
set(HAVE_INTTYPES_H 1)
set(INTTYPES_FORMAT C99)
set(BUILD_TESTING OFF)
set(BUILD_SHARED_LIBS OFF)
add_subdirectory(gflags EXCLUDE_FROM_ALL)
set_target_properties(gflags_nothreads_static PROPERTIES FOLDER thirdparty)

55
thirdparty/gtest/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,55 @@
# Copyright (C) 2018-2021 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
#
# Adds compiler flags to C / C++ sources
#
macro(add_compiler_flags)
foreach(flag ${ARGN})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
endforeach()
endmacro()
#
# Google Tests framework
#
set(gtest_force_shared_crt ON CACHE BOOL "disable static CRT for google test")
set(BUILD_SHARED_LIBS OFF)
set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
add_subdirectory(gtest EXCLUDE_FROM_ALL)
get_target_property(gtest_include_dirs gtest INTERFACE_INCLUDE_DIRECTORIES)
set_target_properties(gtest PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${gtest_include_dirs}")
get_target_property(gmock_include_dirs gtest INTERFACE_INCLUDE_DIRECTORIES)
set_target_properties(gmock PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${gmock_include_dirs};${gmock_SOURCE_DIR}/include")
set(gtest_targets gtest gtest_main gmock gmock_main)
foreach(target IN LISTS gtest_targets)
# If we have specified /Z7 option, remove -Zi option which comes from gtest
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
get_target_property(_target_cxx_flags ${target} COMPILE_OPTIONS)
if(_target_cxx_flags)
if(CMAKE_CXX_FLAGS_DEBUG MATCHES ".+/Z7.+" OR CMAKE_CXX_FLAGS_RELWITHDEBINFO MATCHES ".+/Z7.+")
string(REPLACE "-Zi" " " _target_cxx_flags ${_target_cxx_flags})
message(STATUS "Removing -Zi flag from target " ${target})
set_target_properties(${target} PROPERTIES COMPILE_OPTIONS "${_target_cxx_flags}")
endif()
endif()
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG OR
CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
target_compile_options(${target} PRIVATE -Wno-undef)
if(CMAKE_COMPILER_IS_GNUCXX)
target_compile_options(${target} PRIVATE -Wno-deprecated-copy)
endif()
endif()
ov_disable_all_warnings(${target})
endforeach()
set_target_properties(gtest gtest_main gmock gmock_main
PROPERTIES FOLDER thirdparty)