Init. Copied over heload, made a minimal tester.
This commit is contained in:
55
CMakeLists.txt
Normal file
55
CMakeLists.txt
Normal 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
|
||||
)
|
||||
Reference in New Issue
Block a user