aboutsummaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/acpi/CMakeLists.txt7
-rw-r--r--libs/acpi/cmake/Scripts/IaslCompile.cmake16
2 files changed, 22 insertions, 1 deletions
diff --git a/libs/acpi/CMakeLists.txt b/libs/acpi/CMakeLists.txt
index d6d607a..2c4d76d 100644
--- a/libs/acpi/CMakeLists.txt
+++ b/libs/acpi/CMakeLists.txt
@@ -87,7 +87,12 @@ if(BUILD_TESTING)
foreach(TABLE IN LISTS TEST_TABLES)
add_custom_command(OUTPUT "test_data/${TABLE}.aml"
- COMMAND "${IASL_EXE}" -p "test_data/${TABLE}.aml" "${CMAKE_CURRENT_SOURCE_DIR}/test_data/${TABLE}.asl"
+ COMMAND ${CMAKE_COMMAND}
+ "-DIASL_EXE=${IASL_EXE}"
+ "-DIASL_OUTPUT=test_data/${TABLE}.aml"
+ "-DIASL_INPUT=${CMAKE_CURRENT_SOURCE_DIR}/test_data/${TABLE}.asl"
+ "-P"
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Scripts/IaslCompile.cmake"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/test_data/${TABLE}.asl"
COMMENT "Compiling test_data/${TABLE}.asl"
VERBATIM
diff --git a/libs/acpi/cmake/Scripts/IaslCompile.cmake b/libs/acpi/cmake/Scripts/IaslCompile.cmake
new file mode 100644
index 0000000..ff73b34
--- /dev/null
+++ b/libs/acpi/cmake/Scripts/IaslCompile.cmake
@@ -0,0 +1,16 @@
+execute_process(
+ COMMAND
+ "${IASL_EXE}"
+ "-vs"
+ "-p"
+ "${IASL_OUTPUT}"
+ "${IASL_INPUT}"
+ OUTPUT_VARIABLE IASL_OUT
+ ERROR_VARIABLE IASL_ERR
+ RESULT_VARIABLE IASL_RES
+)
+
+if(NOT IASL_RES EQUAL 0)
+ message(STATUS "${IASL_OUT}")
+ message(FATAL_ERROR "${IASL_ERR}")
+endif()