{
  "includes": [ "deps/common-sqlite.gypi" ],
  "variables": {
      "sqlite%":"internal",
      "sqlite_libname%":"sqlite3",
      "module_name": "node_sqlite3",
      "napi_version": "6",
      "platform": "<!(node -p \"process.platform\")",
      "module_path": "./lib/binding/napi-v<(napi_version)-<(platform)-<(target_arch)",
  },
  
  "targets": [
    {
      "target_name": "<(module_name)",
      "cflags!": [ "-fno-exceptions" ],
      "cflags_cc!": [ "-fno-exceptions" ],
      "defines!": [
				"-std=c++11"
			],
      "xcode_settings": { 
        # "ARCHS": ["x86_64"],
				# "VALID_ARCHS": ["x86_64"],
        "GCC_ENABLE_CPP_EXCEPTIONS": "YES",
        "CLANG_CXX_LIBRARY": "libc++",
        "MACOSX_DEPLOYMENT_TARGET": "10.14",
        "EXCUTABLE_EXTENSION": "node",
        "OTHER_CFLAGS": [
					"-ObjC++",
					# "-std=c++14"
				]
      },
      "msvs_settings": {
        "VCCLCompilerTool": { "ExceptionHandling": 1 },
      },
      "include_dirs": [
        "<!@(node -p \"require(\'node-addon-api\').include\")"],
      "conditions": [
        ["sqlite != \"internal\"", {
            "include_dirs": [
              "<!@(node -p \"require('node-addon-api').include\")", "<(sqlite)/include" ],
            "libraries": [
               "-l<(sqlite_libname)"
            ],
            "conditions": [ [ "OS==\"linux\"", {"libraries+":["-Wl,-rpath=<@(sqlite)/lib"]} ] ],
            "conditions": [ [ "OS!=\"win\"", {"libraries+":["-L<@(sqlite)/lib"]} ] ],
            "msvs_settings": {
              "VCLinkerTool": {
                "AdditionalLibraryDirectories": [
                  "<(sqlite)/lib"
                ]
              }
            }
        },
        {
            "dependencies": [
              "<!(node -p \"require('node-addon-api').gyp\")",
              "deps/sqlite3.gyp:sqlite3"
            ]
        }
        ]
      ],
      "sources": [
        "src/backup.cc",
        "src/database.cc",
        "src/node_sqlite3.cc",
        "src/statement.cc"
      ],
      "defines": [ 
        "NAPI_VERSION=<(napi_version)",
        "NAPI_DISABLE_CPP_EXCEPTIONS=1" 
      ]
    },
    {
      "target_name": "action_after_build",
      "type": "none",
      "dependencies": [ "<(module_name)" ],
      "copies": [
          {
            "files": [ "<(PRODUCT_DIR)/<(module_name).node" ],
            "destination": "<(module_path)"
          }
      ]
    }
  ]
}
