------------------------------------------------
The following procedure will build the TigerVNC Viewer on Linux and Unix
-systems. On 64-bit systems, this will build a 64-bit version of TigerVNC. See
-"Build Recipes" for specific build instructions for building a 32-bit version
-of TigerVNC on 64-bit systems.
+systems.
cd {build_directory}
cmake -G "Unix Makefiles" [additional CMake flags] {source_directory}
Create Macintosh disk image file that contains an application bundle of the
TigerVNC Viewer
-make udmg
-
- On 64-bit OS X systems, this creates a version of the Macintosh package and
- disk image which contains universal i386/x86-64 binaries. You should first
- configure a 32-bit out-of-tree build of TigerVNC, then configure a 64-bit
- out-of-tree build, then run 'make udmg' from the 64-bit build directory. The
- build system will look for the 32-bit build under {source_directory}/osxx86
- by default, but you can override this by setting the OSX_X86_BUILD CMake
- variable to the directory containing your configured 32-bit build. Either
- the 64-bit or 32-bit build can be configured to be backward compatible by
- using the instructions in the "Build Recipes" section.
-
Windows
-------
=============
-32-bit Build on 64-bit Linux/Unix (including OS X)
---------------------------------------------------
-
-Set the following environment variables before building TigerVNC.
-
- CFLAGS='-O3 -m32'
- CXXFLAGS='-O3 -m32'
- LDFLAGS=-m32
-
-If you are building the TigerVNC Server on a modern Unix/Linux system, then
-you will also need to pass the appropriate --host argument when configuring the
-X server source (for instance, --host=i686-pc-linux-gnu).
-
-
-64-bit Backward-Compatible Build on 64-bit OS X
------------------------------------------------
-
-Add
-
- -DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.5.sdk \
- -DCMAKE_OSX_DEPLOYMENT_TARGET=10.5
-
-to the CMake command line. The OS X 10.5 SDK must be installed.
-
-
-32-bit Backward-Compatible Build on 64-bit OS X
------------------------------------------------
-
-Set the following environment variables:
-
- CC=gcc-4.0
- CXX=g++-4.0
- CFLAGS='-O3 -m32'
- CXXFLAGS='-O3 -m32'
- LDFLAGS=-m32
-
-and add
-
- -DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.4u.sdk \
- -DCMAKE_OSX_DEPLOYMENT_TARGET=10.4
-
-to the CMake command line. The OS X 10.4 SDK must be installed.
-
-
-64-bit MinGW Build on Cygwin
-----------------------------
+MinGW Build on Cygwin
+---------------------
cd {build_directory}
CC=/usr/bin/x86_64-w64-mingw32-gcc CXX=/usr/bin/x86_64-w64-mingw32-g++ \
-DCMAKE_RANLIB=/usr/bin/x86_64-w64-mingw32-ranlib {source_directory}
make
-This produces a 64-bit build of TigerVNC that does not depend on cygwin1.dll or
+This produces a build of TigerVNC that does not depend on cygwin1.dll or
other Cygwin DLL's. The mingw64-x86_64-gcc-core and mingw64-x86_64-gcc-g++
packages (and their dependencies) must be installed.
-32-bit MinGW Build on Cygwin
-----------------------------
-
- cd {build_directory}
- CC=/usr/bin/i686-w64-mingw32-gcc CXX=/usr/bin/i686-w64-mingw32-g++ \
- RC=/usr/bin/i686-w64-mingw32-windres \
- cmake -G "Unix Makefiles" -DCMAKE_SYSTEM_NAME=Windows \
- -DDCMAKE_AR=/usr/bin/i686-w64-mingw32-ar \
- -DCMAKE_RANLIB=/usr/bin/i686-w64-mingw32-ranlib {source_directory}
- make
-
-This produces a 32-bit build of TigerVNC that does not depend on cygwin1.dll or
-other Cygwin DLL's. The mingw64-i686-gcc-core and mingw64-i686-gcc-g++
-packages (and their dependencies) must be installed.
-
-
MinGW-w64 Build on Windows
--------------------------
-This produces a 64-bit build of TigerVNC using the "native" MinGW-w64 toolchain
+This produces a build of TigerVNC using the "native" MinGW-w64 toolchain
(which is faster than the Cygwin version):
cd {build_directory}
--------------------
cd {build_directory}
- CC={mingw_binary_path}/i386-mingw32-gcc \
- CXX={mingw_binary_path}/i386-mingw32-g++ \
- RC={mingw_binary_path}/i386-mingw32-windres \
+ CC={mingw_binary_path}/x86_64-w64-mingw32-gcc \
+ CXX={mingw_binary_path}/x86_64-w64-mingw32-g++ \
+ RC={mingw_binary_path}/x86_64-w64-mingw32-windres \
cmake -G "Unix Makefiles" -DCMAKE_SYSTEM_NAME=Windows \
- -DCMAKE_AR={mingw_binary_path}/i386-mingw32-ar \
- -DCMAKE_RANLIB={mingw_binary_path}/i386-mingw32-ranlib \
+ -DCMAKE_AR={mingw_binary_path}/x86_64-w64-mingw32-ar \
+ -DCMAKE_RANLIB={mingw_binary_path}/x86_64-w64-mingw32-ranlib \
{source_directory}
make
add_definitions(-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0)
endif()
-if(CMAKE_SIZEOF_VOID_P MATCHES 8)
- message(STATUS "64-bit build")
-else()
- message(STATUS "32-bit build")
-endif()
-
# MinGW64 has header support but no library support for IActiveDesktop, so we
# need to check for both the header and library and use our own implementation
# in common/os if either doesn't exist.
if(APPLE)
-set(DEFAULT_OSX_X86_BUILD ${CMAKE_SOURCE_DIR}/osxx86)
-set(OSX_X86_BUILD ${DEFAULT_OSX_X86_BUILD} CACHE PATH
- "Directory containing 32-bit OS X build to include in universal binaries (default: ${DEFAULT_OSX_X86_BUILD})")
-
configure_file(makemacapp.in makemacapp)
configure_file(Info.plist.in Info.plist)
DEPENDS vncviewer
SOURCES makemacapp)
-add_custom_target(udmg sh makemacapp universal
- DEPENDS vncviewer
- SOURCES makemacapp)
-
endif() # APPLE
usage()
{
- echo "$0 [universal]"
+ echo "$0"
exit 1
}
BUILD=@BUILD@
SRCDIR=@CMAKE_SOURCE_DIR@
BINDIR=@CMAKE_BINARY_DIR@
-BUILDDIR32=@OSX_X86_BUILD@
-if [ $# -gt 0 ]; then
- if [ "$1" = "universal" ]; then
- UNIVERSAL=1
- fi
-fi
cd $BINDIR
mkdir -p "$APPROOT/Contents/Resources"
install -m 755 vncviewer/vncviewer "$APPROOT/Contents/MacOS/TigerVNC Viewer"
-if [ $UNIVERSAL = 1 ]; then
- if [ ! -d $BUILDDIR32 ]; then
- echo ERROR: 32-bit build directory $BUILDDIR32 does not exist
- exit 1
- fi
- if [ ! -f $BUILDDIR32/Makefile ]; then
- echo ERROR: 32-bit build directory $BUILDDIR32 is not configured
- exit 1
- fi
- pushd $BUILDDIR32
- make
- popd
- lipo -create -arch i386 $BUILDDIR32/vncviewer/vncviewer -arch x86_64 \
- "$APPROOT/Contents/MacOS/TigerVNC Viewer" \
- -output "$APPROOT/Contents/MacOS/TigerVNC Viewer"
-fi
install -m 644 $SRCDIR/release/tigervnc.icns "$APPROOT/Contents/Resources/"
install -m 644 release/Info.plist "$APPROOT/Contents/"
[Setup]
#ifdef WIN64
ArchitecturesInstallIn64BitMode=x64
-AppName=TigerVNC 64-bit
-AppVerName=TigerVNC 64-bit @VERSION@ (@BUILD@)
-#else
-AppName=TigerVNC
-AppVerName=TigerVNC v@VERSION@ (@BUILD@)
#endif
+AppName=TigerVNC
+AppVerName=TigerVNC @VERSION@ (@BUILD@)
AppVersion=@VERSION@
AppPublisher=TigerVNC project
AppPublisherURL=https://tigervnc.org
DefaultDirName={pf}\TigerVNC
-#ifdef WIN64
-DefaultGroupName=TigerVNC 64-bit
-#else
DefaultGroupName=TigerVNC
-#endif
LicenseFile=@CMAKE_SOURCE_DIR@\LICENCE.TXT
[Files]
[Setup]
#ifdef WIN64
ArchitecturesInstallIn64BitMode=x64
-AppName=TigerVNC Server 64-bit
-AppVerName=TigerVNC Server 64-bit @VERSION@ (@BUILD@)
-#else
+#endif
AppName=TigerVNC Server
AppVerName=TigerVNC Server v@VERSION@ (@BUILD@)
-#endif
AppVersion=@VERSION@
AppPublisher=TigerVNC project
AppPublisherURL=https://tigervnc.org
DefaultDirName={pf}\TigerVNC Server
-#ifdef WIN64
-DefaultGroupName=TigerVNC Server 64-bit
-#else
DefaultGroupName=TigerVNC Server
-#endif
LicenseFile=@CMAKE_SOURCE_DIR@\LICENCE.TXT
[Dirs]
// encodings, so we need to make sure we get a fresh string every
// time.
snprintf(buffer, sizeof(buffer),
- _("TigerVNC Viewer %d-bit v%s\n"
+ _("TigerVNC Viewer v%s\n"
"Built on: %s\n"
"Copyright (C) 1999-%d TigerVNC Team and many others (see README.rst)\n"
"See https://www.tigervnc.org for information on TigerVNC."),
- (int)sizeof(size_t)*8, PACKAGE_VERSION,
- BUILD_TIMESTAMP, 2022);
+ PACKAGE_VERSION, BUILD_TIMESTAMP, 2022);
return buffer;
}
BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", "TigerVNC Project\0"
- #ifdef WIN64
- VALUE "FileDescription", "TigerVNC Client for Win64\0"
- VALUE "ProductName", "TigerVNC Client for Win64\0"
- #else
- VALUE "FileDescription", "TigerVNC Client for Win32\0"
- VALUE "ProductName", "TigerVNC Client for Win32\0"
- #endif
+ VALUE "FileDescription", "TigerVNC Client\0"
+ VALUE "ProductName", "TigerVNC Client\0"
VALUE "FileVersion", "@RCVERSION@\0"
VALUE "InternalName", "vncviewer\0"
VALUE "LegalCopyright", "Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst)\0"
BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", "TigerVNC Project\0"
- #ifdef WIN64
- VALUE "FileDescription", "TigerVNC Server for Win64\0"
- VALUE "ProductName", "TigerVNC Server for Win64\0"
- #else
- VALUE "FileDescription", "TigerVNC Server for Win32\0"
- VALUE "ProductName", "TigerVNC Server for Win32\0"
- #endif
+ VALUE "FileDescription", "TigerVNC Server\0"
+ VALUE "ProductName", "TigerVNC Server\0"
VALUE "FileVersion", __RCVERSIONSTR
VALUE "InternalName", "winvnc\0"
VALUE "LegalCopyright", "Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst)\0"
BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", "TigerVNC Project\0"
- #ifdef WIN64
- VALUE "FileDescription", "TigerVNC Server Hooking DLL for Win64\0"
- VALUE "ProductName", "TigerVNC Server Hooking DLL for Win64\0"
- #else
- VALUE "FileDescription", "TigerVNC Server Hooking DLL for Win32\0"
- VALUE "ProductName", "TigerVNC Server Hooking DLL for Win32\0"
- #endif
+ VALUE "FileDescription", "TigerVNC Server Hooking DLL\0"
+ VALUE "ProductName", "TigerVNC Server Hooking DLL\0"
VALUE "FileVersion", __RCVERSIONSTR
VALUE "InternalName", "\0"
VALUE "LegalCopyright", "Copyright (C) 1999-2005 [many holders]\0"