Skip to content

Instantly share code, notes, and snippets.

@deccer
Created February 26, 2018 18:45
Show Gist options
  • Save deccer/2946b55203ca77b212d66c8c0603acc9 to your computer and use it in GitHub Desktop.
Save deccer/2946b55203ca77b212d66c8c0603acc9 to your computer and use it in GitHub Desktop.
Project Structure C++
ProjectName\
ProjectName\ProjectName.sln
ProjectName\LibraryA\LibraryA.vcxproj
ProjectName\LibraryA\Source\FileA.cpp
ProjectName\LibraryA\Source\FileB.cpp
ProjectName\LibraryA\Include\LibraryA\FileA.hpp can be included with $(SolutionDir)LibraryA\Include and you can do #include <LibraryA/FileA.hpp>
ProjectName\LibraryA\Include\LibraryA\FileB.hpp
ProjectName\LibraryA\Lib\LibraryA.lib can be included with $(SolutionDir)LibraryA\Lib
ProjectName\LibraryB\LibraryB.vcxproj
ProjectName\LibraryB\Source\FileA.cpp
ProjectName\LibraryB\Source\FileB.cpp
ProjectName\LibraryB\Include\LibraryB\FileA.hpp can be included with $(SolutionDir)LibraryA\Include and you can do #include <LibraryB/FileA.hpp>
ProjectName\LibraryB\Include\LibraryB\FileB.hpp
ProjectName\LibraryB\Lib\LibraryB.lib can be included with $(SolutionDir)LibraryB\Lib
ProjectName\ProjectName\ProjectName.vcxproj
ProjectName\ProjectName\Source\Main.cpp
ProjectName\ProjectName\Source\DemoApp.cpp
ProjectName\ProjectName\Include\ProjectName\DemoApp.hpp can be included with $(ProjectDir)Include and for #include <ProjectName/DemoApp.hpp>
ProjectName\Build\Bin\ProjectName.exe $(WorkingDir) set to this folder
ProjectName\Build\Bin\LibraryB.dll
ProjectName\Build\Bin\Data\Settings.ini
ProjectName\Build\Bin\Data\Textures\T_Default_D.png
ProjectName\Build\Bin\Data\Textures\T_Default_N.png
ProjectName\Build\Bin\Data\Textures\T_Default_S.png
ProjectName\Build\Bin\Data\Shaders\Common.hlsl
ProjectName\Build\Bin\Data\Shaders\blabla.vs.hlsl
ProjectName\Build\Bin\Data\Shaders\blabla.ps.hlsl
ProjectName\Build\Temp\LibraryA\ (Intermediate Folder for all temp stuff)
ProjectName\Build\Temp\LibraryB\ (Intermediate Folder for all temp stuff)
ProjectName\Build\Temp\ProjectName\ (Intermediate Folder for all temp stuff)
ProjectName\Libs
ProjectName\Libs\glad
ProjectName\Libs\glad\include
ProjectName\Libs\glad\include\glad
ProjectName\Libs\glad\source\glad.c
ProjectName\Libs\PhysX
ProjectName\Libs\PhysX\include
ProjectName\Libs\PhysX\lib{\x86|\x64}
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment