package("cjson")

    set_homepage("https://github.com/DaveGamble/cJSON")
    set_description("Ultralightweight JSON parser in ANSI C.")
    set_license("MIT")

    set_urls("https://github.com/DaveGamble/cJSON/archive/v$(version).zip",
             "https://github.com/DaveGamble/cJSON.git")
    add_versions("1.7.10", "80a0584410656c8d8da2ba703744f44d7535fc4f0778d8bf4f980ce77c6a9f65")
    add_versions("1.7.14", "d797b4440c91a19fa9c721d1f8bab21078624aa9555fc64c5c82e24aa2a08221")
    add_versions("1.7.15", "c55519316d940757ef93a779f1db1ca809dbf979c551861f339d35aaea1c907c")

    add_deps("cmake")

    on_install("windows", "macosx", "linux", "iphoneos", "android", function (package)
        local configs = {"-DENABLE_CJSON_TEST=OFF"}
        table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
        table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
        import("package.tools.cmake").install(package, configs)
    end)

    on_test(function (package)
        assert(package:has_cfuncs("cJSON_malloc", {includes = "cjson/cJSON.h"}))
    end)
