aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/cmake')
-rw-r--r--linden/indra/cmake/00-Common.cmake12
-rw-r--r--linden/indra/cmake/CopyWinLibs.cmake301
-rw-r--r--linden/indra/cmake/ExamplePlugin.cmake16
-rw-r--r--linden/indra/cmake/GStreamer.cmake128
-rw-r--r--linden/indra/cmake/GStreamer010Plugin.cmake62
-rw-r--r--linden/indra/cmake/Glui.cmake28
-rw-r--r--linden/indra/cmake/Glut.cmake19
-rw-r--r--linden/indra/cmake/LLAudio.cmake2
-rw-r--r--linden/indra/cmake/LLCommon.cmake13
-rw-r--r--linden/indra/cmake/LLMedia.cmake14
-rw-r--r--linden/indra/cmake/LLPlugin.cmake8
-rw-r--r--linden/indra/cmake/MediaPluginBase.cmake8
-rw-r--r--linden/indra/cmake/Mozlib.cmake47
-rw-r--r--linden/indra/cmake/OPENAL.cmake.imp115
-rw-r--r--linden/indra/cmake/PluginAPI.cmake16
-rw-r--r--linden/indra/cmake/PulseAudio.cmake28
-rw-r--r--linden/indra/cmake/QuickTimePlugin.cmake46
-rw-r--r--linden/indra/cmake/Variables.cmake1
-rw-r--r--linden/indra/cmake/WebKitLibPlugin.cmake55
19 files changed, 596 insertions, 323 deletions
diff --git a/linden/indra/cmake/00-Common.cmake b/linden/indra/cmake/00-Common.cmake
index 032a3cf..e6433bf 100644
--- a/linden/indra/cmake/00-Common.cmake
+++ b/linden/indra/cmake/00-Common.cmake
@@ -9,9 +9,9 @@ include(Variables)
9 9
10set(CMAKE_CXX_FLAGS_DEBUG "-D_DEBUG -DLL_DEBUG=1") 10set(CMAKE_CXX_FLAGS_DEBUG "-D_DEBUG -DLL_DEBUG=1")
11set(CMAKE_CXX_FLAGS_RELEASE 11set(CMAKE_CXX_FLAGS_RELEASE
12 "-DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -D_SECURE_SCL=0 -DNDEBUG") 12 "-DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=1 -DNDEBUG")
13set(CMAKE_CXX_FLAGS_RELWITHDEBINFO 13set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
14 "-DLL_RELEASE=1 -D_SECURE_SCL=0 -DNDEBUG -DLL_RELEASE_WITH_DEBUG_INFO=1") 14 "-DLL_RELEASE=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=0 -DNDEBUG -DLL_RELEASE_WITH_DEBUG_INFO=1")
15 15
16 16
17# Don't bother with a MinSizeRel build. 17# Don't bother with a MinSizeRel build.
@@ -20,6 +20,14 @@ set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING
20 "Supported build types." FORCE) 20 "Supported build types." FORCE)
21 21
22 22
23# Determine the number of bits of this processor
24
25if(CMAKE_SIZEOF_VOID_P MATCHES 4)
26 set( HAVE_64_BIT 0 )
27else(CMAKE_SIZEOF_VOID_P MATCHES 4)
28 set( HAVE_64_BIT 1 )
29endif(CMAKE_SIZEOF_VOID_P MATCHES 4)
30
23# Platform-specific compilation flags. 31# Platform-specific compilation flags.
24 32
25if (WINDOWS) 33if (WINDOWS)
diff --git a/linden/indra/cmake/CopyWinLibs.cmake b/linden/indra/cmake/CopyWinLibs.cmake
index b544c15..2bea40c 100644
--- a/linden/indra/cmake/CopyWinLibs.cmake
+++ b/linden/indra/cmake/CopyWinLibs.cmake
@@ -6,6 +6,7 @@
6 6
7include(CMakeCopyIfDifferent) 7include(CMakeCopyIfDifferent)
8 8
9# Copying vivox's alut.dll breaks inworld audio, never use it
9set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-win32") 10set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-win32")
10set(vivox_files 11set(vivox_files
11 SLVoice.exe 12 SLVoice.exe
@@ -14,76 +15,20 @@ set(vivox_files
14 ortp.dll 15 ortp.dll
15 wrap_oal.dll 16 wrap_oal.dll
16 ) 17 )
18copy_if_different(
19 ${vivox_src_dir}
20 "${CMAKE_CURRENT_BINARY_DIR}/Debug"
21 out_targets
22 ${vivox_files}
23 )
24set(all_targets ${all_targets} ${out_targets})
17 25
18set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug") 26set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug")
19set(debug_files 27set(debug_files
20 alut.dll 28 alut.dll
21 freebl3.dll
22 js3250.dll
23 nspr4.dll
24 nss3.dll
25 nssckbi.dll
26 openal32.dll 29 openal32.dll
27 openjpegd.dll 30 openjpegd.dll
28 libhunspell.dll 31 libhunspell.dll
29 plc4.dll
30 plds4.dll
31 smime3.dll
32 softokn3.dll
33 ssl3.dll
34 xpcom.dll
35 xul.dll
36 windbgdlg.exe
37 iconv.dll
38 libxml2.dll
39 libcairo-2.dll
40 libfaad-2.dll
41 libgio-2.0-0.dll
42 libglib-2.0-0.dll
43 libgmodule-2.0-0.dll
44 libgobject-2.0-0.dll
45 libgthread-2.0-0.dll
46 charset.dll
47 intl.dll
48 libgcrypt-11.dll
49 libgnutls-26.dll
50 libgpg-error-0.dll
51 libgstapp.dll
52 libgstaudio.dll
53 libgstaudio-0.10.dll
54 libgstbase-0.10.dll
55 libgstcdda.dll
56 libgstcontroller-0.10.dll
57 libgstdataprotocol-0.10.dll
58 libgstdshow.dll
59 libgstfft.dll
60 libgstinterfaces.dll
61 libgstnet-0.10.dll
62 libgstnetbuffer.dll
63 libgstpbutils.dll
64 libgstreamer-0.10.dll
65 libgstriff.dll
66 libgstrtp.dll
67 libgstrtsp.dll
68 libgstsdp.dll
69 libgsttag.dll
70 libgstvideo.dll
71 libjpeg.dll
72 libmp3lame-0.dll
73 libneon-27.dll
74 libogg-0.dll
75 liboil-0.3-0.dll
76 libopenjpeg-2.dll
77 libpng12-0.dll
78 libschroedinger-1.0-0.dll
79 libspeex-1.dll
80 libtheora-0.dll
81 libvorbis-0.dll
82 libvorbisenc-2.dll
83 libxml2-2.dll
84 glew32.dll
85 xvidcore.dll
86 zlib1.dll
87 ) 32 )
88 33
89copy_if_different( 34copy_if_different(
@@ -94,82 +39,180 @@ copy_if_different(
94 ) 39 )
95set(all_targets ${all_targets} ${out_targets}) 40set(all_targets ${all_targets} ${out_targets})
96 41
42# Debug config runtime files required for the plugin test mule
43set(plugintest_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug")
44set(plugintest_debug_files
45 libeay32.dll
46 libglib-2.0-0.dll
47 libgmodule-2.0-0.dll
48 libgobject-2.0-0.dll
49 libgthread-2.0-0.dll
50 qtcored4.dll
51 qtguid4.dll
52 qtnetworkd4.dll
53 qtopengld4.dll
54 qtwebkitd4.dll
55 ssleay32.dll
56 )
97copy_if_different( 57copy_if_different(
98 ${vivox_src_dir} 58 ${plugintest_debug_src_dir}
99 "${CMAKE_CURRENT_BINARY_DIR}/Debug" 59 "${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/Debug"
100 out_targets 60 out_targets
101 ${vivox_files} 61 ${plugintest_debug_files}
62 )
63set(all_targets ${all_targets} ${out_targets})
64
65# Debug config runtime files required for the plugin test mule (Qt image format plugins)
66set(plugintest_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug/imageformats")
67set(plugintest_debug_files
68 qgifd4.dll
69 qicod4.dll
70 qjpegd4.dll
71 qmngd4.dll
72 qsvgd4.dll
73 qtiffd4.dll
74 )
75copy_if_different(
76 ${plugintest_debug_src_dir}
77 "${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/Debug/imageformats"
78 out_targets
79 ${plugintest_debug_files}
80 )
81set(all_targets ${all_targets} ${out_targets})
82
83copy_if_different(
84 ${plugintest_debug_src_dir}
85 "${CMAKE_CURRENT_BINARY_DIR}/llplugin/imageformats"
86 out_targets
87 ${plugintest_debug_files}
88 )
89set(all_targets ${all_targets} ${out_targets})
90
91# Release & ReleaseDebInfo config runtime files required for the plugin test mule
92set(plugintest_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
93set(plugintest_release_files
94 libeay32.dll
95 libglib-2.0-0.dll
96 libgmodule-2.0-0.dll
97 libgobject-2.0-0.dll
98 libgthread-2.0-0.dll
99 qtcore4.dll
100 qtgui4.dll
101 qtnetwork4.dll
102 qtopengl4.dll
103 qtwebkit4.dll
104 ssleay32.dll
105 )
106copy_if_different(
107 ${plugintest_release_src_dir}
108 "${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/Release"
109 out_targets
110 ${plugintest_release_files}
111 )
112set(all_targets ${all_targets} ${out_targets})
113
114copy_if_different(
115 ${plugintest_release_src_dir}
116 "${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/RelWithDebInfo"
117 out_targets
118 ${plugintest_release_files}
119 )
120set(all_targets ${all_targets} ${out_targets})
121
122# Release & ReleaseDebInfo config runtime files required for the plugin test mule (Qt image format plugins)
123set(plugintest_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release/imageformats")
124set(plugintest_release_files
125 qgif4.dll
126 qico4.dll
127 qjpeg4.dll
128 qmng4.dll
129 qsvg4.dll
130 qtiff4.dll
131 )
132copy_if_different(
133 ${plugintest_release_src_dir}
134 "${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/Release/imageformats"
135 out_targets
136 ${plugintest_release_files}
137 )
138set(all_targets ${all_targets} ${out_targets})
139
140copy_if_different(
141 ${plugintest_release_src_dir}
142 "${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/RelWithDebInfo/imageformats"
143 out_targets
144 ${plugintest_release_files}
145 )
146set(all_targets ${all_targets} ${out_targets})
147
148copy_if_different(
149 ${plugintest_release_src_dir}
150 "${CMAKE_CURRENT_BINARY_DIR}/Release/llplugin/imageformats"
151 out_targets
152 ${plugintest_release_files}
153 )
154set(all_targets ${all_targets} ${out_targets})
155
156copy_if_different(
157 ${plugintest_release_src_dir}
158 "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llplugin/imageformats"
159 out_targets
160 ${plugintest_release_files}
161 )
162set(all_targets ${all_targets} ${out_targets})
163
164# Debug config runtime files required for the plugins
165set(plugins_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug")
166set(plugins_debug_files
167 libeay32.dll
168 qtcored4.dll
169 qtguid4.dll
170 qtnetworkd4.dll
171 qtopengld4.dll
172 qtwebkitd4.dll
173 ssleay32.dll
174 )
175copy_if_different(
176 ${plugins_debug_src_dir}
177 "${CMAKE_CURRENT_BINARY_DIR}/Debug/llplugin"
178 out_targets
179 ${plugins_debug_files}
180 )
181set(all_targets ${all_targets} ${out_targets})
182
183# Release & ReleaseDebInfo config runtime files required for the plugins
184set(plugins_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
185set(plugins_release_files
186 libeay32.dll
187 qtcore4.dll
188 qtgui4.dll
189 qtnetwork4.dll
190 qtopengl4.dll
191 qtwebkit4.dll
192 ssleay32.dll
193 )
194copy_if_different(
195 ${plugins_release_src_dir}
196 "${CMAKE_CURRENT_BINARY_DIR}/Release/llplugin"
197 out_targets
198 ${plugins_release_files}
199 )
200set(all_targets ${all_targets} ${out_targets})
201
202copy_if_different(
203 ${plugins_release_src_dir}
204 "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llplugin"
205 out_targets
206 ${plugins_release_files}
102 ) 207 )
103set(all_targets ${all_targets} ${out_targets}) 208set(all_targets ${all_targets} ${out_targets})
104 209
105set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release") 210set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
106set(release_files 211set(release_files
107 alut.dll 212 alut.dll
108 freebl3.dll
109 js3250.dll
110 nspr4.dll
111 nss3.dll
112 nssckbi.dll
113 openal32.dll 213 openal32.dll
114 openjpeg.dll 214 openjpeg.dll
115 libhunspell.dll 215 libhunspell.dll
116 plc4.dll
117 plds4.dll
118 smime3.dll
119 softokn3.dll
120 ssl3.dll
121 xpcom.dll
122 xul.dll
123 iconv.dll
124 libxml2.dll
125 libcairo-2.dll
126 libfaad-2.dll
127 libgio-2.0-0.dll
128 libglib-2.0-0.dll
129 libgmodule-2.0-0.dll
130 libgobject-2.0-0.dll
131 libgthread-2.0-0.dll
132 charset.dll
133 intl.dll
134 libgcrypt-11.dll
135 libgnutls-26.dll
136 libgpg-error-0.dll
137 libgstapp.dll
138 libgstaudio.dll
139 libgstaudio-0.10.dll
140 libgstbase-0.10.dll
141 libgstcdda.dll
142 libgstcontroller-0.10.dll
143 libgstdataprotocol-0.10.dll
144 libgstdshow.dll
145 libgstfft.dll
146 libgstinterfaces.dll
147 libgstnet-0.10.dll
148 libgstnetbuffer.dll
149 libgstpbutils.dll
150 libgstreamer-0.10.dll
151 libgstriff.dll
152 libgstrtp.dll
153 libgstrtsp.dll
154 libgstsdp.dll
155 libgsttag.dll
156 libgstvideo.dll
157 libjpeg.dll
158 libmp3lame-0.dll
159 libneon-27.dll
160 libogg-0.dll
161 liboil-0.3-0.dll
162 libopenjpeg-2.dll
163 libpng12-0.dll
164 libschroedinger-1.0-0.dll
165 libspeex-1.dll
166 libtheora-0.dll
167 libvorbis-0.dll
168 libvorbisenc-2.dll
169 libxml2-2.dll
170 glew32.dll
171 xvidcore.dll
172 zlib1.dll
173 ) 216 )
174 217
175copy_if_different( 218copy_if_different(
diff --git a/linden/indra/cmake/ExamplePlugin.cmake b/linden/indra/cmake/ExamplePlugin.cmake
new file mode 100644
index 0000000..599787a
--- /dev/null
+++ b/linden/indra/cmake/ExamplePlugin.cmake
@@ -0,0 +1,16 @@
1# -*- cmake -*-
2include(Linking)
3include(Prebuilt)
4
5if (STANDALONE)
6 set(EXAMPLEPLUGIN OFF CACHE BOOL
7 "EXAMPLEPLUGIN support for the llplugin/llmedia test apps.")
8else (STANDALONE)
9 set(EXAMPLEPLUGIN ON CACHE BOOL
10 "EXAMPLEPLUGIN support for the llplugin/llmedia test apps.")
11endif (STANDALONE)
12
13if (WINDOWS)
14elseif (DARWIN)
15elseif (LINUX)
16endif (WINDOWS)
diff --git a/linden/indra/cmake/GStreamer.cmake b/linden/indra/cmake/GStreamer.cmake
deleted file mode 100644
index e8e0d9e..0000000
--- a/linden/indra/cmake/GStreamer.cmake
+++ /dev/null
@@ -1,128 +0,0 @@
1# -*- cmake -*-
2include(Prebuilt)
3
4if (STANDALONE)
5 include(FindPkgConfig)
6
7 pkg_check_modules(GSTREAMER REQUIRED gstreamer-0.10)
8 pkg_check_modules(GSTREAMER_PLUGINS_BASE REQUIRED gstreamer-plugins-base-0.10)
9 pkg_check_modules(GSTREAMER_VIDEO REQUIRED gstreamer-video-0.10)
10
11else (STANDALONE)
12
13 # libxml and glib should have their own .cmake files
14 use_prebuilt_binary(libxml)
15 use_prebuilt_binary(glib)
16
17 set(GSTREAMER_FOUND ON FORCE BOOL)
18 set(GSTREAMER_PLUGINS_BASE_FOUND ON FORCE BOOL)
19 set(GSTREAMER_VIDEO_FOUND ON FORCE BOOL)
20
21 use_prebuilt_binary(gstreamer)
22 use_prebuilt_binary(gstreamer-plugins)
23
24if (WINDOWS)
25
26 use_prebuilt_binary(iconv)
27 set(GSTREAMER_FOUND ON FORCE BOOL)
28 set(GSTREAMER_INCLUDE_DIRS
29 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib
30 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gio
31 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gobject
32 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2
33 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/iconv
34 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gst
35 )
36
37 set(GSTREAMER_LIBRARIES
38 glib-2.0
39 gio-2.0
40 gmodule-2.0
41 gobject-2.0
42 gthread-2.0
43 libgstvideo.lib
44 libgsttag.lib
45 libgstsdp.lib
46 libgstrtsp.lib
47 libgstrtp.lib
48 libgstriff.lib
49 libgstreamer-0.10.lib
50 libgstpbutils.lib
51 libgstnetbuffer.lib
52 libgstnet-0.10.lib
53 libgstinterfaces.lib
54 libgstdshow.lib
55 libgstdataprotocol-0.10.lib
56 libgstcontroller-0.10.lib
57 libgstbase-0.10.lib
58 libgstaudio.lib
59 libgstapp.lib
60 libxml2
61 libxml2_a
62 libxml2_a_dll
63 iconv
64 iconv_a
65 )
66
67else (WINDOWS)
68
69 set(GSTREAMER_INCLUDE_DIRS
70 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gstreamer-0.10
71 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0
72 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0/glib
73 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0/gobject
74 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2
75 )
76
77 if (DARWIN) # Mac
78
79 use_prebuilt_binary(flac)
80 use_prebuilt_binary(liboil)
81 use_prebuilt_binary(neon)
82 use_prebuilt_binary(theora)
83
84 set(GSTREAMER_LIBRARIES
85 gstvideo-0.10
86 gstaudio-0.10
87 gstbase-0.10
88 gstreamer-0.10
89 gobject-2.0
90 gmodule-2.0
91 gthread-2.0
92 glib-2.0
93 gio-2.0
94 xml2.2
95 )
96
97 else (DARWIN) # Linux
98
99 use_prebuilt_binary(liboil)
100 use_prebuilt_binary(theora)
101
102 set(GSTREAMER_LIBRARIES
103 gstvideo-0.10
104 gstaudio-0.10
105 gstbase-0.10
106 gstreamer-0.10
107 gobject-2.0
108 gmodule-2.0
109 dl
110 gthread-2.0
111 rt
112 glib-2.0
113 gio-2.0
114 )
115
116 endif (DARWIN)
117
118endif (WINDOWS)
119
120endif (STANDALONE)
121
122if (GSTREAMER_FOUND AND GSTREAMER_PLUGINS_BASE_FOUND AND GSTREAMER_VIDEO_FOUND)
123 set(GSTREAMER ON CACHE BOOL "Build with GStreamer streaming media support.")
124endif (GSTREAMER_FOUND AND GSTREAMER_PLUGINS_BASE_FOUND AND GSTREAMER_VIDEO_FOUND)
125
126if (GSTREAMER)
127 add_definitions(-DLL_GSTREAMER_ENABLED=1)
128endif (GSTREAMER)
diff --git a/linden/indra/cmake/GStreamer010Plugin.cmake b/linden/indra/cmake/GStreamer010Plugin.cmake
new file mode 100644
index 0000000..cafcd4c
--- /dev/null
+++ b/linden/indra/cmake/GStreamer010Plugin.cmake
@@ -0,0 +1,62 @@
1# -*- cmake -*-
2include(Prebuilt)
3
4if (STANDALONE)
5 include(FindPkgConfig)
6
7 pkg_check_modules(GSTREAMER010 REQUIRED gstreamer-0.10)
8 pkg_check_modules(GSTREAMER010_PLUGINS_BASE REQUIRED gstreamer-plugins-base-0.10)
9endif (STANDALONE)
10
11 use_prebuilt_binary(gstreamer)
12 # possible libxml should have its own .cmake file instead
13 use_prebuilt_binary(libxml)
14 set(GSTREAMER010_FOUND ON FORCE BOOL)
15 set(GSTREAMER010_PLUGINS_BASE_FOUND ON FORCE BOOL)
16 set(GSTREAMER010_INCLUDE_DIRS
17 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/gstreamer-0.10
18 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0
19 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2
20 )
21
22if (WINDOWS)
23 # We don't need to explicitly link against gstreamer itself, because
24 # LLMediaImplGStreamer probes for the system's copy at runtime.
25 set(GSTREAMER010_LIBRARIES
26 libgstvideo
27 libgstaudio
28 libgstbase-0.10
29 libgstreamer-0.10
30 gobject-2.0
31 gmodule-2.0
32 gthread-2.0
33 glib-2.0
34 )
35else (WINDOWS)
36 # We don't need to explicitly link against gstreamer itself, because
37 # LLMediaImplGStreamer probes for the system's copy at runtime.
38 set(GSTREAMER010_LIBRARIES
39 gstvideo-0.10
40 gstaudio-0.10
41 gstbase-0.10
42 gstreamer-0.10
43 gobject-2.0
44 gmodule-2.0
45 dl
46 gthread-2.0
47 rt
48 glib-2.0
49 )
50
51
52endif (WINDOWS)
53
54
55if (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND)
56 set(GSTREAMER010 ON CACHE BOOL "Build with GStreamer-0.10 streaming media support.")
57 add_definitions(-DLL_GSTREAMER010_ENABLED=1)
58endif (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND)
59
60
61
62
diff --git a/linden/indra/cmake/Glui.cmake b/linden/indra/cmake/Glui.cmake
new file mode 100644
index 0000000..f62a568
--- /dev/null
+++ b/linden/indra/cmake/Glui.cmake
@@ -0,0 +1,28 @@
1# -*- cmake -*-
2include(Linking)
3include(Prebuilt)
4
5if (STANDALONE)
6 set(GLUI OFF CACHE BOOL
7 "GLUI support for the llplugin/llmedia test apps.")
8else (STANDALONE)
9 use_prebuilt_binary(glui)
10 set(GLUI ON CACHE BOOL
11 "GLUI support for the llplugin/llmedia test apps.")
12endif (STANDALONE)
13
14if (LINUX)
15 set(GLUI ON CACHE BOOL
16 "llplugin media apps HACK for Linux.")
17endif (LINUX)
18
19if (DARWIN OR LINUX)
20 set(GLUI_LIBRARY
21 glui)
22endif (DARWIN OR LINUX)
23
24if (WINDOWS)
25 set(GLUI_LIBRARY
26 debug glui32.lib
27 optimized glui32.lib)
28endif (WINDOWS)
diff --git a/linden/indra/cmake/Glut.cmake b/linden/indra/cmake/Glut.cmake
new file mode 100644
index 0000000..314da30
--- /dev/null
+++ b/linden/indra/cmake/Glut.cmake
@@ -0,0 +1,19 @@
1# -*- cmake -*-
2include(Linking)
3include(Prebuilt)
4
5if (WINDOWS)
6 use_prebuilt_binary(freeglut)
7 set(GLUT_LIBRARY
8 debug freeglut_static.lib
9 optimized freeglut_static.lib)
10endif (WINDOWS)
11
12if (LINUX)
13 FIND_LIBRARY(GLUT_LIBRARY glut)
14endif (LINUX)
15
16if (DARWIN)
17 include(CMakeFindFrameworks)
18 find_library(GLUT_LIBRARY GLUT)
19endif (DARWIN)
diff --git a/linden/indra/cmake/LLAudio.cmake b/linden/indra/cmake/LLAudio.cmake
index 625e212..89b790c 100644
--- a/linden/indra/cmake/LLAudio.cmake
+++ b/linden/indra/cmake/LLAudio.cmake
@@ -1,11 +1,9 @@
1# -*- cmake -*- 1# -*- cmake -*-
2 2
3include(Audio) 3include(Audio)
4include(OPENAL)
5 4
6set(LLAUDIO_INCLUDE_DIRS 5set(LLAUDIO_INCLUDE_DIRS
7 ${LIBS_OPEN_DIR}/llaudio 6 ${LIBS_OPEN_DIR}/llaudio
8 ${OPENAL_INCLUDE_DIRS}
9 ) 7 )
10 8
11set(LLAUDIO_LIBRARIES llaudio ${OPENAL_LIBRARIES}) 9set(LLAUDIO_LIBRARIES llaudio ${OPENAL_LIBRARIES})
diff --git a/linden/indra/cmake/LLCommon.cmake b/linden/indra/cmake/LLCommon.cmake
index 410766e..9158e98 100644
--- a/linden/indra/cmake/LLCommon.cmake
+++ b/linden/indra/cmake/LLCommon.cmake
@@ -12,4 +12,15 @@ set(LLCOMMON_INCLUDE_DIRS
12 ${Boost_INCLUDE_DIRS} 12 ${Boost_INCLUDE_DIRS}
13 ) 13 )
14 14
15set(LLCOMMON_LIBRARIES llcommon) 15# Files that need PIC code (pluginAPI) need to set REQUIRE_PIC on 64bit systems
16# this will link against a llcommon built with Position Independent Code
17# this is a requirment to link a static library (.a) to a DSO on 64 bit systems
18
19if(REQUIRE_PIC)
20 set(LLCOMMON_LIBRARIES llcommonPIC)
21else(REQUIRE_PIC)
22 set(LLCOMMON_LIBRARIES llcommon)
23endif(REQUIRE_PIC)
24
25#force clear the flag, files that need this must explicity set it themselves
26set(REQUIRE_PIC 0) \ No newline at end of file
diff --git a/linden/indra/cmake/LLMedia.cmake b/linden/indra/cmake/LLMedia.cmake
deleted file mode 100644
index e7769db..0000000
--- a/linden/indra/cmake/LLMedia.cmake
+++ /dev/null
@@ -1,14 +0,0 @@
1# -*- cmake -*-
2
3include(GStreamer)
4
5set(LLMEDIA_INCLUDE_DIRS
6 ${LIBS_OPEN_DIR}/llmedia
7 )
8
9set(LLMEDIA_LIBRARIES
10 llmedia
11 ${GSTREAMER_LIBRARIES}
12 ${GSTREAMER_PLUGINS_BASE_LIBRARIES}
13 ${GSTREAMER_VIDEO_LIBRARIES}
14 )
diff --git a/linden/indra/cmake/LLPlugin.cmake b/linden/indra/cmake/LLPlugin.cmake
new file mode 100644
index 0000000..9722f16
--- /dev/null
+++ b/linden/indra/cmake/LLPlugin.cmake
@@ -0,0 +1,8 @@
1# -*- cmake -*-
2
3
4set(LLPLUGIN_INCLUDE_DIRS
5 ${LIBS_OPEN_DIR}/llplugin
6 )
7
8set(LLPLUGIN_LIBRARIES llplugin)
diff --git a/linden/indra/cmake/MediaPluginBase.cmake b/linden/indra/cmake/MediaPluginBase.cmake
new file mode 100644
index 0000000..2be035b
--- /dev/null
+++ b/linden/indra/cmake/MediaPluginBase.cmake
@@ -0,0 +1,8 @@
1# -*- cmake -*-
2
3
4set(MEDIA_PLUGIN_BASE_INCLUDE_DIRS
5 ${LIBS_OPEN_DIR}/media_plugins/base/
6 )
7
8set(MEDIA_PLUGIN_BASE_LIBRARIES media_plugin_base)
diff --git a/linden/indra/cmake/Mozlib.cmake b/linden/indra/cmake/Mozlib.cmake
index e9555df..e69de29 100644
--- a/linden/indra/cmake/Mozlib.cmake
+++ b/linden/indra/cmake/Mozlib.cmake
@@ -1,47 +0,0 @@
1# -*- cmake -*-
2include(Linking)
3include(Prebuilt)
4
5if (STANDALONE)
6 set(MOZLIB OFF CACHE BOOL
7 "Enable Mozilla support in the viewer (requires llmozlib library).")
8else (STANDALONE)
9 use_prebuilt_binary(llmozlib)
10 set(MOZLIB ON CACHE BOOL
11 "Enable Mozilla support in the viewer (requires llmozlib library).")
12endif (STANDALONE)
13
14if (MOZLIB)
15 add_definitions(-DLL_LLMOZLIB_ENABLED=1)
16
17 if (LINUX)
18 link_directories(${CMAKE_SOURCE_DIR}/newview/app_settings/mozilla-runtime-linux-${ARCH})
19 set(MOZLIB_LIBRARIES
20 llmozlib2
21 mozjs
22 nspr4
23 plc4
24 plds4
25 xpcom
26 xul
27 profdirserviceprovider_s
28 )
29 elseif (WINDOWS)
30 if (MSVC71)
31 set(MOZLIB_LIBRARIES
32 debug llmozlib2d
33 optimized llmozlib2)
34 elseif (MSVC80 OR MSVC90)
35 set(MOZLIB_LIBRARIES
36 debug llmozlib2d-vc80
37 optimized llmozlib2-vc80)
38 endif (MSVC71)
39 else (LINUX)
40 set(MOZLIB_LIBRARIES
41 optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libllmozlib2.dylib
42 debug ${ARCH_PREBUILT_DIRS_DEBUG}/libllmozlib2.dylib
43 )
44 endif (LINUX)
45else (MOZLIB)
46 add_definitions(-DLL_LLMOZLIB_ENABLED=0)
47endif (MOZLIB)
diff --git a/linden/indra/cmake/OPENAL.cmake.imp b/linden/indra/cmake/OPENAL.cmake.imp
new file mode 100644
index 0000000..60abef3
--- /dev/null
+++ b/linden/indra/cmake/OPENAL.cmake.imp
@@ -0,0 +1,115 @@
1# -*- cmake -*-
2
3include(Variables)
4include(Linking)
5
6set(OPENAL ON CACHE BOOL "Enable OpenAL")
7
8
9if (OPENAL)
10
11 # message(STATUS "Building with OpenAL audio support")
12
13 # OPENAL_LIB
14 use_prebuilt_binary(openal)
15
16 if (WINDOWS)
17 set(OPENAL_LIB
18 optimized ${ARCH_PREBUILT_DIRS_RELEASE}/openal32.lib
19 debug ${ARCH_PREBUILT_DIRS_DEBUG}/openal32.lib
20 )
21
22 elseif (DARWIN)
23 # Look for for system's OpenAL.framework
24 find_library(OPENAL_LIB
25 NAMES openal.1
26 PATHS ${ARCH_PREBUILT_DIRS_RELEASE}
27 NO_DEFAULT_PATH
28 )
29 else (WINDOWS)
30 set(OPENAL_LIB openal)
31 endif (WINDOWS)
32
33 if (NOT OPENAL_LIB)
34 message(FATAL_ERROR "OpenAL not found!")
35 else (NOT OPENAL_LIB)
36 # message(STATUS "OpenAL found: ${OPENAL_LIB}")
37 endif (NOT OPENAL_LIB)
38
39
40
41 # OPENAL_INCLUDE_DIR
42
43 if (DARWIN)
44 set(OPENAL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/AL)
45 else (DARWIN)
46 find_path(OPENAL_INCLUDE_DIR
47 NAMES al.h
48 PATHS ${LIBS_PREBUILT_DIR}/include/AL
49 )
50 endif (DARWIN)
51
52 if (NOT OPENAL_INCLUDE_DIR)
53 message(FATAL_ERROR "al.h not found!")
54 else (NOT OPENAL_INCLUDE_DIR)
55 # message(STATUS "al.h found in: ${OPENAL_INCLUDE_DIR}")
56 endif (NOT OPENAL_INCLUDE_DIR)
57
58
59
60 # ALUT_LIB
61
62 if (WINDOWS)
63 set(ALUT_LIB
64 optimized ${ARCH_PREBUILT_DIRS_RELEASE}/alut.lib
65 debug ${ARCH_PREBUILT_DIRS_DEBUG}/alut.lib
66 )
67 elseif (DARWIN)
68 find_library( ALUT_LIB
69 NAMES alut.0
70 PATHS ${ARCH_PREBUILT_DIRS_RELEASE}
71 NO_DEFAULT_PATH
72 )
73 else (WINDOWS)
74 set(ALUT_LIB alut)
75 endif (WINDOWS)
76
77 if (NOT ALUT_LIB)
78 message(FATAL_ERROR "ALUT not found!")
79 else (NOT ALUT_LIB)
80 # message(STATUS "ALUT found: ${ALUT_LIB}")
81 endif (NOT ALUT_LIB)
82
83
84
85 # ALUT_INCLUDE_DIR
86
87 find_path(ALUT_INCLUDE_DIR
88 NAMES alut.h
89 PATHS ${OPENAL_INCLUDE_DIR}
90 )
91
92 if (NOT ALUT_INCLUDE_DIR)
93 message(FATAL_ERROR "alut.h not found!")
94 else (NOT ALUT_INCLUDE_DIR)
95 # message(STATUS "alut.h found in: ${ALUT_INCLUDE_DIR}")
96 endif (NOT ALUT_INCLUDE_DIR)
97
98
99
100 set(OPENAL_LIBRARIES
101 ${OPENAL_LIB}
102 ${ALUT_LIB}
103 )
104
105 set(OPENAL_INCLUDE_DIRS
106 ${OPENAL_INCLUDE_DIR}
107 ${ALUT_INCLUDE_DIR}
108 )
109
110
111 set(OPENAL_FOUND TRUE CACHE BOOL
112 "Found OpenAL and ALUT libraries successfully"
113 )
114
115endif (OPENAL)
diff --git a/linden/indra/cmake/PluginAPI.cmake b/linden/indra/cmake/PluginAPI.cmake
new file mode 100644
index 0000000..d1649e8
--- /dev/null
+++ b/linden/indra/cmake/PluginAPI.cmake
@@ -0,0 +1,16 @@
1# -*- cmake -*-
2
3if (WINDOWS)
4 set(PLUGIN_API_WINDOWS_LIBRARIES
5 wsock32
6 ws2_32
7 psapi
8 netapi32
9 advapi32
10 user32
11 )
12else (WINDOWS)
13 set(PLUGIN_API_WINDOWS_LIBRARIES "")
14endif (WINDOWS)
15
16
diff --git a/linden/indra/cmake/PulseAudio.cmake b/linden/indra/cmake/PulseAudio.cmake
new file mode 100644
index 0000000..f8087a8
--- /dev/null
+++ b/linden/indra/cmake/PulseAudio.cmake
@@ -0,0 +1,28 @@
1# -*- cmake -*-
2include(Prebuilt)
3
4if (STANDALONE)
5 include(FindPkgConfig)
6
7 pkg_check_modules(PULSEAUDIO REQUIRED libpulse-mainloop-glib)
8
9elseif (LINUX)
10 use_prebuilt_binary(pulseaudio)
11 set(PULSEAUDIO_FOUND ON FORCE BOOL)
12 set(PULSEAUDIO_INCLUDE_DIRS
13 ${LIBS_PREBUILT_DIR}/include
14 )
15 # We don't need to explicitly link against pulseaudio itself, because
16 # the viewer probes for the system's copy at runtime.
17 set(PULSEAUDIO_LIBRARIES
18 # none needed!
19 )
20endif (STANDALONE)
21
22if (PULSEAUDIO_FOUND)
23 set(PULSEAUDIO ON CACHE BOOL "Build with PulseAudio support, if available.")
24endif (PULSEAUDIO_FOUND)
25
26if (PULSEAUDIO)
27 add_definitions(-DLL_PULSEAUDIO_ENABLED=1)
28endif (PULSEAUDIO)
diff --git a/linden/indra/cmake/QuickTimePlugin.cmake b/linden/indra/cmake/QuickTimePlugin.cmake
new file mode 100644
index 0000000..8afd8f3
--- /dev/null
+++ b/linden/indra/cmake/QuickTimePlugin.cmake
@@ -0,0 +1,46 @@
1# -*- cmake -*-
2
3if(INSTALL_PROPRIETARY)
4 include(Prebuilt)
5 use_prebuilt_binary(quicktime)
6endif(INSTALL_PROPRIETARY)
7
8if (DARWIN)
9 include(CMakeFindFrameworks)
10 find_library(QUICKTIME_LIBRARY QuickTime)
11elseif (WINDOWS)
12 set(QUICKTIME_SDK_DIR "$ENV{PROGRAMFILES}/QuickTime SDK"
13 CACHE PATH "Location of the QuickTime SDK.")
14
15 find_library(DEBUG_QUICKTIME_LIBRARY qtmlclient
16 PATHS
17 ${ARCH_PREBUILT_DIRS_DEBUG}
18 "${QUICKTIME_SDK_DIR}\\libraries"
19 )
20
21 find_library(RELEASE_QUICKTIME_LIBRARY qtmlclient
22 PATHS
23 ${ARCH_PREBUILT_DIRS_RELEASE}
24 "${QUICKTIME_SDK_DIR}\\libraries"
25 )
26
27 if (DEBUG_QUICKTIME_LIBRARY AND RELEASE_QUICKTIME_LIBRARY)
28 set(QUICKTIME_LIBRARY
29 optimized ${RELEASE_QUICKTIME_LIBRARY}
30 debug ${DEBUG_QUICKTIME_LIBRARY}
31 )
32
33 endif (DEBUG_QUICKTIME_LIBRARY AND RELEASE_QUICKTIME_LIBRARY)
34
35 include_directories(
36 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/quicktime
37 "${QUICKTIME_SDK_DIR}\\CIncludes"
38 )
39endif (DARWIN)
40
41mark_as_advanced(QUICKTIME_LIBRARY)
42
43if (QUICKTIME_LIBRARY)
44 set(QUICKTIME ON CACHE BOOL "Build with QuickTime streaming media support.")
45endif (QUICKTIME_LIBRARY)
46
diff --git a/linden/indra/cmake/Variables.cmake b/linden/indra/cmake/Variables.cmake
index 5d4dffe..cd5bfc1 100644
--- a/linden/indra/cmake/Variables.cmake
+++ b/linden/indra/cmake/Variables.cmake
@@ -45,6 +45,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
45 set(ARCH i686) 45 set(ARCH i686)
46 set(LL_ARCH ${ARCH}_win32) 46 set(LL_ARCH ${ARCH}_win32)
47 set(LL_ARCH_DIR ${ARCH}-win32) 47 set(LL_ARCH_DIR ${ARCH}-win32)
48 set(WORD_SIZE 32)
48endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") 49endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
49 50
50if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 51if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
diff --git a/linden/indra/cmake/WebKitLibPlugin.cmake b/linden/indra/cmake/WebKitLibPlugin.cmake
new file mode 100644
index 0000000..23958fe
--- /dev/null
+++ b/linden/indra/cmake/WebKitLibPlugin.cmake
@@ -0,0 +1,55 @@
1# -*- cmake -*-
2include(Linking)
3include(Prebuilt)
4
5if (STANDALONE)
6 set(WEBKITLIBPLUGIN OFF CACHE BOOL
7 "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
8else (STANDALONE)
9 use_prebuilt_binary(llqtwebkit)
10 set(WEBKITLIBPLUGIN ON CACHE BOOL
11 "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
12endif (STANDALONE)
13
14if (WINDOWS)
15 set(WEBKIT_PLUGIN_LIBRARIES
16 debug llqtwebkitd
17 debug QtWebKitd4
18 debug QtOpenGLd4
19 debug QtNetworkd4
20 debug QtGuid4
21 debug QtCored4
22 debug qtmaind
23 optimized llqtwebkit
24 optimized QtWebKit4
25 optimized QtOpenGL4
26 optimized QtNetwork4
27 optimized QtGui4
28 optimized QtCore4
29 optimized qtmain
30 )
31elseif (DARWIN)
32 set(WEBKIT_PLUGIN_LIBRARIES
33 optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
34 debug ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
35 )
36elseif (LINUX)
37 if (STANDALONE)
38 set(WEBKIT_PLUGIN_LIBRARIES llqtwebkit)
39 else (STANDALONE)
40 set(WEBKIT_PLUGIN_LIBRARIES
41 llqtwebkit
42 qgif
43 qjpeg
44 QtWebKit
45 QtOpenGL
46 QtNetwork
47 QtGui
48 QtCore
49 fontconfig
50 X11
51 Xrender
52 GL
53 )
54 endif (STANDALONE)
55endif (WINDOWS)