gen_samplelists.sh 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/usr/bin/env bash
  2. basedir="../.."
  3. file=Build/cmake/SampleFileList.cmake
  4. src='set(sample_SRC_FILES'
  5. hdr='set(sample_HDR_FILES'
  6. srcdir='${PROJECT_SOURCE_DIR}'
  7. srcpath=Samples
  8. samples=( 'shell'
  9. 'basic/customlog' 'basic/drag' 'basic/loaddocument' 'basic/ogre3d' 'basic/treeview'
  10. 'basic/sdl2' 'basic/sfml' 'basic/sfml2'
  11. 'basic/directx' 'basic/directx10'
  12. 'tutorial/template' 'tutorial/datagrid' 'tutorial/datagrid_tree' 'tutorial/tutorial_drag'
  13. 'invaders' 'luainvaders' 'pyinvaders'
  14. )
  15. printfiles() {
  16. # Print headers
  17. name=${1//basic\//} #substitute basic/ for nothing
  18. name=${name//tutorial\/} #substitute tutorial/ for nothing
  19. echo ${hdr/sample/$name} >>$file
  20. find $srcpath/$1/src -maxdepth 1 -iname "*.h" -exec echo ' '$srcdir/{} \; 2>/dev/null | sort -f >>$file
  21. find $srcpath/$1/include -maxdepth 1 -iname "*.h" -exec echo ' '$srcdir/{} \; 2>/dev/null | sort -f >>$file 2>/dev/null
  22. echo -e ')\n' >>$file
  23. # Print source files
  24. echo ${src/sample/$name} >>$file
  25. find $srcpath/$1/src -maxdepth 1 -iname "*.cpp" -exec echo ' '$srcdir/{} \; 2>/dev/null | sort -f >>$file
  26. echo -e ')\n' >>$file
  27. }
  28. pushd $basedir
  29. echo -e "# This file was auto-generated with gen_samplelists.sh\n" >$file
  30. for sample in ${samples[@]}; do
  31. printfiles $sample
  32. done
  33. echo '# Deal with platform specific sources for sample shell' >> $file
  34. echo 'if(WIN32)' >> $file
  35. echo ' list(APPEND shell_SRC_FILES' >> $file
  36. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/win32/ShellWin32.cpp' >> $file
  37. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/win32/InputWin32.cpp' >> $file
  38. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/win32/ShellRenderInterfaceExtensionsOpenGL_Win32.cpp' >> $file
  39. echo ' )' >> $file
  40. echo ' list(APPEND shell_HDR_FILES' >> $file
  41. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/include/win32/InputWin32.h' >> $file
  42. echo ' )' >> $file
  43. echo 'elseif(APPLE)' >> $file
  44. echo ' list(APPEND shell_SRC_FILES' >> $file
  45. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/macosx/ShellMacOSX.cpp' >> $file
  46. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/macosx/InputMacOSX.cpp' >> $file
  47. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/macosx/ShellRenderInterfaceExtensionsOpenGL_MacOSX.cpp' >> $file
  48. echo ' )' >> $file
  49. echo ' list(APPEND shell_HDR_FILES' >> $file
  50. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/include/macosx/InputMacOSX.h' >> $file
  51. echo ' )' >> $file
  52. echo 'else()' >> $file
  53. echo ' list(APPEND shell_SRC_FILES' >> $file
  54. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/x11/ShellX11.cpp' >> $file
  55. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/x11/InputX11.cpp' >> $file
  56. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/x11/ShellRenderInterfaceExtensionsOpenGL_X11.cpp' >> $file
  57. echo ' )' >> $file
  58. echo ' list(APPEND shell_HDR_FILES' >> $file
  59. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/include/x11/InputX11.h' >> $file
  60. echo ' )' >> $file
  61. echo 'endif()' >> $file
  62. popd