gen_samplelists.sh 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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/directx' 'basic/directx10'
  11. 'tutorial/template' 'tutorial/datagrid' 'tutorial/datagrid_tree' 'tutorial/tutorial_drag'
  12. 'invaders' 'luainvaders' 'pyinvaders'
  13. )
  14. printfiles() {
  15. # Print headers
  16. name=${1//basic\//} #substitute basic/ for nothing
  17. name=${name//tutorial\/} #substitute tutorial/ for nothing
  18. echo ${hdr/sample/$name} >>$file
  19. find $srcpath/$1/src -maxdepth 1 -iname "*.h" -exec echo ' '$srcdir/{} \; 2>/dev/null | sort -f >>$file
  20. find $srcpath/$1/include -maxdepth 1 -iname "*.h" -exec echo ' '$srcdir/{} \; 2>/dev/null | sort -f >>$file 2>/dev/null
  21. echo -e ')\n' >>$file
  22. # Print source files
  23. echo ${src/sample/$name} >>$file
  24. find $srcpath/$1/src -maxdepth 1 -iname "*.cpp" -exec echo ' '$srcdir/{} \; 2>/dev/null | sort -f >>$file
  25. echo -e ')\n' >>$file
  26. }
  27. pushd $basedir
  28. echo -e "# This file was auto-generated with gen_samplelists.sh\n" >$file
  29. for sample in ${samples[@]}; do
  30. printfiles $sample
  31. done
  32. echo '# Deal with platform specific sources for sample shell' >> $file
  33. echo 'if(WIN32)' >> $file
  34. echo ' list(APPEND shell_SRC_FILES' >> $file
  35. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/win32/ShellWin32.cpp' >> $file
  36. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/win32/InputWin32.cpp' >> $file
  37. echo ' )' >> $file
  38. echo ' list(APPEND shell_HDR_FILES' >> $file
  39. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/include/win32/InputWin32.h' >> $file
  40. echo ' )' >> $file
  41. echo 'elseif(APPLE)' >> $file
  42. echo ' list(APPEND shell_SRC_FILES' >> $file
  43. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/macosx/ShellMacOSX.cpp' >> $file
  44. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/macosx/InputMacOSX.cpp' >> $file
  45. echo ' )' >> $file
  46. echo ' list(APPEND shell_HDR_FILES' >> $file
  47. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/include/macosx/InputMacOSX.h' >> $file
  48. echo ' )' >> $file
  49. echo 'else()' >> $file
  50. echo ' list(APPEND shell_SRC_FILES' >> $file
  51. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/x11/ShellX11.cpp' >> $file
  52. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/src/x11/InputX11.cpp' >> $file
  53. echo ' )' >> $file
  54. echo ' list(APPEND shell_HDR_FILES' >> $file
  55. echo ' ${PROJECT_SOURCE_DIR}/Samples/shell/include/x11/InputX11.h' >> $file
  56. echo ' )' >> $file
  57. echo 'endif()' >> $file
  58. popd