Search code examples
linkerbjam

Add -L to project in bjam


I have boost_iostreams in my project and it depends on bzip2 and zlib. Hence running

export LIBRARY_PATH=/apps/bzip2/lib:/apps/zlib/lib

and then running bjam link=static works.

Is there a way to set this in the Jamroot, so that the environment variable is not needed ?

Current Jamroot :

project infracore
        : requirements
          <include>$(PROJECT_ROOT)_install
          <include>$(BOOST_INCLUDE_BASE)
          <include>$(BZIP2_INCLUDE_BASE)
          <library>/boost/filesystem//boost_filesystem
          <library>/boost/system//boost_system
          <library>/boost/date_time//boost_date_time
          <library>/boost/iostreams//boost_iostreams
          <variant>debug:<inlining>off
          <variant>debug:<debug-symbols>on
          <variant>debug:<optimization>off
          <variant>debug:<warnings>on
          <variant>release:<warnings>on
          <link>static
        ;

# Libraries
build-project UtilsCode ;
build-project ProfilerCode ;
build-project CommonDataStructuresCode ;
build-project Math ;

# Executibles
build-project fixfast ;
build-project Tools ;
build-project RiskConsole ; #u2ic

Solution

  • Try this:

    <library-path>/apps/bzip2/lib
    <library-path>/apps/zlib/lib