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:
Gopesh Bhardwaj
2024-04-09 17:54:40 +05:30
committato da GitHub
parent 68aca98406
commit e2d8ccad4b
15 ha cambiato i file con 137 aggiunte e 55 eliminazioni
@@ -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
#
+40 -3
Vedi File
@@ -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)
+31 -6
Vedi File
@@ -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
+8 -8
Vedi File
@@ -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")