mirror of
https://github.com/Rosalie241/RMG.git
synced 2026-07-11 01:24:01 +02:00
cmake: remove USE_LTO option and disable USE_IPO for 3rdParty projects
This commit is contained in:
@@ -10,7 +10,6 @@ option(KCA_DRAG_DROP "Enables drag and drop using KCoreAddons" OFF) # https:/
|
|||||||
option(NETPLAY "Enables netplay" ON)
|
option(NETPLAY "Enables netplay" ON)
|
||||||
option(VRU "Enables VRU support in RMG-Input" ON)
|
option(VRU "Enables VRU support in RMG-Input" ON)
|
||||||
option(USE_CCACHE "Enables usage of ccache when ccache has been found" ON)
|
option(USE_CCACHE "Enables usage of ccache when ccache has been found" ON)
|
||||||
option(USE_LTO "Enables building with LTO/IPO when compiler supports it" ON)
|
|
||||||
option(NO_ASM "Disables the usage of assembly in the mupen64plus-core" OFF)
|
option(NO_ASM "Disables the usage of assembly in the mupen64plus-core" OFF)
|
||||||
option(USE_ANGRYLION "Enables building angrylion-rdp-plus which uses a non-GPL compliant license" OFF)
|
option(USE_ANGRYLION "Enables building angrylion-rdp-plus which uses a non-GPL compliant license" OFF)
|
||||||
|
|
||||||
@@ -43,18 +42,6 @@ if (USE_CCACHE)
|
|||||||
endif(CCACHE_FOUND)
|
endif(CCACHE_FOUND)
|
||||||
endif(USE_CCACHE)
|
endif(USE_CCACHE)
|
||||||
|
|
||||||
if (USE_LTO)
|
|
||||||
include(CheckIPOSupported)
|
|
||||||
check_ipo_supported(RESULT ENABLE_IPO)
|
|
||||||
|
|
||||||
# ensure we don't enable LTO on Debug builds
|
|
||||||
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
||||||
if(ENABLE_IPO)
|
|
||||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
|
|
||||||
endif(ENABLE_IPO)
|
|
||||||
endif()
|
|
||||||
endif(USE_LTO)
|
|
||||||
|
|
||||||
if (NOT PORTABLE_INSTALL AND WIN32)
|
if (NOT PORTABLE_INSTALL AND WIN32)
|
||||||
message(WARNING "Not-Portable build not supported on windows, re-enabling PORTABLE_INSTALL!")
|
message(WARNING "Not-Portable build not supported on windows, re-enabling PORTABLE_INSTALL!")
|
||||||
set(PORTABLE_INSTALL ON)
|
set(PORTABLE_INSTALL ON)
|
||||||
|
|||||||
Vendored
+10
-9
@@ -38,11 +38,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ("${CMAKE_C_FLAGS}" STREQUAL "")
|
if ("${CMAKE_C_FLAGS}" STREQUAL "")
|
||||||
if (USE_LTO)
|
|
||||||
set(MAKE_OPTFLAGS "-O3 -flto")
|
|
||||||
else(USE_LTO)
|
|
||||||
set(MAKE_OPTFLAGS "-O3")
|
set(MAKE_OPTFLAGS "-O3")
|
||||||
endif(USE_LTO)
|
|
||||||
else()
|
else()
|
||||||
set(MAKE_OPTFLAGS "${CMAKE_C_FLAGS}")
|
set(MAKE_OPTFLAGS "${CMAKE_C_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
@@ -62,10 +58,15 @@ set(SDL3NET_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SDL_net)
|
|||||||
set(SDL3NET_SOURCES
|
set(SDL3NET_SOURCES
|
||||||
${SDL3NET_DIR}/src/SDL_net.c
|
${SDL3NET_DIR}/src/SDL_net.c
|
||||||
)
|
)
|
||||||
|
find_package(PkgConfig REQUIRED)
|
||||||
|
pkg_check_modules(SDL3 REQUIRED sdl3)
|
||||||
add_library(SDL3_net STATIC ${SDL3NET_SOURCES})
|
add_library(SDL3_net STATIC ${SDL3NET_SOURCES})
|
||||||
target_include_directories(SDL3_net PRIVATE ${SDL3NET_DIR}/include)
|
target_include_directories(SDL3_net PRIVATE ${SDL3NET_DIR}/include)
|
||||||
set(SDL3NET_CFLAGS "-DUSE_SDL3NET -I${SDL3NET_DIR}/include")
|
set(SDL3NET_CFLAGS "-DUSE_SDL3NET -I${SDL3NET_DIR}/include")
|
||||||
set(SDL3NET_LDLIBS "$<TARGET_FILE:SDL3_net>")
|
# for some reason MingW needs SDL3 to be linked after SDL3_net,
|
||||||
|
# else we get a lot of missing symbol errors, should be harmless
|
||||||
|
# on other platforms
|
||||||
|
set(SDL3NET_LDLIBS "$<TARGET_FILE:SDL3_net> -l${SDL3_LIBRARIES}")
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(SDL3NET_LDLIBS "${SDL3NET_LDLIBS} -liphlpapi -lws2_32")
|
set(SDL3NET_LDLIBS "${SDL3NET_LDLIBS} -liphlpapi -lws2_32")
|
||||||
endif (WIN32)
|
endif (WIN32)
|
||||||
@@ -140,7 +141,7 @@ ExternalProject_Add(mupen64plus-rsp-parallel
|
|||||||
|
|
||||||
BUILD_IN_SOURCE False
|
BUILD_IN_SOURCE False
|
||||||
BUILD_ALWAYS True
|
BUILD_ALWAYS True
|
||||||
CMAKE_ARGS ${CMAKE_CONFIGURE_ARGS}
|
CMAKE_ARGS -DUSE_IPO=OFF ${CMAKE_CONFIGURE_ARGS}
|
||||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-rsp-parallel
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-rsp-parallel
|
||||||
|
|
||||||
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-rsp-parallel/mupen64plus-rsp-parallel.${SO_EXT}
|
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-rsp-parallel/mupen64plus-rsp-parallel.${SO_EXT}
|
||||||
@@ -184,7 +185,7 @@ if (USE_ANGRYLION)
|
|||||||
|
|
||||||
BUILD_IN_SOURCE False
|
BUILD_IN_SOURCE False
|
||||||
BUILD_ALWAYS True
|
BUILD_ALWAYS True
|
||||||
CMAKE_ARGS -DBUILD_MUPEN64PLUS=ON -DBUILD_PROJECT64=OFF -DUSE_QT5=OFF ${CMAKE_CONFIGURE_ARGS}
|
CMAKE_ARGS -DBUILD_MUPEN64PLUS=ON -DBUILD_PROJECT64=OFF -DUSE_QT5=OFF -DUSE_IPO=OFF ${CMAKE_CONFIGURE_ARGS}
|
||||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-angrylion-plus
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-angrylion-plus
|
||||||
|
|
||||||
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-angrylion-plus/mupen64plus-video-angrylion-plus.${SO_EXT}
|
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-angrylion-plus/mupen64plus-video-angrylion-plus.${SO_EXT}
|
||||||
@@ -198,7 +199,7 @@ ExternalProject_Add(mupen64plus-video-GLideN64
|
|||||||
|
|
||||||
BUILD_IN_SOURCE False
|
BUILD_IN_SOURCE False
|
||||||
BUILD_ALWAYS True
|
BUILD_ALWAYS True
|
||||||
CMAKE_ARGS -DMUPENPLUSAPI=ON -DMUPENPLUSAPI_GLIDENUI=ON -DGLIDENUI_QT6=ON -DUSE_SYSTEM_LIBS=ON ${CMAKE_CONFIGURE_ARGS}
|
CMAKE_ARGS -DMUPENPLUSAPI=ON -DMUPENPLUSAPI_GLIDENUI=ON -DGLIDENUI_QT6=ON -DUSE_IPO=OFF -DUSE_SYSTEM_LIBS=ON ${CMAKE_CONFIGURE_ARGS}
|
||||||
|
|
||||||
SOURCE_SUBDIR ./src/
|
SOURCE_SUBDIR ./src/
|
||||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-GLideN64
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-GLideN64
|
||||||
@@ -213,7 +214,7 @@ ExternalProject_Add(mupen64plus-video-parallel
|
|||||||
|
|
||||||
BUILD_IN_SOURCE False
|
BUILD_IN_SOURCE False
|
||||||
BUILD_ALWAYS True
|
BUILD_ALWAYS True
|
||||||
CMAKE_ARGS -DCONFIG_GUI=ON ${CMAKE_CONFIGURE_ARGS}
|
CMAKE_ARGS -DCONFIG_GUI=ON -DUSE_IPO=OFF ${CMAKE_CONFIGURE_ARGS}
|
||||||
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-parallel
|
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-parallel
|
||||||
|
|
||||||
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-parallel/mupen64plus-video-parallel.${SO_EXT}
|
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/mupen64plus-video-parallel/mupen64plus-video-parallel.${SO_EXT}
|
||||||
|
|||||||
Reference in New Issue
Block a user