Definitions
- Top level configuration file: CMakeLists.txt
- Enable_language: enables stuff built-in to CMake
- CMake documentation at (example for HDF5): https://cmake.org/cmake/help/v3.12/module/FindHDF5.html
- Add_compile_definitions: preprocessor define
- Include_directories: just for .h
- Add_subdirectory: contain other CMakeLists.txt
- Add_executable: what to generate, the main() .cpp
- Target_link_libraries: indicates what needs to be linked with a target (1st arg).
- Add_library: creating symbol (name for a bunch of code)
- File: generates a list of files, 1st arg is name of list
- List: manipulation utility
- Find_package: loads a package that comes with CMake (like HDF5)
Current Configuration
Avenues for Future Enhancement
Hints
- Verbose output: https://sidvind.com/wiki/CMake/Verbose_output