28 lines
678 B
CMake
28 lines
678 B
CMake
project(native-trampoline)
|
|
|
|
# Build
|
|
add_executable(trampoline
|
|
src/memory.cpp
|
|
src/main.cpp
|
|
src/trampoline.cpp
|
|
src/ptrace/loop.cpp
|
|
src/ptrace/init.cpp
|
|
src/pipe/pipe.cpp
|
|
src/signals.cpp
|
|
)
|
|
|
|
# Warnings
|
|
target_compile_options(trampoline PRIVATE -Wall -Wextra -Werror -Wpointer-arith -Wshadow -Wnull-dereference)
|
|
|
|
# Link
|
|
target_link_libraries(trampoline dl trampoline-headers)
|
|
|
|
# RPath
|
|
set_target_properties(trampoline PROPERTIES INSTALL_RPATH "$ORIGIN/../lib/native")
|
|
target_link_options(trampoline PRIVATE "LINKER:--disable-new-dtags")
|
|
|
|
# Install
|
|
function(install_trampoline bin_dir)
|
|
install(TARGETS trampoline DESTINATION "${bin_dir}")
|
|
endfunction()
|