Pārlūkot izejas kodu

Fix BUILD_STATIC on MinGW and document the feature


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4683 3789f03b-4d11-0410-bbf8-ca57d06f2519
tags/v1.1.90
DRC pirms 12 gadiem
vecāks
revīzija
e4e604f6ff
2 mainītis faili ar 19 papildinājumiem un 14 dzēšanām
  1. 11
    11
      BUILDING.txt
  2. 8
    3
      CMakeLists.txt

+ 11
- 11
BUILDING.txt Parādīt failu

@@ -211,8 +211,8 @@ will clean both the Xvnc and vncviewer builds without destroying any of the
build configuration or module dependencies.


Building the TigerVNC Viewer/Server with Visual C++ (Command Line)
------------------------------------------------------------------
Building the Windows TigerVNC Viewer/Server with Visual C++ (Command Line)
--------------------------------------------------------------------------

cd {build_directory}
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release [additional CMake flags] {source_directory}
@@ -222,8 +222,8 @@ This will build either a 32-bit or a 64-bit version of TigerVNC, depending
on which version of cl.exe is in the PATH.


Building the TigerVNC Viewer/Server with Visual C++ (IDE)
---------------------------------------------------------
Building the Windows TigerVNC Viewer/Server with Visual C++ (IDE)
-----------------------------------------------------------------

Choose the appropriate CMake generator option for your version of Visual Studio
(run "cmake" with no arguments for a list of available generators.) For
@@ -237,8 +237,8 @@ configurations in that project ("Debug", "Release", etc.) to generate a full
build of TigerVNC.


Building the TigerVNC Viewer with MinGW
---------------------------------------
Building the Windows TigerVNC Viewer with MinGW
-----------------------------------------------

cd {build_directory}
cmake -G "MSYS Makefiles" [additional CMake flags] {source_directory}
@@ -256,13 +256,13 @@ NMake, remove "-DCMAKE_BUILD_TYPE=Release" (Debug builds are the default with
NMake.)


Self-Contained MinGW Build
--------------------------
Self-Contained GCC Build
------------------------

If TigerVNC is built using MinGW, then it may depend on the MinGW libgcc DLL.
To eliminate this dependency, add
If TigerVNC is built using GCC (including MinGW), then it may depend on the
libgcc or libstdc++ dynamic libraries. To eliminate this dependency, add

-DCMAKE_C_FLAGS=-static-libgcc -DCMAKE_CXX_FLAGS=-static-libgcc
-DBUILD_STATIC=1

to the CMake command line.


+ 8
- 3
CMakeLists.txt Parādīt failu

@@ -134,14 +134,19 @@ if(CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE AND NOT CYGWIN)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/staticlib)
execute_process(COMMAND ${CMAKE_COMMAND} -E remove
${CMAKE_BINARY_DIR}/staticlib/libstdc++.a)
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
${LIBSTDCPLUSPLUS} ${CMAKE_BINARY_DIR}/staticlib/libstdc++.a)
if(MINGW)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy
${LIBSTDCPLUSPLUS} ${CMAKE_BINARY_DIR}/staticlib/libstdc++.a)
else()
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
${LIBSTDCPLUSPLUS} ${CMAKE_BINARY_DIR}/staticlib/libstdc++.a)
endif()
set(CMAKE_EXE_LINKER_FLAGS
"${CMAKE_EXE_LINKER_FLAGS} -L${CMAKE_BINARY_DIR}/staticlib")
set(CMAKE_SHARED_LINKER_FLAGS
"${CMAKE_SHARED_LINKER_FLAGS} -L${CMAKE_BINARY_DIR}/staticlib")
else()
message(WARNING Cannot find static libstdc++. VirtualGL will depend on dynamic libstdc++.)
message(WARNING Cannot find static libstdc++. TigerVNC will depend on dynamic libstdc++.)
endif()
add_definitions(-static-libgcc)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc")

Notiek ielāde…
Atcelt
Saglabāt