Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

newBuildSystem #852

Open
wants to merge 47 commits into
base: master
Choose a base branch
from
Open

newBuildSystem #852

wants to merge 47 commits into from

Conversation

YasInvolved
Copy link
Contributor

@YasInvolved YasInvolved commented Mar 8, 2025

It's currently not working

AnastaZIuk and others added 30 commits July 26, 2024 17:41
…ubmit all commands within the file to prevent OS wide issues with chmod (which turns out doesn't work even if FILE(CHMOD <..>) is used properly, it may be a CMake bug), temporary disable NBL_UPDATE_GIT_SUBMODULE_NO_SEPARATE_SHELL usage, will bring it back in following commit
…list (needs more grouping) - export targets directly to build tree on NBL_3RDPARTY_USE_EXPORT_FROM_BUILD_TREE and use within build system. Add a lot of TODO comments, replace some raw include/link variables with interface libraries & use them, remove old code, fix old bugs & typos
…rate with usual mode (NBL_3RDPARTY_USE_EXPORT_FROM_BUILD_TREE OFF)
…s, stop populating cache if not required, use more generator expressions, split targets into extensions & 3rdparty - add internal functions for hooking them up to build system with respect to build mode, move some options from top level CMakeLists.txt to 3rdparty and use them to create interface targets, add TODO comments & save work
… few bugs, introduce NBL_3RDPARTY_ENABLE_FOLDER_GROUPING, add utils with recursive search for build system targets, finally compile whole 3rdparty as separate solution excluded from Nabla sources with exported targets saved to file. Self to note, configure time went from around 24 seconds to 8 after refactoring part of CMake 3rdparty codebase with CMake cache loaded, MSVC toolset & VS generator
…riables & configurations, update unix/common.cmake, force DXC's C++ standard to be 17, update .gitignore, write TODO comments
…forces those targets to include like half of Nabla headers within its auto-gen headers I cannot keep it here anymore with new export modes), handle imported Threads target with cmake/init/buildSystem.cmake, remove old generate_nabla_defines custom target and make it a custom command rule, move xxHash256 to Nabla sources into exe directory (it was never a tool because was used with builtins so therefore it's Nabla & derivative targets utility, but still can be used as tool in case). Group Nabla targets into IDE folders. Temporary disable examples & tools - Nabla solution generates correctly with exported 3rdparty imported targets!
…targets to 3rdparty interface, link & include search directories for Nabla & build all builtin resource targets
…because it turns out some of our dependencies call include_directories which is global state and populates directory https://cmake.org/cmake/help/latest/prop_tgt/INCLUDE_DIRECTORIES.html#prop_tgt:INCLUDE_DIRECTORIES property which doesn't get proxied as part of our 3rdparty interface, fix some issues and finally build Nabla with normal mode using new build system, add some TODO comments
…ystem_update_libs

Update marked libraries
…ystem

Update OpenEXR and spill out its deps
…ystem

Fix `newBuildSystem`'s linker errors
Signed-off-by: Ali Cheraghi <alichraghi@proton.me>
Signed-off-by: Ali Cheraghi <alichraghi@proton.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants