2023-08-08 18:39:01 -05:00
|
|
|
#
|
|
|
|
|
#
|
|
|
|
|
# External dependencies
|
|
|
|
|
#
|
|
|
|
|
#
|
2023-08-29 01:45:45 -05:00
|
|
|
include(rocprofiler_utilities)
|
|
|
|
|
|
2023-08-22 13:29:11 -05:00
|
|
|
set(BUILD_TESTING OFF)
|
2023-08-08 18:39:01 -05:00
|
|
|
|
|
|
|
|
if(ROCPROFILER_BUILD_TESTS)
|
2023-08-22 13:29:11 -05:00
|
|
|
if(ROCPROFILER_BUILD_GTEST)
|
|
|
|
|
set(INSTALL_GTEST
|
|
|
|
|
OFF
|
|
|
|
|
CACHE BOOL "")
|
|
|
|
|
set(BUILD_GMOCK
|
|
|
|
|
OFF
|
|
|
|
|
CACHE BOOL "")
|
2023-08-08 18:39:01 -05:00
|
|
|
|
2023-08-29 01:45:45 -05:00
|
|
|
rocprofiler_checkout_git_submodule(
|
|
|
|
|
RECURSIVE
|
|
|
|
|
RELATIVE_PATH external/googletest
|
|
|
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
|
|
|
REPO_URL https://github.com/google/googletest.git
|
|
|
|
|
REPO_BRANCH "main")
|
|
|
|
|
|
2023-08-22 13:29:11 -05:00
|
|
|
add_subdirectory(googletest EXCLUDE_FROM_ALL)
|
2023-08-08 18:39:01 -05:00
|
|
|
|
2023-08-22 13:29:11 -05:00
|
|
|
if(NOT TARGET GTest::gtest)
|
|
|
|
|
message(FATAL_ERROR "missing GTest::gtest")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
target_link_libraries(rocprofiler-gtest INTERFACE GTest::gtest)
|
|
|
|
|
target_include_directories(
|
|
|
|
|
rocprofiler-gtest SYSTEM
|
|
|
|
|
INTERFACE ${CMAKE_CURRENT_LIST_DIR}/googletest/googletest/include)
|
|
|
|
|
|
|
|
|
|
mark_as_advanced(INSTALL_GTEST)
|
|
|
|
|
mark_as_advanced(BUILD_GMOCK)
|
|
|
|
|
mark_as_advanced(GTEST_HAS_ABSL)
|
|
|
|
|
else()
|
|
|
|
|
find_package(GTest REQUIRED)
|
|
|
|
|
target_link_libraries(rocprofiler-gtest INTERFACE GTest::gtest)
|
2023-08-08 18:39:01 -05:00
|
|
|
endif()
|
2023-08-22 13:29:11 -05:00
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(ROCPROFILER_BUILD_GLOG)
|
|
|
|
|
# checkout submodule if not already checked out or clone repo if no .gitmodules file
|
|
|
|
|
rocprofiler_checkout_git_submodule(
|
|
|
|
|
RECURSIVE
|
|
|
|
|
RELATIVE_PATH external/glog
|
|
|
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
|
|
|
REPO_URL https://github.com/google/glog.git
|
|
|
|
|
REPO_BRANCH "master")
|
|
|
|
|
|
|
|
|
|
# May want to use GFLAGS in the future
|
|
|
|
|
set(WITH_GFLAGS OFF)
|
|
|
|
|
set(BUILD_SHARED_LIBS OFF)
|
|
|
|
|
add_subdirectory(glog EXCLUDE_FROM_ALL)
|
2023-08-08 18:39:01 -05:00
|
|
|
|
2023-08-22 13:29:11 -05:00
|
|
|
target_link_libraries(rocprofiler-glog INTERFACE $<BUILD_INTERFACE:glog::glog>)
|
2023-08-08 18:39:01 -05:00
|
|
|
target_include_directories(
|
2023-08-22 13:29:11 -05:00
|
|
|
rocprofiler-glog SYSTEM
|
|
|
|
|
INTERFACE $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/external/glog>
|
|
|
|
|
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/external/glog/src>)
|
|
|
|
|
else()
|
|
|
|
|
find_package(glog REQUIRED)
|
|
|
|
|
target_link_libraries(rocprofiler-glog INTERFACE glog::glog)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(ROCPROFILER_BUILD_FMT)
|
|
|
|
|
# checkout submodule if not already checked out or clone repo if no .gitmodules file
|
|
|
|
|
rocprofiler_checkout_git_submodule(
|
|
|
|
|
RECURSIVE
|
|
|
|
|
RELATIVE_PATH external/fmt
|
|
|
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
|
|
|
REPO_URL https://github.com/fmtlib/fmt.git
|
|
|
|
|
REPO_BRANCH "master")
|
2023-08-08 18:39:01 -05:00
|
|
|
|
2023-08-22 13:29:11 -05:00
|
|
|
set(FMT_TEST OFF)
|
|
|
|
|
add_subdirectory(fmt EXCLUDE_FROM_ALL)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(rocprofiler-fmt INTERFACE $<BUILD_INTERFACE:fmt::fmt>)
|
|
|
|
|
target_include_directories(
|
|
|
|
|
rocprofiler-fmt SYSTEM
|
|
|
|
|
INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/external/fmt/include>)
|
|
|
|
|
else()
|
|
|
|
|
find_package(fmt REQUIRED)
|
|
|
|
|
target_link_libraries(rocprofiler-fmt INTERFACE fmt::fmt)
|
2023-08-08 18:39:01 -05:00
|
|
|
endif()
|