37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
task("shader")
 | 
						|
    -- Set the run script
 | 
						|
    on_run(function ()
 | 
						|
        -- Import parameter option module
 | 
						|
        import("core.project.config")
 | 
						|
        -- Loading configuration
 | 
						|
        config.load()
 | 
						|
 | 
						|
        -- Get the GLSLC binary path
 | 
						|
        glslc_path = config.get("glslc_path")
 | 
						|
        if config.get("glslc_path") == "" then
 | 
						|
            glslc_path = "/usr/bin/glslc"
 | 
						|
            config.set("glslc_path", glslc_path)
 | 
						|
            config.save()
 | 
						|
        end
 | 
						|
 | 
						|
        if os.exists(glslc_path) then
 | 
						|
            os.execv(glslc_path, { "shaders/simple_shader.vert", "-o", "shaders/simple_shader.vert.spv" })
 | 
						|
            os.execv(glslc_path, { "shaders/simple_shader.frag", "-o", "shaders/simple_shader.frag.spv" })
 | 
						|
            
 | 
						|
            cprint("${green}Shader built successfully!${clear}")
 | 
						|
        else
 | 
						|
            os.raise(format("${red} GLSLC path doesn't exists: %s", glslc_path))
 | 
						|
        end
 | 
						|
    end)
 | 
						|
 | 
						|
    set_menu{
 | 
						|
        -- Settings menu usage
 | 
						|
        usage = "xmake shader",
 | 
						|
 | 
						|
        -- Setup menu description
 | 
						|
        description = "Build shaders",
 | 
						|
 | 
						|
        -- Setup menu options
 | 
						|
        {}
 | 
						|
    }
 | 
						|
task_end() |