@@ -76,17 +76,17 @@ add_definitions(-DRR_VERSION="${rr_VERSION_MAJOR}.${rr_VERSION_MINOR}.${rr_VERSI
7676
7777execute_process (
7878 COMMAND git rev-parse HEAD
79- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR }
79+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR }
8080 OUTPUT_VARIABLE GIT_REVISION
8181 OUTPUT_STRIP_TRAILING_WHITESPACE
8282)
8383configure_file (
84- ${CMAKE_SOURCE_DIR } /src/git_revision.h.in
85- ${CMAKE_BINARY_DIR } /git_revision.h
84+ " ${PROJECT_SOURCE_DIR } /src/git_revision.h.in"
85+ " ${PROJECT_BINARY_DIR } /git_revision.h"
8686)
8787configure_file (
88- ${CMAKE_SOURCE_DIR } /src/extra_version_string.h.in
89- ${CMAKE_BINARY_DIR } /extra_version_string.h
88+ " ${PROJECT_SOURCE_DIR } /src/extra_version_string.h.in"
89+ " ${PROJECT_BINARY_DIR } /extra_version_string.h"
9090)
9191
9292set (FLAGS_COMMON "-D_FILE_OFFSET_BITS=64 -pthread" )
@@ -115,7 +115,7 @@ configure_file(src/preload/rr_page.ld.in src/preload/rr_page.ld @ONLY)
115115include (CheckCCompilerFlag)
116116CHECK_C_COMPILER_FLAG("-fmacro-prefix-map=foo=bar" SUPPORTS_MACRO_PREFIX_MAP)
117117if (SUPPORTS_MACRO_PREFIX_MAP)
118- set (FLAGS_COMMON "${FLAGS_COMMON} -fmacro-prefix-map=${CMAKE_SOURCE_DIR} / =" )
118+ set (FLAGS_COMMON "${FLAGS_COMMON} -fmacro-prefix-map=' ${PROJECT_SOURCE_DIR} /' =" )
119119endif ()
120120
121121set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAGS_COMMON} -Wstrict-prototypes -std=gnu11" )
@@ -484,22 +484,22 @@ set(RR_PAGE_SOURCE_FILES
484484)
485485add_library (rrpage)
486486foreach (file ${RR_PAGE_FILES} )
487- target_sources (rrpage PUBLIC "${CMAKE_SOURCE_DIR } /src/preload/${file} " )
488- set_source_files_properties ("${CMAKE_SOURCE_DIR } /src/preload/${file} "
487+ target_sources (rrpage PUBLIC "${PROJECT_SOURCE_DIR } /src/preload/${file} " )
488+ set_source_files_properties ("${PROJECT_SOURCE_DIR } /src/preload/${file} "
489489 PROPERTIES COMPILE_FLAGS ${PRELOAD_COMPILE_FLAGS} )
490490endforeach (file)
491491
492492# Since librrpage replaces the kernel vDSO for processes exec'd by rr,
493493# we want it to have the same SONAME as the real vDSO to trick things
494494# like AddressSanitizer into recognising it as the vDSO.
495495set_target_properties (rrpage PROPERTIES NO_SONAME ON )
496- set_target_properties (rrpage PROPERTIES LINK_FLAGS "-Wl,-T -Wl,${CMAKE_BINARY_DIR } /src/preload/rr_page.ld -Wl,--hash-style=both -nostdlib ${PRELOAD_LINK_FLAGS} -Wl,-z,max-page-size=${PRELOAD_LIBRARY_PAGE_SIZE} -Wl,-soname,linux-vdso.so.1 ${LINKER_FLAGS} " )
497- set_target_properties (rrpage PROPERTIES LINK_DEPENDS ${CMAKE_BINARY_DIR } /src/preload/rr_page.ld)
496+ set_target_properties (rrpage PROPERTIES LINK_FLAGS "-Wl,-T -Wl,' ${PROJECT_BINARY_DIR } /src/preload/rr_page.ld' -Wl,--hash-style=both -nostdlib ${PRELOAD_LINK_FLAGS} -Wl,-z,max-page-size=${PRELOAD_LIBRARY_PAGE_SIZE} -Wl,-soname,linux-vdso.so.1 ${LINKER_FLAGS} " )
497+ set_target_properties (rrpage PROPERTIES LINK_DEPENDS " ${PROJECT_BINARY_DIR } /src/preload/rr_page.ld" )
498498# CMake seems to have trouble generating the link line without this
499499set_target_properties (rrpage PROPERTIES LINKER_LANGUAGE C)
500500
501501add_custom_command (TARGET rrpage POST_BUILD
502- COMMAND ${CMAKE_SOURCE_DIR } /src/preload/tweak_librrpage.py $<TARGET_FILE:rrpage> ${PRELOAD_LIBRARY_PAGE_SIZE} )
502+ COMMAND " ${PROJECT_SOURCE_DIR } /src/preload/tweak_librrpage.py" $<TARGET_FILE:rrpage> ${PRELOAD_LIBRARY_PAGE_SIZE} )
503503
504504# Order matters here! syscall_hook.S must be immediately before syscallbuf.c,
505505# raw_syscall.S must be before overrides.c, which must be last.
@@ -523,8 +523,8 @@ set(PRELOAD_SOURCE_FILES
523523)
524524add_library (rrpreload)
525525foreach (file ${PRELOAD_FILES} )
526- target_sources (rrpreload PUBLIC "${CMAKE_SOURCE_DIR } /src/preload/${file} " )
527- set_source_files_properties ("${CMAKE_SOURCE_DIR } /src/preload/${file} "
526+ target_sources (rrpreload PUBLIC "${PROJECT_SOURCE_DIR } /src/preload/${file} " )
527+ set_source_files_properties ("${PROJECT_SOURCE_DIR } /src/preload/${file} "
528528 PROPERTIES COMPILE_FLAGS ${PRELOAD_COMPILE_FLAGS} )
529529endforeach (file)
530530set_target_properties (rrpreload PROPERTIES LINK_FLAGS "${PRELOAD_LINK_FLAGS} ${LINKER_FLAGS} " )
@@ -545,8 +545,8 @@ if(RTLD_AUDIT)
545545 )
546546 add_library (rraudit)
547547 foreach (file ${AUDIT_FILES} )
548- target_sources (rraudit PUBLIC "${CMAKE_SOURCE_DIR } /src/audit/${file} " )
549- set_source_files_properties ("${CMAKE_SOURCE_DIR } /src/audit/${file} "
548+ target_sources (rraudit PUBLIC "${PROJECT_SOURCE_DIR } /src/audit/${file} " )
549+ set_source_files_properties ("${PROJECT_SOURCE_DIR } /src/audit/${file} "
550550 PROPERTIES COMPILE_FLAGS ${PRELOAD_COMPILE_FLAGS} )
551551 endforeach (file)
552552 set_target_properties (rraudit PROPERTIES LINK_FLAGS "${PRELOAD_LINK_FLAGS} -ldl ${LINKER_FLAGS} " )
@@ -918,12 +918,12 @@ if(rr_32BIT AND rr_64BIT)
918918 endforeach (file)
919919
920920 set_target_properties (rrpage_32 PROPERTIES NO_SONAME ON )
921- set_target_properties (rrpage_32 PROPERTIES LINK_FLAGS "-m32 -Wl,-T -Wl,${CMAKE_BINARY_DIR } /src/preload/rr_page.ld -Wl,--hash-style=both -nostdlib ${PRELOAD_LINK_FLAGS} -Wl,-soname,linux-vdso.so.1 ${LINKER_FLAGS} " )
922- set_target_properties (rrpage_32 PROPERTIES LINK_DEPENDS ${CMAKE_BINARY_DIR } /src/preload/rr_page.ld)
921+ set_target_properties (rrpage_32 PROPERTIES LINK_FLAGS "-m32 -Wl,-T -Wl,' ${PROJECT_BINARY_DIR } /src/preload/rr_page.ld' -Wl,--hash-style=both -nostdlib ${PRELOAD_LINK_FLAGS} -Wl,-soname,linux-vdso.so.1 ${LINKER_FLAGS} " )
922+ set_target_properties (rrpage_32 PROPERTIES LINK_DEPENDS " ${PROJECT_BINARY_DIR } /src/preload/rr_page.ld" )
923923 set_target_properties (rrpage_32 PROPERTIES LINKER_LANGUAGE C)
924924
925925 add_custom_command (TARGET rrpage_32 POST_BUILD
926- COMMAND ${CMAKE_SOURCE_DIR } /src/preload/tweak_librrpage.py $<TARGET_FILE:rrpage_32> ${PRELOAD_LIBRARY_PAGE_SIZE} )
926+ COMMAND " ${PROJECT_SOURCE_DIR } /src/preload/tweak_librrpage.py" $<TARGET_FILE:rrpage_32> ${PRELOAD_LIBRARY_PAGE_SIZE} )
927927
928928
929929 add_library (rrpreload_32)
0 commit comments