cmake_dir_structure.rst 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. CMake Layout:
  2. /
  3. - CMakeLists.txt - Root CMake file
  4. - version.cmake - common cmake file where version variables are set
  5. - build-config.h.cmake - cmake generation template for build-config.h
  6. - cmake_modules/ - Directory storing modules and configurations for CMake
  7. -- Find*****.cmake - CMake find file used to locate libraries, headers, and binaries
  8. -- commonSetup.cmake - common configuration settings for the entire project (contains configure time options)
  9. -- docMacros.cmake - common documentation macros used for generating fop and pdf files
  10. -- optionDefaults.cmake - contains common variables for the platform build
  11. -- distrocheck.sh - script that determines if the OS uses DEB or RPM
  12. -- getpackagerevisionarch.sh - script that returns OS version and arch in format used for packaging
  13. -- dependencies/ - Directory storing dependency files used for package dependencies
  14. --- <OS>.cmake - File containing either DEB or RPM dependencies for the given OS
  15. - build-utils/ - Directory for build related utilities
  16. -- cleanDeb.sh - script that unpacks a deb file and rebuilds with fakeroot to clean up lintain errors/warnings
  17. - initfiles/ - Directory containing init and install based code
  18. -- CMakeLists.txt - initfiles cmake file which defines GENERATE_BASH macro
  19. -- bash-vars.in - cmake template file for bash configuration variables that are injected into all installed bash scripts
  20. -- processor.cpp - simple application used at build time to search and replace ###<REPLACE>### in bash scripts
  21. -- sbin/ - Directory containing administration based scripts
  22. --- add_conf_settings.sh.in - used to add sudoers and limits.conf settings on package install
  23. --- alter_confs.sh - contains functions used by add_conf_settings.sh.in and rm_conf_settings.sh.in
  24. --- complete-uninstall.sh.in - script to remove package and all directories from platform
  25. --- configmgr.in - configmgr start script
  26. --- get_ip_address.sh.in - script to get base ip address of server
  27. --- hpcc-push.sh.in - script to push files to servers defined in environment using ssh keys
  28. --- hpcc-run.sh.in - script to run init commands on servers defined in environment using ssh keys
  29. --- hpcc_setenv.in - source-able file that defines hpcc env vars, used by init system
  30. --- install-cluster.sh.in - script to install platform on a cluster using environment file and expect
  31. --- keygen.sh.in - script to generate ssh keys for hpcc user
  32. --- killconfigmgr - script used to kill configmgr when running (used by configmgr start script)
  33. --- prerm.in - script run pre-remove of the installed DEB or RPM
  34. --- regex.awk.in.cmake - regex awk code used by configmgr
  35. --- remote-install-engine.sh.in - payload install script used by install-cluster.sh
  36. --- rm_conf_settings.sh.in - remove sudoers and limits.conf settings on package uninstall
  37. -- etc/
  38. --- bash_completion/ - contains bash completion scripts used by the bash shell
  39. ---- ecl - ecl cmd completion
  40. ---- eclagent - eclagent cmd completion
  41. ---- eclcc - eclcc cmd completion
  42. ---- eclplus - eclplus cmd completion
  43. --- DIR_NAME/ - Directory used to generate /etc/<DIR_NAME> on package install (name is important)
  44. ---- environment.conf.in - environment.conf template
  45. ---- environment.xml.in - all in one single node template
  46. ---- genenvrules.conf - environment generation rules used by config wizard
  47. ---- version.in - version file template used by configmgr and esp
  48. ---- configmgr/ - Directory containing configmgr based configs
  49. ----- configmgr.conf.in - configmgr config file
  50. ----- esp.xml.in - esp config used to start the configmgr esp process
  51. --- sshkey/ - contains base ssh keys included in platform packages
  52. ---- .ssh.md5 - md5 sums of .ssh dir allowing for comparision at platform start/stop for security check
  53. ---- .ssh/ - directory containing key files
  54. ----- authorized_keys - file containing keys for hpcc that can be used for auth
  55. ----- id_rsa - private ssh key
  56. ----- id_rsa.pub - public ssh key
  57. -- bin/ - Directory containing the scripts used to start and stop component processes
  58. --- init_configesp
  59. --- init_dafilesrv.in
  60. --- init_dali
  61. --- init_dfuserver
  62. --- init_eclagent.in
  63. --- init_eclccserver
  64. --- init_eclscheduler
  65. --- init_esp
  66. --- init_ftslave
  67. --- init_roxie
  68. --- init_roxie_cluster
  69. --- init_sasha
  70. --- init_thor
  71. -- componentfiles/ - Directory containing subdirectories of things used by other components/installed items
  72. --- configxml - files used by configmgr
  73. --- ftslave - files used by ftslace
  74. --- launcher - files used by the unity launcher
  75. --- thor - files used by thor
  76. -- bash/
  77. --- etc/
  78. ---- init.d/
  79. ----- dafilesrv.in - dafilesrv init script
  80. ----- export-path
  81. ----- hpcc_common.in - common functions for hpcc scripts
  82. ----- hpcc-init.in - hpcc-init init script
  83. ----- hpcc-init.install - hpcc-init install script used by package install
  84. ----- hpcc-init.uninstall - hpcc-init uninstall script used by package uninstall
  85. ----- init-functions - common functions related completely to init
  86. ----- install-init.in - script used to install hpcc init system on package install
  87. ----- lock.sh - common functions related to lock files
  88. ----- lsb-base-logging.sh - common functions related to logging to terminal
  89. ----- pid.sh - common functions related to pid files
  90. ----- uninstall-init.in - script used to uninstall hpcc init system on package uninstall
  91. --- sbin/ - Directory containing bash based package install sripts
  92. ---- bash_postinst.in - post install used by RPM package
  93. ---- deb/ - Directory containing DEB specific scripts
  94. ----- postinst.in - post install used by DEB package
  95. ----- postrm.in - post remove used by DEB package
  96. - docs/ - Directory for documentation building
  97. -- bin/ - Directory containing scripts used by documentation team
  98. -- BuildTools/ - Directory containing xsl files and xsl file templates used by documentation team
  99. -- common/ - Directory containing common files used by all documents built
  100. -- resources/ - directory containing docbook resources needed to build documentation