Skip to content

MacOS #488

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

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

MacOS #488

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
453bb2d
add macos-clang PLATFORM given apple clang compiler vendor to CMake
Apr 14, 2023
c4a41b4
Correct dxc's CMakeLists file in order to cover non multi generators,…
AnastaZIuk Apr 15, 2023
df32b15
remove x86 processor specific compile flags added without respect to …
AnastaZIuk Apr 15, 2023
dece03a
generate endian.h and byteswap.h patch headers on fly for AppleClang …
AnastaZIuk Apr 17, 2023
0039960
force x86_64 arch builds for all APPLE devices
AnastaZIuk Apr 19, 2023
ff275de
Merge branch 'newBuiltinResources' of github.com:Devsh-Graphics-Progr…
AnastaZIuk Apr 19, 2023
afe16f6
turn explicit instantiation definition in builtin resources auto-gene…
devshgraphicsprogrammingjenkins Apr 22, 2023
b4b7d9e
add standalone boost math library in order to patch Nabla for MacOS b…
AnastaZIuk Apr 22, 2023
76e4662
Force Xcode legacy build system in order to work with Nabla, add vali…
AnastaZIuk Apr 22, 2023
50e657d
fix oneDPL & oneTBB Nabla build system and make it work on MacOS with…
AnastaZIuk Apr 22, 2023
7a6de70
bring back installation of tbb targets and coditionally handle tbbmal…
AnastaZIuk Apr 23, 2023
3d4c2c3
fix dependent type errors, add some copy constructor with assignment …
AnastaZIuk Apr 23, 2023
1f024e5
Add CSystemMacOS source and header file, update Nabla codebase with M…
AnastaZIuk Apr 24, 2023
b9c830e
eliminate last errors and compile Nabla on MacOS with AppleClang and …
AnastaZIuk Apr 25, 2023
e43df25
updated .gitmodules to use DevshGraphicsProgramming forks and SSH
Hazardu Sep 21, 2023
1f8548a
pull master & resolve conflicts
AnastaZIuk Jul 25, 2024
0101507
second pull from remote & resolve conflicts
AnastaZIuk Jul 25, 2024
5752d7e
Delete 3rdparty/boost/standalone directory
AnastaZIuk Jul 25, 2024
e7bef08
Refactor submodule.update.cmake & do not use proxy scripts anymore, s…
AnastaZIuk Jul 25, 2024
f22f391
Merge branch 'MacOSX' of github.com:Devsh-Graphics-Programming/Nabla …
AnastaZIuk Jul 25, 2024
e2067c2
make NBL_FORCE_ON_UPDATE_GIT_SUBMODULE truely wipe-all thing
AnastaZIuk Jul 25, 2024
e08ee2c
make this configure again
AnastaZIuk Jul 25, 2024
e7bfe9e
make it generate on my MacOS Air M2 (cross-compile to x86_64)
AnastaZIuk Jul 25, 2024
edb3c8d
silent all warnings regarding flags & definitions, add apple-clang.cm…
AnastaZIuk Jul 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 34 additions & 2 deletions 3rdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,10 @@ add_subdirectory(freetype2 freetype2 EXCLUDE_FROM_ALL)
add_library(Freetype::Freetype ALIAS freetype) # alias target for MSDFGEN not trying to find freetype system-wide but rather to use the logical target available in our build tree

# msdfgen

set(MSDFGEN_USE_SKIA OFF)
set(MSDFGEN_USE_VCPKG OFF)
set(MSDFGEN_CORE_ONLY OFF) # if turned on then MSDFGEN will be built without dependencies like freetype or skia
set(MSDFGEN_CORE_ONLY OFF)
set(MSDFGEN_INSTALL OFF)
set(MSDFGEN_BUILD_STANDALONE OFF)
set(MSDFGEN_USE_CPP11 ON)
Expand Down Expand Up @@ -76,7 +78,7 @@ add_subdirectory(volk volk EXCLUDE_FROM_ALL)
target_include_directories(volk PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/Vulkan-Headers/include")
target_include_directories(volk_headers INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/Vulkan-Headers/include")

if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
add_subdirectory(pstl pstl EXCLUDE_FROM_ALL)
endif()

Expand All @@ -100,11 +102,16 @@ file(LOCK "${CMAKE_CURRENT_SOURCE_DIR}/zlib" DIRECTORY RELEASE RESULT_VARIABLE N
set(SKIP_INSTALL_ALL ${_OLD_SKIP_INSTALL_ALL})
set(BUILD_SHARED_LIBS ${_OLD_BUILD_SHARED_LIBS})

if(APPLE)
target_compile_options(zlibstatic PUBLIC "-includeunistd.h")
endif()

get_target_property(ZLIB_SOURCE_DIR zlibstatic "SOURCE_DIR")
get_target_property(ZLIB_BINARY_DIR zlibstatic "BINARY_DIR")
get_filename_component(_ORIGINAL_SOURCE_ "${ZLIB_SOURCE_DIR}" ABSOLUTE)
get_filename_component(_COPY_BIN_SOURCE_ "${ZLIB_BINARY_DIR}/copy_source" ABSOLUTE)

# TODO: add coresponding custom command and mark proper dependencies [zlib_copy]
add_custom_target(zlib_copy
COMMAND ${CMAKE_COMMAND} -E rm -Rf "${_COPY_BIN_SOURCE_}"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${_ORIGINAL_SOURCE_}" "${_COPY_BIN_SOURCE_}"
Expand Down Expand Up @@ -331,6 +338,31 @@ add_library(aesGladman OBJECT
aesGladman/sha1.c
)

# MacOS patches
if(APPLE)
set(_NBL_MACOS_PATCH_INCLUDE_ "${CMAKE_CURRENT_BINARY_DIR}/macos/include" CACHE INTERNAL "")

set(_NBL_MACOS_BYTESWAP_H_
"#if defined(__APPLE__)\n\
// Mac OS X / Darwin features\n\
#include <libkern/OSByteOrder.h>\n\n\
#define bswap_16(x) OSSwapInt16(x)\n\
#define bswap_32(x) OSSwapInt32(x)\n\
#define bswap_64(x) OSSwapInt64(x)\n\
#endif // __APPLE__"
)

set(_NBL_MACOS_ENDIAN_H_
"#if defined(__APPLE__)\n\
#include <machine/endian.h>\n\
#endif // __APPLE__"
)

file(WRITE "${_NBL_MACOS_PATCH_INCLUDE_}/byteswap.h" "${_NBL_MACOS_BYTESWAP_H_}")
file(WRITE "${_NBL_MACOS_PATCH_INCLUDE_}/endian.h" "${_NBL_MACOS_ENDIAN_H_}")

include_directories(BEFORE SYSTEM "${_NBL_MACOS_PATCH_INCLUDE_}")
endif()
Comment on lines +341 to +365

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

both ARM and x86 are little-endian

we're not going to support PowerPC cause its freaking ancient

what dependency even needs this?

add_subdirectory(argparse argparse EXCLUDE_FROM_ALL)

option(GLM_TEST_ENABLE_SIMD_SSE4_2 "Enable SSE 4.2 optimizations" ON)
Expand Down
11 changes: 3 additions & 8 deletions 3rdparty/dxc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ else()
endif()
endif()

# this whole shit needs to be changed,
# leaving it till we get to relocatable packages

set(DXC_INCLUDE_DIRECTORIES
$<IF:$<CONFIG:Debug>,${NBL_DXC_DEBUG_INCLUDE_DIRECTORIES},${NBL_DXC_RELEASE_INCLUDE_DIRECTORIES}>
CACHE INTERNAL "" FORCE)
Expand Down Expand Up @@ -142,14 +145,6 @@ set(DXC_DLL_NAME
$<IF:$<CONFIG:Debug>,${_NBL_DXC_DEBUG_DLL_NAME_},${_NBL_DXC_RELEASE_DLL_NAME_}>
CACHE INTERNAL "" FORCE)

set(DXC_COMPILE_FLAGS_RELEASE "")
set(DXC_COMPILE_FLAGS_RWDI "")
set(DXC_COMPILE_FLAGS_DEBUG "")

set(DXC_COMPILE_FLAGS
$<$<CONFIG:Release>:${DXC_COMPILE_FLAGS_RELEASE}>$<$<CONFIG:Debug>:${DXC_COMPILE_FLAGS_DEBUG}>$<$<CONFIG:RelWithDebInfo>:${DXC_COMPILE_FLAGS_RWDI}>
CACHE INTERNAL "" FORCE)

get_filename_component(_SPIRV_BR_BUNDLE_SEARCH_DIRECTORY_ "${DXC_SPIRV_HEADERS_DIR}/include" ABSOLUTE)
get_filename_component(_SPIRV_BR_OUTPUT_DIRECTORY_SOURCE_ "${CMAKE_CURRENT_BINARY_DIR}/src" ABSOLUTE)
get_filename_component(_SPIRV_BR_OUTPUT_DIRECTORY_HEADER_ "${CMAKE_CURRENT_BINARY_DIR}/include" ABSOLUTE)
Expand Down
Binary file added 3rdparty/pstl/.DS_Store
Binary file not shown.
122 changes: 65 additions & 57 deletions 3rdparty/pstl/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,59 +1,67 @@
if(NBL_BUILD_DPL AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # only non-multi-generators and clang ifsupported
get_filename_component(CCBD_ABSOLUTE "${CMAKE_CURRENT_BINARY_DIR}" ABSOLUTE)

if (NBL_BUILD_DPL)
set(_NBL_BUILD_DPL_ ${NBL_BUILD_DPL})
endif()

set(TBB_INSTALL_VARS ON CACHE BOOL "" FORCE)
set(TBB_TEST OFF CACHE BOOL "" FORCE)
set(TBB_STRICT ON CACHE BOOL "" FORCE)
set(PREVIOUS_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
set(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
set(TBB_SANITIZE "" CACHE STRING "" FORCE)
add_subdirectory(oneTBB oneTBB EXCLUDE_FROM_ALL)

if(PREVIOUS_BUILD_SHARED_LIBS)
set(BUILD_SHARED_LIBS ${PREVIOUS_BUILD_SHARED_LIBS} CACHE BOOL "" FORCE)
else()
unset(BUILD_SHARED_LIBS CACHE)
endif()

set(ONETBB_BUILD ${CCBD_ABSOLUTE}/oneTBB)
set(ONETBB_INSTALL_DIR ${ONETBB_BUILD}/install CACHE STRING "oneTBB install directory" FORCE)

add_custom_target(onetbb_build
COMMAND ${CMAKE_COMMAND} --install ${ONETBB_BUILD} --component devel -v --config $<CONFIG> --prefix ${ONETBB_INSTALL_DIR}
COMMAND ${CMAKE_COMMAND} --install ${ONETBB_BUILD} --component runtime -v --config $<CONFIG> --prefix ${ONETBB_INSTALL_DIR}
DEPENDS tbb tbbmalloc tbbmalloc_proxy
COMMENT "Building oneTBB..."
)

set(ONEDPL_BUILD ${CCBD_ABSOLUTE}/oneDPL/build)
set(ONEDPL_INSTALL_DIR ${ONEDPL_BUILD}/install CACHE STRING "oneDPL install directory" FORCE)

set(CMAKE_ARGS_ONEDPL
-DCMAKE_BUILD_TYPE:STRING=$<CONFIG>
-DONETBB_INSTALL_DIR:PATH=${ONETBB_INSTALL_DIR}
get_filename_component(CCBD_ABSOLUTE "${CMAKE_CURRENT_BINARY_DIR}" ABSOLUTE)

set(_NBL_BUILD_DPL_ ON CACHE BOOL "")

set(TBB_INSTALL_VARS ON CACHE BOOL "" FORCE)
set(TBB_TEST OFF CACHE BOOL "" FORCE)
set(TBB_STRICT ON CACHE BOOL "" FORCE)
set(PREVIOUS_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
set(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
set(TBB_SANITIZE "" CACHE STRING "" FORCE)

add_subdirectory(oneTBB oneTBB EXCLUDE_FROM_ALL)
target_compile_options(tbb PUBLIC
-Wno-conversion
)

if(PREVIOUS_BUILD_SHARED_LIBS)
set(BUILD_SHARED_LIBS ${PREVIOUS_BUILD_SHARED_LIBS} CACHE BOOL "" FORCE)
else()
unset(BUILD_SHARED_LIBS CACHE)
endif()

set(ONETBB_BUILD ${CCBD_ABSOLUTE}/oneTBB)
set(ONETBB_INSTALL_DIR ${ONETBB_BUILD}/install CACHE STRING "oneTBB install directory" FORCE)

add_custom_target(onetbb_build
COMMAND ${CMAKE_COMMAND} --install ${ONETBB_BUILD} --component devel -v --config $<CONFIG> --prefix ${ONETBB_INSTALL_DIR}
COMMAND ${CMAKE_COMMAND} --install ${ONETBB_BUILD} --component runtime -v --config $<CONFIG> --prefix ${ONETBB_INSTALL_DIR}
COMMENT "Building oneTBB..."
)
add_dependencies(onetbb_build tbb tbbmalloc)

if(NOT (APPLE AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang"))
add_dependencies(onetbb_build tbbmalloc_proxy)
endif()

set(ONEDPL_BUILD ${CCBD_ABSOLUTE}/oneDPL/build)
set(ONEDPL_INSTALL_DIR ${ONEDPL_BUILD}/install CACHE STRING "oneDPL install directory" FORCE)

set(CMAKE_ARGS_ONEDPL
-DCMAKE_BUILD_TYPE:STRING=$<CONFIG>
-DONETBB_INSTALL_DIR:PATH=${ONETBB_INSTALL_DIR}
)

if(ANDROID)
list(APPEND CMAKE_ARGS_ONEDPL
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE}
-DANDROID_ABI:STRING=${ANDROID_ABI}
-DANDROID_PLATFORM:STRING=${ANDROID_PLATFORM}
)

if(ANDROID)
list(APPEND CMAKE_ARGS_ONEDPL
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE}
-DANDROID_ABI:STRING=${ANDROID_ABI}
-DANDROID_PLATFORM:STRING=${ANDROID_PLATFORM}
)
endif()

ExternalProject_Add(oneDPL
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/oneDPL
BINARY_DIR ${ONEDPL_BUILD}
CMAKE_ARGS ${CMAKE_ARGS_ONEDPL}
BUILD_COMMAND cmake --build ${ONEDPL_BUILD}
INSTALL_COMMAND cmake --install ${ONEDPL_BUILD} --prefix ${ONEDPL_INSTALL_DIR}
USES_TERMINAL_BUILD 1
COMMENT "Building oneDPL..."
elseif(APPLE)
list(APPEND CMAKE_ARGS_ONEDPL
"-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}"
)

add_dependencies(oneDPL onetbb_build)
endif()
endif()

ExternalProject_Add(oneDPL
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/oneDPL
BINARY_DIR ${ONEDPL_BUILD}
CMAKE_ARGS ${CMAKE_ARGS_ONEDPL}
BUILD_COMMAND cmake --build ${ONEDPL_BUILD} --config $<CONFIG>
INSTALL_COMMAND cmake --install ${ONEDPL_BUILD} --config $<CONFIG> -v --prefix ${ONEDPL_INSTALL_DIR}
USES_TERMINAL_BUILD 1
COMMENT "Building oneDPL..."
)

add_dependencies(oneDPL onetbb_build)
49 changes: 33 additions & 16 deletions 3rdparty/pstl/oneDPL/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,35 @@
cmake_minimum_required(VERSION 3.20)
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake/toolchains/android/build.cmake)
cmake_minimum_required(VERSION 3.26)

if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
if(NOT DEFINED ONETBB_INSTALL_DIR)
message(FATAL_ERROR "oneDPL submodule requires valid ONETBB_INSTALL_DIR!")
endif()

set(TBB_DIR ${ONETBB_INSTALL_DIR}/lib/cmake/TBB CACHE INTERNAL "" FORCE)
set(ONEDPL_BACKEND tbb CACHE STRING "" FORCE)
add_subdirectory(oneDPL oneDPL)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

if(ANDROID)
add_compile_options(
$<$<CONFIG:DEBUG>:-glldb>
)
endif()
endif()
# assume built-in pthreads on MacOS
if(APPLE)
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
set(CMAKE_HAVE_THREADS_LIBRARY 1)
set(CMAKE_USE_WIN32_THREADS_INIT 0)
set(CMAKE_USE_PTHREADS_INIT 1)
set(THREADS_PREFER_PTHREAD_FLAG ON CACHE BOOL "")
endif()

if(ANDROID)
include(${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake/toolchains/android/build.cmake)
endif()

if(NOT DEFINED ONETBB_INSTALL_DIR)
message(FATAL_ERROR "oneDPL submodule requires valid ONETBB_INSTALL_DIR!")
endif()

set(TBB_DIR ${ONETBB_INSTALL_DIR}/lib/cmake/TBB CACHE INTERNAL "" FORCE)
set(ONEDPL_BACKEND tbb CACHE STRING "" FORCE)
set(CMAKE_FIND_USE_CMAKE_SYSTEM_PATH ON CACHE BOOL "")
set(ONE_DPL_INSTALL_OVERRIDE "${CMAKE_CURRENT_BINARY_DIR}/output" CACHE STRING "" FORCE)
find_package(Threads REQUIRED)

add_subdirectory(oneDPL oneDPL)
Comment on lines +19 to +29

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so you need to compile OneDPL for AppleClang to support parallel execution policies?


if(ANDROID)
add_compile_options(
$<$<CONFIG:DEBUG>:-glldb>
)
endif()
2 changes: 1 addition & 1 deletion 3rdparty/pstl/oneDPL/oneDPL
Submodule oneDPL updated 1 files
+7 −0 CMakeLists.txt
2 changes: 1 addition & 1 deletion 3rdparty/zlib
Submodule zlib updated 133 files
19 changes: 17 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,21 @@
# For conditions of distribution and use, see copyright notice in nabla.h.in or nabla.h

cmake_minimum_required(VERSION 3.29)
cmake_policy(SET CMP0042 NEW)
cmake_policy(SET CMP0112 NEW)
cmake_policy(SET CMP0141 NEW) # https://cmake.org/cmake/help/latest/policy/CMP0141.html#policy:CMP0141
cmake_policy(SET CMP0118 NEW) # https://cmake.org/cmake/help/latest/policy/CMP0118.html#policy:CMP0118

if(APPLE)
set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "" FORCE)

if("${CMAKE_GENERATOR}" STREQUAL "Xcode")
if(NOT "${CMAKE_GENERATOR_TOOLSET}" STREQUAL "buildsystem=1")
message("Nabla build isn't supported with new Xcode buildsystem, you must specify CMake generator toolset as '-T buildsystem=1' in order to use legacy Xcode build system")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whats the new Xcode buildsystem?

endif()
endif()
endif()

set(NBL_BUILD_ANDROID OFF)

include(ExternalProject)
Expand All @@ -30,14 +41,13 @@ endif()
if(NBL_STATIC_BUILD)
message(STATUS "Static Nabla build enabled!")
else()
# TODO: needs correcting those checks
if(WIN32 AND MSVC)
if(NBL_DYNAMIC_MSVC_RUNTIME)
message(STATUS "Shared Nabla build enabled!")
else()
message(FATAL_ERROR "Turn NBL_DYNAMIC_MSVC_RUNTIME on! For dynamic Nabla builds dynamic MSVC runtime is mandatory!")
endif()
else()
message(FATAL_ERROR "Nabla can't be built with shared libraries! Please make sure you are targetting Windows OS and MSVC compiler!")
endif()
endif()

Expand Down Expand Up @@ -148,6 +158,8 @@ if(WIN32)
set(_NBL_PLATFORM_WINDOWS_ 1)
elseif(ANDROID)
set(_NBL_PLATFORM_ANDROID_ 1)
elseif(APPLE)
set(_NBL_PLATFORM_MACOS_ 1)
elseif(UNIX)
set(_NBL_PLATFORM_LINUX_ 1)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1")
Expand All @@ -159,6 +171,9 @@ else()
set(_NBL_SHARED_BUILD_ ON CACHE INTERNAL "")
endif()

#uncomment in the future
#option(NBL_TARGET_ARCH_ARM "Build for ARM?" OFF)

option(NBL_BUILD_DPL "Enable DPL (Dynamic Parallelism Library)" OFF)
option(NBL_PCH "Enable pre-compiled header" ON)
option(NBL_FAST_MATH "Enable fast low-precision math" ON)
Expand Down
24 changes: 12 additions & 12 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -152,11 +152,6 @@
"inherits": "user-configure-static-base",
"cacheVariables": {
"NBL_DYNAMIC_MSVC_RUNTIME": "OFF"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
Expand All @@ -165,11 +160,6 @@
"inherits": "user-configure-dynamic-base",
"cacheVariables": {
"NBL_DYNAMIC_MSVC_RUNTIME": "ON"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
Expand All @@ -178,15 +168,25 @@
"displayName": "[USER]: Static library target, Visual Studio 17 2022 generator, MSVC v143 toolset",
"description": "Configure as static library with Visual Studio 17 2022 generator and MSVC v143 toolset",
"generator": "Visual Studio 17 2022",
"toolset": "v143"
"toolset": "v143",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "user-configure-dynamic-msvc",
"inherits": "user-configure-dynamic-windows-base",
"displayName": "[USER]: Dynamic library target, Visual Studio 17 2022 generator, MSVC v143 toolset",
"description": "Configure as dynamic library with Visual Studio 17 2022 generator and MSVC v143 toolset",
"generator": "Visual Studio 17 2022",
"toolset": "v143"
"toolset": "v143",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "user-configure-static-ninja-multi",
Expand Down
2 changes: 2 additions & 0 deletions cmake/adjust/flags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ macro(_NBL_IMPL_GET_FLAGS_PROFILE_)
include("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/template/unix/gnu.cmake")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
include("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/template/unix/clang.cmake")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
include("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/template/unix/apple-clang.cmake")
else()
message(WARNING "UNTESTED COMPILER DETECTED, EXPECT WRONG OPTIMIZATION FLAGS! SUBMIT ISSUE ON GITHUB https://github.com/Devsh-Graphics-Programming/Nabla/issues")
endif()
Expand Down
Loading