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
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_DIRandJAVA_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_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.Network security (TLS for the DEP2 protocol, certificates, signatures) uses the Windows APIs Schannel and CryptoAPI; no third-party crypto library is needed. NSS/NSPR were removed in 2026-09.
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.