5959fi
6060
6161# ##################################################################################################################
62- # Move into Z3 dir
62+ # Move into Z3 dir, create build folder, and move into build folder
6363# ##################################################################################################################
6464cd " $Z3_DIR "
65+ mkdir -p " $BUILD_DIR "
66+ cd " $BUILD_DIR "
6567
6668# ##################################################################################################################
67- # Run python config script
69+ # Configure build system
6870# ##################################################################################################################
6971echo " "
70- echo " [INFO] Attempting to bootstrap build via 'python' "
72+ echo " [INFO] Attempting to configure build system "
7173echo " "
72- if [[ " $PLATFORM " == " win32" ]]; then
73- python scripts/mk_make.py --staticlib --single-threaded -x
74- elif [[ " $PLATFORM " == " darwin" || " $PLATFORM " == " linux" ]]; then
75- python scripts/mk_make.py --staticlib --single-threaded
76- else
77- echo " "
78- echo " [ERROR] : Unrecognized platform"
79- echo " "
80- exit 1
81- fi
8274
83- # ##################################################################################################################
84- # Move into build folder
85- # ##################################################################################################################
86- cd " $BUILD_DIR "
75+ cmake -G " Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DZ3_BUILD_LIBZ3_SHARED=false ../
8776
8877# ##################################################################################################################
8978# Run 'make'
9079# ##################################################################################################################
9180echo " "
92- echo " [INFO] Attempting to run build via 'make' "
81+ echo " [INFO] Attempting build"
9382echo " "
94- if [[ " $OSTYPE " == " msys" ]]; then
95- nmake
96- elif [[ " $OSTYPE " == " darwin" * ]]; then
97- # Mac, use 'sysctl -n hw.logicalcpu' to get number of logical cores
98- make -j$( sysctl -n hw.logicalcpu)
83+ if [[ " $PLATFORM " == " win32" ]]; then
84+ cmake --build . -- -m:" $NUMBER_OF_PROCESSORS "
85+ elif [[ " $PLATFORM " == " darwin" ]]; then
86+ cmake --build . -- -j$( sysctl -n hw.logicalcpu)
87+ elif [[ " $PLATFORM " == " linux" ]]; then
88+ cmake --build . --config Release -- -j$( nproc)
9989else
100- # Linux, use nproc to get number of logical cores.
101- make -j$( nproc)
90+ echo " "
91+ echo " [ERROR] Unrecognized platform encountered while attempting to build"
92+ echo " "
93+ exit 1
10294fi
10395
10496# ##################################################################################################################
@@ -118,16 +110,28 @@ mkdir -p "$ARCHIVE_BIN_DIR"
118110echo " "
119111echo " [INFO] Copying build files into archive"
120112echo " "
113+
121114# Copy license
122115echo " - Copying LICENSE"
123116cp " $Z3_DIR /LICENSE.txt" " $ARCHIVE_DIR "
117+
124118# Copy lib
125- echo " - Copying libz3.a"
126- cp " $BUILD_DIR /libz3.a" " $ARCHIVE_BIN_DIR "
119+ echo " - Copying libz3"
120+ if [[ " $PLATFORM " == " win32" ]]; then
121+ cp " $BUILD_DIR /libz3.lib" " $ARCHIVE_BIN_DIR "
122+ elif [[ " $PLATFORM " == " darwin" || " $PLATFORM " == " linux" ]]; then
123+ cp " $BUILD_DIR /libz3.a" " $ARCHIVE_BIN_DIR "
124+ else
125+ echo " "
126+ echo " [ERROR] Unrecognized platform encountered while copying libz3"
127+ echo " "
128+ exit 1
129+ fi
130+
127131# Copy headers
128132# I chose these headers bc that is what the official build provides.
129133echo " - Copying header files"
130- cp " $Z3_DIR /src/util/z3_version.h" " $ARCHIVE_INCLUDE_DIR "
134+ cp " $Z3_DIR /build/ src/util/z3_version.h" " $ARCHIVE_INCLUDE_DIR "
131135cp " $Z3_DIR /src/api/z3_v1.h" " $ARCHIVE_INCLUDE_DIR "
132136cp " $Z3_DIR /src/api/z3_spacer.h" " $ARCHIVE_INCLUDE_DIR "
133137cp " $Z3_DIR /src/api/z3_rcf.h" " $ARCHIVE_INCLUDE_DIR "
@@ -141,3 +145,6 @@ cp "$Z3_DIR/src/api/z3_api.h" "$ARCHIVE_INCLUDE_DIR"
141145cp " $Z3_DIR /src/api/z3_algebraic.h" " $ARCHIVE_INCLUDE_DIR "
142146cp " $Z3_DIR /src/api/z3.h" " $ARCHIVE_INCLUDE_DIR "
143147cp " $Z3_DIR /src/api/c++/z3++.h" " $ARCHIVE_INCLUDE_DIR "
148+
149+ # ##################################################################################################################
150+ # ##################################################################################################################
0 commit comments