build for windows (dll)

This commit is contained in:
Recep Aslantas
2017-04-22 14:52:15 +03:00
parent 8a34e74b87
commit e2fcf80e48
6 changed files with 408 additions and 0 deletions

23
src/dllmain.c Normal file
View File

@@ -0,0 +1,23 @@
/*
* Copyright (c), Recep Aslantas.
*
* MIT License (MIT), http://opensource.org/licenses/MIT
* Full license can be found in the LICENSE file
*/
#include "config.h"
BOOL
APIENTRY
DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved) {
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

4
win/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
!cglm.sln
!cglm.vcxproj
!cglm.vcxproj.filters
!packages.config

1
win/build.bat Normal file
View File

@@ -0,0 +1 @@
msbuild cglm.vcxproj /p:Configuration=Release

28
win/cglm.sln Normal file
View File

@@ -0,0 +1,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26403.7
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cglm", "cglm.vcxproj", "{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}.Debug|x64.ActiveCfg = Debug|x64
{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}.Debug|x64.Build.0 = Debug|x64
{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}.Debug|x86.ActiveCfg = Debug|Win32
{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}.Debug|x86.Build.0 = Debug|Win32
{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}.Release|x64.ActiveCfg = Release|x64
{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}.Release|x64.Build.0 = Release|x64
{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}.Release|x86.ActiveCfg = Release|Win32
{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

199
win/cglm.vcxproj Normal file
View File

@@ -0,0 +1,199 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{CA8BCAF9-CD25-4133-8F62-3D1449B5D2FC}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>cglm</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CGLM_EXPORTS;CGLM_DLL;%(PreprocessorDefinitions);CGLM_DLL</PreprocessorDefinitions>
<DebugInformationFormat>None</DebugInformationFormat>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<PrecompiledHeaderFile />
<CompileAs>CompileAsC</CompileAs>
<WholeProgramOptimization>true</WholeProgramOptimization>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;CGLM_EXPORTS;CGLM_DLL;%(PreprocessorDefinitions);CGLM_DLL</PreprocessorDefinitions>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PrecompiledHeaderFile />
<CompileAs>CompileAsC</CompileAs>
<DebugInformationFormat>None</DebugInformationFormat>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CGLM_EXPORTS;CGLM_DLL;%(PreprocessorDefinitions);CGLM_DLL</PreprocessorDefinitions>
<DebugInformationFormat>None</DebugInformationFormat>
<PrecompiledHeaderFile />
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;CGLM_EXPORTS;CGLM_DLL;%(PreprocessorDefinitions);CGLM_DLL</PreprocessorDefinitions>
<DebugInformationFormat>None</DebugInformationFormat>
<PrecompiledHeaderFile />
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\include\arch\simd\cglm-affine-mat-avx.h" />
<ClInclude Include="..\include\arch\simd\cglm-affine-mat-sse2.h" />
<ClInclude Include="..\include\arch\simd\cglm-intrin.h" />
<ClInclude Include="..\include\arch\simd\cglm-mat-simd-avx.h" />
<ClInclude Include="..\include\arch\simd\cglm-mat-simd-sse2.h" />
<ClInclude Include="..\include\arch\simd\cglm-mat3-simd-sse2.h" />
<ClInclude Include="..\include\arch\simd\cglm-quat-simd.h" />
<ClInclude Include="..\include\call\cglmc-affine.h" />
<ClInclude Include="..\include\call\cglmc-cam.h" />
<ClInclude Include="..\include\call\cglmc-euler.h" />
<ClInclude Include="..\include\call\cglmc-io.h" />
<ClInclude Include="..\include\call\cglmc-mat.h" />
<ClInclude Include="..\include\call\cglmc-mat3.h" />
<ClInclude Include="..\include\call\cglmc-quat.h" />
<ClInclude Include="..\include\call\cglmc-vec.h" />
<ClInclude Include="..\include\cglm-affine-mat.h" />
<ClInclude Include="..\include\cglm-affine.h" />
<ClInclude Include="..\include\cglm-call.h" />
<ClInclude Include="..\include\cglm-cam.h" />
<ClInclude Include="..\include\cglm-common.h" />
<ClInclude Include="..\include\cglm-euler.h" />
<ClInclude Include="..\include\cglm-io.h" />
<ClInclude Include="..\include\cglm-mat.h" />
<ClInclude Include="..\include\cglm-mat3.h" />
<ClInclude Include="..\include\cglm-quat.h" />
<ClInclude Include="..\include\cglm-types.h" />
<ClInclude Include="..\include\cglm-util.h" />
<ClInclude Include="..\include\cglm-vec-ext.h" />
<ClInclude Include="..\include\cglm-vec.h" />
<ClInclude Include="..\include\cglm.h" />
<ClInclude Include="..\src\config.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\cglm-cam.c" />
<ClCompile Include="..\src\cglm-euler.c" />
<ClCompile Include="..\src\cglm-io.c" />
<ClCompile Include="..\src\cglm-mat.c" />
<ClCompile Include="..\src\cglm-mat3.c" />
<ClCompile Include="..\src\cglm-quat.c" />
<ClCompile Include="..\src\cglm-vec.c" />
<ClCompile Include="..\src\clgm-affine.c" />
<ClCompile Include="..\src\dllmain.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

153
win/cglm.vcxproj.filters Normal file
View File

@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="include">
<UniqueIdentifier>{f46634e5-c098-41a0-afb3-45afb6a53593}</UniqueIdentifier>
</Filter>
<Filter Include="include\call">
<UniqueIdentifier>{496b3b53-1258-4efa-87b2-4280ea82f87e}</UniqueIdentifier>
</Filter>
<Filter Include="include\arch">
<UniqueIdentifier>{28919415-29bd-4edd-8ab1-1ec9a16e46f0}</UniqueIdentifier>
</Filter>
<Filter Include="include\arch\simd">
<UniqueIdentifier>{792cb1a9-bdc8-4f00-bfde-067750b0ab41}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\include\cglm.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-affine.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-affine-mat.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-call.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-cam.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-common.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-euler.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-io.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-mat.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-mat3.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-quat.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-types.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-util.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-vec.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\cglm-vec-ext.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\include\call\cglmc-affine.h">
<Filter>include\call</Filter>
</ClInclude>
<ClInclude Include="..\include\call\cglmc-cam.h">
<Filter>include\call</Filter>
</ClInclude>
<ClInclude Include="..\include\call\cglmc-euler.h">
<Filter>include\call</Filter>
</ClInclude>
<ClInclude Include="..\include\call\cglmc-io.h">
<Filter>include\call</Filter>
</ClInclude>
<ClInclude Include="..\include\call\cglmc-mat.h">
<Filter>include\call</Filter>
</ClInclude>
<ClInclude Include="..\include\call\cglmc-mat3.h">
<Filter>include\call</Filter>
</ClInclude>
<ClInclude Include="..\include\call\cglmc-quat.h">
<Filter>include\call</Filter>
</ClInclude>
<ClInclude Include="..\include\call\cglmc-vec.h">
<Filter>include\call</Filter>
</ClInclude>
<ClInclude Include="..\include\arch\simd\cglm-affine-mat-avx.h">
<Filter>include\arch\simd</Filter>
</ClInclude>
<ClInclude Include="..\include\arch\simd\cglm-affine-mat-sse2.h">
<Filter>include\arch\simd</Filter>
</ClInclude>
<ClInclude Include="..\include\arch\simd\cglm-intrin.h">
<Filter>include\arch\simd</Filter>
</ClInclude>
<ClInclude Include="..\include\arch\simd\cglm-mat3-simd-sse2.h">
<Filter>include\arch\simd</Filter>
</ClInclude>
<ClInclude Include="..\include\arch\simd\cglm-mat-simd-avx.h">
<Filter>include\arch\simd</Filter>
</ClInclude>
<ClInclude Include="..\include\arch\simd\cglm-mat-simd-sse2.h">
<Filter>include\arch\simd</Filter>
</ClInclude>
<ClInclude Include="..\include\arch\simd\cglm-quat-simd.h">
<Filter>include\arch\simd</Filter>
</ClInclude>
<ClInclude Include="..\src\config.h">
<Filter>src</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\cglm-cam.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\src\cglm-euler.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\src\cglm-io.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\src\cglm-mat.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\src\cglm-mat3.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\src\cglm-quat.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\src\cglm-vec.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\src\clgm-affine.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\src\dllmain.c">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
</Project>