How to build Tahiti
Tahiti is a Windows-only C++ / MFC application built with CMake and Visual Studio, out of source.
Prerequisites
Visual Studio 2015
CMake
NSPR + NSS (see below)
BCGControlBar Professional (see below)
CrashReporter (optional,
USE_CRASHREPORTER)WiX Toolset v3.10 / v3.11 and the Windows SDK scripts
WiSubStg.vbs/WiLangId.vbsfor the installer (BUILD_SETUP_WIX3)a JDK: the barcode reader (
ImageProcessing/Tasman) is compiled against the JNI headers and loads the JVM at run time
OpenCV and IPP are optional leftovers; nothing in the tree requires them.
Build steps
Copy
Scripts/build.bat.templateinto your build directory asbuild.bat.Edit the variables at the top:
BUILD_TYPE(Debug | Release | RelWithDebInfo),PLATFORM(the Visual Studio generator),TAHITI_SOURCEand the SDK pathsBUILD_BCGP_DIR,BUILD_PXCVIEW_DIR,BUILD_PDFXEDITORSDK_DIR,_NSPR_*,_NSS_*andJAVA_HOME(CMake’s FindJNI looks for the JNI headers there).WINSDK_SIGNTOOL/SIGNTOOL_PARAMETERSare needed only forSIGNCODE_ENABLED.Run
build.batto generate the solution, then build the generated.sln.
Feature toggles are -D cache options wired in the root CMakeLists.txt:
BUILD_TAHITI, BUILD_SCAN, BUILD_DAMIS, BUILD_COMPONENTS,
BUILD_MAILVIEW, BUILD_APP_PLUGINS, BUILD_TAHITISERVER, BUILD_FORMS,
BUILD_REPORTER, USE_VLD, USE_CRASHREPORTER. The former BUILD_DOC switch
(DocBook/Doxygen) was removed in 2026-09; documentation lives in this repository.
Notes:
Source files are listed explicitly in each module’s
CMakeLists.txt; there is no globbing. Adding a.cppor.halways means editing thatCMakeLists.txttoo.Externals/is vendored and built as part of the tree. Do not substitute system packages.CMake is old-style (
cmake_minimum_required(VERSION 2.8.0), uppercaseSET/IF/ENDIF). Match the surrounding style.The product version lives in the root
CMakeLists.txt(TAHITI_VERSION_MAIN/_MIDDLE/_LOWER/_MINOR). Release commits contain nothing but that bump, with the version as the commit message.Since 7.7 a single
.msiper product and architecture contains all languages; the Czech transform is embedded withWiSubStg.vbsandWiLangId.vbsfrom the Windows SDK.
Building NSPR + NSS
Download the Mozilla build tools.
Download NSS with NSPR, e.g. https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_23_RTM/src/nss-3.23-with-nspr-4.12.tar.gz
Run the Mozilla build tools shell (
start-msvc10.batorstart-msvc10-x64.bat).Switch to the directory with NSS, e.g.
cd /c/toolkits/nss/nss-3.23/nss.Build:
x86 (32 bit):
make nss_build_allx64 (64 bit):
make USE_64=1 nss_build_all
For details see the Mozilla NSS build instructions and NSPR build instructions.
Building BCGControlBar Professional
Install BCG into the standard directory; nothing should be built by the installer.
Open
BCGControlBarPro\BCGCBPro\BCGCBPro100.sln.Build / Batch Build the configurations Unicode Release 32 and Unicode Release 64.
Building CrashReporter
Check out CrashReporter from the LightComp repository.
Run CMake and configure the project.
Build the generated solution.