基于C++ Coroutines提案 ‘Stackless Resumable Functions’编写的协程库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

librf.vcxproj 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3. <ItemGroup Label="ProjectConfigurations">
  4. <ProjectConfiguration Include="Debug|Win32">
  5. <Configuration>Debug</Configuration>
  6. <Platform>Win32</Platform>
  7. </ProjectConfiguration>
  8. <ProjectConfiguration Include="Release|Win32">
  9. <Configuration>Release</Configuration>
  10. <Platform>Win32</Platform>
  11. </ProjectConfiguration>
  12. <ProjectConfiguration Include="Debug|x64">
  13. <Configuration>Debug</Configuration>
  14. <Platform>x64</Platform>
  15. </ProjectConfiguration>
  16. <ProjectConfiguration Include="Release|x64">
  17. <Configuration>Release</Configuration>
  18. <Platform>x64</Platform>
  19. </ProjectConfiguration>
  20. </ItemGroup>
  21. <PropertyGroup Label="Globals">
  22. <VCProjectVersion>15.0</VCProjectVersion>
  23. <ProjectGuid>{C1D4A6BD-592F-4E48-8178-7C87219BF80E}</ProjectGuid>
  24. <Keyword>Win32Proj</Keyword>
  25. <RootNamespace>librf</RootNamespace>
  26. <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
  27. </PropertyGroup>
  28. <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  29. <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
  30. <ConfigurationType>Application</ConfigurationType>
  31. <UseDebugLibraries>true</UseDebugLibraries>
  32. <PlatformToolset>v141</PlatformToolset>
  33. <CharacterSet>NotSet</CharacterSet>
  34. </PropertyGroup>
  35. <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
  36. <ConfigurationType>Application</ConfigurationType>
  37. <UseDebugLibraries>false</UseDebugLibraries>
  38. <PlatformToolset>v141</PlatformToolset>
  39. <WholeProgramOptimization>true</WholeProgramOptimization>
  40. <CharacterSet>NotSet</CharacterSet>
  41. </PropertyGroup>
  42. <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
  43. <ConfigurationType>Application</ConfigurationType>
  44. <UseDebugLibraries>true</UseDebugLibraries>
  45. <PlatformToolset>v141</PlatformToolset>
  46. <CharacterSet>NotSet</CharacterSet>
  47. </PropertyGroup>
  48. <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
  49. <ConfigurationType>Application</ConfigurationType>
  50. <UseDebugLibraries>false</UseDebugLibraries>
  51. <PlatformToolset>v141</PlatformToolset>
  52. <WholeProgramOptimization>true</WholeProgramOptimization>
  53. <CharacterSet>NotSet</CharacterSet>
  54. </PropertyGroup>
  55. <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  56. <ImportGroup Label="ExtensionSettings">
  57. </ImportGroup>
  58. <ImportGroup Label="Shared">
  59. </ImportGroup>
  60. <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  61. <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  62. </ImportGroup>
  63. <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  64. <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  65. </ImportGroup>
  66. <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  67. <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  68. </ImportGroup>
  69. <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  70. <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  71. </ImportGroup>
  72. <PropertyGroup Label="UserMacros" />
  73. <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  74. <LinkIncremental>true</LinkIncremental>
  75. </PropertyGroup>
  76. <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  77. <LinkIncremental>true</LinkIncremental>
  78. </PropertyGroup>
  79. <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  80. <LinkIncremental>false</LinkIncremental>
  81. </PropertyGroup>
  82. <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  83. <LinkIncremental>false</LinkIncremental>
  84. </PropertyGroup>
  85. <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  86. <ClCompile>
  87. <WarningLevel>Level3</WarningLevel>
  88. <Optimization>Disabled</Optimization>
  89. <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  90. <SDLCheck>true</SDLCheck>
  91. <AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  92. <AdditionalOptions>/await /permissive- </AdditionalOptions>
  93. <MultiProcessorCompilation>true</MultiProcessorCompilation>
  94. <LanguageStandard>stdcpplatest</LanguageStandard>
  95. </ClCompile>
  96. <Link>
  97. <SubSystem>Console</SubSystem>
  98. <GenerateDebugInformation>true</GenerateDebugInformation>
  99. </Link>
  100. </ItemDefinitionGroup>
  101. <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  102. <ClCompile>
  103. <WarningLevel>Level3</WarningLevel>
  104. <Optimization>Disabled</Optimization>
  105. <PreprocessorDefinitions>_DEBUG;_CONSOLE;RESUMEF_DEBUG_COUNTER=0;RESUMEF_ENABLE_MULT_SCHEDULER=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  106. <SDLCheck>true</SDLCheck>
  107. <AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  108. <AdditionalOptions>/await</AdditionalOptions>
  109. <MultiProcessorCompilation>true</MultiProcessorCompilation>
  110. <LanguageStandard>stdcpp17</LanguageStandard>
  111. <MinimalRebuild />
  112. <CLanguageStandard>c11</CLanguageStandard>
  113. <CppLanguageStandard>c++1y</CppLanguageStandard>
  114. </ClCompile>
  115. <Link>
  116. <SubSystem>Console</SubSystem>
  117. <GenerateDebugInformation>true</GenerateDebugInformation>
  118. </Link>
  119. </ItemDefinitionGroup>
  120. <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  121. <ClCompile>
  122. <WarningLevel>Level3</WarningLevel>
  123. <Optimization>MaxSpeed</Optimization>
  124. <FunctionLevelLinking>true</FunctionLevelLinking>
  125. <IntrinsicFunctions>true</IntrinsicFunctions>
  126. <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  127. <SDLCheck>true</SDLCheck>
  128. <AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  129. <AdditionalOptions>/await /permissive- </AdditionalOptions>
  130. <MultiProcessorCompilation>true</MultiProcessorCompilation>
  131. <LanguageStandard>stdcpplatest</LanguageStandard>
  132. </ClCompile>
  133. <Link>
  134. <SubSystem>Console</SubSystem>
  135. <EnableCOMDATFolding>true</EnableCOMDATFolding>
  136. <OptimizeReferences>true</OptimizeReferences>
  137. <GenerateDebugInformation>true</GenerateDebugInformation>
  138. <Profile>true</Profile>
  139. </Link>
  140. </ItemDefinitionGroup>
  141. <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  142. <ClCompile>
  143. <WarningLevel>Level3</WarningLevel>
  144. <Optimization>MaxSpeed</Optimization>
  145. <FunctionLevelLinking>true</FunctionLevelLinking>
  146. <IntrinsicFunctions>true</IntrinsicFunctions>
  147. <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  148. <AdditionalIncludeDirectories>..\librf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  149. <AdditionalOptions>/await /permissive- </AdditionalOptions>
  150. <ExceptionHandling>Sync</ExceptionHandling>
  151. <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
  152. <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
  153. <OmitFramePointers>true</OmitFramePointers>
  154. <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
  155. <StringPooling>true</StringPooling>
  156. <LanguageStandard>stdcpplatest</LanguageStandard>
  157. <BufferSecurityCheck>false</BufferSecurityCheck>
  158. <MultiProcessorCompilation>true</MultiProcessorCompilation>
  159. </ClCompile>
  160. <Link>
  161. <SubSystem>Console</SubSystem>
  162. <EnableCOMDATFolding>true</EnableCOMDATFolding>
  163. <OptimizeReferences>true</OptimizeReferences>
  164. <GenerateDebugInformation>true</GenerateDebugInformation>
  165. <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
  166. <Profile>true</Profile>
  167. </Link>
  168. </ItemDefinitionGroup>
  169. <ItemGroup>
  170. <ClCompile Include="..\benchmark\benchmark_async_mem.cpp" />
  171. <ClCompile Include="..\librf\src\event.cpp" />
  172. <ClCompile Include="..\librf\src\mutex.cpp" />
  173. <ClCompile Include="..\librf\src\rf_task.cpp" />
  174. <ClCompile Include="..\librf\src\scheduler.cpp" />
  175. <ClCompile Include="..\librf\src\sleep.cpp" />
  176. <ClCompile Include="..\librf\src\state.cpp" />
  177. <ClCompile Include="..\librf\src\timer.cpp" />
  178. <ClCompile Include="..\librf\src\when.cpp" />
  179. <ClCompile Include="..\tutorial\test_async_cb.cpp" />
  180. <ClCompile Include="..\tutorial\test_async_channel.cpp" />
  181. <ClCompile Include="..\tutorial\test_async_channel_mult_thread.cpp" />
  182. <ClCompile Include="..\tutorial\test_async_dynamic_go.cpp" />
  183. <ClCompile Include="..\tutorial\test_async_event.cpp" />
  184. <ClCompile Include="..\tutorial\test_async_event_timeout.cpp" />
  185. <ClCompile Include="..\tutorial\test_async_exception.cpp" />
  186. <ClCompile Include="..\tutorial\test_async_multi_thread.cpp" />
  187. <ClCompile Include="..\tutorial\test_async_mutex.cpp" />
  188. <ClCompile Include="..\tutorial\test_async_resumable.cpp" />
  189. <ClCompile Include="..\tutorial\test_async_routine.cpp" />
  190. <ClCompile Include="..\tutorial\test_async_sleep.cpp" />
  191. <ClCompile Include="..\tutorial\test_async_suspend_always.cpp" />
  192. <ClCompile Include="..\tutorial\test_async_timer.cpp" />
  193. <ClCompile Include="..\tutorial\test_async_when_all.cpp" />
  194. <ClCompile Include="..\tutorial\test_async_yield_return.cpp" />
  195. <ClCompile Include="librf.cpp" />
  196. </ItemGroup>
  197. <ItemGroup>
  198. <ClInclude Include="..\librf\librf.h" />
  199. <ClInclude Include="..\librf\src\asio_task.h" />
  200. <ClInclude Include="..\librf\src\channel.h" />
  201. <ClInclude Include="..\librf\src\counted_ptr.h" />
  202. <ClInclude Include="..\librf\src\def.h" />
  203. <ClInclude Include="..\librf\src\event.h" />
  204. <ClInclude Include="..\librf\src\future.h" />
  205. <ClInclude Include="..\librf\src\generator.h" />
  206. <ClInclude Include="..\librf\src\task_list.h" />
  207. <ClInclude Include="..\librf\src\mutex.h" />
  208. <ClInclude Include="..\librf\src\rf_task.h" />
  209. <ClInclude Include="..\librf\src\scheduler.h" />
  210. <ClInclude Include="..\librf\src\sleep.h" />
  211. <ClInclude Include="..\librf\src\spinlock.h" />
  212. <ClInclude Include="..\librf\src\state.h" />
  213. <ClInclude Include="..\librf\src\timer.h" />
  214. <ClInclude Include="..\librf\src\unix\coroutine.h" />
  215. <ClInclude Include="..\librf\src\utils.h" />
  216. <ClInclude Include="..\librf\src\when.h" />
  217. <ClInclude Include="..\librf\src\_awaker.h" />
  218. </ItemGroup>
  219. <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  220. <ImportGroup Label="ExtensionTargets">
  221. </ImportGroup>
  222. </Project>