diff --git a/Externals/CLRun/CMakeLists.txt b/Externals/CLRun/CMakeLists.txt
index 78161bc10a..024841b1de 100644
--- a/Externals/CLRun/CMakeLists.txt
+++ b/Externals/CLRun/CMakeLists.txt
@@ -5,6 +5,5 @@ set(SRCS	clrun/clrun.c
 
 add_library(clrun STATIC ${SRCS})
 if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-	add_definitions(-fPIC)
 	target_link_libraries(clrun ${CMAKE_DL_LIBS})
 endif()
diff --git a/Externals/SOIL/CMakeLists.txt b/Externals/SOIL/CMakeLists.txt
index 4a3a889847..9657ba60f0 100644
--- a/Externals/SOIL/CMakeLists.txt
+++ b/Externals/SOIL/CMakeLists.txt
@@ -4,6 +4,3 @@ set(SRCS	image_DXT.c
 			stb_image_aug.c)
 
 add_library(SOIL STATIC ${SRCS})
-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-	add_definitions(-fPIC)
-endif()
diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt
index 11cde5301c..ea8b0dea58 100644
--- a/Source/Core/Common/CMakeLists.txt
+++ b/Source/Core/Common/CMakeLists.txt
@@ -41,7 +41,4 @@ endif(WIN32)
 enable_precompiled_headers(Src/stdafx.h Src/stdafx.cpp SRCS)
 
 add_library(common STATIC ${SRCS})
-target_link_libraries(common ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT})
-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-	add_definitions(-fPIC)
-endif()
+target_link_libraries(common clrun ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT})
diff --git a/Source/Core/Core/CMakeLists.txt b/Source/Core/Core/CMakeLists.txt
index d2e4b7d06d..93e2bf9f3f 100644
--- a/Source/Core/Core/CMakeLists.txt
+++ b/Source/Core/Core/CMakeLists.txt
@@ -182,7 +182,7 @@ set(SRCS	Src/ActionReplay.cpp
 			Src/PowerPC/JitCommon/JitCache.cpp
 			Src/PowerPC/JitCommon/Jit_Util.cpp)
 
-set(LIBS bdisasm inputcommon core lua sfml-network)
+set(LIBS bdisasm inputcommon videoogl lua sfml-network)
 
 if(WIN32)
 	set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Win32.cpp Src/stdafx.cpp
@@ -209,6 +209,3 @@ endif(OPROFILE_FOUND)
 
 add_library(core STATIC ${SRCS})
 target_link_libraries(core ${LIBS})
-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-	add_definitions(-fPIC)
-endif()
diff --git a/Source/Core/VideoCommon/CMakeLists.txt b/Source/Core/VideoCommon/CMakeLists.txt
index 06a31c3c5e..c3bc541084 100644
--- a/Source/Core/VideoCommon/CMakeLists.txt
+++ b/Source/Core/VideoCommon/CMakeLists.txt
@@ -52,5 +52,4 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 		target_link_libraries(videocommon ${LIBAV_LIBRARIES})
 		add_definitions(-D__STDC_CONSTANT_MACROS)
 	endif()
-	add_definitions(-fPIC)
 endif()
diff --git a/Source/Core/VideoUICommon/CMakeLists.txt b/Source/Core/VideoUICommon/CMakeLists.txt
index 164438fb0f..c03d80540a 100644
--- a/Source/Core/VideoUICommon/CMakeLists.txt
+++ b/Source/Core/VideoUICommon/CMakeLists.txt
@@ -2,6 +2,3 @@ set(SRCS	Src/VideoConfigDiag.cpp
 			Src/DebuggerPanel.cpp)
 
 add_library(videouicommon STATIC ${SRCS})
-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-	add_definitions(-fPIC)
-endif()
diff --git a/Source/Plugins/CMakeLists.txt b/Source/Plugins/CMakeLists.txt
index 619e00ded1..50a5dfab01 100644
--- a/Source/Plugins/CMakeLists.txt
+++ b/Source/Plugins/CMakeLists.txt
@@ -1,3 +1,3 @@
 add_subdirectory(Plugin_VideoOGL)
-add_subdirectory(Plugin_VideoSoftware)
+#add_subdirectory(Plugin_VideoSoftware)
 # TODO: Add other plugins here!
diff --git a/Source/Plugins/Plugin_VideoOGL/CMakeLists.txt b/Source/Plugins/Plugin_VideoOGL/CMakeLists.txt
index 1a9c788398..88fd551e49 100644
--- a/Source/Plugins/Plugin_VideoOGL/CMakeLists.txt
+++ b/Source/Plugins/Plugin_VideoOGL/CMakeLists.txt
@@ -39,8 +39,5 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
 	set(LIBS	${LIBS} usbhid)
 endif()
 
-add_library(Plugin_VideoOGL MODULE ${SRCS})
-target_link_libraries(Plugin_VideoOGL ${LIBS})
-install(TARGETS Plugin_VideoOGL
-		LIBRARY DESTINATION ${plugindir}
-		RUNTIME DESTINATION ${plugindir})
+add_library(videoogl STATIC ${SRCS})
+target_link_libraries(videoogl ${LIBS})