ports/emulators/reicast/files/patch-CMakeLists.txt
Timothy Beyer afa8682087 emulators/reicast: fix i386 build
PR:	264218
Reported by:	beyert@cs.ucr.edu (maintainer)
2022-06-30 07:34:25 +02:00

95 lines
3.7 KiB
Text

--- CMakeLists.txt.orig 2020-10-18 11:22:48 UTC
+++ CMakeLists.txt
@@ -100,20 +100,29 @@ set(core_SRCS
${d_core}/serialize.cpp
)
-if(${BUILD_COMPILER} EQUAL ${COMPILER_GCC} OR (${BUILD_COMPILER} EQUAL ${COMPILER_CLANG} AND ${HOST_OS} EQUAL ${OS_DARWIN})) # TODO: Test with Clang on other platforms
+if(${BUILD_COMPILER} EQUAL ${COMPILER_GCC} OR (${BUILD_COMPILER} EQUAL ${COMPILER_CLANG} AND (${HOST_OS} EQUAL ${OS_DARWIN} OR ${HOST_OS} EQUAL ${OS_FREEBSD})))
list(APPEND core_SRCS ${archive_SRCS})
endif()
if(${FEAT_SHREC} EQUAL ${DYNAREC_JIT})
if(${HOST_CPU} EQUAL ${CPU_X86})
- list(APPEND core_SRCS
- ${d_core}/jit/backend/x86/rec_x86_driver.cpp
- ${d_core}/jit/backend/x86/rec_x86_asm.cpp # change for linux , rec_lin86_asm.S
- ${d_core}/jit/backend/x86/rec_x86_ngen.h
-
- ${d_core}/jit/emitter/x86/x86_emitter.cpp
- )
+ if (${HOST_OS} EQUAL ${OS_LINUX} OR (${HOST_OS} EQUAL ${OS_FREEBSD}))
+ list(APPEND core_SRCS
+ ${d_core}/jit/backend/x86/rec_x86_driver.cpp
+ ${d_core}/jit/backend/x86/rec_lin86_asm.S
+ ${d_core}/jit/backend/x86/rec_x86_asm.cpp
+ ${d_core}/jit/backend/x86/rec_x86_ngen.h
+ ${d_core}/jit/emitter/x86/x86_emitter.cpp
+ )
+ else()
+ list(APPEND core_SRCS
+ ${d_core}/jit/backend/x86/rec_x86_driver.cpp
+ ${d_core}/jit/backend/x86/rec_x86_asm.cpp
+ ${d_core}/jit/backend/x86/rec_x86_ngen.h
+ ${d_core}/jit/emitter/x86/x86_emitter.cpp
+ )
+ endif()
elseif(${HOST_CPU} EQUAL ${CPU_ARM})
list(APPEND core_SRCS
${d_core}/rec-ARM/ngen_arm.S
@@ -139,6 +148,8 @@ add_definitions(/DFEAT_HAS_SOFTREND=1)
if(${HOST_OS} EQUAL ${OS_LINUX})
add_definitions(-DLUA_USE_LINUX)
+elseif(${HOST_OS} EQUAL ${OS_FREEBSD})
+ add_definitions(-DLUA_USE_FREEBSD)
endif()
### deps.cmake #################################################################################
@@ -149,6 +160,7 @@ set(gpl_deps ${reicast_core_path}/gpl/deps)
include_directories ("${d_deps}")
include_directories ("${gpl_deps}/picotcp/include")
include_directories ("${gpl_deps}/picotcp/modules")
+include_directories ("${d_deps}/intrin")
file(GLOB xbyak_H ${d_deps}/xbyak/*.h) # include headers into cmake target/project view
@@ -185,8 +197,8 @@ set(deps_SRCS
${d_deps}/coreio/coreio.cpp
${xbyak_H}
)
-
-if(${BUILD_COMPILER} EQUAL ${COMPILER_GCC} OR (${BUILD_COMPILER} EQUAL ${COMPILER_CLANG} AND ${HOST_OS} EQUAL ${OS_DARWIN})) # TODO: Test with Clang on other platforms
+
+if(${BUILD_COMPILER} EQUAL ${COMPILER_GCC} OR (${BUILD_COMPILER} EQUAL ${COMPILER_CLANG} AND (${HOST_OS} EQUAL ${OS_DARWIN} OR ${HOST_OS} EQUAL ${OS_FREEBSD})))
list(APPEND deps_SRCS
${lzip_SRCS}
${lzma_SRCS}
@@ -228,7 +240,7 @@ if (${HOST_OS} EQUAL ${OS_WINDOWS})
list(APPEND osd_SRCS ${d_core}/oslib/windows/threading.cpp)
list(APPEND osd_SRCS ${d_aout}/audiobackend_directsound.cpp)
link_libraries(dsound.lib winmm.lib xinput.lib wsock32.lib opengl32.lib)
-elseif (${HOST_OS} EQUAL ${OS_LINUX} OR ${HOST_OS} EQUAL ${OS_ANDROID})
+elseif (${HOST_OS} EQUAL ${OS_LINUX} OR ${HOST_OS} EQUAL ${OS_ANDROID} OR ${OS_FREEBSD})
list(APPEND osd_SRCS
${d_core}/linux-dist/main.cpp
@@ -294,7 +306,7 @@ endif()
target_compile_features(${TNAME}${binSuffix} PRIVATE cxx_std_14)
-if(${HOST_OS} EQUAL ${OS_LINUX})
+if(${HOST_OS} EQUAL ${OS_LINUX} OR ${HOST_OS} EQUAL ${OS_FREEBSD})
# needed for opentty
target_link_libraries(${TNAME} -lutil)
@@ -431,6 +443,8 @@ if(${HOST_OS} EQUAL ${OS_DARWIN})
endif()
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.1")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1")
if(DEBUG_CMAKE)
message(" ------------------------------------------------")