mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
feat(top): Add new fairmq-top tool
This commit is contained in:
@@ -77,9 +77,16 @@ if(BUILD_TIDY_TOOL)
|
||||
find_package2(PRIVATE LLVM REQUIRED)
|
||||
find_package2(PRIVATE Clang REQUIRED)
|
||||
set(Clang_VERSION ${LLVM_VERSION})
|
||||
endif()
|
||||
|
||||
if(BUILD_TIDY_TOOL OR BUILD_SDK_TOP_TOOL)
|
||||
find_package2(PRIVATE CLI11 REQUIRED)
|
||||
endif()
|
||||
|
||||
if(BUILD_SDK_TOP_TOOL)
|
||||
find_package2(PRIVATE imtui REQUIRED)
|
||||
endif()
|
||||
|
||||
find_package2_implicit_dependencies() # Always call last after latest find_package2
|
||||
|
||||
if(PROJECT_PACKAGE_DEPENDENCIES)
|
||||
|
@@ -106,7 +106,9 @@ if(ENABLE_SANITIZER_MEMORY AND CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
|
||||
endif()
|
||||
|
||||
list(JOIN _sanitizers "," _sanitizers)
|
||||
set(_sanitizers "-fsanitize=${_sanitizers}")
|
||||
if(_sanitizers)
|
||||
set(_sanitizers "-fsanitize=${_sanitizers}")
|
||||
endif()
|
||||
|
||||
# Configure build types
|
||||
set(CMAKE_CONFIGURATION_TYPES "Debug" "Release" "RelWithDebInfo")
|
||||
|
@@ -70,11 +70,17 @@ macro(fairmq_summary_components)
|
||||
endif()
|
||||
message(STATUS " ${BWhite}sdk_commands${CR} ${sdk_commands_summary}")
|
||||
if(BUILD_TIDY_TOOL)
|
||||
set(sdk_tidy_summary "${BGreen}YES${CR} (disable with ${BMagenta}-DBUILD_TIDY_TOOL=OFF${CR})")
|
||||
set(tidy_summary "${BGreen}YES${CR} (disable with ${BMagenta}-DBUILD_TIDY_TOOL=OFF${CR})")
|
||||
else()
|
||||
set(sdk_tidy_summary "${BRed} NO${CR} (default, enable with ${BMagenta}-DBUILD_TIDY_TOOL=ON${CR})")
|
||||
set(tidy_summary "${BRed} NO${CR} (default, enable with ${BMagenta}-DBUILD_TIDY_TOOL=ON${CR})")
|
||||
endif()
|
||||
message(STATUS " ${BWhite}tidy_tool${CR} ${sdk_tidy_summary}")
|
||||
message(STATUS " ${BWhite}tidy_tool${CR} ${tidy_summary}")
|
||||
if(BUILD_SDK_TOP_TOOL)
|
||||
set(sdk_top_summary "${BGreen}YES${CR} EXPERIMENTAL (disable with ${BMagenta}-DBUILD_SDK_TOP_TOOL=OFF${CR})")
|
||||
else()
|
||||
set(sdk_top_summary "${BRed} NO${CR} EXPERIMENTAL (default, enable with ${BMagenta}-DBUILD_SDK_TOP_TOOL=ON${CR})")
|
||||
endif()
|
||||
message(STATUS " ${BWhite}sdk_top_tool${CR} ${sdk_top_summary}")
|
||||
endmacro()
|
||||
|
||||
macro(fairmq_summary_static_analysis)
|
||||
|
58
cmake/Findimtui.cmake
Normal file
58
cmake/Findimtui.cmake
Normal file
@@ -0,0 +1,58 @@
|
||||
################################################################################
|
||||
# Copyright (C) 2021 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
|
||||
# #
|
||||
# This software is distributed under the terms of the #
|
||||
# GNU Lesser General Public Licence (LGPL) version 3, #
|
||||
# copied verbatim in the file "LICENSE" #
|
||||
################################################################################
|
||||
|
||||
set(pkg imtui)
|
||||
find_path(${pkg}_INCLUDE_DIR
|
||||
NAMES ${pkg}.h
|
||||
PATH_SUFFIXES include/${pkg}
|
||||
DOC "imtui include directory"
|
||||
)
|
||||
get_filename_component(${pkg}_INCLUDE_DIR "${${pkg}_INCLUDE_DIR}/.." ABSOLUTE)
|
||||
|
||||
find_library(${pkg}_LIBRARY
|
||||
NAMES lib${pkg}.so
|
||||
PATH_SUFFIXES lib lib64
|
||||
DOC "Path to libimtui.a"
|
||||
)
|
||||
|
||||
find_library(${pkg}_ncurses_LIBRARY
|
||||
NAMES lib${pkg}-ncurses.so
|
||||
PATH_SUFFIXES lib lib64
|
||||
DOC "Path to libimtui-ncurses.a"
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(${pkg} REQUIRED_VARS
|
||||
${pkg}_INCLUDE_DIR
|
||||
${pkg}_LIBRARY
|
||||
${pkg}_ncurses_LIBRARY
|
||||
)
|
||||
|
||||
get_filename_component(${pkg}_PREFIX "${${pkg}_INCLUDE_DIR}/.." ABSOLUTE)
|
||||
|
||||
if(${pkg}_FOUND AND NOT TARGET ${pkg}::${pkg}-ncurses)
|
||||
add_library(${pkg}::${pkg}-ncurses SHARED IMPORTED)
|
||||
set_target_properties(${pkg}::${pkg}-ncurses PROPERTIES
|
||||
IMPORTED_LOCATION ${${pkg}_ncurses_LIBRARY}
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${${pkg}_INCLUDE_DIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
if(${pkg}_FOUND AND NOT TARGET ${pkg}::${pkg})
|
||||
add_library(${pkg}::${pkg} SHARED IMPORTED)
|
||||
set_target_properties(${pkg}::${pkg} PROPERTIES
|
||||
IMPORTED_LOCATION ${${pkg}_LIBRARY}
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${${pkg}_INCLUDE_DIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
${pkg}_INCLUDE_DIR
|
||||
${pkg}_LIBRARY
|
||||
${pkg}_ncurses_LIBRARY
|
||||
)
|
Reference in New Issue
Block a user