2
0
Эх сурвалжийг харах

Added support for building SDL sample via cmake, CMake only looks for SDL 1, but by setting SDL_LIBRARY, SDL_INCLUDE_DIR, SDL_IMAGE_LIBRARY, SDL_IMAGE_INCLUDE_DIR manually, SDL2 can be used. This will need to be patched up to properly support SDL2

David Wimsey 11 жил өмнө
parent
commit
f4f1669123

+ 2 - 0
Build/.gitignore

@@ -23,6 +23,8 @@ datagrid_tree
 drag
 invaders
 pyinvaders
+luainvaders
+sdl2
 scores.txt
 options.dat
 log.txt

+ 27 - 0
Build/CMakeLists.txt

@@ -464,6 +464,33 @@ if(BUILD_SAMPLES)
 		endif()
 	endif()
 
+    message("-- Can SDL2 sample be built")
+    find_package(SDL)
+    if(SDL_FOUND)
+	find_package(SDL_image)
+	if(SDL_IMAGE_FOUND)
+		find_package(GLEW)
+		if(GLEW_FOUND)
+        		message("-- Can SDL2 sample be built - yes")
+			include_directories(${SDL_INCLUDE_DIR} ${GLEW_INCLUDE_DIR})
+
+			#bl_sample(sdl2 ${sample_LIBRARIES}  ${SDL_LIBRARY} -lXxf86vm -lSDL2_image ${GLEW_LIBRARY})
+			bl_sample(sdl2 ${sample_LIBRARIES}  ${SDL_LIBRARY} ${SDL_IMAGE_LIBRARY} ${GLEW_LIBRARY})
+			# The samples always set this as their current working directory
+			install(DIRECTORY DESTINATION ${SAMPLES_DIR}/basic/sdl2)
+			install(TARGETS sdl2
+				RUNTIME DESTINATION ${SAMPLES_DIR}/sdl2
+				BUNDLE DESTINATION ${SAMPLES_DIR})
+		else()
+		        message("-- Can SDL2 sample be built - GLEW not found")
+		endif()
+	else()
+	        message("-- Can SDL2 sample be built - SDL2_image not found")
+	endif()
+    else()
+        message("-- Can SDL2 sample be built - SDL2 not found")
+    endif()
+
     # Build and install the tutorials
     foreach(tutorial ${tutorials})
         bl_sample(${tutorial} ${sample_LIBRARIES})

+ 11 - 0
Build/cmake/SampleFileList.cmake

@@ -70,6 +70,17 @@ set(treeview_SRC_FILES
     ${PROJECT_SOURCE_DIR}/Samples/basic/treeview/src/main.cpp
 )
 
+set(sdl2_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/sdl2/src/RenderInterfaceSDL2.h
+    ${PROJECT_SOURCE_DIR}/Samples/basic/sdl2/src/SystemInterfaceSDL2.h
+)
+
+set(sdl2_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/sdl2/src/main.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/sdl2/src/RenderInterfaceSDL2.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/sdl2/src/SystemInterfaceSDL2.cpp
+)
+
 set(directx_HDR_FILES
     ${PROJECT_SOURCE_DIR}/Samples/basic/directx/src/RenderInterfaceDirectX.h
 )

+ 1 - 1
Build/cmake/gen_samplelists.sh

@@ -7,7 +7,7 @@ hdr='set(sample_HDR_FILES'
 srcdir='${PROJECT_SOURCE_DIR}'
 srcpath=Samples
 samples=( 'shell'
-	'basic/customlog' 'basic/drag' 'basic/loaddocument' 'basic/ogre3d' 'basic/treeview'
+	'basic/customlog' 'basic/drag' 'basic/loaddocument' 'basic/ogre3d' 'basic/treeview' 'basic/sdl2'
 	'basic/directx' 'basic/directx10'
 	'tutorial/template' 'tutorial/datagrid' 'tutorial/datagrid_tree' 'tutorial/tutorial_drag'
 	'invaders' 'luainvaders' 'pyinvaders'

+ 0 - 0
Samples/basic/sdl2/RenderInterfaceSDL2.cpp → Samples/basic/sdl2/src/RenderInterfaceSDL2.cpp


+ 0 - 0
Samples/basic/sdl2/RenderInterfaceSDL2.h → Samples/basic/sdl2/src/RenderInterfaceSDL2.h


+ 0 - 0
Samples/basic/sdl2/SystemInterfaceSDL2.cpp → Samples/basic/sdl2/src/SystemInterfaceSDL2.cpp


+ 0 - 0
Samples/basic/sdl2/SystemInterfaceSDL2.h → Samples/basic/sdl2/src/SystemInterfaceSDL2.h


+ 0 - 0
Samples/basic/sdl2/main.cpp → Samples/basic/sdl2/src/main.cpp