mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 04:31:15 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
 | |
| option(SLIC3R_ENC_CHECK "Verify encoding of source files" 1)
 | |
| 
 | |
| if (SLIC3R_ENC_CHECK)
 | |
|     add_executable(encoding-check encoding-check.cpp)
 | |
| 
 | |
|     # A global no-op target which depends on all encodings checks,
 | |
|     # and on which in turn all checked targets depend.
 | |
|     # This is done to make encoding checks the first thing to be
 | |
|     # performed before actually compiling any sources of the checked targets
 | |
|     # to make the check fail as early as possible.
 | |
|     add_custom_target(global-encoding-check
 | |
|         ALL
 | |
|         DEPENDS encoding-check
 | |
|     )
 | |
| endif()
 | |
| 
 | |
| # Function that adds source file encoding check to a target
 | |
| # using the above encoding-check binary
 | |
| 
 | |
| function(encoding_check TARGET)
 | |
|     if (SLIC3R_ENC_CHECK)
 | |
|         # Obtain target source files
 | |
|         get_target_property(T_SOURCES ${TARGET} SOURCES)
 | |
| 
 | |
|         # Define top-level encoding check target for this ${TARGET}
 | |
|         add_custom_target(encoding-check-${TARGET}
 | |
|             DEPENDS encoding-check ${T_SOURCES}
 | |
|             COMMENT "Checking source files encodings for target ${TARGET}"
 | |
|         )
 | |
| 
 | |
|         # Add checking of each source file as a subcommand of encoding-check-${TARGET}
 | |
|         foreach(file ${T_SOURCES})
 | |
|             add_custom_command(TARGET encoding-check-${TARGET}
 | |
|                 COMMAND $<TARGET_FILE:encoding-check> ${TARGET} ${file}
 | |
|                 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 | |
|             )
 | |
|         endforeach()
 | |
| 
 | |
|         # This adds dependency on encoding-check-${TARGET} to ${TARET}
 | |
|         # via the global-encoding-check
 | |
|         add_dependencies(global-encoding-check encoding-check-${TARGET})
 | |
|         add_dependencies(${TARGET} global-encoding-check)
 | |
|     endif()
 | |
| endfunction()
 | 
