In case it is helpful, here is the script I used to build all static bro (without any shared libraries)
``` cd bro mkdir buildcaf cd buildcaf cmake -DCAF_NO_UNIT_TESTS=1 -DCAF_NO_EXAMPLES=1 -DCAF_BUILD_STATIC_ONLY=1 ../aux/broker/3rdparty/caf/ make make install || true cd .. mkdir build cd build cmake -DDISABLE_PYTHON_BINDINGS=1 -DENABLE_STATIC_ONLY=1 -DCAF_ROOT_DIR=../buildcaf .. make make install ``` It needed also a small patch to bro, which comes afterwards ``` diff --git a/CMakeLists.txt b/CMakeLists.txt index 452f2834c..c8039f8da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -268,7 +268,11 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/cmake DESTINATION share/bro ## Recurse on sub-directories add_subdirectory(aux/broker) -set(brodeps ${brodeps} broker) +if (ENABLE_STATIC_ONLY) + set(brodeps ${brodeps} broker_static) +else () + set(brodeps ${brodeps} broker) +endif () include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/aux/broker ${CMAKE_CURRENT_BINARY_DIR}/aux/broker) include_directories(BEFORE ${CAF_INCLUDE_DIR_CORE}) ``` > Le 6 déc. 2018 à 19:25, Johanna Amann <joha...@icir.org> a écrit : > > Hi Craig, > > I pushed another commit to the branch that passes --build-static-only through > to CAF; if you just want the patch for that it is available at > https://github.com/zeek/broker/commit/bf03a4246113c72d10530cc0c2729a3fa6f0b046. > > (Note that repositories are currently being migrated; if you pull it from > somewhere make sure that you actually have that commit in the branch) > > Johanna > > On Thu, Dec 06, 2018 at 07:01:25AM -0800, Johanna Amann wrote: >> Hi Craig, >> >> I actually recently started working on this, however I am did not quite >> look at what you want. >> >> There already is a branch called topic/johanna/static, which now makes >> --build-static(-only) work for broker whan CAF is built statically - it >> does not yet pass the static flags through to broker; I actually wanted to >> take a look at that today. >> >> I will let you know when I make progress there :) >> >> Johanna >> >> On Wed, Dec 05, 2018 at 07:03:06PM -0800, Craig Leres wrote: >>> I've read up on cmake variable scope but I can't figure out how to build >>> bro with static libraries. The bro-bundled caf already has >>> CAF_BUILD_STATIC_ONLY which I'm pretty sure works but I'm unable to turn >>> it on when building caf as part of a bro build. >>> >>> For example I'd like is to optionally (i.e. from a -D argument to cmake >>> itself) be able to turn on CAF_BUILD_STATIC_ONLY for >>> aux/broker/3rdparty/caf/CMakeLists.txt but nothing I've tried in the top >>> level CMakeLists.txt is seen when the caf CMakeLists.txt is being evaluated. >>> >>> (I'm working on updating the FreeBSD port to 2.6 and can't install >>> things like libcaf_io.so in /usr/local/lib because they conflict with >>> libraries potentially installed by the devel/caf port.) >>> >>> Craig >>> _______________________________________________ >>> bro-dev mailing list >>> bro-dev@bro.org >>> http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev >>> >> _______________________________________________ >> bro-dev mailing list >> bro-dev@bro.org >> http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev >> > _______________________________________________ > bro-dev mailing list > bro-dev@bro.org > http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev
_______________________________________________ bro-dev mailing list bro-dev@bro.org http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev