mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-11 08:39:13 +01:00
79a7bf02eb
minizip-ng is the new name used by the upstream project as well as all distros other than Fedora (but it looks like it will be renamed there).
321 lines
5.9 KiB
CMake
321 lines
5.9 KiB
CMake
add_library(common
|
|
Analytics.cpp
|
|
Analytics.h
|
|
Assert.h
|
|
BitField.h
|
|
BitSet.h
|
|
BitUtils.h
|
|
BlockingLoop.h
|
|
CDUtils.cpp
|
|
CDUtils.h
|
|
ChunkFile.h
|
|
CodeBlock.h
|
|
ColorUtil.cpp
|
|
ColorUtil.h
|
|
Common.h
|
|
CommonFuncs.cpp
|
|
CommonFuncs.h
|
|
CommonPaths.h
|
|
CommonTypes.h
|
|
Config/Config.cpp
|
|
Config/Config.h
|
|
Config/ConfigInfo.cpp
|
|
Config/ConfigInfo.h
|
|
Config/Enums.h
|
|
Config/Layer.cpp
|
|
Config/Layer.h
|
|
CPUDetect.h
|
|
Crypto/AES.cpp
|
|
Crypto/AES.h
|
|
Crypto/bn.cpp
|
|
Crypto/bn.h
|
|
Crypto/ec.cpp
|
|
Crypto/ec.h
|
|
Debug/MemoryPatches.cpp
|
|
Debug/MemoryPatches.h
|
|
Debug/Threads.h
|
|
Debug/Watches.cpp
|
|
Debug/Watches.h
|
|
DebugInterface.h
|
|
DynamicLibrary.cpp
|
|
DynamicLibrary.h
|
|
ENetUtil.cpp
|
|
ENetUtil.h
|
|
EnumFormatter.h
|
|
EnumMap.h
|
|
Event.h
|
|
FileSearch.cpp
|
|
FileSearch.h
|
|
FileUtil.cpp
|
|
FileUtil.h
|
|
FixedSizeQueue.h
|
|
Flag.h
|
|
FloatUtils.cpp
|
|
FloatUtils.h
|
|
FormatUtil.h
|
|
FPURoundMode.h
|
|
GekkoDisassembler.cpp
|
|
GekkoDisassembler.h
|
|
Hash.cpp
|
|
Hash.h
|
|
HttpRequest.cpp
|
|
HttpRequest.h
|
|
Image.cpp
|
|
Image.h
|
|
ImageC.c
|
|
ImageC.h
|
|
IniFile.cpp
|
|
IniFile.h
|
|
Inline.h
|
|
IOFile.cpp
|
|
IOFile.h
|
|
JitRegister.cpp
|
|
JitRegister.h
|
|
Lazy.h
|
|
LinearDiskCache.h
|
|
Logging/ConsoleListener.h
|
|
Logging/Log.h
|
|
Logging/LogManager.cpp
|
|
Logging/LogManager.h
|
|
MathUtil.cpp
|
|
MathUtil.h
|
|
Matrix.cpp
|
|
Matrix.h
|
|
MemArena.h
|
|
MemoryUtil.cpp
|
|
MemoryUtil.h
|
|
MinizipUtil.h
|
|
MsgHandler.cpp
|
|
MsgHandler.h
|
|
NandPaths.cpp
|
|
NandPaths.h
|
|
Network.cpp
|
|
Network.h
|
|
PcapFile.cpp
|
|
PcapFile.h
|
|
PerformanceCounter.cpp
|
|
PerformanceCounter.h
|
|
Profiler.cpp
|
|
Profiler.h
|
|
QoSSession.cpp
|
|
QoSSession.h
|
|
Random.cpp
|
|
Random.h
|
|
Result.h
|
|
ScopeGuard.h
|
|
SDCardUtil.cpp
|
|
SDCardUtil.h
|
|
Semaphore.h
|
|
SettingsHandler.cpp
|
|
SettingsHandler.h
|
|
SFMLHelper.cpp
|
|
SFMLHelper.h
|
|
SocketContext.cpp
|
|
SocketContext.h
|
|
SPSCQueue.h
|
|
StringUtil.cpp
|
|
StringUtil.h
|
|
SymbolDB.cpp
|
|
SymbolDB.h
|
|
Thread.cpp
|
|
Thread.h
|
|
Timer.cpp
|
|
Timer.h
|
|
TraversalClient.cpp
|
|
TraversalClient.h
|
|
TraversalProto.h
|
|
TypeUtils.h
|
|
UPnP.cpp
|
|
UPnP.h
|
|
VariantUtil.h
|
|
Version.cpp
|
|
Version.h
|
|
WindowSystemInfo.h
|
|
WorkQueueThread.h
|
|
)
|
|
|
|
target_link_libraries(common
|
|
PUBLIC
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
enet
|
|
fmt::fmt
|
|
${MBEDTLS_LIBRARIES}
|
|
minizip-ng
|
|
|
|
PRIVATE
|
|
${CURL_LIBRARIES}
|
|
${ICONV_LIBRARIES}
|
|
png
|
|
${VTUNE_LIBRARIES}
|
|
)
|
|
|
|
if (APPLE)
|
|
target_link_libraries(common
|
|
PRIVATE
|
|
${APPKIT_LIBRARY}
|
|
${COREFOUNDATION_LIBRARY}
|
|
${IOK_LIBRARY}
|
|
)
|
|
elseif(WIN32)
|
|
target_link_libraries(common
|
|
PRIVATE
|
|
kernel32.lib
|
|
shlwapi.lib
|
|
winmm.lib
|
|
)
|
|
if (_M_X86_64)
|
|
target_link_libraries(common PRIVATE opengl32.lib)
|
|
endif()
|
|
elseif (ANDROID)
|
|
target_link_libraries(common
|
|
PRIVATE
|
|
androidcommon
|
|
)
|
|
elseif(HAIKU)
|
|
target_link_libraries(common PRIVATE be GL)
|
|
endif()
|
|
|
|
if(ANDROID)
|
|
target_sources(common PRIVATE
|
|
AndroidAnalytics.cpp
|
|
AndroidAnalytics.h
|
|
Logging/ConsoleListenerDroid.cpp
|
|
MemArenaAndroid.cpp
|
|
)
|
|
elseif(WIN32)
|
|
target_sources(common PRIVATE
|
|
LdrWatcher.cpp
|
|
LdrWatcher.h
|
|
Logging/ConsoleListenerWin.cpp
|
|
MemArenaWin.cpp
|
|
)
|
|
else()
|
|
target_sources(common PRIVATE
|
|
Logging/ConsoleListenerNix.cpp
|
|
MemArenaUnix.cpp
|
|
)
|
|
endif()
|
|
|
|
if(_M_ARM_64)
|
|
target_sources(common PRIVATE
|
|
Arm64Emitter.cpp
|
|
Arm64Emitter.h
|
|
ArmCommon.h
|
|
ArmCPUDetect.cpp
|
|
ArmFPURoundMode.cpp
|
|
)
|
|
else()
|
|
if(_M_X86) #X86
|
|
target_sources(common PRIVATE
|
|
x64ABI.cpp
|
|
x64ABI.h
|
|
x64Emitter.cpp
|
|
x64Emitter.h
|
|
x64FPURoundMode.cpp
|
|
x64CPUDetect.cpp
|
|
x64Reg.h
|
|
)
|
|
else() # Generic
|
|
target_sources(common PRIVATE
|
|
GenericFPURoundMode.cpp
|
|
GenericCPUDetect.cpp
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
# OpenGL Interface
|
|
target_sources(common PRIVATE
|
|
GL/GLContext.cpp
|
|
GL/GLContext.h
|
|
GL/GLUtil.cpp
|
|
GL/GLUtil.h
|
|
GL/GLExtensions/GLExtensions.cpp
|
|
GL/GLExtensions/GLExtensions.h
|
|
)
|
|
|
|
if(ENABLE_EGL AND EGL_FOUND)
|
|
target_sources(common PRIVATE
|
|
GL/GLInterface/EGL.cpp
|
|
GL/GLInterface/EGL.h
|
|
)
|
|
if(ANDROID)
|
|
target_sources(common PRIVATE
|
|
GL/GLInterface/EGLAndroid.cpp
|
|
GL/GLInterface/EGLAndroid.h
|
|
)
|
|
elseif(ENABLE_X11 AND X11_FOUND)
|
|
target_sources(common PRIVATE
|
|
GL/GLInterface/EGLX11.cpp
|
|
GL/GLInterface/EGLX11.h
|
|
)
|
|
endif()
|
|
target_include_directories(common PRIVATE ${EGL_INCLUDE_DIRS})
|
|
target_link_libraries(common PUBLIC ${EGL_LIBRARIES})
|
|
endif()
|
|
|
|
if(WIN32)
|
|
target_sources(common PRIVATE
|
|
CompatPatches.cpp
|
|
GL/GLInterface/WGL.cpp
|
|
GL/GLInterface/WGL.h
|
|
)
|
|
elseif(APPLE)
|
|
target_sources(common PRIVATE
|
|
GL/GLInterface/AGL.h
|
|
GL/GLInterface/AGL.mm
|
|
)
|
|
elseif(HAIKU)
|
|
target_sources(common PRIVATE
|
|
GL/GLInterface/BGL.h
|
|
GL/GLInterface/BGL.cpp
|
|
)
|
|
elseif(ENABLE_X11 AND X11_FOUND)
|
|
target_sources(common PRIVATE
|
|
GL/GLX11Window.cpp
|
|
GL/GLX11Window.h
|
|
GL/GLInterface/GLX.cpp
|
|
GL/GLInterface/GLX.h
|
|
)
|
|
|
|
# GLX has a hard dependency on libGL.
|
|
# Make sure to link to it if using GLX.
|
|
target_link_libraries(common PUBLIC ${OPENGL_LIBRARIES})
|
|
endif()
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
target_link_libraries(common PUBLIC dl rt)
|
|
endif()
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
target_sources(common PRIVATE HRWrap.h HRWrap.cpp)
|
|
endif()
|
|
|
|
if(USE_UPNP)
|
|
target_link_libraries(common PRIVATE Miniupnpc::miniupnpc)
|
|
endif()
|
|
|
|
if(OPROFILE_FOUND)
|
|
target_link_libraries(common PRIVATE OProfile::OProfile)
|
|
endif()
|
|
|
|
if(UNIX)
|
|
# Posix networking code needs to be fixed for Windows
|
|
add_executable(traversal_server TraversalServer.cpp)
|
|
target_link_libraries(traversal_server PRIVATE common)
|
|
if(SYSTEMD_FOUND)
|
|
target_link_libraries(traversal_server PRIVATE ${SYSTEMD_LIBRARIES})
|
|
endif()
|
|
elseif(WIN32)
|
|
target_link_libraries(common PRIVATE "-INCLUDE:enableCompatPatches")
|
|
endif()
|
|
|
|
if(MSVC)
|
|
# Add precompiled header
|
|
target_link_libraries(common PRIVATE use_pch)
|
|
|
|
# We need to disable PCH for this one file, because it's C and our PCH is C++
|
|
set_source_files_properties(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ImageC.c
|
|
PROPERTIES COMPILE_FLAGS "/Y- /I${CMAKE_SOURCE_DIR}/Source/PCH/nopch")
|
|
endif()
|