[cmake] enable clang-cl and WoA builds #348

Merged
crueter merged 31 commits from liz-clang-cl-cmake into master 2025-09-09 20:47:51 +02:00
Member

Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.

Compiling on clang is dramatically faster so this should be useful for CI.

Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64. Compiling on clang is *dramatically* faster so this should be useful for CI.
Owner
https://github.com/pflyly/torzu-mirror/commit/a640bbee41936d18de2bdb910850ce0e787d39e9#diff-6d6e3ece8559867a9a1a8a1a466cdddde98a780f509364c57c1df87543c5ba8d need this as well
crueter approved these changes 2025-08-29 01:49:54 +02:00
Dismissed
@ -0,0 +1,24 @@
diff -ruN a/libs/cobalt/include/boost/cobalt/concepts.hpp b/libs/cobalt/include/boost/cobalt/concepts.hpp
Owner

Need to add this to cpmfile as like "patches": [ "0001-clang-cl.patch" ]

Need to add this to cpmfile as like `"patches": [ "0001-clang-cl.patch" ]`
crueter marked this conversation as resolved
crueter dismissed crueter's review 2025-08-29 01:50:03 +02:00
Reason:

oops

Lizzie force-pushed liz-clang-cl-cmake from e24e4a1309 to adf55feddb 2025-08-30 00:51:00 +02:00 Compare
Lizzie force-pushed liz-clang-cl-cmake from adf55feddb to d194af1400 2025-08-30 07:58:19 +02:00 Compare
CamilleLaVey approved these changes 2025-08-31 16:23:38 +02:00
Dismissed
crueter dismissed CamilleLaVey's review 2025-09-08 04:21:46 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

crueter force-pushed liz-clang-cl-cmake from c8cc69d65b to d6f6447424 2025-09-08 04:25:25 +02:00 Compare
crueter force-pushed liz-clang-cl-cmake from 78b3397543 to a796e9e2d4 2025-09-08 17:00:32 +02:00 Compare
crueter force-pushed liz-clang-cl-cmake from 24d903aeb4 to cbc6345f64 2025-09-08 19:35:04 +02:00 Compare
crueter added 1 commit 2025-09-08 19:40:43 +02:00
fix hash
All checks were successful
eden-license / license-header (pull_request) Successful in 35s
5290a271ec
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-09-08 19:51:13 +02:00
fix patches
All checks were successful
eden-license / license-header (pull_request) Successful in 32s
4a67c0ce3f
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-09-08 19:59:10 +02:00
comp error
All checks were successful
eden-license / license-header (pull_request) Successful in 32s
1cdec229aa
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 1 commit 2025-09-08 20:05:11 +02:00
argfh
All checks were successful
eden-license / license-header (pull_request) Successful in 32s
72f861d73e
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter added 2 commits 2025-09-08 20:27:52 +02:00
[compat] fix builds on native switch linux
Some checks failed
eden-license / license-header (pull_request) Failing after 27s
96b7e7d291
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Merge remote-tracking branch 'origin/lizfixnxbuilderrs' into liz-clang-cl-cmake
All checks were successful
eden-license / license-header (pull_request) Successful in 31s
f5227998f2
crueter changed title from WIP: [cmake] port torzu cmake build stuff for clang-cl to [cmake] enable clang-cl and WoA builds 2025-09-08 21:13:15 +02:00
crueter added 1 commit 2025-09-09 03:51:23 +02:00
[cmake, ci] "force" clang to use relwithdebinfo; add compiler build id
All checks were successful
eden-license / license-header (pull_request) Successful in 33s
4cc9083d00
Signed-off-by: crueter <crueter@eden-emu.dev>
Member

Maybe the (std::min)/(std::max) changes should be merged on a separated PR to reduce the size of this PR?

Maybe the (std::min)/(std::max) changes should be merged on a separated PR to reduce the size of this PR?
Owner

@DraVee wrote in #348 (comment):

Maybe the (std::min)/(std::max) changes should be merged on a separated PR to reduce the size of this PR?

They're required for clang-cl to build

@DraVee wrote in https://git.eden-emu.dev/eden-emu/eden/pulls/348#issuecomment-3331: > Maybe the (std::min)/(std::max) changes should be merged on a separated PR to reduce the size of this PR? They're required for clang-cl to build
crueter requested changes 2025-09-09 18:26:35 +02:00
Dismissed
CMakeLists.txt Outdated
@ -59,3 +145,3 @@
cmake_dependent_option(ENABLE_LIBUSB "Enable the use of LibUSB" ON "NOT ANDROID" OFF)
option(ENABLE_OPENGL "Enable OpenGL" ON)
cmake_dependent_option(ENABLE_OPENGL "Enable OpenGL" ON "NOT WIN32 AND NOT ARCHITECTURE_arm64" OFF)
Owner

Wait this is wrong

Wait this is wrong
crueter marked this conversation as resolved
CMakeLists.txt Outdated
@ -342,2 +380,4 @@
# boost
set(BOOST_INCLUDE_LIBRARIES algorithm icl pool container heap asio headers process filesystem crc variant)
# TODO(crueter): Use the tar.gz or tar.xz ones since they use POSIX endings and
Owner

Remove

Remove
crueter marked this conversation as resolved
@ -751,0 +808,4 @@
message(FATAL_ERROR "clang-cl: Unsupported architecture ${ARCHITECTURE}")
endif()
AddJsonPackage(llvm-mingw)
Owner

Move to my git

Move to my git
crueter marked this conversation as resolved
@ -592,6 +592,7 @@ function(cpm_add_patches)
list(APPEND temp_list "&&")
endif()
# Add the patch command to the list
# use binary because DOS SUCKS
Owner

Remove

Remove
crueter marked this conversation as resolved
@ -16,3 +16,2 @@
# CMake seems to only define _DEBUG on Windows
set_property(DIRECTORY APPEND PROPERTY
COMPILE_DEFINITIONS $<$<CONFIG:Debug>:_DEBUG> $<$<NOT:$<CONFIG:Debug>>:NDEBUG>)
if (NOT (MSVC AND CXX_CLANG))
Owner

Remove

Remove
crueter marked this conversation as resolved
Member

@crueter wrote in #348 (comment):

@DraVee wrote in #348 (comentário):

Maybe the (std::min)/(std::max) changes should be merged on a separated PR to reduce the size of this PR?

They're required for clang-cl to build

Maybe I wrote it wrong (my poor english), I mean, merge the changes related to parentheses first (since it's a big change) and after that rebase this PR

@crueter wrote in https://git.eden-emu.dev/eden-emu/eden/pulls/348#issuecomment-3332: > @DraVee wrote in #348 (comentário): > > > Maybe the (std::min)/(std::max) changes should be merged on a separated PR to reduce the size of this PR? > > They're required for clang-cl to build Maybe I wrote it wrong (my poor english), I mean, merge the changes related to parentheses first (since it's a big change) and after that rebase this PR
Owner

@DraVee wrote in #348 (comment):

Maybe I wrote it wrong (my poor english), I mean, merge the changes related to parentheses first (since it's a big change) and after that rebase this PR

Too much effort imo, it's easy to review otherwise

@DraVee wrote in https://git.eden-emu.dev/eden-emu/eden/pulls/348#issuecomment-3340: > Maybe I wrote it wrong (my poor english), I mean, merge the changes related to parentheses first (since it's a big change) and after that rebase this PR Too much effort imo, it's easy to review otherwise
crueter added 1 commit 2025-09-09 20:28:30 +02:00
remove unneccessary stuff; move llvm-mingw to my git
All checks were successful
eden-license / license-header (pull_request) Successful in 35s
8e4e2cd9c7
Signed-off-by: crueter <crueter@eden-emu.dev>
crueter approved these changes 2025-09-09 20:28:59 +02:00
crueter merged commit 9d2681ecc9 into master 2025-09-09 20:47:51 +02:00
crueter deleted branch liz-clang-cl-cmake 2025-09-09 20:47:51 +02:00
Sign in to join this conversation.
No description provided.