mirror of
https://github.com/TheLartians/ModernCppStarter.git
synced 2025-09-01 06:30:52 +02:00
add section on removing standalone
This commit is contained in:
parent
b130f1e58c
commit
be4291f7f1
1 changed files with 19 additions and 14 deletions
|
@ -82,6 +82,10 @@ See [Format.cmake](https://github.com/TheLartians/Format.cmake) for more options
|
|||
|
||||
Yes, however you will need to change the library type to an `INTERFACE` library as documented in the [CMakeLists.txt](CMakeLists.txt).
|
||||
|
||||
> I don't need a standalone target. How can I get rid of it?
|
||||
|
||||
Simply remove the standalone directory and github workflow file.
|
||||
|
||||
> I see you are using `GLOB` to add source files in CMakeLists.txt. Isn't that evil?
|
||||
|
||||
Glob is considered bad because any changes to the source file structure [might not be automatically caught](https://cmake.org/cmake/help/latest/command/file.html#filesystem) by CMake's builders and you will need to manually invoke CMake on changes.
|
||||
|
@ -91,7 +95,8 @@ See [Format.cmake](https://github.com/TheLartians/Format.cmake) for more options
|
|||
|
||||
If possible, avoid adding conditional includes to the CMakeLists (even though it is a common sight in the C++ world), as it makes the build system convoluted and hard to reason about.
|
||||
Instead, create a new directory with a CMakeLists that adds the main project as a dependency (e.g. just copy the [standalone](standalone) directory).
|
||||
Depending on the complexity of the project it might make sense move this to a separate repository and list a specific version or commit of the main project.
|
||||
Depending on the complexity of the project it might make sense move the components into separate repositories and use CPM.cmake to add them as dependencies.
|
||||
This has the advantage that individual libraries and components can be improved and updated independently.
|
||||
|
||||
> You recommend to add external dependencies using CPM.cmake. Will this force users of my library to use CPM as well?
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue