33cmake_minimum_required (VERSION 3.10 )
44# Array of "input-file-name;output-file-name;"
55set (TPLGS
6- "LEMANS-EVK\; LEMANS-EVK\; qcom/qcs9100/lemans-evk \; "
7- "MONACO-EVK\; MONACO-EVK\; qcom/qcs8275/monaco-evk \; "
6+ "LEMANS-EVK\; LEMANS-EVK\; qcom/sa8775p \; "
7+ "MONACO-EVK\; MONACO-EVK\; qcom/qcs8300 \; "
88 "Qualcomm-RB5-WSA8815-Speakers-DMIC0\; Qualcomm-RB5-WSA8815-Speakers-DMIC0\; qcom/sm8250\; "
99 "Qualcomm-RB5-WSA8815-Speakers-DMIC0-compress\; Qualcomm-RB5-WSA8815-Speakers-DMIC0-compress\; qcom/sm8250\; "
1010 "SM8250-MTP-WCD9380-WSA8810-VA-DMIC\; SM8250-MTP-WCD9380-WSA8810-VA-DMIC\; qcom/sm8250\; "
@@ -31,13 +31,35 @@ set(TPLGS
3131 "X1E80100-LENOVO-Thinkpad-T14s\; X1E80100-LENOVO-ThinkBook-16\; qcom/x1e80100/LENOVO/21NH\; "
3232 "X1E80100-LENOVO-Thinkpad-T14s\; X1E80100-Romulus\; qcom/x1e80100\; "
3333 "X1E80100-LENOVO-Yoga-Slim7x\; X1E80100-LENOVO-Yoga-Slim7x\; qcom/x1e80100/LENOVO/83ED\; "
34- "QCM6490-IDP\; QCM6490-IDP\; qcom/qcm6490/qcm6490-idp \; "
34+ "QCM6490-IDP\; QCM6490-IDP\; qcom/qcm6490\; "
3535 "QCS6490-Radxa-Dragon-Q6A\; QCS6490-Radxa-Dragon-Q6A\; qcom/qcs6490/radxa/dragon-q6a\; "
36- "QCS6490-RB3Gen2\; QCS6490-RB3Gen2\; qcom/qcs6490/qcs6490-rb3gen2 \; "
36+ "QCS6490-RB3Gen2\; QCS6490-RB3Gen2\; qcom/qcs6490\; "
3737 )
3838
39+ # The list of directories to skip when synchronizing to linux-firmware
40+ set (SKIPSYNC
41+ # These targets don't use AudioReach by default
42+ "qcom/sc7180"
43+ "qcom/sm8250"
44+ # Not yet in linux-firmware
45+ "qcom/qcm6490"
46+ "qcom/qcs6490/radxa/dragon-q6a"
47+ "qcom/sm8450"
48+ "qcom/sm8750"
49+ "qcom/x1e80100/ASUSTeK/vivobook-s15"
50+ "qcom/x1e80100/ASUSTeK/zenbook-a14"
51+ "qcom/x1e80100/LENOVO/21NH"
52+ "qcom/x1e80100/dell/inspiron-14-plus-7441"
53+ "qcom/x1e80100/dell/latitude-7455"
54+ "qcom/x1e80100/dell/xps13-9345"
55+ "qcom/x1e80100/hp/omnibook-x14"
56+ "qcom/x1e80100"
57+ )
58+
3959add_custom_target (topologies ALL )
4060
61+ set (SYNCFW FALSE CACHE BOOL "Sync only firmware expected in linux-firmware" )
62+
4163foreach (tplg ${TPLGS} )
4264 list (GET tplg 0 input)
4365 list (GET tplg 1 output)
@@ -55,13 +77,17 @@ foreach(tplg ${TPLGS})
5577 USES_TERMINAL
5678 )
5779 add_custom_command (
58- OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /${output}-tplg.bin
80+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /${outputdir}/${ output}-tplg.bin
5981 COMMAND alsatplg -c ${CMAKE_CURRENT_BINARY_DIR} /${outputdir}/${output}.conf -o ${CMAKE_CURRENT_BINARY_DIR} /${outputdir}/${output}-tplg.bin
6082 DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /${outputdir}/${output}.conf
6183 VERBATIM
6284 USES_TERMINAL
6385 )
6486
65- add_custom_target (topology_${output} DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /${output}-tplg.bin )
66- add_dependencies (topologies topology_${output} )
87+ add_custom_target (topology_${output} DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /${outputdir}/${output}-tplg.bin )
88+ add_dependencies (topologies topology_${output} )
89+
90+ if (NOT ${SYNCFW} OR NOT "${outputdir} " IN_LIST SKIPSYNC)
91+ install (FILES ${CMAKE_CURRENT_BINARY_DIR} /${outputdir} /${output} -tplg.bin DESTINATION $ENV{FW_LOCATION} /${outputdir} )
92+ endif ()
6793endforeach ()
0 commit comments