mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 22:00:05 +00:00 
			
		
		
		
	CMake cleanup
Several cleanups to the buildsystem: - Do better factoring of common libs between platforms. - Add support to building on Windows. - Remove Qt4 support. - Re-sort file lists and add missing headers.
This commit is contained in:
		
							parent
							
								
									523385955c
								
							
						
					
					
						commit
						45976da975
					
				
					 9 changed files with 271 additions and 156 deletions
				
			
		|  | @ -1,9 +1,12 @@ | |||
| # Enable modules to include each other's files | ||||
| include_directories(.) | ||||
| 
 | ||||
| add_subdirectory(common) | ||||
| add_subdirectory(core) | ||||
| add_subdirectory(video_core) | ||||
| add_subdirectory(citra) | ||||
| add_subdirectory(citra_qt) | ||||
| 
 | ||||
| if(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND QT_QTOPENGL_FOUND AND NOT DISABLE_QT4) | ||||
|     #add_subdirectory(citra_qt) | ||||
| if (ENABLE_GLFW) | ||||
|     add_subdirectory(citra) | ||||
| endif() | ||||
| if (ENABLE_QT) | ||||
|     add_subdirectory(citra_qt) | ||||
| endif() | ||||
|  |  | |||
|  | @ -1,6 +1,13 @@ | |||
| set(SRCS    citra.cpp | ||||
|             emu_window/emu_window_glfw.cpp) | ||||
| set(HEADERS resource.h) | ||||
| set(SRCS | ||||
|             emu_window/emu_window_glfw.cpp | ||||
|             citra.cpp | ||||
|             ) | ||||
| set(HEADERS | ||||
|             emu_window/emu_window_glfw.h | ||||
|             resource.h | ||||
|             ) | ||||
| 
 | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| 
 | ||||
| # NOTE: This is a workaround for CMake bug 0006976 (missing X11_xf86vmode_LIB variable) | ||||
| if (NOT X11_xf86vmode_LIB) | ||||
|  | @ -8,11 +15,16 @@ if (NOT X11_xf86vmode_LIB) | |||
| endif() | ||||
| 
 | ||||
| add_executable(citra ${SRCS} ${HEADERS}) | ||||
| target_link_libraries(citra core common video_core) | ||||
| target_link_libraries(citra ${OPENGL_gl_LIBRARY} ${GLFW_LIBRARIES}) | ||||
| 
 | ||||
| if (APPLE) | ||||
|     target_link_libraries(citra core common video_core iconv pthread ${COREFOUNDATION_LIBRARY} ${OPENGL_LIBRARIES} ${GLFW_LIBRARIES}) | ||||
| else() | ||||
|     target_link_libraries(citra core common video_core pthread X11 Xxf86vm Xi Xcursor ${OPENGL_LIBRARIES} ${GLFW_LIBRARIES} rt ${X11_Xrandr_LIB} ${X11_xv86vmode_LIB} ${PNG_LIBRARIES}) | ||||
|     target_link_libraries(citra iconv pthread ${COREFOUNDATION_LIBRARY}) | ||||
| elseif (WIN32) | ||||
|     target_link_libraries(citra winmm) | ||||
| else() # Unix | ||||
|     target_link_libraries(citra pthread rt) | ||||
|     target_link_libraries(citra ${X11_X11_LIB} ${X11_Xi_LIB} ${X11_Xcursor_LIB} ${X11_Xrandr_LIB} ${X11_xv86vmode_LIB}) | ||||
| endif() | ||||
| 
 | ||||
| #install(TARGETS citra RUNTIME DESTINATION ${bindir}) | ||||
|  |  | |||
|  | @ -2,54 +2,61 @@ set(CMAKE_AUTOMOC ON) | |||
| set(CMAKE_INCLUDE_CURRENT_DIR ON) | ||||
| 
 | ||||
| set(SRCS | ||||
|             bootmanager.cpp | ||||
|             config/controller_config.cpp | ||||
|             config/controller_config_util.cpp | ||||
|             debugger/callstack.cpp | ||||
|             debugger/disassembler.cpp | ||||
|             debugger/graphics.cpp | ||||
|             debugger/graphics_cmdlists.cpp | ||||
|             debugger/ramview.cpp | ||||
|             debugger/registers.cpp | ||||
|             bootmanager.cpp | ||||
|             hotkeys.cpp | ||||
|             main.cpp | ||||
|             config/controller_config.cpp | ||||
|             config/controller_config_util.cpp) | ||||
|             ) | ||||
| 
 | ||||
| set(HEADERS | ||||
|             bootmanager.hxx | ||||
|             config/controller_config.hxx | ||||
|             config/controller_config_util.hxx | ||||
|             debugger/callstack.hxx | ||||
|             debugger/disassembler.hxx | ||||
|             debugger/graphics.hxx | ||||
|             debugger/graphics_cmdlists.hxx | ||||
|             debugger/ramview.hxx | ||||
|             debugger/registers.hxx | ||||
|             bootmanager.hxx | ||||
|             hotkeys.hxx | ||||
|             main.hxx | ||||
|             version.h | ||||
|             config/controller_config.hxx | ||||
|             config/controller_config_util.hxx) | ||||
|             ) | ||||
| 
 | ||||
| set(UIS | ||||
|             config/controller_config.ui | ||||
|             debugger/callstack.ui | ||||
|             debugger/disassembler.ui | ||||
|             debugger/registers.ui | ||||
|             hotkeys.ui | ||||
|             main.ui | ||||
|             config/controller_config.ui) | ||||
|             ) | ||||
| 
 | ||||
| if(USE_QT5) | ||||
| create_directory_groups(${SRCS} ${HEADERS} ${UIS}) | ||||
| 
 | ||||
| if (Qt5_FOUND) | ||||
|     qt5_wrap_ui(UI_HDRS ${UIS}) | ||||
| else() | ||||
|     qt4_wrap_ui(UI_HDRS ${UIS}) | ||||
| endif() | ||||
| 
 | ||||
| add_executable(citra-qt ${SRCS} ${HEADERS} ${UI_HDRS}) | ||||
| if(APPLE) | ||||
| 	set(ICONV_LIBRARY iconv) | ||||
| else() | ||||
| 	set(RT_LIBRARY rt) | ||||
| endif() | ||||
| 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 core common video_core qhexedit ${ICONV_LIBRARY} ${COREFOUNDATION_LIBRARY} ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${RT_LIBRARY} ${PNG_LIBRARIES}) | ||||
| if(USE_QT5) | ||||
|     target_link_libraries(citra-qt Qt5::Gui Qt5::Widgets Qt5::OpenGL) | ||||
| if (APPLE) | ||||
|     target_link_libraries(citra-qt iconv ${COREFOUNDATION_LIBRARY}) | ||||
| elseif (WIN32) | ||||
|     target_link_libraries(citra-qt winmm) | ||||
| else() # Unix | ||||
|     target_link_libraries(citra-qt rt) | ||||
| endif() | ||||
| 
 | ||||
| #install(TARGETS citra-qt RUNTIME DESTINATION ${bindir}) | ||||
|  |  | |||
|  | @ -1,6 +1,8 @@ | |||
| # Generate cpp with Git revision from template | ||||
| configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/scm_rev.cpp" @ONLY) | ||||
| 
 | ||||
| set(SRCS    break_points.cpp | ||||
| set(SRCS | ||||
|             break_points.cpp | ||||
|             console_listener.cpp | ||||
|             extended_trace.cpp | ||||
|             file_search.cpp | ||||
|  | @ -12,23 +14,25 @@ set(SRCS    break_points.cpp | |||
|             memory_util.cpp | ||||
|             misc.cpp | ||||
|             msg_handler.cpp | ||||
|             string_util.cpp | ||||
|             scm_rev.cpp | ||||
|             string_util.cpp | ||||
|             symbols.cpp | ||||
|             thread.cpp | ||||
|             timer.cpp | ||||
|             utf8.cpp) | ||||
|             utf8.cpp | ||||
|             ) | ||||
| 
 | ||||
| set(HEADERS atomic.h | ||||
| set(HEADERS | ||||
|             atomic.h | ||||
|             atomic_gcc.h | ||||
|             atomic_win32.h | ||||
|             bit_field.h | ||||
|             break_points.h | ||||
|             chunk_file.h | ||||
|             common.h | ||||
|             common_funcs.h | ||||
|             common_paths.h | ||||
|             common_types.h | ||||
|             common.h | ||||
|             console_listener.h | ||||
|             cpu_detect.h | ||||
|             debug_interface.h | ||||
|  | @ -37,10 +41,11 @@ set(HEADERS atomic.h | |||
|             fifo_queue.h | ||||
|             file_search.h | ||||
|             file_util.h | ||||
|             fixed_size_queue.h | ||||
|             hash.h | ||||
|             linear_disk_cache.h | ||||
|             log_manager.h | ||||
|             log.h | ||||
|             log_manager.h | ||||
|             math_util.h | ||||
|             mem_arena.h | ||||
|             memory_util.h | ||||
|  | @ -54,8 +59,12 @@ set(HEADERS atomic.h | |||
|             swap.h | ||||
|             symbols.h | ||||
|             thread.h | ||||
|             thread_queue_list.h | ||||
|             thunk.h | ||||
|             timer.h | ||||
|             utf8.h) | ||||
|             utf8.h | ||||
|             ) | ||||
| 
 | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| 
 | ||||
| add_library(common STATIC ${SRCS} ${HEADERS}) | ||||
|  |  | |||
|  | @ -1,14 +1,18 @@ | |||
| set(SRCS    core.cpp | ||||
|             core_timing.cpp | ||||
|             loader/elf.cpp | ||||
|             loader/loader.cpp | ||||
|             loader/ncch.cpp | ||||
|             mem_map.cpp | ||||
|             mem_map_funcs.cpp | ||||
|             system.cpp | ||||
| set(SRCS | ||||
|             arm/disassembler/arm_disasm.cpp | ||||
|             arm/disassembler/load_symbol_map.cpp | ||||
|             file_sys/archive_romfs.cpp | ||||
|             arm/interpreter/mmu/arm1176jzf_s_mmu.cpp | ||||
|             arm/interpreter/mmu/cache.cpp | ||||
|             arm/interpreter/mmu/maverick.cpp | ||||
|             arm/interpreter/mmu/rb.cpp | ||||
|             arm/interpreter/mmu/sa_mmu.cpp | ||||
|             arm/interpreter/mmu/tlb.cpp | ||||
|             arm/interpreter/mmu/wb.cpp | ||||
|             arm/interpreter/mmu/xscale_copro.cpp | ||||
|             arm/interpreter/vfp/vfp.cpp | ||||
|             arm/interpreter/vfp/vfpdouble.cpp | ||||
|             arm/interpreter/vfp/vfpinstr.cpp | ||||
|             arm/interpreter/vfp/vfpsingle.cpp | ||||
|             arm/interpreter/arm_interpreter.cpp | ||||
|             arm/interpreter/armcopro.cpp | ||||
|             arm/interpreter/armemu.cpp | ||||
|  | @ -18,22 +22,7 @@ set(SRCS    core.cpp | |||
|             arm/interpreter/armsupp.cpp | ||||
|             arm/interpreter/armvirt.cpp | ||||
|             arm/interpreter/thumbemu.cpp | ||||
|             arm/interpreter/vfp/vfp.cpp | ||||
|             arm/interpreter/vfp/vfpdouble.cpp | ||||
|             arm/interpreter/vfp/vfpinstr.cpp | ||||
|             arm/interpreter/vfp/vfpsingle.cpp | ||||
|             arm/interpreter/mmu/arm1176jzf_s_mmu.cpp | ||||
|             arm/interpreter/mmu/cache.cpp | ||||
|             arm/interpreter/mmu/maverick.cpp | ||||
|             arm/interpreter/mmu/rb.cpp | ||||
|             arm/interpreter/mmu/sa_mmu.cpp | ||||
|             arm/interpreter/mmu/tlb.cpp | ||||
|             arm/interpreter/mmu/wb.cpp | ||||
|             arm/interpreter/mmu/xscale_copro.cpp | ||||
|             hle/hle.cpp | ||||
|             hle/config_mem.cpp | ||||
|             hle/coprocessor.cpp | ||||
|             hle/svc.cpp | ||||
|             file_sys/archive_romfs.cpp | ||||
|             hle/kernel/address_arbiter.cpp | ||||
|             hle/kernel/archive.cpp | ||||
|             hle/kernel/event.cpp | ||||
|  | @ -48,27 +37,26 @@ set(SRCS    core.cpp | |||
|             hle/service/ndm.cpp | ||||
|             hle/service/service.cpp | ||||
|             hle/service/srv.cpp | ||||
|             hle/config_mem.cpp | ||||
|             hle/coprocessor.cpp | ||||
|             hle/hle.cpp | ||||
|             hle/svc.cpp | ||||
|             hw/gpu.cpp | ||||
|             hw/hw.cpp | ||||
|             hw/ndma.cpp) | ||||
|             hw/ndma.cpp | ||||
|             loader/elf.cpp | ||||
|             loader/loader.cpp | ||||
|             loader/ncch.cpp | ||||
|             core.cpp | ||||
|             core_timing.cpp | ||||
|             mem_map.cpp | ||||
|             mem_map_funcs.cpp | ||||
|             system.cpp | ||||
|             ) | ||||
| 
 | ||||
| set(HEADERS core.h | ||||
|             core_timing.h | ||||
|             loader/elf.h | ||||
|             loader/loader.h | ||||
|             loader/ncch.h | ||||
|             mem_map.h | ||||
|             system.h | ||||
| set(HEADERS | ||||
|             arm/disassembler/arm_disasm.h | ||||
|             arm/disassembler/load_symbol_map.h | ||||
|             arm/interpreter/arm_interpreter.h | ||||
|             arm/interpreter/arm_regformat.h | ||||
|             arm/interpreter/armcpu.h | ||||
|             arm/interpreter/armdefs.h | ||||
|             arm/interpreter/armemu.h | ||||
|             arm/interpreter/armmmu.h | ||||
|             arm/interpreter/armos.h | ||||
|             arm/interpreter/skyeye_defs.h | ||||
|             arm/interpreter/mmu/arm1176jzf_s_mmu.h | ||||
|             arm/interpreter/mmu/cache.h | ||||
|             arm/interpreter/mmu/rb.h | ||||
|  | @ -78,27 +66,48 @@ set(HEADERS core.h | |||
|             arm/interpreter/vfp/asm_vfp.h | ||||
|             arm/interpreter/vfp/vfp.h | ||||
|             arm/interpreter/vfp/vfp_helper.h | ||||
|             arm/interpreter/arm_interpreter.h | ||||
|             arm/interpreter/arm_regformat.h | ||||
|             arm/interpreter/armcpu.h | ||||
|             arm/interpreter/armdefs.h | ||||
|             arm/interpreter/armemu.h | ||||
|             arm/interpreter/armmmu.h | ||||
|             arm/interpreter/armos.h | ||||
|             arm/interpreter/skyeye_defs.h | ||||
|             arm/arm_interface.h | ||||
|             file_sys/archive.h | ||||
|             file_sys/archive_romfs.h | ||||
|             hle/config_mem.h | ||||
|             hle/coprocessor.h | ||||
|             hle/hle.h | ||||
|             hle/svc.h | ||||
|             hle/kernel/address_arbiter.h | ||||
|             hle/kernel/archive.h | ||||
|             hle/kernel/event.h | ||||
|             hle/kernel/kernel.h | ||||
|             hle/kernel/mutex.h | ||||
|             hle/kernel/shared_memory.h | ||||
|             hle/kernel/thread.h | ||||
|             hle/function_wrappers.h | ||||
|             hle/service/apt.h | ||||
|             hle/service/fs.h | ||||
|             hle/service/gsp.h | ||||
|             hle/service/hid.h | ||||
|             hle/service/ndm.h | ||||
|             hle/service/service.h | ||||
|             hle/service/srv.h | ||||
|             hle/config_mem.h | ||||
|             hle/coprocessor.h | ||||
|             hle/function_wrappers.h | ||||
|             hle/hle.h | ||||
|             hle/svc.h | ||||
|             hw/gpu.h | ||||
|             hw/hw.h | ||||
|             hw/ndma.h) | ||||
|             hw/ndma.h | ||||
|             loader/elf.h | ||||
|             loader/loader.h | ||||
|             loader/ncch.h | ||||
|             core.h | ||||
|             core_timing.h | ||||
|             mem_map.h | ||||
|             system.h | ||||
|             ) | ||||
| 
 | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| 
 | ||||
| add_library(core STATIC ${SRCS} ${HEADERS}) | ||||
|  |  | |||
|  | @ -1,29 +1,42 @@ | |||
| set(SRCS    clipper.cpp | ||||
| set(SRCS | ||||
|             renderer_opengl/generated/gl_3_2_core.c | ||||
|             renderer_opengl/renderer_opengl.cpp | ||||
|             renderer_opengl/gl_shader_util.cpp | ||||
|             debug_utils/debug_utils.cpp | ||||
|             clipper.cpp | ||||
|             command_processor.cpp | ||||
|             primitive_assembly.cpp | ||||
|             rasterizer.cpp | ||||
|             utils.cpp | ||||
|             vertex_shader.cpp | ||||
|             video_core.cpp | ||||
|             renderer_opengl/generated/gl_3_2_core.c | ||||
|             renderer_opengl/renderer_opengl.cpp | ||||
|             renderer_opengl/gl_shader_util.cpp | ||||
|             debug_utils/debug_utils.cpp) | ||||
|             ) | ||||
| 
 | ||||
| set(HEADERS clipper.h | ||||
|             command_processor.h | ||||
|             math.h | ||||
|             primitive_assembly.h | ||||
|             rasterizer.h | ||||
|             utils.h | ||||
|             video_core.h | ||||
|             renderer_base.h | ||||
|             vertex_shader.h | ||||
|             video_core.h | ||||
| set(HEADERS | ||||
|             debug_utils/debug_utils.h | ||||
|             renderer_opengl/generated/gl_3_2_core.h | ||||
|             renderer_opengl/renderer_opengl.h | ||||
|             renderer_opengl/gl_shader_util.h | ||||
|             renderer_opengl/gl_shaders.h | ||||
|             debug_utils/debug_utils.h) | ||||
|             renderer_opengl/renderer_opengl.h | ||||
|             clipper.h | ||||
|             command_processor.h | ||||
|             gpu_debugger.h | ||||
|             math.h | ||||
|             pica.h | ||||
|             primitive_assembly.h | ||||
|             rasterizer.h | ||||
|             renderer_base.h | ||||
|             utils.h | ||||
|             vertex_shader.h | ||||
|             video_core.h | ||||
|             ) | ||||
| 
 | ||||
| create_directory_groups(${SRCS} ${HEADERS}) | ||||
| 
 | ||||
| add_library(video_core STATIC ${SRCS} ${HEADERS}) | ||||
| 
 | ||||
| if (PNG_FOUND) | ||||
|     target_link_libraries(video_core ${PNG_LIBRARIES}) | ||||
|     include_directories(${PNG_INCLUDE_DIRS}) | ||||
|     add_definitions(${PNG_DEFINITIONS}) | ||||
| endif() | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue