adding pandas and pytest to rquirements.txt (#748)
* adding pandas and pytest to rquirements.txt * setting up requrements.txt * Update requirements - formatting packages - remove packages not directly used by rocprofiler-sdk * Update cmake formatting, linting, and options - if BUILD_CI -> force BUILD_DEVELOPER and BUILD_WERROR - support python installed clang-format and python installed clang-tidy * Update build.sh - split into install-deps.sh and install-apt-deps.sh * Improve code coverage --------- Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
This commit is contained in:
@@ -18,6 +18,10 @@ if(ROCPROFILER_BUILD_CI)
|
||||
INTERFACE ROCPROFILER_CI)
|
||||
endif()
|
||||
|
||||
if(ROCPROFILER_BUILD_CODECOV)
|
||||
target_link_libraries(rocprofiler-build-flags INTERFACE gcov)
|
||||
endif()
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
# dynamic linking and runtime libraries
|
||||
#
|
||||
|
||||
@@ -13,9 +13,46 @@
|
||||
|
||||
include_guard(DIRECTORY)
|
||||
|
||||
find_program(ROCPROFILER_CLANG_FORMAT_EXE NAMES clang-format-11 clang-format-mp-11)
|
||||
find_program(ROCPROFILER_CMAKE_FORMAT_EXE NAMES cmake-format)
|
||||
find_program(ROCPROFILER_BLACK_FORMAT_EXE NAMES black)
|
||||
if(ROCPROFILER_BUILD_DEVELOPER)
|
||||
set(_FMT_REQUIRED REQUIRED)
|
||||
else()
|
||||
set(_FMT_REQUIRED)
|
||||
endif()
|
||||
|
||||
if(NOT ROCPROFILE_CLANG_FORMAT_EXE AND EXISTS $ENV{HOME}/.local/bin/clang-format)
|
||||
execute_process(
|
||||
COMMAND $ENV{HOME}/.local/bin/clang-format --version
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
||||
OUTPUT_VARIABLE _CLANG_FMT_OUT
|
||||
RESULT_VARIABLE _CLANG_FMT_RET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
if(_CLANG_FMT_RET EQUAL 0)
|
||||
if("${_CLANG_FMT_OUT}" MATCHES "version 11\\.([0-9]+)\\.([0-9]+)")
|
||||
set(ROCPROFILER_CLANG_FORMAT_EXE
|
||||
"$ENV{HOME}/.local/bin/clang-format"
|
||||
CACHE FILEPATH "clang-format exe")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_program(
|
||||
ROCPROFILER_CLANG_FORMAT_EXE ${_FMT_REQUIRED}
|
||||
NAMES clang-format-11 clang-format-mp-11 clang-format
|
||||
PATHS $ENV{HOME}/.local
|
||||
HINTS $ENV{HOME}/.local
|
||||
PATH_SUFFIXES bin)
|
||||
find_program(
|
||||
ROCPROFILER_CMAKE_FORMAT_EXE ${_FMT_REQUIRED}
|
||||
NAMES cmake-format
|
||||
PATHS $ENV{HOME}/.local
|
||||
HINTS $ENV{HOME}/.local
|
||||
PATH_SUFFIXES bin)
|
||||
find_program(
|
||||
ROCPROFILER_BLACK_FORMAT_EXE ${_FMT_REQUIRED}
|
||||
NAMES black
|
||||
PATHS $ENV{HOME}/.local
|
||||
HINTS $ENV{HOME}/.local
|
||||
PATH_SUFFIXES bin)
|
||||
|
||||
add_custom_target(format-rocprofiler)
|
||||
if(NOT TARGET format)
|
||||
|
||||
@@ -6,8 +6,31 @@ include_guard(GLOBAL)
|
||||
#
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
|
||||
if(ROCPROFILER_BUILD_DEVELOPER)
|
||||
set(_TIDY_REQUIRED REQUIRED)
|
||||
else()
|
||||
set(_TIDY_REQUIRED)
|
||||
endif()
|
||||
|
||||
if(NOT ROCPROFILE_CLANG_TIDY_EXE AND EXISTS $ENV{HOME}/.local/bin/clang-tidy)
|
||||
execute_process(
|
||||
COMMAND $ENV{HOME}/.local/bin/clang-tidy --version
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
||||
OUTPUT_VARIABLE _CLANG_TIDY_OUT
|
||||
RESULT_VARIABLE _CLANG_TIDY_RET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
|
||||
if(_CLANG_TIDY_RET EQUAL 0)
|
||||
if("${_CLANG_TIDY_OUT}" MATCHES "version 1[5-9]\\.([0-9]+)\\.([0-9]+)")
|
||||
set(ROCPROFILER_CLANG_TIDY_EXE
|
||||
"$ENV{HOME}/.local/bin/clang-tidy"
|
||||
CACHE FILEPATH "clang-tidy exe")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_program(
|
||||
ROCPROFILER_CLANG_TIDY_COMMAND
|
||||
ROCPROFILER_CLANG_TIDY_EXE ${_TIDY_REQUIRED}
|
||||
NAMES clang-tidy-18
|
||||
clang-tidy-17
|
||||
clang-tidy-16
|
||||
@@ -16,22 +39,24 @@ find_program(
|
||||
clang-tidy-13
|
||||
clang-tidy-12
|
||||
clang-tidy-11
|
||||
clang-tidy)
|
||||
clang-tidy
|
||||
PATHS $ENV{HOME}/.local
|
||||
HINTS $ENV{HOME}/.local
|
||||
PATH_SUFFIXES bin)
|
||||
|
||||
macro(ROCPROFILER_ACTIVATE_CLANG_TIDY)
|
||||
if(ROCPROFILER_ENABLE_CLANG_TIDY)
|
||||
if(NOT ROCPROFILER_CLANG_TIDY_COMMAND)
|
||||
if(NOT ROCPROFILER_CLANG_TIDY_EXE)
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"ROCPROFILER_ENABLE_CLANG_TIDY is ON but clang-tidy is not found!")
|
||||
endif()
|
||||
|
||||
rocprofiler_add_feature(ROCPROFILER_CLANG_TIDY_COMMAND
|
||||
rocprofiler_add_feature(ROCPROFILER_CLANG_TIDY_EXE
|
||||
"path to clang-tidy executable")
|
||||
|
||||
set(CMAKE_CXX_CLANG_TIDY
|
||||
${ROCPROFILER_CLANG_TIDY_COMMAND}
|
||||
-header-filter=${PROJECT_SOURCE_DIR}/source/.*
|
||||
${ROCPROFILER_CLANG_TIDY_EXE} -header-filter=${PROJECT_SOURCE_DIR}/source/.*
|
||||
--warnings-as-errors=*,-misc-header-include-cycle)
|
||||
|
||||
# Create a preprocessor definition that depends on .clang-tidy content so the
|
||||
|
||||
@@ -80,14 +80,14 @@ rocprofiler_add_option(
|
||||
"Regenerate the counter parser (requires bison and flex)" OFF ADVANCED)
|
||||
|
||||
# In the future, we will do this even with clang-tidy enabled
|
||||
if(ROCPROFILER_BUILD_CI AND NOT ROCPROFILER_BUILD_WERROR)
|
||||
message(STATUS "Forcing ROCPROFILER_BUILD_WERROR=ON because ROCPROFILER_BUILD_CI=ON")
|
||||
set(ROCPROFILER_BUILD_WERROR
|
||||
ON
|
||||
CACHE BOOL
|
||||
"Any compiler warnings are errors (forced due ROCPROFILER_BUILD_CI=ON)"
|
||||
FORCE)
|
||||
endif()
|
||||
foreach(_OPT ROCPROFILER_BUILD_DEVELOPER ROCPROFILER_BUILD_WERROR)
|
||||
if(ROCPROFILER_BUILD_CI AND NOT ${_OPT})
|
||||
message(AUTHOR_WARNING "Forcing ${_OPT}=ON because ROCPROFILER_BUILD_CI=ON")
|
||||
set(${_OPT}
|
||||
ON
|
||||
CACHE BOOL "forced due ROCPROFILER_BUILD_CI=ON" FORCE)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(ROCPROFILER_BUILD_TYPES "Release" "RelWithDebInfo" "Debug" "MinSizeRel" "Coverage")
|
||||
|
||||
|
||||
Fai riferimento in un nuovo problema
Block a user