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_