Reestablish *BSD build using CMake.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6516 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Soren Jorvang 2010-12-04 15:19:04 +00:00
parent e70e623624
commit 7901e74f00
8 changed files with 55 additions and 31 deletions

View File

@ -52,7 +52,7 @@ if(VISIBILITY_INLINES_HIDDEN)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden")
endif(VISIBILITY_INLINES_HIDDEN) endif(VISIBILITY_INLINES_HIDDEN)
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") if(UNIX AND NOT APPLE)
CHECK_CXX_COMPILER_FLAG(-fvisibility=hidden VISIBILITY_HIDDEN) CHECK_CXX_COMPILER_FLAG(-fvisibility=hidden VISIBILITY_HIDDEN)
if(VISIBILITY_HIDDEN) if(VISIBILITY_HIDDEN)
add_definitions(-fvisibility=hidden) add_definitions(-fvisibility=hidden)
@ -150,7 +150,7 @@ endif(OPENAL_FOUND)
# Note: We do not need to explicitly check for X11 as it is done in the cmake # Note: We do not need to explicitly check for X11 as it is done in the cmake
# FindOpenGL module on linux. # FindOpenGL module on linux.
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") if(UNIX AND NOT APPLE)
if(X11_FOUND) if(X11_FOUND)
add_definitions(-DHAVE_X11=1) add_definitions(-DHAVE_X11=1)
include_directories(${X11_INCLUDE_DIR}) include_directories(${X11_INCLUDE_DIR})
@ -270,7 +270,7 @@ if(SDL_FOUND)
else(SDL_FOUND) else(SDL_FOUND)
# TODO: Use the prebuilt one on Windows # TODO: Use the prebuilt one on Windows
message("Shared SDL not found, falling back to the static library") message("Shared SDL not found, falling back to the static library")
include_directories(Externals/SDL/include) include_directories(Externals/SDL Externals/SDL/include)
add_subdirectory(Externals/SDL) add_subdirectory(Externals/SDL)
endif(SDL_FOUND) endif(SDL_FOUND)
@ -309,11 +309,17 @@ if(WIN32)
include_directories(Externals/GLew/include) include_directories(Externals/GLew/include)
else() else()
check_lib(GLU glu REQUIRED) check_lib(GLU glu REQUIRED)
check_lib_and_header(GLEW GLEW GL/glew.h REQUIRED) check_lib_and_header(GLEW GLEW GL/glew.h OPTIONAL)
check_lib_and_header(CG Cg Cg/cg.h REQUIRED) check_lib_and_header(CG Cg Cg/cg.h OPTIONAL)
check_lib_and_header(CGGL CgGL Cg/cgGL.h REQUIRED) check_lib_and_header(CGGL CgGL Cg/cgGL.h OPTIONAL)
endif() endif()
if(NOT GLEW_FOUND)
message("Shared GLEW not found, falling back to the static library")
add_subdirectory(Externals/GLew)
include_directories(Externals/GLew/include)
endif(NOT GLEW_FOUND)
if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")) if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin"))
include_directories(Externals/CLRun/include) include_directories(Externals/CLRun/include)
add_subdirectory(Externals/CLRun) add_subdirectory(Externals/CLRun)
@ -327,7 +333,7 @@ if(NOT DISABLE_WX)
if(wxWidgets_FOUND) if(wxWidgets_FOUND)
include(${wxWidgets_USE_FILE}) include(${wxWidgets_USE_FILE})
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") if(UNIX AND NOT APPLE)
check_lib(GTK2 gtk+-2.0 REQUIRED) check_lib(GTK2 gtk+-2.0 REQUIRED)
if(GTK2_FOUND) if(GTK2_FOUND)
include_directories(${GTK2_INCLUDE_DIRS}) include_directories(${GTK2_INCLUDE_DIRS})
@ -348,7 +354,7 @@ endif(NOT DISABLE_WX)
# Pre-build events: Define configuration variables and write svnrev header # Pre-build events: Define configuration variables and write svnrev header
# #
file(WRITE ${PROJECT_BINARY_DIR}/Source/Core/Common/Src/svnrev.h file(WRITE ${PROJECT_BINARY_DIR}/Source/Core/Common/Src/svnrev.h
"#define SVN_REV_STR \"" ${DOLPHIN_WC_REVISION} "-" ${CMAKE_BUILD_TYPE} "\"") "#define SVN_REV_STR \"" ${DOLPHIN_WC_REVISION} "-" ${CMAKE_BUILD_TYPE} "\"\n")
######################################## ########################################
# Start compiling our code # Start compiling our code

7
Externals/GLew/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,7 @@
include_directories(include)
set(SRCS src/glew.c
src/glewinfo.c
src/visualinfo.c)
add_library(GLEW STATIC ${SRCS})

View File

@ -1,17 +1,18 @@
add_definitions(-DSDL_VIDEO_DISABLED=1) add_definitions(-DSDL_VIDEO_DISABLED=1)
add_definitions(-DSDL_EVENTS_DISABLED=1) add_definitions(-DSDL_EVENTS_DISABLED=1)
set(SRCS src/SDL.c set(SRCS src/SDL.c src/SDL_error.c src/SDL_fatal.c src/joystick/SDL_joystick.c)
src/SDL_error.c
src/SDL_fatal.c
src/joystick/SDL_joystick.c)
# TODO: for BSD: add usbhid to libs, add joystick/bsd/SDL_sysjoystick.c, stdlib/SDL_malloc.c and stdlib/SDL_string.c to sources
if(APPLE) if(APPLE)
set(SRCS ${SRCS} src/joystick/darwin/SDL_sysjoystick.c) set(SRCS ${SRCS} src/joystick/darwin/SDL_sysjoystick.c)
elseif(UNIX) elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(SRCS ${SRCS} src/joystick/linux/SDL_sysjoystick.c) set(SRCS ${SRCS} src/joystick/linux/SDL_sysjoystick.c)
set(SRCS ${SRCS} src/stdlib/SDL_string.c)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
set(SRCS ${SRCS} src/joystick/bsd/SDL_sysjoystick.c)
set(SRCS ${SRCS} src/stdlib/SDL_malloc.c)
set(SRCS ${SRCS} src/stdlib/SDL_string.c)
elseif(WIN32) elseif(WIN32)
set(SRCS ${SRCS} src/joystick/win32/SDL_mmjoystick.c) set(SRCS ${SRCS} src/joystick/win32/SDL_mmjoystick.c)
else() else()

View File

@ -8,7 +8,7 @@ set(SRCS src/SFML/Network/Ftp.cpp
src/SFML/Network/SocketTCP.cpp src/SFML/Network/SocketTCP.cpp
src/SFML/Network/SocketUDP.cpp) src/SFML/Network/SocketUDP.cpp)
if(UNIX OR APPLE) if(UNIX)
set(SRCS ${SRCS} src/SFML/Network/Unix/SocketHelper.cpp) set(SRCS ${SRCS} src/SFML/Network/Unix/SocketHelper.cpp)
elseif(WIN32) elseif(WIN32)
set(SRCS ${SRCS} src/SFML/Network/Win32/SocketHelper.cpp) set(SRCS ${SRCS} src/SFML/Network/Win32/SocketHelper.cpp)

View File

@ -135,7 +135,7 @@ if(WIN32)
set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Win32.cpp Src/stdafx.cpp) set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Win32.cpp Src/stdafx.cpp)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Apple.cpp) set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Apple.cpp)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") elseif(UNIX)
set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Unix.cpp) set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Unix.cpp)
endif() endif()

View File

@ -321,7 +321,7 @@ void DSPEmitter::mrr(const UDSPInstruction opc)
dsp_conditional_extend_accum(dreg); dsp_conditional_extend_accum(dreg);
} }
/* #if 0
// LRI $D, #I // LRI $D, #I
// 0000 0000 100d dddd // 0000 0000 100d dddd
// iiii iiii iiii iiii // iiii iiii iiii iiii
@ -332,15 +332,14 @@ void DSPEmitter::mrr(const UDSPInstruction opc)
// register, has a different behaviour in S40 mode if loaded to AC0.M: The // register, has a different behaviour in S40 mode if loaded to AC0.M: The
// value gets sign extended to the whole accumulator! This does not happen in // value gets sign extended to the whole accumulator! This does not happen in
// S16 mode. // S16 mode.
/*void DSPEmitter::lri(const UDSPInstruction opc) void DSPEmitter::lri(const UDSPInstruction opc)
{ {
u8 reg = opc & DSP_REG_MASK; u8 reg = opc & DSP_REG_MASK;
u16 imm = dsp_fetch_code(); u16 imm = dsp_fetch_code();
dsp_op_write_reg(reg, imm); dsp_op_write_reg(reg, imm);
dsp_conditional_extend_accum(reg); dsp_conditional_extend_accum(reg);
} }
*/ #endif
// LRIS $(0x18+D), #I // LRIS $(0x18+D), #I
// 0000 1ddd iiii iiii // 0000 1ddd iiii iiii

View File

@ -16,10 +16,6 @@ set(LIBS core
${X11_LIBRARIES}) ${X11_LIBRARIES})
if(wxWidgets_FOUND) if(wxWidgets_FOUND)
set(MEMCARDSRCS Src/MemcardManager.cpp
Src/MemoryCards/GCMemcard.cpp
Src/WxUtils.cpp)
set(SRCS ${SRCS} set(SRCS ${SRCS}
Src/AboutDolphin.cpp Src/AboutDolphin.cpp
Src/ARCodeAddEdit.cpp Src/ARCodeAddEdit.cpp
@ -38,6 +34,8 @@ if(wxWidgets_FOUND)
Src/LogWindow.cpp Src/LogWindow.cpp
Src/LuaWindow.cpp Src/LuaWindow.cpp
Src/Main.cpp Src/Main.cpp
Src/MemcardManager.cpp
Src/MemoryCards/GCMemcard.cpp
Src/NetPlay.cpp Src/NetPlay.cpp
Src/NetPlayClient.cpp Src/NetPlayClient.cpp
Src/NetPlayServer.cpp Src/NetPlayServer.cpp
@ -45,12 +43,12 @@ if(wxWidgets_FOUND)
Src/PatchAddEdit.cpp Src/PatchAddEdit.cpp
Src/UDPConfigDiag.cpp Src/UDPConfigDiag.cpp
Src/WiimoteConfigDiag.cpp Src/WiimoteConfigDiag.cpp
Src/MemoryCards/WiiSaveCrypted.cpp) Src/MemoryCards/WiiSaveCrypted.cpp
Src/WxUtils.cpp)
set(WXLIBS debwx set(WXLIBS debwx
debugger_ui_util debugger_ui_util
inputuicommon inputuicommon
memcard
${wxWidgets_LIBRARIES} ${wxWidgets_LIBRARIES}
${GTK2_LIBRARIES}) ${GTK2_LIBRARIES})
@ -70,11 +68,15 @@ else()
set(SRCS ${SRCS} Src/X11Utils.cpp) set(SRCS ${SRCS} Src/X11Utils.cpp)
endif() endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
set(LIBS ${LIBS} usbhid)
endif()
set(EXEGUI dolphin-emu) set(EXEGUI dolphin-emu)
set(EXENOGUI dolphin-emu-nogui) set(EXENOGUI dolphin-emu-nogui)
if(wxWidgets_FOUND) if(wxWidgets_FOUND)
add_library(memcard STATIC ${MEMCARDSRCS})
add_executable(${EXEGUI} ${SRCS}) add_executable(${EXEGUI} ${SRCS})
target_link_libraries(${EXEGUI} ${LIBS} ${WXLIBS}) target_link_libraries(${EXEGUI} ${LIBS} ${WXLIBS})
install(TARGETS ${EXEGUI} RUNTIME DESTINATION ${bindir}) install(TARGETS ${EXEGUI} RUNTIME DESTINATION ${bindir})

View File

@ -15,8 +15,6 @@ set(LIBS videocommon
GLEW GLEW
SOIL SOIL
common common
Cg
CgGL
${OPENGL_LIBRARIES} ${OPENGL_LIBRARIES}
${X11_LIBRARIES}) ${X11_LIBRARIES})
@ -30,10 +28,21 @@ if((${CMAKE_SYSTEM_NAME} MATCHES "Darwin") AND NOT wxWidgets_FOUND)
set(SRCS ${SRCS} Src/cocoaGL.m) set(SRCS ${SRCS} Src/cocoaGL.m)
elseif(WIN32) elseif(WIN32)
set(SRCS ${SRCS} Src/OS/Win32.cpp) set(SRCS ${SRCS} Src/OS/Win32.cpp)
elseif(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")) endif()
if(APPLE OR WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(LIBS ${LIBS} Cg CgGL)
endif()
if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(LIBS ${LIBS} clrun) set(LIBS ${LIBS} clrun)
endif() endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
set(LIBS ${LIBS} usbhid)
endif()
add_library(Plugin_VideoOGL MODULE ${SRCS}) add_library(Plugin_VideoOGL MODULE ${SRCS})
target_link_libraries(Plugin_VideoOGL ${LIBS}) target_link_libraries(Plugin_VideoOGL ${LIBS})
install(TARGETS Plugin_VideoOGL install(TARGETS Plugin_VideoOGL