Browse Source

Added MSVC support to Jamfile

Paul-Louis Ageneau 5 years ago
parent
commit
d8ab5b4820
1 changed files with 56 additions and 7 deletions
  1. 56 7
      Jamfile

+ 56 - 7
Jamfile

@@ -45,7 +45,16 @@ alias usrsctp
     : # no default build
     : # usage requirements
     <include>./deps/usrsctp/usrsctplib
-	<library>libusrsctp.a
+    <library>libusrsctp.a
+    ;
+
+alias usrsctp
+    : # no sources
+    : <toolset>msvc
+    : # no default build
+    : # usage requirements
+    <include>./deps/usrsctp/usrsctplib
+    <library>libusrsctp.lib
     ;
 
 alias juice
@@ -54,32 +63,72 @@ alias juice
     : # no default build
     : # usage requirements
     <include>./deps/libjuice/include
-	<library>libjuice.a
+    <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)
+    (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.a : : @make_libjuice ;
+make libjuice-static.a : : @make_libjuice ;
+make libjuice-static.lib : : @make_libjuice_msvc ;
 
 rule make_libjuice ( targets * : sources * : properties * )
 {
 	if <crypto>gnutls in $(properties)
 	{
-		MAKEOPTS on $(targets) = "USE_NETTLE=1" ;
+		CMAKEOPTS on $(targets) = "-D USE_NETTLE=1" ;
 	}
 	else
 	{
-		MAKEOPTS on $(targets) = "USE_NETTLE=0" ;
+		CMAKEOPTS on $(targets) = "-D USE_NETTLE=0" ;
 	}
 }
 actions make_libjuice
 {
-	(cd $(CWD)/deps/libjuice && cmake -B build -D CMAKE_C_FLAGS="-fPIC" && cd build && make -j2 juice-static)
+    (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 -D CMAKE_C_FLAGS="-fPIC" $(CMAKEOPTS) \
+        && cd build && make -j2 juice-static)
+    cp $(CWD)/deps/libjuice/build/libjuice-static.lib $(<)
+}