mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 13:09:38 +00:00 
			
		
		
		
	 e5fb198adc
			
		
	
	e5fb198adc
	
	
	
		
			
			This commit fixes a build failure in the esp_app_format component for the linux target when built on a MacOS machine.
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| idf_build_get_property(target IDF_TARGET)
 | |
| 
 | |
| if(NOT BOOTLOADER_BUILD)
 | |
|     set(src "esp_app_desc.c")
 | |
| else()
 | |
|     set(src "")
 | |
| endif()
 | |
| idf_component_register(SRCS ${src}
 | |
|                     INCLUDE_DIRS "include")
 | |
| 
 | |
| if(NOT BOOTLOADER_BUILD)
 | |
|     # esp_app_desc structure is added as an undefined symbol because otherwise the
 | |
|     # linker will ignore this structure as it has no other files depending on it.
 | |
|     if(CONFIG_IDF_TARGET_LINUX AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
 | |
|         # On MacOS, the linker expects the exact mangled symbol name (with leading underscore)
 | |
|         # to be present in the object file.
 | |
|         target_link_libraries(${COMPONENT_LIB} INTERFACE "-u _esp_app_desc")
 | |
|     else()
 | |
|         target_link_libraries(${COMPONENT_LIB} INTERFACE "-u esp_app_desc")
 | |
|     endif()
 | |
| 
 | |
|     if(CONFIG_APP_PROJECT_VER_FROM_CONFIG)
 | |
|         # Ignore current PROJECT_VER (which was set in project.cmake)
 | |
|         # Gets the version from the CONFIG_APP_PROJECT_VER.
 | |
|         idf_build_set_property(PROJECT_VER "${CONFIG_APP_PROJECT_VER}")
 | |
|     endif()
 | |
| 
 | |
|     # cut PROJECT_VER and PROJECT_NAME to required 32 characters.
 | |
|     idf_build_get_property(project_ver PROJECT_VER)
 | |
|     idf_build_get_property(project_name PROJECT_NAME)
 | |
|     string(SUBSTRING "${project_ver}" 0 31 PROJECT_VER_CUT)
 | |
|     string(SUBSTRING "${project_name}" 0 31 PROJECT_NAME_CUT)
 | |
|     message(STATUS "App \"${PROJECT_NAME_CUT}\" version: ${PROJECT_VER_CUT}")
 | |
| 
 | |
|     set_source_files_properties(
 | |
|         SOURCE "esp_app_desc.c"
 | |
|         PROPERTIES COMPILE_DEFINITIONS
 | |
|         "PROJECT_VER=\"${PROJECT_VER_CUT}\"; PROJECT_NAME=\"${PROJECT_NAME_CUT}\"")
 | |
| endif()
 |