add heload, mid commit

This commit is contained in:
2025-03-13 21:21:14 +02:00
parent e84760fb8f
commit 5d362d4237
5 changed files with 59 additions and 1 deletions

View File

@@ -6,6 +6,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 17)
add_subdirectory(3rd/SDL EXCLUDE_FROM_ALL)
add_subdirectory(heload)
add_subdirectory(hiisi)
target_link_options(SDL3-shared PRIVATE -Wl,-z,nodelete)
@@ -13,4 +14,4 @@ target_link_options(SDL3-shared PRIVATE -Wl,-z,nodelete)
add_executable(hiisi-run
hiisi/main.cpp)
target_link_libraries(hiisi-run)
target_link_libraries(hiisi-run heload)

34
heload/CMakeLists.txt Normal file
View File

@@ -0,0 +1,34 @@
cmake_minimum_required(VERSION 3.21)
project(Heload)
# I just like to have this with my tooling
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_C_STANDARD 99)
add_library(heload SHARED
src/heload.c
)
# Specify the public headers location
target_include_directories(heload PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> # During build
$<INSTALL_INTERFACE:include> # When installed
)
install(TARGETS heload
EXPORT heloadTargets
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 heloadTargets
FILE heloadConfig.cmake
DESTINATION lib/cmake/heload
)
export(TARGETS heload FILE heloadConfig.cmake)

View File

@@ -0,0 +1,7 @@
#ifndef HELOAD_H_
#define HELOAD_H_
void print_module_info(const char *module_name);
#endif // HELOAD_H_

15
heload/src/heload.c Normal file
View File

@@ -0,0 +1,15 @@
#include "heload/heload.h"
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
#include <link.h>
void print_module_info(const char *module_name) {
void *module = dlopen(module_name, RTLD_NOW);
struct Lmid_t *lmid;
dlinfo(module, RTLD_DI_LMID, lmid);
}

View File

@@ -1,4 +1,5 @@
#include "hiisi.h"
#include "heload/heload.h"
#include <assert.h>
#include <stdio.h>