Scheme-scriptable ftrace utility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

36 lines
1.2 KiB

cmake_minimum_required(VERSION 3.30)
project(ftracetool C)
set(CMAKE_C_STANDARD 23)
set(CMAKE_C_STANDARD_REQUIRED ON)
find_package(PkgConfig)
pkg_search_module(LIBELF REQUIRED libelf)
pkg_search_module(CHIBI_SCHEME REQUIRED chibi-scheme)
if(NOT CHIBI_SCHEME_FOUND)
message(FATAL_ERROR "chibi-scheme not found!")
endif()
if(NOT LIBELF_FOUND)
message(FATAL_ERROR "libelf not found!")
endif()
file(GLOB SOURCES "src/*.c")
message(STATUS "Libelf include dirs: ${LIBELF_INCLUDE_DIRS}")
message(STATUS "Libelf libraries: ${LIBELF_LIBRARIES}")
message(STATUS "Chibi-scheme include dirs: ${CHIBI_SCHEME_INCLUDE_DIRS}")
message(STATUS "Chibi-scheme libraries: ${CHIBI_SCHEME_LIBRARIES}")
add_custom_target(ftracetool_scm.h
COMMAND xxd -i < ${CMAKE_SOURCE_DIR}/src/ftracetool.scm > ${CMAKE_CURRENT_BINARY_DIR}/ftracetool_scm.h)
add_executable(ftracetool ${SOURCES})
add_dependencies(ftracetool ftracetool_scm.h)
target_include_directories(ftracetool PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(ftracetool PRIVATE ${LIBELF_INCLUDE_DIRS} ${CHIBI_SCHEME_INCLUDE_DIRS})
target_link_libraries(ftracetool PRIVATE ${LIBELF_LIBRARIES} ${CHIBI_SCHEME_LIBRARIES})