mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Merge pull request #2 from archshift/issue-7-fix
Fixes issues with building Citra on OSX
This commit is contained in:
		
						commit
						204c6bfeca
					
				
					 21 changed files with 286 additions and 68 deletions
				
			
		|  | @ -8,6 +8,23 @@ set(SRCS | |||
|             main.cpp | ||||
|             config/controller_config.cpp | ||||
|             config/controller_config_util.cpp) | ||||
| set (HEADERS | ||||
|             bootmanager.hxx | ||||
|             debugger/callstack.hxx | ||||
|             debugger/disassembler.hxx | ||||
|             debugger/ramview.hxx | ||||
|             debugger/registers.hxx | ||||
|             hotkeys.hxx | ||||
|             main.hxx | ||||
|             ui_callstack.h | ||||
|             ui_controller_config.h | ||||
|             ui_disassembler.h | ||||
|             ui_hotkeys.h | ||||
|             ui_main.h | ||||
|             ui_registers.h | ||||
|             version.h | ||||
|             config/controller_config.hxx | ||||
|             config/controller_config_util.hxx) | ||||
| 
 | ||||
| qt4_wrap_ui(UI_HDRS | ||||
|                     debugger/callstack.ui | ||||
|  | @ -32,7 +49,11 @@ qt4_wrap_cpp(MOC_SRCS | |||
| include_directories(${CMAKE_CURRENT_BINARY_DIR}) | ||||
| include_directories(./) | ||||
| 
 | ||||
| add_executable(citra-qt ${SRCS} ${MOC_SRCS} ${UI_HDRS}) | ||||
| target_link_libraries(citra-qt core common video_core qhexedit ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${SDL2_LIBRARY} rt GLEW ${GLFW_LIBRARIES}) | ||||
| add_executable(citra-qt ${SRCS} ${HEADERS} ${MOC_SRCS} ${UI_HDRS}) | ||||
| if (APPLE) | ||||
|     target_link_libraries(citra-qt core common video_core qhexedit iconv ${COREFOUNDATION_LIBRARY} ${QT_LIBRARIES} ${GLEW_LIBRARY} ${OPENGL_LIBRARIES}) | ||||
| else() | ||||
|     target_link_libraries(citra-qt core common video_core qhexedit ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${SDL2_LIBRARY} rt GLEW ${GLFW_LIBRARIES}) | ||||
| endif() | ||||
| 
 | ||||
| #install(TARGETS citra-qt RUNTIME DESTINATION ${bindir}) | ||||
|  |  | |||
|  | @ -50,7 +50,7 @@ void EmuThread::run() | |||
| 
 | ||||
| void EmuThread::Stop() | ||||
| { | ||||
| 	if (!isRunning()) | ||||
|     if (!isRunning()) | ||||
|     { | ||||
|         INFO_LOG(MASTER_LOG, "EmuThread::Stop called while emu thread wasn't running, returning..."); | ||||
|         return; | ||||
|  | @ -65,7 +65,7 @@ void EmuThread::Stop() | |||
|         terminate(); | ||||
|         wait(1000); | ||||
|         if (isRunning()) | ||||
| 			WARN_LOG(MASTER_LOG, "EmuThread STILL running, something is wrong here..."); | ||||
|             WARN_LOG(MASTER_LOG, "EmuThread STILL running, something is wrong here..."); | ||||
|     } | ||||
|     INFO_LOG(MASTER_LOG, "EmuThread stopped"); | ||||
| } | ||||
|  | @ -76,9 +76,8 @@ void EmuThread::Stop() | |||
| class GGLWidgetInternal : public QGLWidget | ||||
| { | ||||
| public: | ||||
|     GGLWidgetInternal(GRenderWindow* parent) : QGLWidget(parent) | ||||
|     GGLWidgetInternal(QGLFormat fmt, GRenderWindow* parent) : QGLWidget(parent) | ||||
|     { | ||||
|         setAutoBufferSwap(false); | ||||
|         doneCurrent(); | ||||
|         parent_ = parent; | ||||
|     } | ||||
|  | @ -106,8 +105,13 @@ EmuThread& GRenderWindow::GetEmuThread() | |||
| GRenderWindow::GRenderWindow(QWidget* parent) : QWidget(parent), emu_thread(this) | ||||
| { | ||||
|     // TODO: One of these flags might be interesting: WA_OpaquePaintEvent, WA_NoBackground, WA_DontShowOnScreen, WA_DeleteOnClose
 | ||||
| 
 | ||||
|     child = new GGLWidgetInternal(this); | ||||
|     QGLFormat fmt; | ||||
|     fmt.setProfile(QGLFormat::CoreProfile); | ||||
|     fmt.setVersion(3,2); | ||||
|     fmt.setSampleBuffers(true); | ||||
|     fmt.setSamples(4); | ||||
|      | ||||
|     child = new GGLWidgetInternal(fmt, this); | ||||
|     QBoxLayout* layout = new QHBoxLayout(this); | ||||
|     resize(VideoCore::kScreenTopWidth, VideoCore::kScreenTopHeight + VideoCore::kScreenBottomHeight); | ||||
|     layout->addWidget(child); | ||||
|  | @ -147,12 +151,12 @@ void GRenderWindow::DoneCurrent() | |||
| void GRenderWindow::PollEvents() { | ||||
|     // TODO(ShizZy): Does this belong here? This is a reasonable place to update the window title
 | ||||
|     //  from the main thread, but this should probably be in an event handler...
 | ||||
| 	/*
 | ||||
| 	static char title[128]; | ||||
|     /*
 | ||||
|     static char title[128]; | ||||
|     sprintf(title, "%s (FPS: %02.02f)", window_title_.c_str(),  | ||||
|         video_core::g_renderer->current_fps()); | ||||
|     setWindowTitle(title); | ||||
| 	*/ | ||||
|     */ | ||||
| } | ||||
| 
 | ||||
| void GRenderWindow::BackupGeometry() | ||||
|  | @ -185,26 +189,26 @@ QByteArray GRenderWindow::saveGeometry() | |||
| 
 | ||||
| void GRenderWindow::keyPressEvent(QKeyEvent* event) | ||||
| { | ||||
| 	/*
 | ||||
| 	bool key_processed = false; | ||||
|     /*
 | ||||
|     bool key_processed = false; | ||||
|     for (unsigned int channel = 0; channel < 4 && controller_interface(); ++channel) | ||||
|         if (controller_interface()->SetControllerStatus(channel, event->key(), input_common::GCController::PRESSED)) | ||||
|             key_processed = true; | ||||
| 
 | ||||
|     if (!key_processed) | ||||
|         QWidget::keyPressEvent(event); | ||||
| 	*/ | ||||
|     */ | ||||
| } | ||||
| 
 | ||||
| void GRenderWindow::keyReleaseEvent(QKeyEvent* event) | ||||
| { | ||||
| 	/*
 | ||||
| 	bool key_processed = false; | ||||
|     /*
 | ||||
|     bool key_processed = false; | ||||
|     for (unsigned int channel = 0; channel < 4 && controller_interface(); ++channel) | ||||
|         if (controller_interface()->SetControllerStatus(channel, event->key(), input_common::GCController::RELEASED)) | ||||
|             key_processed = true; | ||||
| 
 | ||||
|     if (!key_processed) | ||||
|         QWidget::keyPressEvent(event); | ||||
| 	*/ | ||||
|     */ | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue