aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-06-15 17:07:25 +0200
committerShauren <shauren.trinity@gmail.com>2025-04-13 18:23:15 +0200
commit5269de59191f1adde28aaefbac2c8a81cdf27991 (patch)
tree86be3cfd6965c9becf9b96965d57839156ee41f7 /cmake
parent3a2bb2fcfdbe66028c1a30f9820775b05be36b03 (diff)
Build: Decouple compiler specific settings from os settings
(cherry picked from commit 12d1f4448c30d313e8f0e70d89f29b709f5dd70d)
Diffstat (limited to 'cmake')
-rw-r--r--cmake/compiler/mingw/settings.cmake42
-rw-r--r--cmake/macros/CheckPlatform.cmake10
-rw-r--r--cmake/platform/unix/settings.cmake8
-rw-r--r--cmake/platform/win/settings.cmake8
4 files changed, 10 insertions, 58 deletions
diff --git a/cmake/compiler/mingw/settings.cmake b/cmake/compiler/mingw/settings.cmake
deleted file mode 100644
index 94cb2f9d522..00000000000
--- a/cmake/compiler/mingw/settings.cmake
+++ /dev/null
@@ -1,42 +0,0 @@
-# set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms)
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
-
-# Set build-directive (used in core to tell which buildtype we used)
-target_compile_definitions(trinity-compile-option-interface
- INTERFACE
- -D_BUILD_DIRECTIVE="$<CONFIG>")
-
-if(PLATFORM EQUAL 32)
- # Required on 32-bit systems to enable SSE2 (standard on x64)
- target_compile_options(trinity-compile-option-interface
- INTERFACE
- -msse2
- -mfpmath=sse)
-endif()
-target_compile_definitions(trinity-compile-option-interface
- INTERFACE
- -DHAVE_SSE2
- -D__SSE2__)
-message(STATUS "GCC: SFMT enabled, SSE2 flags forced")
-
-if(WITH_WARNINGS)
- target_compile_options(trinity-warning-interface
- INTERFACE
- -W
- -Wall
- -Wextra
- -Winit-self
- -Winvalid-pch
- -Wfatal-errors
- -Woverloaded-virtual)
-
- message(STATUS "GCC: All warnings enabled")
-endif()
-
-if(WITH_COREDEBUG)
- target_compile_options(trinity-compile-option-interface
- INTERFACE
- -g3)
-
- message(STATUS "GCC: Debug-flags set (-g3)")
-endif()
diff --git a/cmake/macros/CheckPlatform.cmake b/cmake/macros/CheckPlatform.cmake
index 5dbd52a8773..c5aa63cceea 100644
--- a/cmake/macros/CheckPlatform.cmake
+++ b/cmake/macros/CheckPlatform.cmake
@@ -35,3 +35,13 @@ if(WIN32)
elseif(UNIX)
include("${CMAKE_SOURCE_DIR}/cmake/platform/unix/settings.cmake")
endif()
+
+if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
+ include("${CMAKE_SOURCE_DIR}/cmake/compiler/msvc/settings.cmake")
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ include("${CMAKE_SOURCE_DIR}/cmake/compiler/clang/settings.cmake")
+elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ include("${CMAKE_SOURCE_DIR}/cmake/compiler/gcc/settings.cmake")
+elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+ include("${CMAKE_SOURCE_DIR}/cmake/compiler/icc/settings.cmake")
+endif()
diff --git a/cmake/platform/unix/settings.cmake b/cmake/platform/unix/settings.cmake
index bcd25af4903..dbed87ed6d8 100644
--- a/cmake/platform/unix/settings.cmake
+++ b/cmake/platform/unix/settings.cmake
@@ -49,11 +49,3 @@ message(STATUS "UNIX: Detected compiler: ${CMAKE_C_COMPILER}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/bin")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/lib")
-
-if(CMAKE_C_COMPILER MATCHES "gcc" OR CMAKE_C_COMPILER_ID STREQUAL "GNU")
- include(${CMAKE_SOURCE_DIR}/cmake/compiler/gcc/settings.cmake)
-elseif(CMAKE_C_COMPILER MATCHES "icc")
- include(${CMAKE_SOURCE_DIR}/cmake/compiler/icc/settings.cmake)
-elseif(CMAKE_C_COMPILER MATCHES "clang" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
- include(${CMAKE_SOURCE_DIR}/cmake/compiler/clang/settings.cmake)
-endif()
diff --git a/cmake/platform/win/settings.cmake b/cmake/platform/win/settings.cmake
index 297b46d75ac..36319ab23ec 100644
--- a/cmake/platform/win/settings.cmake
+++ b/cmake/platform/win/settings.cmake
@@ -6,11 +6,3 @@ add_definitions(-DTRINITY_REQUIRED_WINDOWS_BUILD=18362)
# set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/$<CONFIG>")
-
-if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
- include(${CMAKE_SOURCE_DIR}/cmake/compiler/msvc/settings.cmake)
-elseif(CMAKE_CXX_PLATFORM_ID MATCHES "MinGW")
- include(${CMAKE_SOURCE_DIR}/cmake/compiler/mingw/settings.cmake)
-elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
- include(${CMAKE_SOURCE_DIR}/cmake/compiler/clang/settings.cmake)
-endif()