|  | Adding a library that is linked against: | 
|  |  | 
|  | - Check what buildsystem is used. | 
|  | - If CMake, it's going to be relatively easy. | 
|  | - If something else, it's going to be complicated. | 
|  | - If CMake | 
|  | - If the CMakeLists.txt is in the root folder, everything should be work | 
|  | - However, at least prefer to include make_targets property in the yaml to avoid any automagick confusion (it would test library name in all kinds of variants and when all fails do make all) | 
|  | - If there are multiple ways of generating libraries (shared/static), make a choice here | 
|  |  | 
|  | 1. Add to bin/yaml/libraries.yaml | 
|  | - There's a difference between nightly trunks' and versions, search for "nightly:" to find the nightlies | 
|  | - Note: the name of the library in the yaml file needs to be the same as the name in the c++.amazon.properties file | 
|  | - Add basic entry | 
|  | ``` | 
|  | unifex: | 
|  | type: github | 
|  | method: nightlyclone | 
|  | repo: facebookexperimental/libunifex | 
|  | build_type: cmake | 
|  | make_targets: | 
|  | - unifex | 
|  | targets: | 
|  | - trunk | 
|  | ``` | 
|  | 2. Test installing | 
|  | - `bin/ce_install --enable nightly install 'unifex'` | 
|  | 3. Test building | 
|  | - Make sure you have a compiler installed, for example via `bin/ce_install install 'gcc 10.1.0'` | 
|  | - `bin/ce_install --enable nightly --buildfor g101 --dry build 'unifex'` | 
|  | - check one of the buildfolders that are created and see if there are .so's or .a's and otherwise check the cecmakelog.txt and cemakelog_X.txt | 
|  | - Iterate over this to make it work | 
|  | 4. If a static link file has been produced: | 
|  | - Add to the `c++.amazon.properties` in compiler-explorer in the libs properties for the new library a `libs.libraryname.staticliblink=libraryname` | 
|  | - libraryname here is without the 'lib' prefix of the .a file | 
|  | - Example unifex | 
|  | ``` | 
|  | libs.unifex.name=libunifex | 
|  | libs.unifex.versions=trunk | 
|  | libs.unifex.staticliblink=unifex | 
|  | libs.unifex.versions.trunk.version=trunk | 
|  | libs.unifex.versions.trunk.path=/opt/compiler-explorer/libs/unifex/trunk/include | 
|  | ``` | 
|  | 5. If a config header file has been generated based on the compiler configuration, we can only maybe support this if the header does NOT include any defines about the architecture. | 
|  | 6. Send PR's | 
|  | 7. Merge the amazon.properties to main | 
|  | 8. Start library builder for the new library until no later than 00:00 UTC | 
|  | 9. Await and check libraries @ https://conan.compiler-explorer.com/libraries.html and logs @ https://conan.compiler-explorer.com/failedbuilds.html | 
|  | - These new libraries won't show up on these pages until you do https://conan.compiler-explorer.com/reinitialize and then go to https://conan.compiler-explorer.com/libraries and hit refresh | 
|  |  |