MakeReleases.wiki - Vaa3D/Vaa3D_Wiki GitHub Wiki

After successfully compiling the Vaa3d executable (from "v3d_external") and all the plugins (from "vaa3d_tools"), follow the instructions below to build release package for Vaa3D in different platforms.

Packaging software installers in Mac and Windows often requires external packaging software to guide the installation process and organize install directories.The following solutions are temporary solutions for references.

Mac

Step 1: Build the main v3d GUI executable using CMake ( instead of qmake) to make use of the CMake scripts (to manage installed components and change the library paths to relative paths) that have been implemented. Also the CMake scripts configures the icon resource files correctly that the v3d executable displays the logo icon on the app folder and in the desktop bar. Please follow the instructions in [https://github.com/Vaa3D/Vaa3D_Wiki/wiki/Build-Vaa3d-with-CMake-for--Mac]

Step 2: Ideally, we can run "make package" to make the Mac bundle directly after step 1. However, due to the inconsistent plugin source paths ( a lot of plugins define relative paths in the pro files and the include headers in the source code), it is not straightforward to use the bundle created this way. Instead, for now, we are making a hybrid APP release folder (not a formal installer bundle) by combining the cmake-built v3d main app with the qmake-built plugins.

Please refer to the shell scripts below:

#!/bin/bash

cmake_build_dir="/Users/xiaoxiaoliu/work/src/v3d_external/build_macosx-x86_64"

qmake_build_dir="/Users/xiaoxiaoliu/work/v3d/v3d_external/bin"

package_dir="/Users/xiaoxiaoliu/Downloads/Vaa3d_V3.20_MacOSX10.9_64bit"

# update the CMake build directory:

cd $cmake_build_dir

make -j8

# copy qmake-built plugins to the CMake build older, remove empty folders

cd $qmake_build_dir

find . -type d -empty -delete

cd $cmake_build_dir/v3d/Mac_Fat/Vaa3d.app/Contents/MacOS

rm -rf plugins

cp -r $qmake_build_dir/plugins ./

# mac deploy all plugins: to change the qt dependency path

cd $cmake_build_dir

make DeployPlugins

# copy the executables and plugins into the pre-existing package folder

cp -rf $cmake_build_dir/v3d/Mac_Fat/Vaa3d.app $package_dir/

rm -rf $package_dir/plugins

cp -r $package_dir/Vaa3d.app/Contents/MacOS/plugins $package_dir/

Windows

Please refer to the following steps to build windows installer:

Step 1: Please follow the instructions [https://github.com/Vaa3D/Vaa3D_Wiki/wiki/Build-Vaa3d-in-Windows-using--CMake] to build the v3d_external source code.

  • create folder "binary_plugins" and "DEPENDENTS" under the CMake-built directory:

mkdir <....>/v3d_external/build_windows-x86_64/binary_plugins

mkdir <....>/v3d_external/build_windows-x86_64/DEPENDENTS

  • copy bioformats_tools and windows_ffmpeg.exe from previous releases to the new folder "DEPENDENTS"

Step 2: Please build the plugins in vaa3d_tools using qmake.

Step 3: Copy the qmake-built plugins from "v3d_external/bin/plugins" to "binary_plugins" folder under the CMake-built directory. From the Visual Studio interface, choose to build the "Package" project to make an installer package for windows. In the root directory of the CMake built directory, you will see an installer executable that has been packaged.

⚠️ **GitHub.com Fallback** ⚠️