@@ -117,6 +117,33 @@ Upgrading the flutter/dart bridge dependencies is as simple as this command:
117117cargo install flutter_rust_bridge_codegen && flutter_rust_bridge_codegen generate
118118```
119119
120+ ### Windows
121+ For windows we absolutely do not want to be dependent on MSVC compiler.
122+ Therefore I use [ clang-cl] ( https://clang.llvm.org/docs/MSVCCompatibility.html ) .
123+ Using clang-cl instead of MSVC needed adjustment. Therefore i give some instructions here.
124+
125+ #### Flutter generated cmake project
126+ Adjust the CXX-Flags in the auto-generated Cmake project. Find the folloeing line
127+ and adjust accordingly:
128+
129+ ``` cmake
130+ # comment this line
131+ # target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100")
132+ # add the following:
133+ # target_compile_options(${TARGET} PRIVATE /W3 /WX /wd4100 -Wno-cast-function-type-mismatch -Wno-unused-function)
134+ ```
135+
136+ Now you can build the project by running following commands:
137+ ** __ Attention:__ ** Adjust paths accordingly.
138+
139+ ``` powershell
140+ cd rust
141+ cargo build --release
142+ cp rust\target\release\rust_lib_kataglyphis_inference_engine.dll build\windows\x64\plugins\rust_lib_kataglyphis_inference_engine
143+ cmake C:\GitHub\Kataglyphis-Inference-Engine\windows -B C:\GitHub\Kataglyphis-Inference-Engine\build\windows\x64 -G "Ninja" -DFLUTTER_TARGET_PLATFORM=windows-x64 -DCMAKE_CXX_COMPILER="C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\Llvm\bin\clang-cl.exe" -DCMAKE_CXX_COMPILER_TARGET=x86_64-pc-windows-msvc
144+ cmake --build C:\GitHub\Kataglyphis-Inference-Engine\build\windows\x64 --config Release --target install --verbose
145+ ```
146+
120147## Tests
121148
122149<!-- ROADMAP -->
@@ -160,40 +187,5 @@ Project Link: [https://github.com/Kataglyphis/...](https://github.com/Kataglyphi
160187
161188Some very helpful literature, tutorials, etc.
162189
163- <!-- CMake/C++
164- * [Cpp best practices](https://github.com/cpp-best-practices/cppbestpractices)
165-
166- Vulkan
167- * [Udemy course by Ben Cook](https://www.udemy.com/share/102M903@JMHgpMsdMW336k2s5Ftz9FMx769wYAEQ7p6GMAPBsFuVUbWRgq7k2uY6qBCG6UWNPQ==/)
168- * [Vulkan Tutorial](https://vulkan-tutorial.com/)
169- * [Vulkan Raytracing Tutorial](https://developer.nvidia.com/rtx/raytracing/vkray)
170- * [Vulkan Tutorial; especially chapter about integrating imgui](https://frguthmann.github.io/posts/vulkan_imgui/)
171- * [NVidia Raytracing tutorial with Vulkan](https://nvpro-samples.github.io/vk_raytracing_tutorial_KHR/)
172- * [Blog from Sascha Willems](https://www.saschawillems.de/)
173-
174- Physically Based Shading
175- * [Advanced Global Illumination by Dutre, Bala, Bekaert](https://www.oreilly.com/library/view/advanced-global-illumination/9781439864951/)
176- * [The Bible: PBR book](https://pbr-book.org/3ed-2018/Reflection_Models/Microfacet_Models)
177- * [Real shading in Unreal engine 4](https://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf)
178- * [Physically Based Shading at Disney](https://blog.selfshadow.com/publications/s2012-shading-course/burley/s2012_pbs_disney_brdf_notes_v3.pdf)
179- * [RealTimeRendering](https://www.realtimerendering.com/)
180- * [Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs](https://hal.inria.fr/hal-01024289/)
181- * [Sampling the GGX Distribution of Visible Normals](https://pdfs.semanticscholar.org/63bc/928467d760605cdbf77a25bb7c3ad957e40e.pdf)
182-
183- Path tracing
184- * [NVIDIA Path tracing Tutorial](https://github.com/nvpro-samples/vk_mini_path_tracer/blob/main/vk_mini_path_tracer/main.cpp) -->
185-
186- <!-- MARKDOWN LINKS & IMAGES -->
187- <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
188- [ contributors-shield ] : https://img.shields.io/github/contributors/othneildrew/Best-README-Template.svg?style=for-the-badge
189- [ contributors-url ] : https://github.com/othneildrew/Best-README-Template/graphs/contributors
190- [ forks-shield ] : https://img.shields.io/github/forks/othneildrew/Best-README-Template.svg?style=for-the-badge
191- [ forks-url ] : https://github.com/othneildrew/Best-README-Template/network/members
192- [ stars-shield ] : https://img.shields.io/github/stars/othneildrew/Best-README-Template.svg?style=for-the-badge
193- [ stars-url ] : https://github.com/othneildrew/Best-README-Template/stargazers
194- [ issues-shield ] : https://img.shields.io/github/issues/othneildrew/Best-README-Template.svg?style=for-the-badge
195- [ issues-url ] : https://github.com/othneildrew/Best-README-Template/issues
196- [ license-shield ] : https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=for-the-badge
197- [ license-url ] : https://github.com/othneildrew/Best-README-Template/blob/master/LICENSE.txt
198- [ linkedin-shield ] : https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
199- [ linkedin-url ] : https://www.linkedin.com/in/jonas-heinle-0b2a301a0/
190+ CMake/C++
191+ * [ clang-cl] ( https://clang.llvm.org/docs/MSVCCompatibility.html )
0 commit comments