# # # External dependencies # # include(rocprofiler_utilities) set(BUILD_TESTING OFF) set(BUILD_SHARED_LIBS OFF) set(BUILD_OBJECT_LIBS OFF) # Specific to PTL set(BUILD_STATIC_LIBS ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_CXX_VISIBILITY_PRESET "hidden") set(CMAKE_VISIBILITY_INLINES_HIDDEN ON) # filesystem library if(ROCPROFILER_BUILD_GHC_FS) # checkout submodule if not already checked out or clone repo if no .gitmodules file rocprofiler_checkout_git_submodule( RECURSIVE RELATIVE_PATH external/filesystem WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} REPO_URL https://github.com/gulrak/filesystem.git REPO_BRANCH "v1.5.14") target_compile_definitions( rocprofiler-cxx-filesystem INTERFACE $) target_include_directories( rocprofiler-cxx-filesystem SYSTEM INTERFACE $) endif() if(ROCPROFILER_BUILD_TESTS) if(ROCPROFILER_BUILD_GTEST) # checkout submodule if not already checked out or clone repo if no .gitmodules # file 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") set(BUILD_GMOCK OFF) set(INSTALL_GTEST OFF) add_subdirectory(googletest EXCLUDE_FROM_ALL) 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) endif() # checkout submodule if not already checked out or clone repo if no .gitmodules file rocprofiler_checkout_git_submodule( RECURSIVE RELATIVE_PATH external/cereal WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} REPO_URL https://github.com/jrmadsen/cereal.git REPO_BRANCH "rocprofiler") add_library(rocprofiler-cereal INTERFACE) add_library(rocprofiler::cereal ALIAS rocprofiler-cereal) target_compile_definitions(rocprofiler-cereal INTERFACE $) target_include_directories( rocprofiler-cereal INTERFACE $) 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(WITH_GTEST OFF) set(WITH_UNWIND OFF) add_subdirectory(glog EXCLUDE_FROM_ALL) target_link_libraries(rocprofiler-glog INTERFACE $) target_include_directories( rocprofiler-glog SYSTEM INTERFACE $ $) 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") set(FMT_TEST OFF) add_subdirectory(fmt EXCLUDE_FROM_ALL) target_link_libraries(rocprofiler-fmt INTERFACE $) target_include_directories( rocprofiler-fmt SYSTEM INTERFACE $) else() find_package(fmt REQUIRED) target_link_libraries(rocprofiler-fmt INTERFACE fmt::fmt) endif() if(NOT TARGET PTL::ptl-static) # checkout submodule if not already checked out or clone repo if no .gitmodules file rocprofiler_checkout_git_submodule( RELATIVE_PATH external/ptl WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} REPO_URL https://github.com/jrmadsen/PTL.git REPO_BRANCH rocprofiler) set(PTL_USE_TBB OFF) set(PTL_USE_GPU OFF) set(PTL_USE_LOCKS ON) set(PTL_BUILD_EXAMPLES OFF) set(PTL_DEVELOPER_INSTALL OFF) add_subdirectory(ptl EXCLUDE_FROM_ALL) endif() # doxygen-awesome if(ROCPROFILER_BUILD_DOCS) rocprofiler_checkout_git_submodule( RECURSIVE RELATIVE_PATH external/doxygen-awesome-css WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} TEST_FILE Makefile REPO_URL https://github.com/jothepro/doxygen-awesome-css.git REPO_BRANCH "main") endif()