Преглед на файлове

Use -pthread where and only where needed

Passing -pthread to GCC as a flag makes it both link to libpthread, and make C standard library routines reentrant. This makes the additional explicit links unnecessary.

Additionally, on OSX, this is the default behavior, and clang will print a message about it being unused if it's present there.
Johannes Ekberg преди 11 години
родител
ревизия
d7ad14ae20
променени са 3 файла, в които са добавени 5 реда и са изтрити 9 реда
  1. 5 1
      CMakeLists.txt
  2. 0 4
      src/citra/CMakeLists.txt
  3. 0 4
      src/citra_qt/CMakeLists.txt

+ 5 - 1
CMakeLists.txt

@@ -6,7 +6,11 @@ project(citra)
 
 
 if (NOT MSVC)
 if (NOT MSVC)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-attributes")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-attributes")
-    add_definitions(-pthread)
+    
+    if (NOT APPLE)
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
+        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")
+    endif()
 else()
 else()
     # Silence deprecation warnings
     # Silence deprecation warnings
     add_definitions(/D_CRT_SECURE_NO_WARNINGS)
     add_definitions(/D_CRT_SECURE_NO_WARNINGS)

+ 0 - 4
src/citra/CMakeLists.txt

@@ -18,8 +18,4 @@ target_link_libraries(citra core common video_core)
 target_link_libraries(citra ${GLFW_LIBRARIES} ${OPENGL_gl_LIBRARY} inih)
 target_link_libraries(citra ${GLFW_LIBRARIES} ${OPENGL_gl_LIBRARY} inih)
 target_link_libraries(citra ${PLATFORM_LIBRARIES})
 target_link_libraries(citra ${PLATFORM_LIBRARIES})
 
 
-if (UNIX)
-    target_link_libraries(citra -pthread)
-endif()
-
 #install(TARGETS citra RUNTIME DESTINATION ${bindir})
 #install(TARGETS citra RUNTIME DESTINATION ${bindir})

+ 0 - 4
src/citra_qt/CMakeLists.txt

@@ -62,8 +62,4 @@ 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 ${OPENGL_gl_LIBRARY} ${CITRA_QT_LIBS})
 target_link_libraries(citra-qt ${PLATFORM_LIBRARIES})
 target_link_libraries(citra-qt ${PLATFORM_LIBRARIES})
 
 
-if (UNIX)
-    target_link_libraries(citra-qt -pthread)
-endif()
-
 #install(TARGETS citra-qt RUNTIME DESTINATION ${bindir})
 #install(TARGETS citra-qt RUNTIME DESTINATION ${bindir})