aboutsummaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorAleksandr Popovich <alekpopo@pm.me>2025-05-19 21:30:10 +0000
committerAlekPop <alekpop@noreply.localhost>2025-05-19 21:30:10 +0000
commit1f8b8e0fa16fe9e254d31f06dde6984bbd75676f (patch)
tree65effe55c2c06b1fc9c087470fa2bd87f60dc461 /src/CMakeLists.txt
parentbc55ed496f48f8b9f5ecde3d6dfc35d03912ba2e (diff)
remove solo executables (#106)
also, fixes CI not targeting the right flag settings. this pr needs to add the room exe removal from lime3ds. Signed-off-by: Aleksandr Popovich <alekpopo@pm.me> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/106 Co-authored-by: Aleksandr Popovich <alekpopo@pm.me> Co-committed-by: Aleksandr Popovich <alekpopo@pm.me>
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt137
1 files changed, 71 insertions, 66 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 117a0e1265..4308534f12 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -88,26 +88,26 @@ if (MSVC)
/wd4702 # unreachable code (when used with LTO)
)
- if (USE_CCACHE OR YUZU_USE_PRECOMPILED_HEADERS)
+if (USE_CCACHE OR YUZU_USE_PRECOMPILED_HEADERS)
# when caching, we need to use /Z7 to downgrade debug info to use an older but more cacheable format
# Precompiled headers are deleted if not using /Z7. See https://github.com/nanoant/CMakePCHCompiler/issues/21
- add_compile_options(/Z7)
- # Avoid D9025 warning
- string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
- string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
- else()
- add_compile_options(/Zi)
- endif()
+ add_compile_options(/Z7)
+ # Avoid D9025 warning
+ string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
+ string(REPLACE "/Zi" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+else()
+ add_compile_options(/Zi)
+endif()
- if (ARCHITECTURE_x86_64)
- add_compile_options(/QIntel-jcc-erratum)
- endif()
+if (ARCHITECTURE_x86_64)
+ add_compile_options(/QIntel-jcc-erratum)
+endif()
- # /GS- - No stack buffer overflow checks
- add_compile_options("$<$<CONFIG:Release>:/GS->")
+# /GS- - No stack buffer overflow checks
+add_compile_options("$<$<CONFIG:Release>:/GS->")
- set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG /MANIFEST:NO" CACHE STRING "" FORCE)
- set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /MANIFEST:NO /INCREMENTAL:NO /OPT:REF,ICF" CACHE STRING "" FORCE)
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG /MANIFEST:NO" CACHE STRING "" FORCE)
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /MANIFEST:NO /INCREMENTAL:NO /OPT:REF,ICF" CACHE STRING "" FORCE)
else()
add_compile_options(
-fwrapv
@@ -124,63 +124,63 @@ else()
-Wno-missing-field-initializers
)
- if (CMAKE_CXX_COMPILER_ID MATCHES Clang) # Clang or AppleClang
- add_compile_options(
- -Wno-braced-scalar-init
- -Wno-unused-private-field
- -Wno-nullability-completeness
- -Werror=shadow-uncaptured-local
- -Werror=implicit-fallthrough
- -Werror=type-limits
- )
- endif()
+if (CMAKE_CXX_COMPILER_ID MATCHES Clang) # Clang or AppleClang
+ add_compile_options(
+ -Wno-braced-scalar-init
+ -Wno-unused-private-field
+ -Wno-nullability-completeness
+ -Werror=shadow-uncaptured-local
+ -Werror=implicit-fallthrough
+ -Werror=type-limits
+ )
+endif()
- if (ARCHITECTURE_x86_64)
- add_compile_options("-mcx16")
- endif()
+if (ARCHITECTURE_x86_64)
+ add_compile_options("-mcx16")
+endif()
- if (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
- add_compile_options("-stdlib=libc++")
- endif()
+if (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+ add_compile_options("-stdlib=libc++")
+endif()
- # GCC bugs
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- # These diagnostics would be great if they worked, but are just completely broken
- # and produce bogus errors on external libraries like fmt.
- add_compile_options(
- -Wno-array-bounds
- -Wno-stringop-overread
- -Wno-stringop-overflow
- )
- endif()
+# GCC bugs
+if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ # These diagnostics would be great if they worked, but are just completely broken
+ # and produce bogus errors on external libraries like fmt.
+ add_compile_options(
+ -Wno-array-bounds
+ -Wno-stringop-overread
+ -Wno-stringop-overflow
+ )
+endif()
- # Set file offset size to 64 bits.
- #
- # On modern Unixes, this is typically already the case. The lone exception is
- # glibc, which may default to 32 bits. glibc allows this to be configured
- # by setting _FILE_OFFSET_BITS.
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR MINGW)
- add_definitions(-D_FILE_OFFSET_BITS=64)
- endif()
+# Set file offset size to 64 bits.
+#
+# On modern Unixes, this is typically already the case. The lone exception is
+# glibc, which may default to 32 bits. glibc allows this to be configured
+# by setting _FILE_OFFSET_BITS.
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR MINGW)
+ add_definitions(-D_FILE_OFFSET_BITS=64)
+endif()
- if (MINGW)
- add_definitions(-DMINGW_HAS_SECURE_API)
- add_compile_options("-msse4.1")
+if (MINGW)
+ add_definitions(-DMINGW_HAS_SECURE_API)
+ add_compile_options("-msse4.1")
- if (MINGW_STATIC_BUILD)
- add_definitions(-DQT_STATICPLUGIN)
- add_compile_options("-static")
- endif()
+ if (MINGW_STATIC_BUILD)
+ add_definitions(-DQT_STATICPLUGIN)
+ add_compile_options("-static")
endif()
+endif()
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR MINGW)
- # GNU ar: Create thin archive files.
- # Requires binutils-2.19 or later.
- set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> qcTP <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> qTP <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qcTP <TARGET> <LINK_FLAGS> <OBJECTS>")
- set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> qTP <TARGET> <LINK_FLAGS> <OBJECTS>")
- endif()
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR MINGW)
+ # GNU ar: Create thin archive files.
+ # Requires binutils-2.19 or later.
+ set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> qcTP <TARGET> <LINK_FLAGS> <OBJECTS>")
+ set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> qTP <TARGET> <LINK_FLAGS> <OBJECTS>")
+ set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qcTP <TARGET> <LINK_FLAGS> <OBJECTS>")
+ set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> qTP <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
endif()
add_subdirectory(common)
@@ -194,18 +194,23 @@ add_subdirectory(frontend_common)
add_subdirectory(shader_recompiler)
if (YUZU_ROOM)
- add_subdirectory(dedicated_room)
+ add_subdirectory(dedicated_room)
endif()
if (YUZU_TESTS)
add_subdirectory(tests)
endif()
-if (ENABLE_SDL2)
+if (ENABLE_SDL2 AND YUZU_CMD)
add_subdirectory(yuzu_cmd)
set_target_properties(yuzu-cmd PROPERTIES OUTPUT_NAME "eden-cli")
endif()
+if (YUZU_ROOM_STANDALONE)
+ add_subdirectory(yuzu_room_standalone)
+ set_target_properties(yuzu-room PROPERTIES OUTPUT_NAME "eden-room")
+endif()
+
if (ENABLE_QT)
add_subdirectory(yuzu)
endif()