fixes to build on linux
This commit is contained in:
parent
c479921142
commit
7a136b8a84
@ -2,9 +2,12 @@ cmake_minimum_required(VERSION 2.6)
|
|||||||
|
|
||||||
project(citra)
|
project(citra)
|
||||||
|
|
||||||
|
SET(GCC_COVERAGE_COMPILE_FLAGS "-std=c++11 -fpermissive")
|
||||||
|
|
||||||
# silence some spam
|
# silence some spam
|
||||||
add_definitions(-Wno-attributes)
|
add_definitions(-Wno-attributes)
|
||||||
add_definitions(-DSINGLETHREADED)
|
add_definitions(-DSINGLETHREADED)
|
||||||
|
add_definitions(${GCC_COVERAGE_COMPILE_FLAGS})
|
||||||
|
|
||||||
# dependency checking
|
# dependency checking
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeTests)
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeTests)
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
add_subdirectory(common)
|
add_subdirectory(common)
|
||||||
add_subdirectory(core)
|
add_subdirectory(core)
|
||||||
add_subdirectory(citra)
|
|
||||||
add_subdirectory(video_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)
|
if(QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND AND QT_QTOPENGL_FOUND AND NOT DISABLE_QT4)
|
||||||
#add_subdirectory(citra_qt)
|
#add_subdirectory(citra_qt)
|
||||||
|
@ -7,6 +7,6 @@ if (NOT X11_xf86vmode_LIB)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(citra ${SRCS})
|
add_executable(citra ${SRCS})
|
||||||
target_link_libraries(citra core common ${OPENGL_LIBRARIES} ${GLFW_LIBRARIES} GLEW rt ${X11_Xrandr_LIB} ${X11_xv86vmode_LIB})
|
target_link_libraries(citra core common video_core GLEW glfw3 pthread X11 Xxf86vm Xi ${OPENGL_LIBRARIES} ${GLFW_LIBRARIES} rt ${X11_Xrandr_LIB} ${X11_xv86vmode_LIB})
|
||||||
|
|
||||||
#install(TARGETS citra RUNTIME DESTINATION ${bindir})
|
#install(TARGETS citra RUNTIME DESTINATION ${bindir})
|
||||||
|
@ -1,30 +1,30 @@
|
|||||||
set(SRCS
|
set(SRCS
|
||||||
bootmanager.cpp
|
bootmanager.cpp
|
||||||
callstack.cpp
|
debugger/callstack.cpp
|
||||||
disassembler.cpp
|
debugger/disassembler.cpp
|
||||||
registers.cpp
|
debugger/ramview.cpp
|
||||||
|
debugger/registers.cpp
|
||||||
hotkeys.cpp
|
hotkeys.cpp
|
||||||
main.cpp
|
main.cpp
|
||||||
ramview.cpp
|
|
||||||
config/controller_config.cpp
|
config/controller_config.cpp
|
||||||
config/controller_config_util.cpp)
|
config/controller_config_util.cpp)
|
||||||
|
|
||||||
qt4_wrap_ui(UI_HDRS
|
qt4_wrap_ui(UI_HDRS
|
||||||
callstack.ui
|
debugger/callstack.ui
|
||||||
disassembler.ui
|
debugger/disassembler.ui
|
||||||
registers.ui
|
debugger/registers.ui
|
||||||
hotkeys.ui
|
hotkeys.ui
|
||||||
main.ui
|
main.ui
|
||||||
config/controller_config.ui)
|
config/controller_config.ui)
|
||||||
|
|
||||||
qt4_wrap_cpp(MOC_SRCS
|
qt4_wrap_cpp(MOC_SRCS
|
||||||
bootmanager.hxx
|
bootmanager.hxx
|
||||||
callstack.hxx
|
debugger/callstack.hxx
|
||||||
disassembler.hxx
|
debugger/disassembler.hxx
|
||||||
registers.hxx
|
debugger/registers.hxx
|
||||||
|
debugger/ramview.hxx
|
||||||
hotkeys.hxx
|
hotkeys.hxx
|
||||||
main.hxx
|
main.hxx
|
||||||
ramview.hxx
|
|
||||||
config/controller_config.hxx
|
config/controller_config.hxx
|
||||||
config/controller_config_util.hxx)
|
config/controller_config_util.hxx)
|
||||||
|
|
||||||
@ -33,6 +33,6 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|||||||
include_directories(./)
|
include_directories(./)
|
||||||
|
|
||||||
add_executable(citra-qt ${SRCS} ${MOC_SRCS} ${UI_HDRS})
|
add_executable(citra-qt ${SRCS} ${MOC_SRCS} ${UI_HDRS})
|
||||||
target_link_libraries(citra-qt core common qhexedit ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${SDL2_LIBRARY} rt GLEW ${GLFW_LIBRARIES})
|
target_link_libraries(citra-qt core common video_core qhexedit ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${SDL2_LIBRARY} rt GLEW ${GLFW_LIBRARIES})
|
||||||
|
|
||||||
#install(TARGETS citra-qt RUNTIME DESTINATION ${bindir})
|
#install(TARGETS citra-qt RUNTIME DESTINATION ${bindir})
|
||||||
|
@ -672,7 +672,7 @@ const std::string& GetUserPath(const unsigned int DirIDX, const std::string &new
|
|||||||
else
|
else
|
||||||
paths[D_USER_IDX] = std::string(getenv("HOME") ?
|
paths[D_USER_IDX] = std::string(getenv("HOME") ?
|
||||||
getenv("HOME") : getenv("PWD") ?
|
getenv("HOME") : getenv("PWD") ?
|
||||||
getenv("PWD") : "") + DIR_SEP DOLPHIN_DATA_DIR DIR_SEP;
|
getenv("PWD") : "") + DIR_SEP EMU_DATA_DIR DIR_SEP;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
paths[D_CONFIG_IDX] = paths[D_USER_IDX] + CONFIG_DIR DIR_SEP;
|
paths[D_CONFIG_IDX] = paths[D_USER_IDX] + CONFIG_DIR DIR_SEP;
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
|
#include "common/platform.h"
|
||||||
|
|
||||||
#if EMU_PLATFORM == PLATFORM_WINDOWS
|
#if EMU_PLATFORM == PLATFORM_WINDOWS
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -161,7 +161,7 @@ static bool RealPath(const std::string ¤tDirectory, const std::string &inP
|
|||||||
|
|
||||||
IFileSystem *MetaFileSystem::GetHandleOwner(u32 handle)
|
IFileSystem *MetaFileSystem::GetHandleOwner(u32 handle)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
for (size_t i = 0; i < fileSystems.size(); i++)
|
for (size_t i = 0; i < fileSystems.size(); i++)
|
||||||
{
|
{
|
||||||
if (fileSystems[i].system->OwnsHandle(handle))
|
if (fileSystems[i].system->OwnsHandle(handle))
|
||||||
@ -173,7 +173,7 @@ IFileSystem *MetaFileSystem::GetHandleOwner(u32 handle)
|
|||||||
|
|
||||||
bool MetaFileSystem::MapFilePath(const std::string &_inpath, std::string &outpath, MountPoint **system)
|
bool MetaFileSystem::MapFilePath(const std::string &_inpath, std::string &outpath, MountPoint **system)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
std::string realpath;
|
std::string realpath;
|
||||||
|
|
||||||
// Special handling: host0:command.txt (as seen in Super Monkey Ball Adventures, for example)
|
// Special handling: host0:command.txt (as seen in Super Monkey Ball Adventures, for example)
|
||||||
@ -227,7 +227,7 @@ bool MetaFileSystem::MapFilePath(const std::string &_inpath, std::string &outpat
|
|||||||
|
|
||||||
void MetaFileSystem::Mount(std::string prefix, IFileSystem *system)
|
void MetaFileSystem::Mount(std::string prefix, IFileSystem *system)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
MountPoint x;
|
MountPoint x;
|
||||||
x.prefix = prefix;
|
x.prefix = prefix;
|
||||||
x.system = system;
|
x.system = system;
|
||||||
@ -236,7 +236,7 @@ void MetaFileSystem::Mount(std::string prefix, IFileSystem *system)
|
|||||||
|
|
||||||
void MetaFileSystem::Unmount(std::string prefix, IFileSystem *system)
|
void MetaFileSystem::Unmount(std::string prefix, IFileSystem *system)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
MountPoint x;
|
MountPoint x;
|
||||||
x.prefix = prefix;
|
x.prefix = prefix;
|
||||||
x.system = system;
|
x.system = system;
|
||||||
@ -245,7 +245,7 @@ void MetaFileSystem::Unmount(std::string prefix, IFileSystem *system)
|
|||||||
|
|
||||||
void MetaFileSystem::Shutdown()
|
void MetaFileSystem::Shutdown()
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
current = 6;
|
current = 6;
|
||||||
|
|
||||||
// Ownership is a bit convoluted. Let's just delete everything once.
|
// Ownership is a bit convoluted. Let's just delete everything once.
|
||||||
@ -267,7 +267,7 @@ void MetaFileSystem::Shutdown()
|
|||||||
|
|
||||||
u32 MetaFileSystem::OpenWithError(int &error, std::string filename, FileAccess access, const char *devicename)
|
u32 MetaFileSystem::OpenWithError(int &error, std::string filename, FileAccess access, const char *devicename)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
u32 h = OpenFile(filename, access, devicename);
|
u32 h = OpenFile(filename, access, devicename);
|
||||||
error = lastOpenError;
|
error = lastOpenError;
|
||||||
return h;
|
return h;
|
||||||
@ -275,7 +275,7 @@ u32 MetaFileSystem::OpenWithError(int &error, std::string filename, FileAccess a
|
|||||||
|
|
||||||
u32 MetaFileSystem::OpenFile(std::string filename, FileAccess access, const char *devicename)
|
u32 MetaFileSystem::OpenFile(std::string filename, FileAccess access, const char *devicename)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
lastOpenError = 0;
|
lastOpenError = 0;
|
||||||
std::string of;
|
std::string of;
|
||||||
MountPoint *mount;
|
MountPoint *mount;
|
||||||
@ -291,7 +291,7 @@ u32 MetaFileSystem::OpenFile(std::string filename, FileAccess access, const char
|
|||||||
|
|
||||||
FileInfo MetaFileSystem::GetFileInfo(std::string filename)
|
FileInfo MetaFileSystem::GetFileInfo(std::string filename)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
std::string of;
|
std::string of;
|
||||||
IFileSystem *system;
|
IFileSystem *system;
|
||||||
if (MapFilePath(filename, of, &system))
|
if (MapFilePath(filename, of, &system))
|
||||||
@ -307,7 +307,7 @@ FileInfo MetaFileSystem::GetFileInfo(std::string filename)
|
|||||||
|
|
||||||
bool MetaFileSystem::GetHostPath(const std::string &inpath, std::string &outpath)
|
bool MetaFileSystem::GetHostPath(const std::string &inpath, std::string &outpath)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
std::string of;
|
std::string of;
|
||||||
IFileSystem *system;
|
IFileSystem *system;
|
||||||
if (MapFilePath(inpath, of, &system)) {
|
if (MapFilePath(inpath, of, &system)) {
|
||||||
@ -319,7 +319,7 @@ bool MetaFileSystem::GetHostPath(const std::string &inpath, std::string &outpath
|
|||||||
|
|
||||||
std::vector<FileInfo> MetaFileSystem::GetDirListing(std::string path)
|
std::vector<FileInfo> MetaFileSystem::GetDirListing(std::string path)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
std::string of;
|
std::string of;
|
||||||
IFileSystem *system;
|
IFileSystem *system;
|
||||||
if (MapFilePath(path, of, &system))
|
if (MapFilePath(path, of, &system))
|
||||||
@ -335,13 +335,13 @@ std::vector<FileInfo> MetaFileSystem::GetDirListing(std::string path)
|
|||||||
|
|
||||||
void MetaFileSystem::ThreadEnded(int threadID)
|
void MetaFileSystem::ThreadEnded(int threadID)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
currentDir.erase(threadID);
|
currentDir.erase(threadID);
|
||||||
}
|
}
|
||||||
|
|
||||||
int MetaFileSystem::ChDir(const std::string &dir)
|
int MetaFileSystem::ChDir(const std::string &dir)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
// Retain the old path and fail if the arg is 1023 bytes or longer.
|
// Retain the old path and fail if the arg is 1023 bytes or longer.
|
||||||
if (dir.size() >= 1023)
|
if (dir.size() >= 1023)
|
||||||
return -1;//SCE_KERNEL_ERROR_NAMETOOLONG;
|
return -1;//SCE_KERNEL_ERROR_NAMETOOLONG;
|
||||||
@ -378,7 +378,7 @@ int MetaFileSystem::ChDir(const std::string &dir)
|
|||||||
|
|
||||||
bool MetaFileSystem::MkDir(const std::string &dirname)
|
bool MetaFileSystem::MkDir(const std::string &dirname)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
std::string of;
|
std::string of;
|
||||||
IFileSystem *system;
|
IFileSystem *system;
|
||||||
if (MapFilePath(dirname, of, &system))
|
if (MapFilePath(dirname, of, &system))
|
||||||
@ -393,7 +393,7 @@ bool MetaFileSystem::MkDir(const std::string &dirname)
|
|||||||
|
|
||||||
bool MetaFileSystem::RmDir(const std::string &dirname)
|
bool MetaFileSystem::RmDir(const std::string &dirname)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
std::string of;
|
std::string of;
|
||||||
IFileSystem *system;
|
IFileSystem *system;
|
||||||
if (MapFilePath(dirname, of, &system))
|
if (MapFilePath(dirname, of, &system))
|
||||||
@ -408,7 +408,7 @@ bool MetaFileSystem::RmDir(const std::string &dirname)
|
|||||||
|
|
||||||
int MetaFileSystem::RenameFile(const std::string &from, const std::string &to)
|
int MetaFileSystem::RenameFile(const std::string &from, const std::string &to)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
std::string of;
|
std::string of;
|
||||||
std::string rf;
|
std::string rf;
|
||||||
IFileSystem *osystem;
|
IFileSystem *osystem;
|
||||||
@ -440,7 +440,7 @@ int MetaFileSystem::RenameFile(const std::string &from, const std::string &to)
|
|||||||
|
|
||||||
bool MetaFileSystem::RemoveFile(const std::string &filename)
|
bool MetaFileSystem::RemoveFile(const std::string &filename)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
std::string of;
|
std::string of;
|
||||||
IFileSystem *system;
|
IFileSystem *system;
|
||||||
if (MapFilePath(filename, of, &system))
|
if (MapFilePath(filename, of, &system))
|
||||||
@ -455,7 +455,7 @@ bool MetaFileSystem::RemoveFile(const std::string &filename)
|
|||||||
|
|
||||||
void MetaFileSystem::CloseFile(u32 handle)
|
void MetaFileSystem::CloseFile(u32 handle)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
IFileSystem *sys = GetHandleOwner(handle);
|
IFileSystem *sys = GetHandleOwner(handle);
|
||||||
if (sys)
|
if (sys)
|
||||||
sys->CloseFile(handle);
|
sys->CloseFile(handle);
|
||||||
@ -463,7 +463,7 @@ void MetaFileSystem::CloseFile(u32 handle)
|
|||||||
|
|
||||||
size_t MetaFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size)
|
size_t MetaFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
IFileSystem *sys = GetHandleOwner(handle);
|
IFileSystem *sys = GetHandleOwner(handle);
|
||||||
if (sys)
|
if (sys)
|
||||||
return sys->ReadFile(handle,pointer,size);
|
return sys->ReadFile(handle,pointer,size);
|
||||||
@ -473,7 +473,7 @@ size_t MetaFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size)
|
|||||||
|
|
||||||
size_t MetaFileSystem::WriteFile(u32 handle, const u8 *pointer, s64 size)
|
size_t MetaFileSystem::WriteFile(u32 handle, const u8 *pointer, s64 size)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
IFileSystem *sys = GetHandleOwner(handle);
|
IFileSystem *sys = GetHandleOwner(handle);
|
||||||
if (sys)
|
if (sys)
|
||||||
return sys->WriteFile(handle,pointer,size);
|
return sys->WriteFile(handle,pointer,size);
|
||||||
@ -483,7 +483,7 @@ size_t MetaFileSystem::WriteFile(u32 handle, const u8 *pointer, s64 size)
|
|||||||
|
|
||||||
size_t MetaFileSystem::SeekFile(u32 handle, s32 position, FileMove type)
|
size_t MetaFileSystem::SeekFile(u32 handle, s32 position, FileMove type)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
IFileSystem *sys = GetHandleOwner(handle);
|
IFileSystem *sys = GetHandleOwner(handle);
|
||||||
if (sys)
|
if (sys)
|
||||||
return sys->SeekFile(handle,position,type);
|
return sys->SeekFile(handle,position,type);
|
||||||
@ -493,7 +493,7 @@ size_t MetaFileSystem::SeekFile(u32 handle, s32 position, FileMove type)
|
|||||||
|
|
||||||
void MetaFileSystem::DoState(PointerWrap &p)
|
void MetaFileSystem::DoState(PointerWrap &p)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
|
|
||||||
auto s = p.Section("MetaFileSystem", 1);
|
auto s = p.Section("MetaFileSystem", 1);
|
||||||
if (!s)
|
if (!s)
|
||||||
|
@ -104,7 +104,7 @@ public:
|
|||||||
// TODO: void IoCtl(...)
|
// TODO: void IoCtl(...)
|
||||||
|
|
||||||
void SetStartingDirectory(const std::string &dir) {
|
void SetStartingDirectory(const std::string &dir) {
|
||||||
std::lock_guard<std::mutex> guard(lock);
|
std::lock_guard<std::recursive_mutex> guard(lock);
|
||||||
startingDirectory = dir;
|
startingDirectory = dir;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user