# to the root binary directory of the project as ${HELLO_BINARY_DIR}.
project (FriiDump)
+if (UNIX AND NOT WIN32)
+ message (WARNING
+ "Linux vendor-command paths require CAP_SYS_RAWIO. "
+ "A normal build does not install this capability. "
+ "After validating the exact executable, run the candidate validation "
+ "script's capability phase or validation/friidump-linux-rawio-capability.sh install. "
+ "Do not run the entire FriiDump process as root; rebuilding or replacing "
+ "the executable clears file capabilities."
+ )
+endif ()
+
if (MSVC)
# msvc2005 deprecated warnings
add_definitions (-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
OFF
)
+option (
+ BUILD_NATIVE_REPORT_TESTS
+ "Build the native-report fixture generator"
+ OFF
+)
+
+set (
+ FRIIDUMP_BUILD_COMMIT
+ ""
+ CACHE STRING
+ "Full 40-character Git commit embedded in native compatibility reports"
+)
+
+if (FRIIDUMP_BUILD_COMMIT)
+ string (LENGTH "${FRIIDUMP_BUILD_COMMIT}" FRIIDUMP_BUILD_COMMIT_LENGTH)
+ if (NOT FRIIDUMP_BUILD_COMMIT_LENGTH EQUAL 40 OR FRIIDUMP_BUILD_COMMIT MATCHES "[^0-9A-Fa-f]")
+ message (FATAL_ERROR "FRIIDUMP_BUILD_COMMIT must be exactly 40 hexadecimal characters")
+ endif ()
+endif ()
+
if (BUILD_STATIC_BINARY)
set (libmultihash_type STATIC)
set (libfriidump_type STATIC)