Reputation: 101
I would like to create a nuget package for my boost library. Currently the boost folder contains subfolders such as boost, lib, pathces and readme.txt file.
How should I create a nuget package from it, should I all of these subfolders go into content folder ?
Any pointers ?
Upvotes: 1
Views: 616
Reputation: 2387
To create a NuGet package for a native C++ library, you should add these files to the NuGet package:
The {LIBRARY_NAME}.targets should specify required paths to the header and lib files. For example,
<?xml version="1.0" encoding="utf-8"?>
<Project ToolVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)..\..\lib\native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
<Link>
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)..\..\lib\native\address-model-32\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
<Link>
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)..\..\lib\native\address-model-64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
At the same time, Boost NuGet packages are generated and published for all official Boost libraries using this project https://github.com/sergey-shandar/getboost.
Upvotes: 2