Commit Graph
9 Commits
Author SHA1 Message Date
Kris Austin 8effa27f4a build: build the dependencies with clang-cl under the Visual Studio generator (#15673)
The deps superbuild passes the Visual Studio generator and platform to
every sub-build but not the toolset, so build_win.bat -d -l without -x
compiled every dependency with cl even though the superbuild had been
configured with -T ClangCL; CMake replaces the forwarded
CMAKE_<LANG>_COMPILER with whatever the toolset ran. The recipes that
adapt to clang-cl then disagreed with what had been built, and
wxInspector told FindwxWidgets to look in lib/clang_x64_lib while the
cl-built wxWidgets had installed into lib/vc_x64_lib:

  Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES
  wxWidgets_INCLUDE_DIRS core base aui propgrid)

Forward CMAKE_GENERATOR_TOOLSET as well, so the dependencies compile
with clang-cl under MSBuild the way they already do under Ninja. Four
of them need more than that:

- OpenSSL always builds with cl, and MSBuild runs its nmake steps in
  the project's toolset environment, where ClangCL puts clang's include
  directory first and cl trips over clang's stdint.h. The project gets
  the default toolset.
- Boost.Container's dlmalloc needs -Wno-incompatible-pointer-types
  under clang. boost_container links as C++, and the Visual Studio
  generator writes only the link language's flags into the project, so
  its C file never saw CMAKE_C_FLAGS. Under that generator the option
  goes through the C++ flags as well, with the defaults kept.
- Draco's tools and NLopt's testopt compile sources their own static
  library also contains. MSBuild lists libraries before objects and
  lld-link resolves archive members as each input arrives, so the
  library's copy is pulled in before the executable's own object and
  the link fails on duplicate symbols; link.exe defers the search and
  Ninja lists the objects first. Nothing uses those executables, so
  they get /FORCE:MULTIPLE there.

The Ninja path is unchanged: the generated configure commands of all
29 dependencies are identical before and after. OCCT's arm64 override
to cl still applies under Ninja but not under the Visual Studio
generator, where the toolset wins; that combination never built and is
left for a follow-up.
2026-09-16 14:28:50 -03:00
Jack Boswell (boswelja) db11e136f7 Hook up deps-windows.cmake too 2026-05-01 19:17:54 +10:00
Noisyfox 7f1aad8bc1 Support Visual Studio 2026 (#11349)
* Add script with VS version auto detection

* Add msvc145 toolset support

* Fix issue when build slicer only

* Fix vs2026 OpenCV build

* Set github action to use new build script

* Get vs version from `msbuild --version` so it works for github action
2025-11-13 23:11:56 +08:00
Jack Boswell c8a27715a9 Replace DEPS_BITS with DEPS_ARCH (#10183)
* Replace DEPS_BITS with DEPS_ARCH

* Restore missing DEP_MSVC_GEN

* STREQUAL

* STREQUAL

* Other cmakelists

* webview2 rename
2025-07-23 19:17:05 +08:00
Noisyfox a877d642f6 Fix build with VS2022 17.10.x (#5575)
* Fix dep build with latest vs2022

* Fix opencv build with latest vs2022
2024-06-04 19:59:23 +08:00
enricoturri1966 ef942d9d06 Updated deps-windows.cmake and Boost.cmake to be able to build dependencies using Visual Studio 2022
(cherry picked from commit 1376c9cffdb23351d35270ef5673ea98789dcaaf)
2022-12-25 14:30:56 +08:00
SoftFever a688719e72 Revert "Merge branch 'SoftFever' into feature/calib"
This reverts commit f5b28201fe, reversing
changes made to d9e9fb2206.

# Conflicts:
#	version.inc
2022-12-25 12:39:45 +08:00
enricoturri1966 a89d896679 Updated deps-windows.cmake and Boost.cmake to be able to build dependencies using Visual Studio 2022
(cherry picked from commit 1376c9cffdb23351d35270ef5673ea98789dcaaf)
2022-12-16 22:51:07 -05:00
lane.wei 1555904bef Add the full source of BambuStudio
using version 1.0.10
2022-07-15 23:42:08 +08:00