GithubHelp home page GithubHelp logo

jsc's Introduction

jsc

A more flexible file format based on json

Feature:

  • Support inheritance
  • Support variables

Example:
I used jsc to create a cfg for vulkan-test

import "../tools/cjing_build/config_base.jsc"
{
    jcs_def :
    {
        sln_name : "VulkanTest",
        cjing_build_dir : "../tools/cjing_build",
        assets_dir : "../assets",
        assets_export_dir : ".export",
    },

    ///////////////////////////////////////////////////////////////////
    // platform:win32
    win32 :
    {
        // custom visual studio dir
        custom_vs_dir_path : "C:\\Program Files (x86)\\Microsoft Visual Studio",

        // source assets directory
        jcs_def : 
        {
            platforms : "win32"
        },

        // premake
        premake : {
            args : [
                "%{vs_version}",   // To genenrate vs sln, the first param must is "vs_version"
                "--sln_name=${sln_name}",
                "--env_dir=../",
                "--work_dir=${assets_dir}",
                "--renderer=vulkan",
                "--platform_dir=win32",
                "--sdk_version=%{windows_sdk_version}",
            ]
        },

        // copy
        copy : {
            type : copy,
            explicit: true,
            files : [
                ["${assets_dir}/${assets_export_dir}", "bin/${platforms}/${assets_export_dir}"],
            ]
        },

        // build
        build : {
            type : build,
            explicit: true,
            buildtool: "msbuild",
            files : [
                "build/${platforms}/${sln_name}.sln"
            ]       
        },

        // launch
        launch : {
            type : shell,
            explicit: true,
            commands : [
                 "bin\\${platforms}"
            ],
            // copy
            copy : {
                files : [
                    ["${assets_dir}/${assets_export_dir}", "bin/${platforms}/${assets_export_dir}"],
                ]
            },
        }
    }
}

jsc's People

Contributors

maoxiezhao avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.