Skip to content

Commit 4eda5e1

Browse files
committed
msys2 / linux cmake
1 parent a474a51 commit 4eda5e1

File tree

2 files changed

+53
-9
lines changed

2 files changed

+53
-9
lines changed

apothecary/formulas/svgtiny/svgtiny.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#
88
# uses a makeifle build system
99

10-
FORMULA_TYPES=( "linux64" "linuxarmv6l" "linuxarmv7l" "linuxaarch64" "osx" "vs" "ios" "watchos" "catos" "xros" "tvos" "android" "emscripten" "msys2" )
10+
FORMULA_TYPES=( "linux64" "linuxarmv6l" "linuxarmv7l" "linuxaarch64" "osx" "vs" "ios" "watchos" "catos" "xros" "tvos" "android" "emscripten" )
1111

1212
#dependencies
1313
FORMULA_DEPENDS=( "zlib" "libxml2" )

apothecary/formulas/zlib/zlib.sh

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ GIT_URL=https://github.com/madler/zlib/releases/download/v$VER/zlib-$VER.tar.gz
1111

1212
GIT_TAG=v$VER
1313

14-
FORMULA_TYPES=( "vs" "osx" "emscripten" "ios" "watchos" "catos" "xros" "tvos" )
14+
FORMULA_TYPES=( "vs" "osx" "emscripten" "ios" "watchos" "catos" "xros" "tvos" "msys2")
1515

1616
# download the source code and unpack it into LIB_NAME
1717
function download() {
@@ -43,7 +43,7 @@ function build() {
4343

4444
mkdir -p "build_${TYPE}_${ARCH}"
4545
cd "build_${TYPE}_${ARCH}"
46-
rm -f CMakeCache.txt *.lib *.o *.wasm
46+
rm -f CMakeCache.txt *.lib *.o *.a
4747
env CXXFLAGS="-DUSE_PTHREADS=1 ${VS_C_FLAGS} ${FLAGS_RELEASE}"
4848
cmake .. \
4949
-G "${GENERATOR_NAME}" \
@@ -102,16 +102,19 @@ function build() {
102102
mkdir -p "build_${TYPE}_${ABI}"
103103
cd "build_${TYPE}_${ABI}"
104104
rm -f CMakeCache.txt *.a *.o
105-
export CFLAGS="$CFLAGS $EXTRA_LINK_FLAGS -DNDEBUG -std=c17"
106-
export CXXFLAGS="$CFLAGS $EXTRA_LINK_FLAGS -DNDEBUG -std=c++17"
105+
export CFLAGS="$CFLAGS $EXTRA_LINK_FLAGS -DNDEBUG -std=${CPP_STANDARD}"
106+
export CXXFLAGS="$CFLAGS $EXTRA_LINK_FLAGS -DNDEBUG -std=${C_STANDARD}"
107107

108108
cmake .. ${DEFS} \
109109
-DCMAKE_TOOLCHAIN_FILE=${NDK_ROOT}/build/cmake/android.toolchain.cmake \
110110
-DPLATFORM=$PLATFORM \
111-
-DCMAKE_CXX_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE} -std=c++17" \
112-
-DCMAKE_C_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE} -std=c17" \
111+
-DCMAKE_CXX_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE} -std=${CPP_STANDARD} " \
112+
-DCMAKE_C_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE} -std=${C_STANDARD} " \
113113
-DCMAKE_C_COMPILER=${CC} \
114114
-DCMAKE_INSTALL_PREFIX=Release \
115+
-DCMAKE_C_STANDARD=${C_STANDARD} \
116+
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
117+
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
115118
-D CMAKE_CXX_COMPILER_RANLIB=${RANLIB} \
116119
-D CMAKE_C_COMPILER_RANLIB=${RANLIB} \
117120
-D CMAKE_CXX_COMPILER_AR=${AR} \
@@ -133,7 +136,7 @@ function build() {
133136
elif [ "$TYPE" == "emscripten" ] ; then
134137
mkdir -p build_$TYPE
135138
cd build_$TYPE
136-
rm -f CMakeCache.txt *.a *.o *.wasm
139+
rm -f CMakeCache.txt *.a *.o *.wasm *.js
137140
$EMSDK/upstream/emscripten/emcmake cmake .. \
138141
-DCMAKE_INSTALL_LIBDIR="build_${TYPE}" \
139142
-DCMAKE_VERBOSE_MAKEFILE=${VERBOSE_MAKEFILE} \
@@ -152,6 +155,36 @@ function build() {
152155
-DCMAKE_INSTALL_INCLUDEDIR=include
153156
cmake --build . --target install --config Release
154157
cd ..
158+
elif [ "$TYPE" == "linux" ] || [ "$TYPE" == "linux64" ] || [ "$TYPE" == "linuxaarch64" ] || [ "$TYPE" == "linuxarmv6l" ] || [ "$TYPE" == "linuxarmv7l" ] || [ "$TYPE" == "msys2" ]; then
159+
160+
echoVerbose "building $TYPE | $ARCH "
161+
echoVerbose "--------------------"
162+
mkdir -p "build_${TYPE}_${ARCH}"
163+
cd "build_${TYPE}_${ARCH}"
164+
rm -f CMakeCache.txt *.a *.o *.so
165+
DEFS="-DLIBRARY_SUFFIX=${ARCH} \
166+
-DCMAKE_BUILD_TYPE=Release \
167+
-DCMAKE_C_STANDARD=${C_STANDARD} \
168+
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
169+
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
170+
-DCMAKE_CXX_EXTENSIONS=OFF
171+
-DBUILD_SHARED_LIBS=OFF"
172+
cmake .. ${DEFS} \
173+
-DCMAKE_CXX_FLAGS="-DUSE_PTHREADS=1 -Iinclude" \
174+
-DCMAKE_C_FLAGS="-DUSE_PTHREADS=1 -Iinclude" \
175+
-DCMAKE_BUILD_TYPE=Release \
176+
-DCMAKE_INSTALL_LIBDIR="lib" \
177+
-DZLIB_BUILD_EXAMPLES=OFF \
178+
-DSKIP_EXAMPLE=ON \
179+
-DCMAKE_SYSTEM_NAME=$TYPE \
180+
-DCMAKE_SYSTEM_PROCESSOR=$ARCH \
181+
-DCMAKE_INSTALL_PREFIX=Release \
182+
-DCMAKE_INCLUDE_OUTPUT_DIRECTORY=include \
183+
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
184+
-DENABLE_VISIBILITY=OFF \
185+
-DCMAKE_INSTALL_INCLUDEDIR=include
186+
cmake --build . --config Release
187+
cd ..
155188
fi
156189
}
157190

@@ -188,7 +221,14 @@ function copy() {
188221
cp -v "build_${TYPE}/zlib_wasm.wasm" $1/lib/$TYPE/zlib.wasm
189222
. "$SECURE_SCRIPT"
190223
secure $1/lib/$TYPE/zlib.wasm
191-
224+
elif [ "$TYPE" == "linux" ] || [ "$TYPE" == "linux64" ] || [ "$TYPE" == "linuxaarch64" ] || [ "$TYPE" == "linuxarmv6l" ] || [ "$TYPE" == "linuxarmv7l" ] || [ "$TYPE" == "msys2" ]; then
225+
mkdir -p $1/include
226+
mkdir -p $1/lib/$TYPE
227+
cp -Rv "build_${TYPE}_${ARCH}/Release/include/"* $1/include/ > /dev/null 2>&1
228+
mkdir -p $1/lib/$TYPE/$ARCH/
229+
cp -v "build_${TYPE}_${ARCH}/Release/z.a" $1/lib/$TYPE/$PLATFORM/zlib.a > /dev/null 2>&1
230+
. "$SECURE_SCRIPT"
231+
secure $1/lib/$TYPE/$PLATFORM/zlib.a
192232
else
193233
make install
194234
fi
@@ -219,6 +259,10 @@ function clean() {
219259
if [ -d "build_${TYPE}" ]; then
220260
rm -r build_${TYPE}
221261
fi
262+
elif [ "$TYPE" == "linux" ] || [ "$TYPE" == "linux64" ] || [ "$TYPE" == "linuxaarch64" ] || [ "$TYPE" == "linuxarmv6l" ] || [ "$TYPE" == "linuxarmv7l" ] || [ "$TYPE" == "msys2" ]; then
263+
f [ -d "build_${TYPE}_${ARCH}" ]; then
264+
rm -r build_${TYPE}_${ARCH}
265+
fi
222266
else
223267
make uninstall
224268
make clean

0 commit comments

Comments
 (0)