- 生成 24 个 _cfl*.vp(10327 条 extern 声明)+ _types/_enums 常量 - __init__.vp 提供 Fl/Fl_Widget/Fl_Window/Fl_Button/Fl_Input/Fl_Text_Buffer/Fl_Group/Fl_Menu_Bar/Fl_Native_File_Chooser 等包装类 - 回调(Fl_Callback)按 bytes 不透明处理,菜单回调位传 t.CPtr(0) - 新增 examples/hello.vp、dialog.vp 冒烟样例,26 个 .vp 全部通过 vast parse - 内嵌 cfltk(C API 封装)与 FLTK 1.4 完整源码,构建目标 cfltk2
66 lines
1.3 KiB
Bash
66 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
COMMON_ARGS="
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
-DFLTK_USE_SYSTEM_LIBPNG=OFF
|
|
-DFLTK_USE_SYSTEM_LIBJPEG=OFF
|
|
-DFLTK_USE_SYSTEM_LIBZLIB=OFF
|
|
-DFLTK_BUILD_GL=ON
|
|
-DCFLTK_USE_OPENGL=ON
|
|
-DFLTK_BUILD_EXAMPLES=OFF
|
|
-DFLTK_BUILD_TEST=OFF
|
|
-DFLTK_OPTION_LARGE_FILE=ON
|
|
-DFLTK_BUILD_HTML_DOCS=OFF
|
|
-DFLTK_BUILD_PDF_DOCS=OFF
|
|
-DFLTK_BUILD_FLUID=OFF
|
|
-DFLTK_BUILD_FLTK_OPTIONS=OFF
|
|
"
|
|
|
|
# Linux/BSD gets these extras
|
|
LINUX_ARGS="
|
|
-DFLTK_USE_PANGO=ON
|
|
-DFLTK_GRAPHICS_CAIRO=ON
|
|
-DFLTK_USE_LIBDECOR_GTK=OFF
|
|
"
|
|
|
|
###############################################
|
|
# 3. Detect environment and configure + build #
|
|
###############################################
|
|
|
|
if [ -n "$MSYSTEM" ]; then
|
|
###########################
|
|
# MSYS2 / MinGW (Windows) #
|
|
###########################
|
|
echo "Detected MSYS2/MinGW environment..."
|
|
|
|
cmake -B bin -S . \
|
|
$COMMON_ARGS \
|
|
"$@"
|
|
|
|
elif [ "$(uname -s)" = "Darwin" ]; then
|
|
###########
|
|
# macOS #
|
|
###########
|
|
echo "Detected macOS environment..."
|
|
|
|
cmake -B bin -S . \
|
|
$COMMON_ARGS \
|
|
"$@"
|
|
|
|
else
|
|
#################################
|
|
# Linux or BSD (default branch) #
|
|
#################################
|
|
echo "Detected Linux or BSD environment..."
|
|
|
|
cmake -B bin -S . \
|
|
$COMMON_ARGS \
|
|
$LINUX_ARGS \
|
|
"$@"
|
|
fi
|
|
|
|
cmake --build bin --parallel --config Release
|
|
cmake --install bin --config Release
|