Files
libdatachannel/Jamfile
Paul-Louis Ageneau 98f02c5195 Fixed Jamfile
2020-06-20 21:09:33 +02:00

127 lines
3.1 KiB
Plaintext

import feature : feature ;
project libdatachannel ;
path-constant CWD : . ;
lib libdatachannel
: # sources
[ glob ./src/*.cpp ]
: # requirements
<cxxstd>17
<include>./include/rtc
<define>USE_JUICE=1
<define>RTC_ENABLE_MEDIA=0
<define>RTC_ENABLE_WEBSOCKET=0
<library>/libdatachannel//usrsctp
<library>/libdatachannel//juice
<library>/libdatachannel//plog
: # default build
<link>static
: # usage requirements
<include>./include
<library>/libdatachannel//plog
<toolset>gcc:<cxxflags>"-pthread -Wno-pedantic -Wno-unused-parameter -Wno-unused-variable"
<toolset>clang:<cxxflags>"-pthread -Wno-pedantic -Wno-unused-parameter -Wno-unused-variable"
;
feature gnutls : off on : composite propagated ;
feature.compose <gnutls>off
: <define>USE_GNUTLS=0 ;
feature.compose <gnutls>on
: <define>USE_GNUTLS=1 ;
alias plog
: # no sources
: # no build requirements
: # no default build
: # usage requirements
<include>./deps/plog/include
;
alias usrsctp
: # no sources
: # no build requirements
: # no default build
: # usage requirements
<include>./deps/usrsctp/usrsctplib
<library>libusrsctp.a
;
alias usrsctp
: # no sources
: <toolset>msvc
: # no default build
: # usage requirements
<include>./deps/usrsctp/usrsctplib
<library>libusrsctp.lib
;
alias juice
: # no sources
: # no build requirements
: # no default build
: # usage requirements
<include>./deps/libjuice/include
<library>libjuice-static.a
;
alias juice
: # no sources
: <toolset>msvc
: # no default build
: # usage requirements
<include>./deps/libjuice/include
<library>libjuice-static.lib
;
make libusrsctp.a : : @make_libusrsctp ;
make libusrsctp.lib : : @make_libusrsctp_msvc ;
actions make_libusrsctp
{
(cd $(CWD)/deps/usrsctp && cmake -B build -D CMAKE_C_FLAGS="-fPIC" && cd build && make -j2 usrsctplib-static)
cp $(CWD)/deps/usrsctp/build/usrsctplib/libusrsctp.a $(<)
}
actions make_libusrsctp_msvc
{
(cd $(CWD)/deps/usrsctp && cmake -B build -G "NMake Makefiles" && cd build && nmake usrsctplib-static)
cp $(CWD)/deps/usrsctp/build/usrsctplib/libusrsctp.lib $(<)
}
make libjuice-static.a : : @make_libjuice ;
make libjuice-static.lib : : @make_libjuice_msvc ;
rule make_libjuice ( targets * : sources * : properties * )
{
if <crypto>gnutls in $(properties)
{
CMAKEOPTS on $(targets) = "-D USE_NETTLE=1" ;
}
else
{
CMAKEOPTS on $(targets) = "-D USE_NETTLE=0" ;
}
}
actions make_libjuice
{
(cd $(CWD)/deps/libjuice && cmake -B build -D CMAKE_C_FLAGS="-fPIC" $(CMAKEOPTS) && cd build && make -j2 juice-static)
cp $(CWD)/deps/libjuice/build/libjuice-static.a $(<)
}
rule make_libjuice_msvc ( targets * : sources * : properties * )
{
if <crypto>gnutls in $(properties)
{
CMAKEOPTS on $(targets) = "-D USE_NETTLE=1" ;
}
else
{
CMAKEOPTS on $(targets) = "-D USE_NETTLE=0" ;
}
}
actions make_libjuice_msvc
{
(cd $(CWD)/deps/libjuice && cmake -B build -G "NMake Makefiles" $(CMAKEOPTS) && cd build && nmake juice-static)
cp $(CWD)/deps/libjuice/build/libjuice-static.lib $(<)
}