Init. Copied over heload, made a minimal tester.

This commit is contained in:
2025-03-16 18:46:12 +02:00
commit 21bf4d8715
12 changed files with 646 additions and 0 deletions

55
CMakeLists.txt Normal file
View File

@@ -0,0 +1,55 @@
cmake_minimum_required(VERSION 3.21)
project(Hiload)
# I just like to have this with my tooling
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_C_STANDARD 11)
# hiload library
# ##############
add_library(hiload SHARED
src/hiload.c
src/symbols.c
)
set_property(TARGET hiload PROPERTY POSITION_INDEPENDENT_CODE ON)
target_link_libraries(hiload dl)
# Specify the public headers location
target_include_directories(hiload PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> # During build
$<INSTALL_INTERFACE:include> # When installed
)
install(TARGETS hiload
EXPORT hiloadTargets
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
# Install header files
install(DIRECTORY include/ DESTINATION include)
# Export the library for find_package()
install(EXPORT hiloadTargets
FILE hiloadConfig.cmake
DESTINATION lib/cmake/hiload
)
export(TARGETS hiload FILE hiloadConfig.cmake)
# auditor libraries
# ###############
add_library(auditor-x86_64 SHARED
src/auditor/auditor-x86_64.c
)
install(TARGETS auditor-x86_64
EXPORT auditor-x86_64Targets
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)