19 lines
788 B
CMake
19 lines
788 B
CMake
add_executable(subject main.c second.c sub/second.c)
|
|
target_include_directories(subject PRIVATE .)
|
|
add_dependencies(subject spslr_pinpoint spslr_finalize spslr_selfpatch)
|
|
target_link_libraries(subject PRIVATE spslr_selfpatch)
|
|
target_compile_options(subject PRIVATE -O1 -fplugin=$<TARGET_FILE:spslr_pinpoint> -fdump-tree-separate_offset -fdump-tree-asm_offset
|
|
-fplugin-arg-spslr_pinpoint-srcdir=${CMAKE_CURRENT_SOURCE_DIR}
|
|
-fplugin-arg-spslr_pinpoint-dstdir=${CMAKE_CURRENT_BINARY_DIR}/spslr)
|
|
|
|
# Apply spslr_finalizer to subject
|
|
add_custom_command(
|
|
TARGET subject
|
|
POST_BUILD
|
|
COMMAND $<TARGET_FILE:spslr_finalize>
|
|
--spslr=${CMAKE_CURRENT_BINARY_DIR}/spslr
|
|
--bin=$<TARGET_FILE:subject>
|
|
--out=${CMAKE_BINARY_DIR}/subject_final
|
|
COMMAND chmod +x ${CMAKE_BINARY_DIR}/subject_final
|
|
)
|