]> FriiDump Source - friidump.git/blobdiff - CMakeLists.txt
FriiDump 0.5.3.16 candidate: add native reports and Linux Xbox support
[friidump.git] / CMakeLists.txt
index b985f1b80a43b317f82eb5889c8aef12a9471155..635300d426df2f5273a161cac6d41f0c6ebc1a54 100644 (file)
@@ -5,6 +5,17 @@ cmake_minimum_required(VERSION 2.8)
 # to the root binary directory of the project as ${HELLO_BINARY_DIR}.
 project (FriiDump)
 
 # 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)
 if (MSVC)
     # msvc2005 deprecated warnings
     add_definitions (-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
@@ -67,6 +78,26 @@ option (
        OFF
 )
 
        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)
 if (BUILD_STATIC_BINARY)
        set (libmultihash_type STATIC)
        set (libfriidump_type STATIC)