From 7d7ab70279df554959eec29ff43a2eb304a3d578 Mon Sep 17 00:00:00 2001
From: Johannes Ekberg <uppfinnarn@gmail.com>
Date: Wed, 24 Dec 2014 10:34:25 +0100
Subject: [PATCH] Generic PLATFORM_LIBRARIES var

This both reduces redundancy in add_executable definitions, and makes it easier to link additional libraries. In particular, extra libraries are needed on OSX - see next commit.
---
 CMakeLists.txt              |  6 ++++++
 src/citra/CMakeLists.txt    | 12 +-----------
 src/citra_qt/CMakeLists.txt |  9 +--------
 3 files changed, 8 insertions(+), 19 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 884520cef..36b9344e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -108,8 +108,14 @@ endif()
 IF (APPLE)
     # CoreFoundation is required only on OSX
     FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation)
+    SET(PLATFORM_LIBRARIES iconv ${COREFOUNDATION_LIBRARY})
+    
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
+ELSEIF(WIN32)
+    set(PLATFORM_LIBRARIES winmm)
+ELSE()
+    set(PLATFORM_LIBRARIES rt)
 ENDIF (APPLE)
 
 option(ENABLE_QT "Enable the Qt frontend" ON)
diff --git a/src/citra/CMakeLists.txt b/src/citra/CMakeLists.txt
index bbb3374f2..7f3ab3e07 100644
--- a/src/citra/CMakeLists.txt
+++ b/src/citra/CMakeLists.txt
@@ -16,20 +16,10 @@ create_directory_groups(${SRCS} ${HEADERS})
 add_executable(citra ${SRCS} ${HEADERS})
 target_link_libraries(citra core common video_core)
 target_link_libraries(citra ${GLFW_LIBRARIES} ${OPENGL_gl_LIBRARY} inih)
+target_link_libraries(citra ${PLATFORM_LIBRARIES})
 
 if (UNIX)
     target_link_libraries(citra -pthread)
 endif()
 
-if (APPLE)
-    target_link_libraries(citra iconv ${COREFOUNDATION_LIBRARY})
-elseif (WIN32)
-    target_link_libraries(citra winmm wsock32 ws2_32)
-    if (MINGW) # GCC does not support codecvt, so use iconv instead
-        target_link_libraries(citra iconv)
-    endif()
-else() # Unix
-    target_link_libraries(citra rt)
-endif()
-
 #install(TARGETS citra RUNTIME DESTINATION ${bindir})
diff --git a/src/citra_qt/CMakeLists.txt b/src/citra_qt/CMakeLists.txt
index a0ba252b3..420bede1e 100644
--- a/src/citra_qt/CMakeLists.txt
+++ b/src/citra_qt/CMakeLists.txt
@@ -60,17 +60,10 @@ endif()
 add_executable(citra-qt ${SRCS} ${HEADERS} ${UI_HDRS})
 target_link_libraries(citra-qt core common video_core qhexedit)
 target_link_libraries(citra-qt ${OPENGL_gl_LIBRARY} ${CITRA_QT_LIBS})
+target_link_libraries(citra-qt ${PLATFORM_LIBRARIES})
 
 if (UNIX)
     target_link_libraries(citra-qt -pthread)
 endif()
 
-if (APPLE)
-    target_link_libraries(citra-qt iconv ${COREFOUNDATION_LIBRARY})
-elseif (WIN32)
-    target_link_libraries(citra-qt winmm wsock32 ws2_32)
-else() # Unix
-    target_link_libraries(citra-qt rt)
-endif()
-
 #install(TARGETS citra-qt RUNTIME DESTINATION ${bindir})