ad0fb25ed5
git-subtree-dir: projects/rocprofiler-sdk git-subtree-mainline:50a90550e9git-subtree-split:bf0fad1d54
106 lines
3.0 KiB
CMake
106 lines
3.0 KiB
CMake
#
|
|
# Integration tests
|
|
#
|
|
cmake_minimum_required(VERSION 3.21.0 FATAL_ERROR)
|
|
|
|
if(COMMAND rocprofiler_deactivate_clang_tidy)
|
|
rocprofiler_deactivate_clang_tidy()
|
|
endif()
|
|
|
|
project(rocprofiler-sdk-benchmark LANGUAGES C CXX)
|
|
|
|
#
|
|
# project options
|
|
#
|
|
option(ROCPROFILER_BENCHMARK_INSTALL_TIMEM "Install timem" ON)
|
|
|
|
#
|
|
# cmake overrides
|
|
#
|
|
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "benchmark")
|
|
set(ROCPROFILER_SDK_BENCHMARK_SOURCE_DIR "${PROJECT_SOURCE_DIR}")
|
|
set(ROCPROFILER_SDK_BENCHMARK_BINARY_DIR "${PROJECT_BINARY_DIR}")
|
|
|
|
if(NOT PROJECT_IS_TOP_LEVEL)
|
|
set(CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}] ")
|
|
endif()
|
|
|
|
if(NOT CMAKE_BUILD_TYPE)
|
|
set(CMAKE_BUILD_TYPE
|
|
"Release"
|
|
CACHE STRING "" FORCE)
|
|
endif()
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_HIP_STANDARD 17)
|
|
set(CMAKE_HIP_EXTENSIONS OFF)
|
|
set(CMAKE_HIP_STANDARD_REQUIRED ON)
|
|
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
|
|
|
enable_testing()
|
|
include(CTest)
|
|
|
|
include(GNUInstallDirs)
|
|
# always use lib instead of lib64
|
|
set(CMAKE_INSTALL_LIBDIR "lib")
|
|
set(CMAKE_INSTALL_LIB64DIR "lib64")
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}")
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
|
|
set(CMAKE_DATAROOT_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_DATAROOTDIR}")
|
|
|
|
# define the library output directory
|
|
if(PROJECT_IS_TOP_LEVEL)
|
|
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/../VERSION" FULL_VERSION_STRING LIMIT_COUNT 1)
|
|
string(REGEX REPLACE "(\n|\r)" "" FULL_VERSION_STRING "${FULL_VERSION_STRING}")
|
|
string(REGEX REPLACE "([0-9]+)\.([0-9]+)\.([0-9]+)(.*)" "\\1.\\2.\\3"
|
|
ROCPROFILER_SDK_VERSION "${FULL_VERSION_STRING}")
|
|
|
|
find_package(Git)
|
|
|
|
if(Git_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/../.git")
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/..
|
|
OUTPUT_VARIABLE ROCPROFILER_SDK_GIT_REVISION
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
|
else()
|
|
set(ROCPROFILER_SDK_GIT_REVISION "")
|
|
endif()
|
|
else()
|
|
set(ROCPROFILER_BENCHMARK_INSTALL_PREFIX
|
|
${CMAKE_INSTALL_DATAROOTDIR}/rocprofiler-sdk/benchmark
|
|
CACHE PATH "relative install prefix for rocprofiler-sdk benchmark")
|
|
set(_GNUInstallDirs_VARIABLES
|
|
BINDIR
|
|
SBINDIR
|
|
LIBEXECDIR
|
|
SYSCONFDIR
|
|
SHAREDSTATEDIR
|
|
LOCALSTATEDIR
|
|
RUNSTATEDIR
|
|
LIBDIR
|
|
LIB64DIR # locally defined
|
|
INCLUDEDIR
|
|
OLDINCLUDEDIR
|
|
DATAROOTDIR
|
|
DATADIR
|
|
INFODIR
|
|
LOCALEDIR
|
|
MANDIR
|
|
DOCDIR)
|
|
|
|
foreach(_INSTALL_DIR ${_GNUInstallDirs_VARIABLES})
|
|
set(CMAKE_INSTALL_${_INSTALL_DIR}
|
|
${ROCPROFILER_BENCHMARK_INSTALL_PREFIX}/${CMAKE_INSTALL_${_INSTALL_DIR}})
|
|
endforeach()
|
|
endif()
|
|
|
|
# include the timem executable
|
|
include(timem)
|
|
|
|
add_subdirectory(source)
|