Add util function for CMake config changes.
- Add change_config_and_warn(), which basically does
what it says.
- Fixed some indent issues.
- Added doc comment for create_dummy_source_file().
Change-Id: I748eec7ff63bd43af8c7a91be1e734b28f7d43d0
diff --git a/build/cmake/aom_configure.cmake b/build/cmake/aom_configure.cmake
index 26aa106..faa9557 100644
--- a/build/cmake/aom_configure.cmake
+++ b/build/cmake/aom_configure.cmake
@@ -243,52 +243,34 @@
include(${wxWidgets_USE_FILE})
if (NOT CONFIG_INSPECTION)
- set(CONFIG_INSPECTION 1)
- message(WARNING
- "--- Enabled CONFIG_INSPECTION, required for CONFIG_ANALYZER.")
+ change_config_and_warn(CONFIG_INSPECTION 1 CONFIG_ANALYZER)
endif ()
endif ()
if (CONFIG_VAR_TX_NO_TX_MODE AND NOT CONFIG_VAR_TX)
- message(WARNING
- "--- CONFIG_VAR_TX_NO_TX_MODE requires CONFIG_VAR_TX, disabling.")
- set(CONFIG_VAR_TX_NO_TX_MODE 0)
+ change_config_and_warn(CONFIG_VAR_TX 1 CONFIG_VAR_TX_NO_TX_MODE)
endif()
-if (CONFIG_DAALA_DCT4)
- if (NOT CONFIG_DCT_ONLY)
- message(WARNING
- "--- Enabled CONFIG_DCT_ONLY, needed for CONFIG_DAALA_DCT4.")
- set(CONFIG_DCT_ONLY 1)
- endif()
+if (CONFIG_DAALA_DCT4 AND NOT CONFIG_DCT_ONLY)
+ change_config_and_warn(CONFIG_DCT_ONLY 1 CONFIG_DAALA_DCT4)
endif()
if (CONFIG_DAALA_DCT4 OR CONFIG_DAALA_DCT8 OR CONFIG_DAALA_DCT16)
if (HAVE_MMX)
- message(WARNING
- "--- Disabled HAVE_MMX, incompatible with CONFIG_DAALA_DCTx.")
- set(HAVE_MMX 0)
+ change_config_and_warn(HAVE_MMX 0 CONFIG_DAALA_DCTx)
endif()
if (CONFIG_RECT_TX)
- message(WARNING
- "--- Disabled CONFIG_RECT_TX, incompatible with CONFIG_DAALA_DCTx.")
- set(CONFIG_RECT_TX 0)
+ change_config_and_warn(CONFIG_RECT_TX 0 CONFIG_DAALA_DCTx)
endif()
if (CONFIG_VAR_TX)
- message(WARNING
- "--- Disabled CONFIG_VAR_TX, incompatible with CONFIG_DAALA_DCTx.")
- set(CONFIG_VAR_TX 0)
+ change_config_and_warn(CONFIG_VAR_TX 0 CONFIG_DAALA_DCTx)
endif()
if (CONFIG_LGT)
- message(WARNING
- "--- Disabled CONFIG_LGT, incompatible with CONFIG_DAALA_DCTx.")
- set(CONFIG_LGT 0)
- endif()
+ change_config_and_warn(CONFIG_LGT 0 CONFIG_DAALA_DCTx)
+ endif()
if (NOT CONFIG_LOWBITDEPTH)
- message(WARNING
- "--- Enabled CONFIG_LOWBITDEPTH, needed for CONFIG_DAALA_DCTx.")
- set(CONFIG_LOWBITDEPTH 1)
- endif()
+ change_config_and_warn(CONFIG_LOWBITDEPTH 1 CONFIG_DAALA_DCTx)
+ endif()
endif()
if (CONFIG_GCOV)
diff --git a/build/cmake/util.cmake b/build/cmake/util.cmake
index 62841a6..7d2b6c0 100644
--- a/build/cmake/util.cmake
+++ b/build/cmake/util.cmake
@@ -11,9 +11,12 @@
if (NOT AOM_BUILD_CMAKE_UTIL_CMAKE_)
set(AOM_BUILD_CMAKE_UTIL_CMAKE_ 1)
+# Creates dummy source file in $AOM_CONFIG_DIR named $basename.$extension and
+# returns the full path to the dummy source file via the $out_file_path
+# parameter.
function (create_dummy_source_file basename extension out_file_path)
set(dummy_source_file "${AOM_CONFIG_DIR}/${basename}.${extension}")
- file(WRITE "${dummy_source_file}"
+ file(WRITE "${dummy_source_file}"
"// Generated file. DO NOT EDIT!\n"
"// ${target_name} needs a ${extension} file to force link language, \n"
"// or to silence a harmless CMake warning: Ignore me.\n"
@@ -26,5 +29,21 @@
target_sources(${target_name} PRIVATE ${dummy_source_file})
endfunction ()
+# Sets the value of the variable referenced by $feature to $value, and reports
+# the change to the user via call to message(WARNING ...). $cause is expected to
+# be a configuration variable that conflicts with $feature in some way.
+function (change_config_and_warn feature value cause)
+ set(${feature} ${value} PARENT_SCOPE)
+ if (${value} EQUAL 1)
+ set(verb "Enabled")
+ set(reason "required for")
+ else ()
+ set(verb "Disabled")
+ set(reason "incompatible with")
+ endif ()
+ set(warning_message "${verb} ${feature}, ${reason} ${cause}.")
+ message(WARNING "--- ${warning_message}")
+endfunction ()
+
endif() # AOM_BUILD_CMAKE_UTIL_CMAKE_