You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.8 KiB
Batchfile
77 lines
1.8 KiB
Batchfile
@echo off
|
|
chcp 65001>nul
|
|
setlocal
|
|
|
|
set "PROJECT_DIR=%~dp0"
|
|
set "BUILD_DIR=%PROJECT_DIR%build"
|
|
|
|
echo ========================================
|
|
echo Building SealProcessing project with CMake
|
|
echo ========================================
|
|
echo.
|
|
|
|
if not exist "%BUILD_DIR%" mkdir "%BUILD_DIR%"
|
|
|
|
cd /d "%BUILD_DIR%"
|
|
|
|
echo [1/3] Configuring CMake...
|
|
rem 尝试多个可能的 OpenCV 路径
|
|
set "OPENCV_PATHS=C:/msys64/mingw64/lib/cmake/opencv4;C:/mingw64/lib/cmake/opencv4;C:/opencv/build/x64/mingw/lib"
|
|
|
|
set "CMAKE_COMMAND=cmake .. -G "MinGW Makefiles""
|
|
|
|
rem 优先尝试我们指定的路径,忽略环境变量
|
|
set "FOUND_OPENCV=0"
|
|
echo Trying multiple OpenCV paths...
|
|
for %%p in (%OPENCV_PATHS%) do (
|
|
if exist "%%p" (
|
|
echo Found OpenCV at: %%p
|
|
set "CMAKE_COMMAND=%CMAKE_COMMAND% -DOpenCV_DIR="%%p""
|
|
set "FOUND_OPENCV=1"
|
|
goto :cmake_config
|
|
)
|
|
)
|
|
|
|
rem 如果没有找到,尝试使用环境变量
|
|
if %FOUND_OPENCV%==0 (
|
|
if defined OpenCV_DIR (
|
|
echo Warning: Using OpenCV_DIR from environment variable: %OpenCV_DIR%
|
|
echo This might not be compatible with MinGW.
|
|
set "CMAKE_COMMAND=%CMAKE_COMMAND% -DOpenCV_DIR="%OpenCV_DIR%""
|
|
) else (
|
|
echo Warning: No OpenCV directory found. CMake will try to find it automatically.
|
|
)
|
|
)
|
|
|
|
:cmake_config
|
|
%CMAKE_COMMAND%
|
|
if errorlevel 1 (
|
|
echo.
|
|
echo CMake configuration failed!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo [2/3] Building project...
|
|
cmake --build .
|
|
if errorlevel 1 (
|
|
echo.
|
|
echo Build failed!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo ========================================
|
|
echo Build successful!
|
|
echo ========================================
|
|
echo Executables are in: %BUILD_DIR%
|
|
echo.
|
|
echo Available targets:
|
|
echo - test_extract_seal.exe
|
|
echo - test_remove_border.exe
|
|
echo.
|
|
|
|
pause
|