#defines { // Global variables may be added here. // Variables on the "value" side of each definition will be processed at access time. // GlobalVar1 = ""; } configurations { // This node contains pivot information. // These are discussed in detail in the Pivots section. Toolset { key : "PlatformToolset"; choices: { v143, v142, v141, v140 }; }; Platform { key : "Platform"; choices: { Win32, x64 }; Win32.aliases : { x86, win32, 386 }; }; Configuration { key : "Configuration"; choices: { Release, Debug }; }; Linkage { choices : { dynamic, static }; description = "Which version of the .lib file to link to this library"; dynamic.description = "Dynamic Library (DLL)"; static.description = "Static"; }; // Only really applicable to x86 CallingConvention { choices : { cdecl }; description = "Calling convention model to use (for x86 only)"; cdecl.description = "cdecl"; }; } nuget { #defines { // Variable definitions specific to this node (ie. "nuget"). // Only available while inside this scope. // This metadata is not needed for most packages and is typically omitted. }; // The nuspec file metadata. nuspec { id = Kiwano; // "appveyor_version" is replaced by the current Appveyor build number in the // pre-deployment script. version: @appveyor_version; title: Kiwano Game Framework; authors: Nomango; owners: Nomango; licenseUrl: "https://github.com/KiwanoEngine/Kiwano/blob/master/LICENSE"; projectUrl: "https://github.com/KiwanoEngine/Kiwano"; iconUrl: "https://github.com/KiwanoEngine/Kiwano/raw/master/logo/logo.png"; description: A simple game framework for C++; releaseNotes: "Initial release of a Nuget package for Kiwano Game Engine"; copyright: Copyright 2019; tags: { C++, GameFramework, Kiwano }; }; #output-packages { // Output file definitions. These are covered in detail in Output Files. // This metadata is not needed for most packages and is typically omitted. } dependencies { // This node defines any outside items which may be needed to consume this package. packages : { // This is a list of other NuGet packages required to use this package. // Each item follows the format "/" // my_pkg/1.0.0, // my_other_pkg/2.1.5.33 }; } files { #defines { INCLUDE_ROOT = ..\..\include; SRC_ROOT = ..\..\src; OUTPUT_DIR = ..\..\projects\output; } include: { ${INCLUDE_ROOT}\**\*.h, ${INCLUDE_ROOT}\**\*.hpp, }; // third patry bin: { ${SRC_ROOT}\3rd-party\**\*.dll }; ("v140,v141,v142,v143", "Win32,x64", "Debug") => { [${0},${1},${2}] { lib: { ${OUTPUT_DIR}\${0}\${1}\${2}\*.lib }; symbols: { ${OUTPUT_DIR}\${0}\${1}\${2}\*.pdb }; }; }; ("v140,v141,v142,v143", "Win32,x64", "Release") => { [${0},${1},${2}] { lib: { ${OUTPUT_DIR}\${0}\${1}\${2}\*.lib }; }; }; }; props { // Additional declarations to insert into consuming projects before most of the // project settings. (These may be modified in visual studio by a developer // consuming this package.) // This node is typically not needed for most packages and may be omitted. } targets { // Additional declarations to insert into consuming projects after most of the // project settings. (These may NOT be modified in visual studio by a developer // consuming this package.) // This node is often used to set defines that are required that must be set by // the consuming project in order to correctly link to the libraries in this // package. Such defines may be set either globally or only set under specific // conditions. //Defines += HAS_MyLib; //[dynamic] // Defines += HAS_MyLib; } }