Skip to content

Commit f67f2bf

Browse files
committed
Merge branch 'master' into cad-text-rendering-mip-maps
2 parents 29b5eab + 05607aa commit f67f2bf

File tree

160 files changed

+4352
-8584
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+4352
-8584
lines changed

.gitmodules

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
url = git@github.com:Devsh-Graphics-Programming/Nabla-Examples-and-Tests.git
7373
[submodule "3rdparty/msdfgen"]
7474
path = 3rdparty/msdfgen
75-
url = https://github.com/Chlumsky/msdfgen
75+
url = git@github.com:Chlumsky/msdfgen.git
7676
branch = master
7777
[submodule "3rdparty/dxc/dxc"]
7878
path = 3rdparty/dxc/dxc
@@ -95,10 +95,19 @@
9595
url = git@github.com:p-ranav/argparse.git
9696
[submodule "3rdparty/nlohmann_json"]
9797
path = 3rdparty/nlohmann_json
98-
url = https://github.com/Devsh-Graphics-Programming/json
98+
url = git@github.com:Devsh-Graphics-Programming/json.git
9999
[submodule "3rdparty/blake"]
100100
path = 3rdparty/blake
101101
url = git@github.com:Devsh-Graphics-Programming/BLAKE3.git
102102
[submodule "3rdparty/imguizmo"]
103103
path = 3rdparty/imguizmo
104104
url = git@github.com:Devsh-Graphics-Programming/ImGuizmo.git
105+
[submodule "3rdparty/git-version-tracking"]
106+
path = 3rdparty/git-version-tracking
107+
url = git@github.com:Devsh-Graphics-Programming/cmake-git-version-tracking.git
108+
[submodule "3rdparty/imath"]
109+
path = 3rdparty/imath
110+
url = git@github.com:AcademySoftwareFoundation/Imath.git
111+
[submodule "3rdparty/libdeflate"]
112+
path = 3rdparty/libdeflate
113+
url = git@github.com:Devsh-Graphics-Programming/libdeflate.git

3rdparty/CMakeLists.txt

Lines changed: 45 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -193,35 +193,48 @@ option(PNG_TESTS "Build libpng tests" OFF)
193193
add_subdirectory(libpng libpng EXCLUDE_FROM_ALL)
194194
add_dependencies(png_static zlibstatic)
195195

196-
197196
# OpenEXR
198197
option(_NBL_COMPILE_WITH_OPEN_EXR_ "Build with OpenEXR library" ON)
199198

200-
# Note we are adding it anyway regardless _NBL_COMPILE_WITH_OPEN_EXR_, its because we need Half dependecy
201-
# it generates on fly in its build directory which doesnt have to be linked (class with inline methods),
202-
# here is where _NBL_COMPILE_WITH_OPEN_EXR_ plays a role - when disabled OpenEXR won't be built and linked
203-
# but it's core
199+
# Imath
200+
set(IMATH_INSTALL OFF)
201+
add_subdirectory(imath EXCLUDE_FROM_ALL)
202+
203+
if(_NBL_COMPILE_WITH_OPEN_EXR_)
204+
# Deflate
205+
set(LIBDEFLATE_BUILD_SHARED_LIB OFF)
206+
set(LIBDEFLATE_BUILD_STATIC_LIB ON)
207+
set(LIBDEFLATE_GZIP_SUPPORT OFF)
208+
set(LIBDEFLATE_BUILD_GZIP OFF)
209+
add_subdirectory(libdeflate EXCLUDE_FROM_ALL)
210+
set(libdeflate_DIR "${CMAKE_CURRENT_BINARY_DIR}/libdeflate")
211+
212+
# OpenEXR
213+
set(OPENEXR_FORCE_INTERNAL_DEFLATE ON) # trick it into thinking its internal
214+
set(EXR_DEFLATE_LIB libdeflate_static) # and pass deflate target directly from our build tree
215+
set(OPENEXR_FORCE_INTERNAL_IMATH ON) # similar case, force it to look into target from build tree
216+
set(_OLD_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
217+
set(_OLD_BUILD_STATIC_LIBS ${BUILD_STATIC_LIBS})
218+
set(_OLD_BUILD_TESTING ${BUILD_TESTING})
219+
set(BUILD_SHARED_LIBS OFF)
220+
set(BUILD_STATIC_LIBS OFF)
221+
set(BUILD_TESTING OFF)
222+
set(PYILMBASE_ENABLE OFF)
223+
set(OPENEXR_BUILD_UTILS OFF)
224+
set(OPENEXR_BUILD_TOOLS OFF)
225+
set(OPENEXR_INSTALL OFF)
226+
set(OPENEXR_INSTALL_DOCS OFF)
227+
set(OPENEXR_INSTALL_EXAMPLES OFF)
228+
set(OPENEXR_INSTALL_PKG_CONFIG OFF)
229+
set(OPENEXR_INSTALL_TOOLS OFF)
230+
add_subdirectory(openexr EXCLUDE_FROM_ALL)
231+
set(BUILD_SHARED_LIBS ${_OLD_BUILD_SHARED_LIBS})
232+
set(BUILD_STATIC_LIBS ${_OLD_BUILD_STATIC_LIBS})
233+
set(BUILD_TESTING ${_OLD_BUILD_TESTING})
234+
endif()
235+
236+
204237

205-
set(_OLD_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
206-
set(_OLD_BUILD_STATIC_LIBS ${BUILD_STATIC_LIBS})
207-
set(_OLD_BUILD_TESTING ${BUILD_TESTING})
208-
set(BUILD_SHARED_LIBS OFF)
209-
set(BUILD_STATIC_LIBS OFF)
210-
set(BUILD_TESTING OFF)
211-
set(PYILMBASE_ENABLE OFF CACHE STRING "" FORCE)
212-
set(OPENEXR_BUILD_UTILS OFF CACHE STRING "" FORCE)
213-
set(OPENEXR_FORCE_INTERNAL_IMATH ON CACHE STRING "" FORCE) # TODO: make it a submodule and force using it maybe instead of letting OpenEXR download it from it's github repository
214-
set(OPENEXR_BUILD_TOOLS OFF CACHE STRING "" FORCE)
215-
set(OPENEXR_INSTALL OFF CACHE STRING "" FORCE)
216-
set(OPENEXR_INSTALL_DOCS OFF CACHE STRING "" FORCE)
217-
set(OPENEXR_INSTALL_EXAMPLES OFF CACHE STRING "" FORCE)
218-
set(OPENEXR_INSTALL_PKG_CONFIG OFF CACHE STRING "" FORCE)
219-
set(OPENEXR_INSTALL_TOOLS OFF CACHE STRING "" FORCE)
220-
221-
add_subdirectory(openexr openexr EXCLUDE_FROM_ALL)
222-
set(BUILD_SHARED_LIBS ${_OLD_BUILD_SHARED_LIBS})
223-
set(BUILD_STATIC_LIBS ${_OLD_BUILD_STATIC_LIBS})
224-
set(BUILD_TESTING ${_OLD_BUILD_TESTING})
225238

226239
#gli
227240
option(_NBL_COMPILE_WITH_GLI_ "Build with GLI library" ON)
@@ -275,6 +288,12 @@ add_library(spirv_cross OBJECT
275288
)
276289
target_compile_definitions(spirv_cross PUBLIC SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS)
277290

291+
# cmake-git-version-tracking
292+
add_subdirectory(git-version-tracking EXCLUDE_FROM_ALL)
293+
NBL_ADD_GIT_TRACKING_META_LIBRARY(nabla "${NBL_ROOT_PATH}")
294+
NBL_ADD_GIT_TRACKING_META_LIBRARY(dxc "${CMAKE_CURRENT_SOURCE_DIR}/dxc/dxc")
295+
NBL_GENERATE_GIT_TRACKING_META()
296+
278297
if(NBL_BUILD_IMGUI)
279298
add_library(imgui STATIC
280299
"imgui/imconfig.h"
@@ -391,10 +410,6 @@ set(NBL_3RDPARTY_TARGETS
391410
SPIRV
392411
SPIRV-Tools-static # SPIRV-Tools-shared in case of SHARED lib
393412
SPIRV-Tools-opt
394-
OpenEXRUtil
395-
OpenEXRCore
396-
Iex
397-
IlmThread
398413
Imath
399414
freetype
400415
${NBL_MSDFGEN_TARGETS}
@@ -403,7 +418,7 @@ set(NBL_3RDPARTY_TARGETS
403418
)
404419
if (_NBL_COMPILE_WITH_OPEN_EXR_)
405420
list(APPEND NBL_3RDPARTY_TARGETS
406-
OpenEXR
421+
OpenEXR libdeflate_static OpenEXRUtil OpenEXRCore Iex IlmThread
407422
)
408423
endif()
409424

3rdparty/dxc/dxc

Submodule dxc updated 203 files

3rdparty/git-version-tracking

Submodule git-version-tracking added at d284b01

3rdparty/imath

Submodule imath added at 8c1d11f

3rdparty/libdeflate

Submodule libdeflate added at 495a006

3rdparty/openexr

Submodule openexr updated 432 files

3rdparty/parallel-hashmap

Submodule parallel-hashmap updated 53 files

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,12 @@ git clone git@github.com:Devsh-Graphics-Programming/Nabla.git <target directory>
151151

152152
#### Force HTTPS protocol (optional)
153153

154-
We support cloning Nabla with **ssh only**, however you can still force clone with https for whole repository and it's all submodules by overriding project git config setup.
154+
We support cloning Nabla with **ssh only**, however you can still clone Nabla and it's all submodules with https by overriding global git configuration (sorry, must be global for it to work, currently we don't have smart scripts to change local configuration for each nested submodule).
155155

156156
```powershell
157157
git init
158-
git config --project protocol.*.allow always
159-
git config --project url."https://github.com/".insteadOf "git@github.com:"
158+
git config --global protocol.*.allow always
159+
git config --global url."https://github.com/".insteadOf "git@github.com:"
160160
git remote add origin https://github.com/Devsh-Graphics-Programming/Nabla.git
161161
git fetch origin master
162162
git checkout master

__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)