Beginnings of enabling static builds. Still to do:
authorjmayer <jmayer@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 17 Nov 2009 11:58:36 +0000 (11:58 +0000)
committerjmayer <jmayer@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 17 Nov 2009 11:58:36 +0000 (11:58 +0000)
* Add -static
* Registration may need different handling
* Add plugins
* Build error in wslua

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@30987 f5534014-38df-0310-8fa8-9805f1628bb7

20 files changed:
CMakeLists.txt
epan/CMakeLists.txt
plugins/asn1/CMakeLists.txt
plugins/docsis/CMakeLists.txt
plugins/ethercat/CMakeLists.txt
plugins/giop/CMakeLists.txt
plugins/gryphon/CMakeLists.txt
plugins/irda/CMakeLists.txt
plugins/m2m/CMakeLists.txt
plugins/mate/CMakeLists.txt
plugins/opcua/CMakeLists.txt
plugins/profinet/CMakeLists.txt
plugins/sercosiii/CMakeLists.txt
plugins/stats_tree/CMakeLists.txt
plugins/tpg/CMakeLists.txt
plugins/unistim/CMakeLists.txt
plugins/wimax/CMakeLists.txt
plugins/wimaxasncp/CMakeLists.txt
wiretap/CMakeLists.txt
wsutil/CMakeLists.txt

index 2e32035f9f46bb205d438cbffc54ef07f0990a74..8e5848f59eb291f475672712939e73a38a8e3f32 100644 (file)
@@ -36,8 +36,6 @@ INCLUDE(UseMakeTapReg)
 # Disable this later. Alternative: "make VERBOSE=1"
 set(CMAKE_VERBOSE_MAKEFILE ON)
 
-set(BUILD_SHARED_LIBS ON)
-
 #Defines CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_DATADIR, etc ...
 include(CMakeInstallDirs)
 
@@ -71,8 +69,7 @@ option(AUTOGEN_pidl      "Autogenerate pidl dissectors" OFF)
 option(DISABLE_WERROR   "Do not treat Warnings as errors" OFF)
 option(ENABLE_EXTRA_GCC_CHECKS "Do additional -W checks in GCC (disables -Werror)" OFF)
 option(ENABLE_AIRPCAP   "Enable Airpcap support" ON)
-# todo
-option(ENABLE_STATIC     "Build a static version of Wireshark (not implemented)" OFF)
+option(ENABLE_STATIC     "Build a static version of Wireshark (not yet working)" OFF)
 option(ENABLE_PLUGINS    "Build with plugins" ON)
 # todo
 option(ENABLE_GUIDES     "Build Guides (not yet implemented)" OFF)
@@ -183,6 +180,13 @@ endif()
 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhopr])
 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhole-program])
 
+if(ENABLE_STATIC)
+  set(LINK_MODE_LIB STATIC)
+  set(LINK_MODE_MODULE STATIC)
+else()
+  set(LINK_MODE_LIB SHARED)
+  set(LINK_MODE_MODULE MODULE)
+endif()
 
 #The minimum package list
 set(PACKAGELIST GLIB2 PCAP M LEX YACC Perl SH PythonInterp HtmlViewer ${PACKAGELIST})
index d452f423c838dfea715a1c47c12932d73ade4b32..42692d6f68d155e17c9c3aaa3aba8015b33bd0ab 100644 (file)
@@ -1253,7 +1253,7 @@ if (WERROR)
         )
 endif()
 
-add_library(epan SHARED
+add_library(epan ${LINK_MODE_LIB}
        # Needed to trigger build of the include files for x11
        #x11-declarations.h
        #x11-register-info.h
@@ -1279,9 +1279,11 @@ target_link_libraries(epan ${epan_LIBS})
 
 add_dependencies(epan lemon)
 
-install(TARGETS epan
-       LIBRARY DESTINATION lib
-       RUNTIME DESTINATION lib
-       ARCHIVE DESTINATION lib
-)
+if(NOT ${ENABLE_STATIC})
+       install(TARGETS epan
+               LIBRARY DESTINATION lib
+               RUNTIME DESTINATION lib
+               ARCHIVE DESTINATION lib
+       )
+endif()
 
index 7f3e526a067d20d8f321009c35ad5cb1ff31a98f..42b7a6c811d37ba363a810ac97a90a61a4e8e851 100644 (file)
@@ -58,7 +58,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(asn1 MODULE
+add_library(asn1 ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index 1f7667b64a3c58928eefc14d5faeae689d3bef3e..6894c05cf766332d69d7b1a5020948a74338257f 100644 (file)
@@ -87,7 +87,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(docsis MODULE
+add_library(docsis ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index 5c635b07d6bf8a4d0a3420e4e184da984c703a8a..8bbcddb6bcb46673a630210363e7097cdd0d2bc1 100644 (file)
@@ -59,7 +59,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(ethercat MODULE
+add_library(ethercat ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index aa2776ebd4b1bdd3665d20f3f22f5cd59686fa09..93c3fcfaa63fbf25f84a878e55e3b78d575a5518 100644 (file)
@@ -57,7 +57,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(cosnaming MODULE
+add_library(cosnaming ${LINK_MODE_MODULE}
        ${COSNAMING_SRC}
 )
 
@@ -69,7 +69,7 @@ install(TARGETS cosnaming
        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/@CPACK_PACKAGE_NAME@/plugins/${CPACK_PACKAGE_VERSION}
 )
 
-add_library(coseventcomm MODULE
+add_library(coseventcomm ${LINK_MODE_MODULE}
        ${COSEVENTCOMM_SRC}
 )
 
@@ -81,7 +81,7 @@ install(TARGETS coseventcomm
        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/@CPACK_PACKAGE_NAME@/plugins/${CPACK_PACKAGE_VERSION}
 )
 
-add_library(tango MODULE
+add_library(tango ${LINK_MODE_MODULE}
        ${TANGO_SRC}
 )
 
@@ -93,7 +93,7 @@ install(TARGETS tango
        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/@CPACK_PACKAGE_NAME@/plugins/${CPACK_PACKAGE_VERSION}
 )
 
-add_library(parlay MODULE
+add_library(parlay ${LINK_MODE_MODULE}
        ${PARLAY_SRC}
 )
 
index f138e124aa4cb6f324e08bf11ac4cd38093e15e5..1c215fe1e32e646c6caf565c9c495bb8a00a31c5 100644 (file)
@@ -53,7 +53,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(gryphon MODULE
+add_library(gryphon ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index 3efd5f84b70292d5b7158d743008cf386dbf9ff2..89d94c4e414d4a5a9f4e9bdaaff247ca5585f8d9 100644 (file)
@@ -55,7 +55,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(irda MODULE
+add_library(irda ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index 7739a79075dda26fc19d8fb05517a503d0dda595..28b85b82d57705874db7b08bc4dc47632fda9ecf 100644 (file)
@@ -58,7 +58,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(m2m MODULE
+add_library(m2m ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index e15fed641b7c3a3998dbc97147ce384ff7dd8101..2ec9f2290114922ca5d9f0ea9bd7d5e4944e7f64 100644 (file)
@@ -74,7 +74,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(mate MODULE
+add_library(mate ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index ce2acdc81e9c29a21bf6145164a1bcac8af36962..1da79d34153d097220ff054c8c2b207c0fbe061b 100644 (file)
@@ -66,7 +66,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(opcua MODULE
+add_library(opcua ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index e149c4c397b7763b1ae4f71b15db1f3fd5f88be4..6288f717a1f4332bb725357f2dfdb0e1b83e9b1d 100644 (file)
@@ -65,7 +65,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(profinet MODULE
+add_library(profinet ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index 897b0c19d22d52528a9525e004850a3f5aa09400..0d2c2e11ab6a9bf0f03779c958d015092a2ca28a 100644 (file)
@@ -64,7 +64,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(sercosiii MODULE
+add_library(sercosiii ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index a0b0c6366a51377bd502567b65f990fd4eff8b19..6011f20d133c2e8c03707fd89101eb3bc8fc670d 100644 (file)
@@ -42,7 +42,7 @@ endif()
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(stats_tree MODULE
+add_library(stats_tree ${LINK_MODE_MODULE}
        ${TAP_SRC}
 )
 
index 94728784c7bcc8255ba26ab3df86100395744576..e51ff4cc69e747fe2d3f776ae4fe7a01ba235ac1 100644 (file)
@@ -74,7 +74,7 @@ ADD_CUSTOM_COMMAND(
 # Do I need any of this or is this handled by type MODULE?
 # asn1_la_LDFLAGS = -module -avoid-version
 
-add_library(tpg MODULE
+add_library(tpg ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index 3869ff7949b7c771fdf043fa9de2d6cff32f9a60..2d865a0829392db3d95efc4215798a1e528ce1aa 100644 (file)
@@ -53,7 +53,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # unistim_la_LDFLAGS = -module -avoid-version
 
-add_library(unistim MODULE
+add_library(unistim ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index c1fb170e323c12c1190a962c9e0cf017e329acde..73a201a8312480645aa528b293b635f08fc1b0a8 100644 (file)
@@ -98,7 +98,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # wimax_la_LDFLAGS = -module -avoid-version
 
-add_library(wimax MODULE
+add_library(wimax ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index b04db01549dd6e6b1c7272b58131f8265afa1b73..33592870dfb0a2099aa60290faac2b02e8e9288f 100644 (file)
@@ -57,7 +57,7 @@ register_dissector_files(plugin.c
 # Do I need any of this or is this handled by type MODULE?
 # wimaxasncp_la_LDFLAGS = -module -avoid-version
 
-add_library(wimaxasncp MODULE
+add_library(wimaxasncp ${LINK_MODE_MODULE}
        ${PLUGIN_FILES}
 )
 
index 37e740d8cfc7a3f5ac0f0d52b27cb0d48c1a752c..b2fbbbdeeb6f5c45728da3b09e21488d036df362 100644 (file)
@@ -98,15 +98,17 @@ set(wiretap_LIBS
        wsutil
 )
 
-add_library(wiretap SHARED
+add_library(wiretap ${LINK_MODE_LIB}
        ${WIRETAP_FILES}
 )
 
 target_link_libraries(wiretap ${wiretap_LIBS})
 
-install(TARGETS wiretap
-       LIBRARY DESTINATION lib
-       RUNTIME DESTINATION lib
-       ARCHIVE DESTINATION lib
-)
+if(NOT ${ENABLE_STATIC})
+       install(TARGETS wiretap
+               LIBRARY DESTINATION lib
+               RUNTIME DESTINATION lib
+               ARCHIVE DESTINATION lib
+       )
+endif()
 
index a662ef277b6657366e7e26d68f32f3aadd8df9d6..81b9eceace0b268ed24dc9121191621043cb9753 100644 (file)
@@ -40,13 +40,17 @@ set(wsutil_LIBS
   ${GLIB2_LIBRARIES}
 )
 
-add_library(wsutil SHARED
+add_library(wsutil ${LINK_MODE_LIB}
   ${WSUTIL_FILES}
 )
 
 target_link_libraries(wsutil ${wsutil_LIBS})
 
-install(TARGETS wsutil
-    LIBRARY DESTINATION lib
-    RUNTIME DESTINATION lib
-    ARCHIVE DESTINATION lib)
+if(NOT ${ENABLE_STATIC})
+       install(TARGETS wsutil
+               LIBRARY DESTINATION lib
+               RUNTIME DESTINATION lib
+               ARCHIVE DESTINATION lib
+       )
+endif()
+