Thanks Pierre. I will give these a shot. I will see if I can get a
clean up version of them too. I would really like to have a simple
STATIC_VIEWER_BUILD=ON type option I could set... We will see how
much time I have and how much cmake I can pick up... Really trying
to replace the X11 viewer on OSX. Ran into some keyboard and mouse
quirks so I may be trying to dig into that instead though. Robert On 06/21/2011 03:54 AM, Pierre Ossman wrote: On Mon, 20 Jun 2011 18:06:31 -0400 Robert Goley <rago...@rdasys.com> wrote:I am trying to build new viewer using only static libs or at least static for all libs not in the base OS. I am trying to do this in Snow Leopard and will be doing it in linux soon. I know DRC has done this because his builds have had gnutls statically linked in. I am trying to do this for libintl. It is the only lib not in the base OS that is dynamically linked according to otool -L. Normally, I would poke -static into LDFLAGS in appropriate places but I am unfamiliar with cmake. Can anyone give me a couple pointers on this? I want to end up with gnutls, gettext, and fltk linked in statically. I am sure this would be a semi common build type for others as well.Not being a CMake expert myself either, I took the easy way out and modified the build definitions in our local copy of TigerVNC. This entails: a) common/rfb/CMakeLists.txt: set(JPEG_LIBRARIES libjpeg.a gcc) b) common/rdr/CMakeLists.txt: if(WIN32) set(ZLIB_LIBRARIES libz.a) endif() c) vncviewer/CMakeLists.txt: #target_link_libraries(vncviewer rfb network rdr os Xregion ${FLTK_LIBRARIES} ${GETTEXT_LIBRARIES}) target_link_libraries(vncviewer -nodefaultlibs rfb network rdr os Xregion) if(APPLE) target_link_libraries(vncviewer "-framework Carbon" "-framework Cocoa" "-framework ApplicationServices") endif() target_link_libraries(vncviewer -Wl,-Bstatic ${FLTK_BASE_LIBRARY} -Wl,-Bdynamic) if(WIN32) target_link_libraries(vncviewer -Wl,-Bstatic ${GETTEXT_LIBRARIES} ${ICONV_LIBRARIES} -Wl,-Bdynamic) elseif(APPLE) target_link_libraries(vncviewer -Wl,-Bstatic ${GETTEXT_LIBRARIES} -Wl,-Bdynamic ${ICONV_LIBRARIES}) else() if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") target_link_libraries(vncviewer ${X11_Xcursor_LIB} ${X11_Xfixes_LIB} Xft Xext) else() target_link_libraries(vncviewer -Wl,-Bstatic ${X11_Xcursor_LIB} ${X11_Xfixes_LIB} Xft fontconfig expat freetype Xrender Xext -Wl,-Bdynamic) endif() target_link_libraries(vncviewer X11 m) endif() target_link_libraries(vncviewer libstdc++.a gcc gcc_eh) if(WIN32) target_link_libraries(vncviewer ws2_32 comctl32 mingw32 moldname mingwex msvcrt kernel32 gcc) else() target_link_libraries(vncviewer c) endif() Cleaned up versions that we can put upstream are welcome. :) Rgds --
Robert Goley
![]() FOSS Implementation Specialist Toll Free: (800) 338-4984 Local: (770) 479-7933 Fax: (770) 479-4076 www.openrda.com America's only Free & Open Source fund accounting software company. |
------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________ Tigervnc-devel mailing list Tigervnc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tigervnc-devel