Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions third_party/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ if (ENABLE_NPU_PERFETTO_BUILD)
include(cmake/perfetto.cmake)
endif()

set(INSTALL_GTEST OFF)
add_subdirectory(googletest EXCLUDE_FROM_ALL)
include(cmake/googletest.cmake)
include(cmake/yaml-cpp.cmake)

set(YAML_CPP_INSTALL OFF)
set(BUILD_SHARED_LIBS OFF)
add_subdirectory(yaml-cpp EXCLUDE_FROM_ALL)
52 changes: 52 additions & 0 deletions third_party/cmake/googletest.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#
# Copyright (C) 2022-2024 Intel Corporation
Comment thread
jwludzik marked this conversation as resolved.
Outdated
#
# SPDX-License-Identifier: MIT
#

# Try to find system-installed GoogleTest package
# Package names vary by distribution:
# - Fedora/RHEL/openSUSE Tumbleweed: gtest-devel (provides gmock-devel as well)
# - Ubuntu/Debian: libgtest-dev
find_package(GTest QUIET)

if(NOT GTest_FOUND)
message(STATUS "System GoogleTest not found, building from submodule")
set(INSTALL_GTEST OFF)
add_subdirectory(googletest EXCLUDE_FROM_ALL)
else()
message(STATUS " Found gtest, version ${GTest_VERSION}")
# Display include directories and library paths for each target
if(TARGET GTest::gtest)
get_target_property(GTEST_INCLUDE_DIRS GTest::gtest INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(GTEST_LOCATION GTest::gtest LOCATION)
message(STATUS "GTest_INCLUDE_DIRS : ${GTEST_INCLUDE_DIRS}")
message(STATUS "GTest_LIBRARIES : ${GTEST_LOCATION}")
message(STATUS "GTest_VERSION : ${GTest_VERSION}")
endif()

if(TARGET GTest::gmock)
get_target_property(GMOCK_INCLUDE_DIRS GTest::gmock INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(GMOCK_LOCATION GTest::gmock LOCATION)
message(STATUS "GMock_INCLUDE_DIRS : ${GMOCK_INCLUDE_DIRS}")
message(STATUS "GMock_LIBRARIES : ${GMOCK_LOCATION}")
message(STATUS "GMock_VERSION : ${GTest_VERSION}")
endif()

# Create aliases for consistency with submodule build
# The submodule provides 'gtest' and 'gmock' targets
# System package provides 'GTest::gtest', 'GTest::gmock', etc.
if(NOT TARGET gtest)
add_library(gtest ALIAS GTest::gtest)
endif()
if(NOT TARGET gmock)
add_library(gmock ALIAS GTest::gmock)
endif()
if(NOT TARGET gtest_main AND TARGET GTest::gtest_main)
add_library(gtest_main ALIAS GTest::gtest_main)
endif()
if(NOT TARGET gmock_main AND TARGET GTest::gmock_main)
add_library(gmock_main ALIAS GTest::gmock_main)
endif()
endif()

19 changes: 19 additions & 0 deletions third_party/cmake/yaml-cpp.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#
# Copyright (C) 2022-2024 Intel Corporation
Comment thread
jwludzik marked this conversation as resolved.
Outdated
#
# SPDX-License-Identifier: MIT
#

# Try to find system-installed yaml-cpp package
# Package names vary by distribution:
# - Fedora/RHEL/openSUSE Tumbleweed: yaml-cpp-devel
# - Ubuntu/Debian: libyaml-cpp-dev
find_package(yaml-cpp QUIET)

if(NOT yaml-cpp_FOUND)
message(STATUS "System yaml-cpp not found, building from submodule")
set(YAML_CPP_INSTALL OFF)
set(BUILD_SHARED_LIBS OFF)
add_subdirectory(yaml-cpp EXCLUDE_FROM_ALL)
endif()