cmake: Replace the experiment configuration mechanism
The inline configuration mechanism did work properly for iterated invocation of cmake. But since the configuration items were set after the decision was made whether a tool was build or not, they had only influence on the second run of cmake. The experiment configuration is no saved in a config.cmake file, which populates the CMakeCache.txt before any other CMakeLists.txt is read. Change-Id: I6eca1c6e462af3a241bd9c5b9a27a71a1f5d2829
This commit is contained in:
@ -2,12 +2,17 @@
|
||||
## A cmake configuration call for a FailBochs pruning
|
||||
EXP=$1
|
||||
FAILPATH=$(dirname $0)/..
|
||||
if [ -z $1 ]
|
||||
then
|
||||
echo "Experiment not set. Usage: $0 <experiment name>"
|
||||
echo "Existing experiments:"
|
||||
find ${FAILPATH}/src/experiments -maxdepth 1 -mindepth 1 -type d -printf \-\>\ %P\\n | sort
|
||||
if [ -z $1 ]; then
|
||||
echo "Experiment not set. Usage: $0 <experiment name>"
|
||||
echo "Existing experiments:"
|
||||
find ${FAILPATH}/src/experiments -maxdepth 1 -mindepth 1 -type d -printf \-\>\ %P\\n | sort
|
||||
else
|
||||
|
||||
cmake ${FAILPATH} -DBUILD_BOCHS:BOOL=ON -DBUILD_X86:BOOL=ON -DCONFIG_BOCHS_NO_ABORT:BOOL=ON -DCONFIG_EVENT_BREAKPOINTS:BOOL=ON -DCONFIG_EVENT_BREAKPOINTS_RANGE:BOOL=ON -DCONFIG_EVENT_INTERRUPT:BOOL=ON -DCONFIG_EVENT_IOPORT:BOOL=ON -DCONFIG_EVENT_MEMREAD:BOOL=ON -DCONFIG_EVENT_MEMWRITE:BOOL=ON -DCONFIG_EVENT_TRAP:BOOL=ON -DCONFIG_SR_RESTORE:BOOL=ON -DCONFIG_SR_SAVE:BOOL=ON -D"bochs_configure_params:STRING=--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-disasm;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" -DEXPERIMENTS_ACTIVATED:STRING=${EXP} -DBUILD_IMPORT_TRACE:BOOL=ON -DBUILD_PRUNE_TRACE:BOOL=ON -DBUILD_LLVM_DISASSEMBLER=ON
|
||||
CONFIG='-DBUILD_BOCHS:BOOL=ON -DBUILD_X86:BOOL=ON -DCONFIG_BOCHS_NO_ABORT:BOOL=ON -DCONFIG_EVENT_BREAKPOINTS:BOOL=ON -DCONFIG_EVENT_BREAKPOINTS_RANGE:BOOL=ON -DCONFIG_EVENT_INTERRUPT:BOOL=ON -DCONFIG_EVENT_IOPORT:BOOL=ON -DCONFIG_EVENT_MEMREAD:BOOL=ON -DCONFIG_EVENT_MEMWRITE:BOOL=ON -DCONFIG_EVENT_TRAP:BOOL=ON -DCONFIG_SR_RESTORE:BOOL=ON -DCONFIG_SR_SAVE:BOOL=ON -Dbochs_configure_params:STRING="--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-disasm;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" -DEXPERIMENTS_ACTIVATED:STRING='${EXP}' -DBUILD_IMPORT_TRACE:BOOL=ON -DBUILD_PRUNE_TRACE:BOOL=ON -DBUILD_LLVM_DISASSEMBLER=ON'
|
||||
|
||||
if [ -e "${FAILPATH}/src/experiments/${EXP}/config.cmake" ]; then
|
||||
CONFIG="-C ${FAILPATH}/src/experiments/${EXP}/config.cmake -DEXPERIMENTS_ACTIVATED:STRING=${EXP}"
|
||||
fi
|
||||
|
||||
cmake ${CONFIG} ${FAILPATH}
|
||||
fi
|
||||
|
||||
@ -9,17 +9,6 @@ set(MY_CAMPAIGN_SRCS
|
||||
experiment.cc
|
||||
)
|
||||
|
||||
SET(PLUGINS_ACTIVATED "tracing" CACHE STRING "")
|
||||
|
||||
SET(bochs_configure_params "--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" CACHE STRING "")
|
||||
|
||||
# Build the import and prune trace tools always
|
||||
SET(BUILD_IMPORT_TRACE ON CACHE BOOL "" FORCE)
|
||||
SET(BUILD_PRUNE_TRACE ON CACHE BOOL "" FORCE)
|
||||
SET(BUILD_CONVERT_TRACE ON CACHE BOOL "" FORCE)
|
||||
SET(BUILD_DUMP_TRACE ON CACHE BOOL "" FORCE)
|
||||
SET(BUILD_LLVM_DISASSEMBLER ON CACHE BOOL "" FORCE)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
## Build library
|
||||
|
||||
10
src/experiments/generic-tracing/config.cmake
Normal file
10
src/experiments/generic-tracing/config.cmake
Normal file
@ -0,0 +1,10 @@
|
||||
SET(PLUGINS_ACTIVATED "tracing" CACHE STRING "")
|
||||
|
||||
SET(bochs_configure_params "--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" CACHE STRING "")
|
||||
|
||||
# Build the import and prune trace tools always
|
||||
SET(BUILD_IMPORT_TRACE ON CACHE BOOL "" FORCE)
|
||||
SET(BUILD_PRUNE_TRACE ON CACHE BOOL "" FORCE)
|
||||
SET(BUILD_CONVERT_TRACE ON CACHE BOOL "" FORCE)
|
||||
SET(BUILD_DUMP_TRACE ON CACHE BOOL "" FORCE)
|
||||
SET(BUILD_LLVM_DISASSEMBLER ON CACHE BOOL "" FORCE)
|
||||
@ -4,11 +4,6 @@ configure_file(../instantiate-experiment.ah.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/instantiate-${EXPERIMENT_NAME}.ah @ONLY
|
||||
)
|
||||
|
||||
## Configuration
|
||||
SET(PLUGINS_ACTIVATED "tracing" CACHE STRING "")
|
||||
|
||||
SET(bochs_configure_params "--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-disasm;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" CACHE STRING "")
|
||||
|
||||
## Setup desired protobuf descriptions HERE ##
|
||||
set(MY_PROTOS
|
||||
weathermonitor.proto
|
||||
|
||||
4
src/experiments/weather-monitor/config.cmake
Normal file
4
src/experiments/weather-monitor/config.cmake
Normal file
@ -0,0 +1,4 @@
|
||||
## Configuration
|
||||
SET(PLUGINS_ACTIVATED "tracing" CACHE STRING "")
|
||||
|
||||
SET(bochs_configure_params "--enable-a20-pin;--enable-x86-64;--enable-cpu-level=6;--enable-ne2000;--enable-acpi;--enable-pci;--enable-usb;--enable-trace-cache;--enable-fast-function-calls;--enable-host-specific-asms;--enable-disasm;--enable-readline;--enable-clgd54xx;--enable-fpu;--enable-vmx=2;--enable-monitor-mwait;--enable-cdrom;--enable-sb16=linux;--enable-gdb-stub;--with-nogui" CACHE STRING "")
|
||||
Reference in New Issue
Block a user