{
	"targets": [
		{
			"target_name": "vita",
			"sources": [
				"src/vitabridge.cc",
			],
			"conditions": [
				["OS=='win'", {
					"include_dirs": [
						"../lib/src",
						"C:/Program Files/libvita/Include"
					],
					"configurations": {
						"Debug": {
							"msvs_settings": {
								"VCCLCompilerTool": {
									"AdditionalOptions": [
										"/DTRACEON",
										"/DUSB_DEBUG",
										"/DVITA_WIN32",
										"/DWIN32",
										"/D_WINDOWS",
										"/D_CRT_SECURE_NO_WARNINGS",
										"/Zi",	 # Generate PDB
										"/nologo", # Supress startup banner
										"/W3",	 # Warning level 3
										"/WX-",	# Do not treat warnings as errors
										"/Od",	 # No optimization
										"/Ob0",	# Disable inline function expansion
										"/Oy-",	# Keep frame pointers
										"/Gm-",	# Disable minimum rebuild
										"/RTC1",	 # Perform all runtime checks
										"/MTd",	# Multithreaded (static) runtime with debug info
										"/GS"		# Buffer security check
									]
								},
								"VCLinkerTool": {
									"AdditionalLibraryDirectories": [
										"../bin",
										"../../Lib",
										"../../build/lib/Debug",
										"C:\Program Files\libvita\Lib"
									],
									"AdditionalOptions": [
										"/DEBUG",
										"/SUBSYSTEM:WINDOWS",
										"libvita.lib"
									]
								}
							}
						},
						"Release": { # Default
							"msvs_settings": {
								"VCCLCompilerTool": {
									"AdditionalOptions": [
										"/DVITA_WIN32",
										"/DWIN32",
										"/D_WINDOWS",
										"/D_CRT_SECURE_NO_WARNINGS",
										"/Zi",	 # Generate PDB
										"/nologo", # Supress startup banner
										"/W3",	 # Warning level 3
										"/WX-",	# Do not treat warnings as errors
										"/Ox",	 # Full optimization
										"/Ob2",	# Inline expand any suitable function
										"/Oi",	 # Enable intrinsic functions
										"/Ot",	 # Favor fast code
										"/Oy",	 # Omit frame pointers
										"/GL",	 # Whole-program optimization
										"/GF",	 # Enable string pooling
										"/Gm-",	# Disable minimal rebuild
										"/MT",	 # Multithreaded (static) runtime
										"/GS"		# Buffer security check
									]
								},
								"VCLinkerTool": {
									"AdditionalLibraryDirectories": [
										"../bin",
										"../../Lib",
										"../../build/lib/Release",
										"C:\Program Files\libvita\Lib"
									],
									"AdditionalOptions": [
										"/SUBSYSTEM:WINDOWS",
										"/INCREMENTAL:NO",
										"/LTCG",
										"/OPT:REF", # Strip unreferenced symbols
										"/OPT:ICF", # Enable identical COMDAT folding (i.e., merge functions with identical instructions)
										"libvita.lib"
									]
								}
							}
						}
					}
				},
				{ # OS != 'win'
					"include_dirs": [
						"/usr/include/libusb-1.0",
						"/usr/include/vita",
								"../lib/src"
					],
					"link_settings": {
						"libraries": [
							"-lusb-1.0",
							"-lvita",
							#"../bin/libvita.so",
						],
					},
					"configurations": {
						"Debug": {
							"cflags": [
								'-DTRACEON',
								'-DUSB_DEBUG',
								'-O0',
								'-g3'
							],
						},
						"Release": {
							"cflags": [
								'-O3',
							],
						}
					}
				}]
			]
		},
		{
			'target_name': 'action_after_build',
			'type': 'none',
			'dependencies': [ 'vita' ],
			'copies':[
				{
					'destination': 'bin/',
					'files': [
						'<@(PRODUCT_DIR)/vita.node'
					]
				}
			]
		}
	]
}
