You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DESCRIPTION description # e.g., "Type-safe operators for enums"
65
67
NAMESPACE namespace # e.g., "stlab"
66
68
HEADERS header_list # List of header filenames (e.g., "your_header.hpp")
67
-
69
+
68
70
# Source specification for non-header-only libraries
69
71
SOURCES source_list # List of source filenames (e.g., "your_library.cpp", omit for header-only libraries)
70
72
71
73
# Optional features
72
74
[EXAMPLES example_list] # Example source files to build (e.g., "example.cpp example_fail.cpp")
73
-
[TESTS test_list] # Test source files to build (e.g., "tests.cpp")
75
+
[TESTS test_list] # Test source files to build (e.g., "tests.cpp")
74
76
[DOCS_EXCLUDE_SYMBOLS symbols] # Symbols to exclude from docs
75
77
[REQUIRES_CPP_VERSION 17|20|23] # C++ version (default: 17)
76
78
)
@@ -118,6 +120,7 @@ The template automatically generates the full paths based on these conventions.
118
120
### Library Types
119
121
120
122
**Header-only libraries**: Specify only `HEADERS`, omit `SOURCES`
123
+
121
124
```cmake
122
125
cpp_library_setup(
123
126
DESCRIPTION "Header-only library"
@@ -128,6 +131,7 @@ cpp_library_setup(
128
131
```
129
132
130
133
**Non-header-only libraries**: Specify both `HEADERS` and `SOURCES`
134
+
131
135
```cmake
132
136
cpp_library_setup(
133
137
DESCRIPTION "Library with implementation"
@@ -138,15 +142,15 @@ cpp_library_setup(
138
142
```
139
143
140
144
## Features
145
+
141
146
### Non-Header-Only Library Support
142
147
143
148
-**Non-header-only library support**: For libraries with source files, specify them explicitly with the `SOURCES` argument as filenames (e.g., `"your_library.cpp"`).
144
-
Both header-only and compiled libraries are supported seamlessly.
149
+
Both header-only and compiled libraries are supported seamlessly.
145
150
146
151
### Automated Infrastructure
147
152
148
153
-**CMakePresets.json**: Generates standard presets (default, test, docs, clang-tidy, init)
149
-
-**Installation**: Modern CMake package config with FILE_SET headers
150
154
-**Testing**: doctest integration with CTest and compile-fail test support
151
155
-**Documentation**: Doxygen with doxygen-awesome-css theme
0 commit comments