X-Git-Url: https://git.jtryba.com/browse/friidump.git/blobdiff_plain/d44030dfa440b1967ec7dcd3ccfe46fb69934486..410adc894dbd68d10080151171b8c42a9197df46:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index b985f1b..d4b21bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,17 @@ cmake_minimum_required(VERSION 2.8) # 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 " + "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) @@ -67,6 +78,26 @@ option ( 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)