2024-06-04 21:50:17 +00:00
|
|
|
project(native-trampoline)
|
|
|
|
|
|
|
|
# Build
|
2024-06-06 01:18:48 +00:00
|
|
|
add_executable(trampoline
|
|
|
|
src/memory.cpp
|
|
|
|
src/main.cpp
|
|
|
|
src/trampoline.cpp
|
|
|
|
src/ptrace/loop.cpp
|
|
|
|
src/ptrace/init.cpp
|
2024-06-08 08:46:07 +00:00
|
|
|
src/pipe.cpp
|
2024-06-06 01:18:48 +00:00
|
|
|
src/signals.cpp
|
|
|
|
)
|
2024-06-04 21:50:17 +00:00
|
|
|
|
|
|
|
# Warnings
|
|
|
|
target_compile_options(trampoline PRIVATE -Wall -Wextra -Werror -Wpointer-arith -Wshadow -Wnull-dereference)
|
|
|
|
|
|
|
|
# Link
|
2024-06-08 07:09:44 +00:00
|
|
|
target_link_libraries(trampoline dl rt trampoline-headers)
|
2024-06-04 21:50:17 +00:00
|
|
|
|
2024-06-05 04:11:54 +00:00
|
|
|
# RPath
|
2024-06-08 08:46:07 +00:00
|
|
|
set_target_properties(trampoline PROPERTIES INSTALL_RPATH "${TRAMPOLINE_RPATH}")
|
|
|
|
target_link_options(trampoline PRIVATE "LINKER:${TRAMPOLINE_EXTRA_LINK_FLAG}")
|
2024-06-05 04:11:54 +00:00
|
|
|
|
2024-06-04 21:50:17 +00:00
|
|
|
# Install
|
|
|
|
function(install_trampoline bin_dir)
|
|
|
|
install(TARGETS trampoline DESTINATION "${bin_dir}")
|
|
|
|
endfunction()
|