<@UE75QHFRU> A part from the commit that introduce...
# general
s
@packetzero A part from the commit that introduced the third party libraries, no. But in general, the search for the libraries is driven by a find_package present in the main CMakeList.txt https://github.com/osquery/osquery/blob/e540b31fcb385d09da11c6b14d58c427d6681f40/CMakeLists.txt#L147. Above that there's a list that specifies on which platform they have to be required https://github.com/osquery/osquery/blob/e540b31fcb385d09da11c6b14d58c427d6681f40/CMakeLists.txt#L88. Libraries are organized in "layers", specified here https://github.com/osquery/osquery/blob/e540b31fcb385d09da11c6b14d58c427d6681f40/cmake/options.cmake#L81-L87. Each layer is a directory under
libraries/cmake
. If you want to add a new library built from source, you would have to add that the list in the root CMakeLists.txt, then create a folder for it with the same name under
libraries/cmake/source
. Lets say you create
libraries/cmake/source/mynewlib
, now you have to provide a way for the find_package to actually find your library; to do so you have to add a
Findmynewlib.cmake
under
libraries/cmake/source/modules
, where you specify how it has to be downloaded. Right now we use git repositories and clone submodules, but technically you can retrieve the sources as you like, though you would also have to reproduce the "wirings" that
importSourceSubmodule
do.