dolphin/Source/Core/Common/CMakeLists.txt
MerryMage 4c24629b95 Config: Flatten structures
Originally, Layer contained a std::map of Sections, which containted a std::map
containing the (key, value) pairs. Here we flattern this structure so that only
one std::map is required, reducing the number of indirections required and
vastly simplifying the code.
2017-11-15 18:04:40 +00:00

140 lines
2.8 KiB
CMake

set(SRCS
Analytics.cpp
CDUtils.cpp
ColorUtil.cpp
CommonFuncs.cpp
Config/Config.cpp
Config/ConfigInfo.cpp
Config/Layer.cpp
Crypto/AES.cpp
Crypto/bn.cpp
Crypto/ec.cpp
ENetUtil.cpp
File.cpp
FileSearch.cpp
FileUtil.cpp
GekkoDisassembler.cpp
Hash.cpp
HttpRequest.cpp
IniFile.cpp
JitRegister.cpp
Logging/LogManager.cpp
MathUtil.cpp
MD5.cpp
MemArena.cpp
MemoryUtil.cpp
MsgHandler.cpp
NandPaths.cpp
Network.cpp
PcapFile.cpp
PerformanceCounter.cpp
Profiler.cpp
SDCardUtil.cpp
SettingsHandler.cpp
StringUtil.cpp
SymbolDB.cpp
SysConf.cpp
Thread.cpp
Timer.cpp
TraversalClient.cpp
UPnP.cpp
Version.cpp
x64ABI.cpp
x64Emitter.cpp
)
set(LIBS ${LIBS} ${MBEDTLS_LIBRARIES})
if(ANDROID)
set(SRCS ${SRCS}
Logging/ConsoleListenerDroid.cpp)
elseif(WIN32)
set(SRCS ${SRCS}
Logging/ConsoleListenerWin.cpp)
else()
set(SRCS ${SRCS}
Logging/ConsoleListenerNix.cpp)
endif()
list(APPEND LIBS enet ${CURL_LIBRARIES})
if(_M_ARM_64)
set(SRCS ${SRCS}
Arm64Emitter.cpp
ArmCPUDetect.cpp
GenericFPURoundMode.cpp
)
else()
if(_M_X86) #X86
set(SRCS ${SRCS}
x64FPURoundMode.cpp
x64CPUDetect.cpp
)
else() # Generic
set(SRCS ${SRCS}
GenericFPURoundMode.cpp
GenericCPUDetect.cpp
)
endif()
endif()
list(APPEND LIBS "${CMAKE_THREAD_LIBS_INIT}" ${VTUNE_LIBRARIES})
# OpenGL Interface
set(SRCS ${SRCS}
GL/GLUtil.cpp
GL/GLExtensions/GLExtensions.cpp
GL/GLInterface/GLInterface.cpp
)
if(USE_EGL)
set(SRCS ${SRCS} GL/GLInterface/EGL.cpp)
if(ANDROID)
set(SRCS ${SRCS} GL/GLInterface/EGLAndroid.cpp)
elseif(USE_X11)
set(SRCS ${SRCS} GL/GLInterface/EGLX11.cpp)
endif()
set(LIBS ${LIBS} EGL)
endif()
if(WIN32)
set(SRCS ${SRCS} GL/GLInterface/WGL.cpp CompatPatches.cpp)
elseif(APPLE)
set(SRCS ${SRCS} GL/GLInterface/AGL.mm)
elseif(HAIKU)
set(SRCS ${SRCS} GL/GLInterface/BGL.cpp)
set(LIBS ${LIBS} be GL)
elseif(USE_X11)
if (NOT USE_EGL)
set(SRCS ${SRCS} GL/GLInterface/GLX.cpp)
# GLX has a hard dependency on libGL.
# Make sure to link to it if using GLX.
set(LIBS ${LIBS} ${OPENGL_LIBRARIES})
endif()
set(SRCS ${SRCS} GL/GLInterface/X11_Util.cpp)
set(LIBS ${LIBS} ${XRANDR_LIBRARIES})
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(LIBS ${LIBS} dl)
endif()
add_dolphin_library(common "${SRCS}" "${LIBS}")
if(USE_UPNP)
target_link_libraries(common PRIVATE Miniupnpc::miniupnpc)
endif()
if(OPROFILE_FOUND)
target_link_libraries(common PRIVATE ${OPROFILE_LIBRARIES})
endif()
if(UNIX)
# Posix networking code needs to be fixed for Windows
add_executable(traversal_server TraversalServer.cpp)
if(HAIKU)
target_link_libraries(traversal_server network)
endif()
elseif(WIN32)
target_link_libraries(common PRIVATE "-INCLUDE:enableCompatPatches")
endif()