| 
					
				 | 
			
			
				@@ -6,6 +6,66 @@ if(NOT SDKCONFIG OR NOT IDF_PATH  OR NOT IDF_TARGET ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     message(FATAL_ERROR "squeezelite should not be made outside of the main project !") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 endif() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function(___output_debug_target bin_name ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    idf_build_get_property(build_dir BUILD_DIR) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    file(TO_CMAKE_PATH "${build_dir}" cm_build_dir) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if( "${bin_name}" STREQUAL "_" ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	set(debug_file "dbg_project_args" ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        set(debug_file "dbg_${bin_name}" ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    endif() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	set(flash_debug_file "flash_${debug_file}" ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    set(flash_args_file "${cm_build_dir}/flash_project_args"  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    set(line_prefix "mon program_esp32 ${cm_build_dir}/"  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	file(READ ${flash_args_file} flash_args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND dbg_cmds "mon reset halt") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND dbg_cmds "flushregs") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND dbg_cmds "set remote hardware-watchpoint-limit 2") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	STRING(REGEX REPLACE "\n" ";" SPLIT "${flash_args}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	foreach(flash_arg_line ${SPLIT}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		string(REGEX MATCH "^(0[xX][^ ]*)[ ]*([^ ]*)" out_matches "${flash_arg_line}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  	if( ${CMAKE_MATCH_COUNT}  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  		if( ( NOT "${CMAKE_MATCH_0}" STREQUAL "" ) AND ( "${bin_name}" STREQUAL "${CMAKE_MATCH_1}" ) OR ( "${bin_name}" STREQUAL "_" ) ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  	list(APPEND flash_dbg_cmds "${line_prefix}/${CMAKE_MATCH_2} ${CMAKE_MATCH_1}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  		endif() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if( ( NOT "${CMAKE_MATCH_0}" STREQUAL "" ) AND ( "${bin_name}" STREQUAL "${CMAKE_MATCH_2}" ) ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			   list(APPEND dbg_cmds "mon esp32 appoffset ${CMAKE_MATCH_1}") 	   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			endif() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  endif() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	endforeach() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND dbg_cmds_end "mon reset halt") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND dbg_cmds_end "flushregs") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND full_dbg_cmds "${dbg_cmds}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND full_dbg_cmds "${dbg_cmds_end}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND full_flash_dbg_cmds "${dbg_cmds}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND full_flash_dbg_cmds "${flash_dbg_cmds}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	list(APPEND full_flash_dbg_cmds "${dbg_cmds_end}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	STRING(REGEX REPLACE  ";" "\n" dbg_cmds_end "${dbg_cmds_end}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	STRING(REGEX REPLACE  ";" "\n" full_dbg_cmds "${full_dbg_cmds}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	STRING(REGEX REPLACE  ";" "\n" full_flash_dbg_cmds "${full_flash_dbg_cmds}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+file(GENERATE OUTPUT "${cm_build_dir}${debug_file}" CONTENT "${full_dbg_cmds}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+file(GENERATE OUTPUT "${cm_build_dir}${flash_debug_file}" CONTENT "${full_flash_dbg_cmds}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    set_property(DIRECTORY ${cm_build_dir} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    APPEND PROPERTY 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ADDITIONAL_MAKE_CLEAN_FILES "${debug_file}" "${flash_debug_file}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endfunction()  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function(___register_flash target_name sub_type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	partition_table_get_partition_info(otaapp_offset "--partition-type app --partition-subtype ${sub_type}" "offset") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	esptool_py_flash_project_args(${target_name} ${otaapp_offset} ${build_dir}/${target_name}.bin FLASH_IN_PROJECT) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -55,4 +115,7 @@ function(___create_new_target target_name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 endfunction() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ___create_new_target(squeezelite ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-___register_flash(squeezelite ota_0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+___register_flash(squeezelite ota_0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+___output_debug_target("_") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+___output_debug_target("squeezelite") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+___output_debug_target("recovery") 
			 |