aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/cmake
diff options
context:
space:
mode:
authorDavid Walter Seikel2011-12-03 18:50:34 +1000
committerDavid Walter Seikel2011-12-03 18:50:34 +1000
commitd3b9f715f0ad9516fa350a5c0b83330b733ee0f9 (patch)
treee1481a7b83ae6f4fa0a88c4eebb6dbecd83e86fd /linden/indra/cmake
parentAnother possible fix for misplaced HUDs? (diff)
parentMade the voice license window resizable (diff)
downloadmeta-impy-d3b9f715f0ad9516fa350a5c0b83330b733ee0f9.zip
meta-impy-d3b9f715f0ad9516fa350a5c0b83330b733ee0f9.tar.gz
meta-impy-d3b9f715f0ad9516fa350a5c0b83330b733ee0f9.tar.bz2
meta-impy-d3b9f715f0ad9516fa350a5c0b83330b733ee0f9.tar.xz
Merge branch 'next' of git://github.com/imprudence/imprudence into next
Removed the new "Set your own Imprudence tag colour feature". Should check though, might be bits left that where not obvious. Conflicts: .gitignore linden/indra/cmake/00-Common.cmake linden/indra/newview/llvoavatar.cpp linden/indra/newview/res/viewerRes.rc linden/indra/newview/skins/default/xui/en-us/panel_login.xml linden/indra/newview/viewer_manifest.py linden/indra/newview/viewerinfo.cpp The usual branding conflicts.
Diffstat (limited to 'linden/indra/cmake')
-rw-r--r--linden/indra/cmake/00-Common.cmake41
-rw-r--r--linden/indra/cmake/CopyWinLibs.cmake67
2 files changed, 97 insertions, 11 deletions
diff --git a/linden/indra/cmake/00-Common.cmake b/linden/indra/cmake/00-Common.cmake
index 9ff5906..897112e 100644
--- a/linden/indra/cmake/00-Common.cmake
+++ b/linden/indra/cmake/00-Common.cmake
@@ -1,6 +1,6 @@
1# -*- cmake -*- 1# -*- cmake -*-
2# 2#
3# Compilation options shared by all components. 3# Compilation options shared by all viewer components.
4 4
5include(Variables) 5include(Variables)
6 6
@@ -10,6 +10,8 @@ include(Variables)
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 -DLL_SEND_CRASH_REPORTS=1 -DNDEBUG") 12 "-DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=1 -DNDEBUG")
13set(CMAKE_CXX_FLAGS_RELEASESSE2
14 "-DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=1 -DNDEBUG")
13set(CMAKE_CXX_FLAGS_RELWITHDEBINFO 15set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
14 "-DLL_RELEASE=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=0 -DNDEBUG -DLL_RELEASE_WITH_DEBUG_INFO=1") 16 "-DLL_RELEASE=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=0 -DNDEBUG -DLL_RELEASE_WITH_DEBUG_INFO=1")
15 17
@@ -17,7 +19,7 @@ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
17# Available build types / configurations. 19# Available build types / configurations.
18# Add our current build type first, to coax Xcode into selecting it by default. 20# Add our current build type first, to coax Xcode into selecting it by default.
19 21
20set(TYPES ${CMAKE_BUILD_TYPE} RelWithDebInfo Release Debug) 22set(TYPES ${CMAKE_BUILD_TYPE} RelWithDebInfo Release ReleaseSSE2 Debug)
21list(REMOVE_DUPLICATES TYPES) 23list(REMOVE_DUPLICATES TYPES)
22set(CMAKE_CONFIGURATION_TYPES ${TYPES} CACHE STRING "Supported build types." FORCE) 24set(CMAKE_CONFIGURATION_TYPES ${TYPES} CACHE STRING "Supported build types." FORCE)
23unset(TYPES) 25unset(TYPES)
@@ -44,12 +46,18 @@ if (WINDOWS)
44 CACHE STRING "C++ compiler release-with-debug options" FORCE) 46 CACHE STRING "C++ compiler release-with-debug options" FORCE)
45 if (MSVC80) 47 if (MSVC80)
46 set(CMAKE_CXX_FLAGS_RELEASE 48 set(CMAKE_CXX_FLAGS_RELEASE
47 "${CMAKE_CXX_FLAGS_RELEASE} /O2 /Ob2 /Oi /Ot /GT /Zi /MD" 49 "${CMAKE_CXX_FLAGS_RELEASE} /O2 /Ob2 /Oi /Ot /GT /Zi /MD"
48 CACHE STRING "C++ compiler release options" FORCE) 50 CACHE STRING "C++ compiler release options" FORCE)
51 set(CMAKE_CXX_FLAGS_RELEASESSE2
52 "${CMAKE_CXX_FLAGS_RELEASESSE2} /O2 /Ob2 /Oi /Ot /GT /Zi /MD /arch:SSE2"
53 CACHE STRING "C++ compiler release (SSE2 optimized) options" FORCE)
49 else (MSVC80) 54 else (MSVC80)
50 set(CMAKE_CXX_FLAGS_RELEASE 55 set(CMAKE_CXX_FLAGS_RELEASE
51 "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD" 56 "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD"
52 CACHE STRING "C++ compiler release options" FORCE) 57 CACHE STRING "C++ compiler release options" FORCE)
58 set(CMAKE_CXX_FLAGS_RELEASESSE2
59 "${CMAKE_CXX_FLAGS_RELEASESSE2} ${LL_CXX_FLAGS} /O2 /Zi /MD /arch:SSE2"
60 CACHE STRING "C++ compiler release (SSE2 optimized) options" FORCE)
53 endif (MSVC80) 61 endif (MSVC80)
54 62
55 set(CMAKE_CXX_STANDARD_LIBRARIES "") 63 set(CMAKE_CXX_STANDARD_LIBRARIES "")
@@ -77,6 +85,9 @@ if (WINDOWS)
77 set(CMAKE_CXX_FLAGS_RELEASE 85 set(CMAKE_CXX_FLAGS_RELEASE
78 "${CMAKE_CXX_FLAGS_RELEASE} -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0" 86 "${CMAKE_CXX_FLAGS_RELEASE} -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"
79 CACHE STRING "C++ compiler release options" FORCE) 87 CACHE STRING "C++ compiler release options" FORCE)
88 set(CMAKE_CXX_FLAGS_RELEASESSE2
89 "${CMAKE_CXX_FLAGS_RELEASESSE2} -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"
90 CACHE STRING "C++ compiler release (SSE2 optimized) options" FORCE)
80 91
81 add_definitions( 92 add_definitions(
82 /Zc:wchar_t- 93 /Zc:wchar_t-
@@ -195,10 +206,12 @@ if (LINUX)
195 add_definitions(-DLINUX64=1 -pipe) 206 add_definitions(-DLINUX64=1 -pipe)
196 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer -mmmx -msse -mfpmath=sse -msse2 -ffast-math -ftree-vectorize -fweb -fexpensive-optimizations -frename-registers") 207 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer -mmmx -msse -mfpmath=sse -msse2 -ffast-math -ftree-vectorize -fweb -fexpensive-optimizations -frename-registers")
197 endif (${ARCH} STREQUAL "x86_64") 208 endif (${ARCH} STREQUAL "x86_64")
209 set(CMAKE_CXX_FLAGS_RELEASESSE2 "${CMAKE_CXX_FLAGS_RELEASESSE2} -mfpmath=sse2 -msse2")
198 endif (VIEWER) 210 endif (VIEWER)
199 211
200 set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}") 212 set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}")
201 set(CMAKE_CXX_FLAGS_RELEASE "-O2 ${CMAKE_CXX_FLAGS_RELEASE}") 213 set(CMAKE_CXX_FLAGS_RELEASE "-O2 ${CMAKE_CXX_FLAGS_RELEASE}")
214 set(CMAKE_CXX_FLAGS_RELEASESSE2 "-O2 ${CMAKE_CXX_FLAGS_RELEASESSE2}")
202endif (LINUX) 215endif (LINUX)
203 216
204 217
@@ -217,6 +230,8 @@ if (DARWIN)
217 # NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered. 230 # NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
218 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") 231 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
219 set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_C_FLAGS_RELWITHDEBINFO}") 232 set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
233 set(CMAKE_CXX_FLAGS_RELEASESSE2 "-msse2 -mfpmath=sse ${CMAKE_CXX_FLAGS_RELEASESSE2}")
234 set(CMAKE_C_FLAGS_RELEASESSE2 "-msse2 -mfpmath=sse ${CMAKE_C_FLAGS_RELEASESSE2}")
220endif (DARWIN) 235endif (DARWIN)
221 236
222 237
@@ -269,3 +284,17 @@ endif (STANDALONE)
269if(SERVER) 284if(SERVER)
270 include_directories(${LIBS_PREBUILT_DIR}/include/havok) 285 include_directories(${LIBS_PREBUILT_DIR}/include/havok)
271endif(SERVER) 286endif(SERVER)
287
288SET(CMAKE_EXE_LINKER_FLAGS_RELEASESSE2
289 "${CMAKE_EXE_LINKER_FLAGS_RELEASE}" CACHE STRING
290 "Flags used for linking binaries under SSE2 optimized build."
291 FORCE )
292SET(CMAKE_SHARED_LINKER_FLAGS_RELEASESSE2
293 "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" CACHE STRING
294 "Flags used by the shared libraries linker under SSE2 optimized build."
295 FORCE )
296MARK_AS_ADVANCED(
297 CMAKE_CXX_FLAGS_RELEASESSE2
298 CMAKE_C_FLAGS_RELEASESSE2
299 CMAKE_EXE_LINKER_FLAGS_RELEASESSE2
300 CMAKE_SHARED_LINKER_FLAGS_RELEASESSE2 )
diff --git a/linden/indra/cmake/CopyWinLibs.cmake b/linden/indra/cmake/CopyWinLibs.cmake
index e7f1aa3..36f99aa 100644
--- a/linden/indra/cmake/CopyWinLibs.cmake
+++ b/linden/indra/cmake/CopyWinLibs.cmake
@@ -177,6 +177,15 @@ copy_if_different(
177 ) 177 )
178set(all_targets ${all_targets} ${out_targets}) 178set(all_targets ${all_targets} ${out_targets})
179 179
180
181 copy_if_different(
182 ${plugintest_release_src_dir}
183 "${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/ReleaseSSE2"
184 out_targets
185 ${plugintest_release_files}
186 )
187set(all_targets ${all_targets} ${out_targets})
188
180# Release & ReleaseDebInfo config runtime files required for the plugin test mule (Qt image format plugins) 189# Release & ReleaseDebInfo config runtime files required for the plugin test mule (Qt image format plugins)
181set(plugintest_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release/imageformats") 190set(plugintest_release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release/imageformats")
182set(plugintest_release_files 191set(plugintest_release_files
@@ -205,6 +214,14 @@ set(all_targets ${all_targets} ${out_targets})
205 214
206copy_if_different( 215copy_if_different(
207 ${plugintest_release_src_dir} 216 ${plugintest_release_src_dir}
217 "${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/ReleaseSSE2/imageformats"
218 out_targets
219 ${plugintest_release_files}
220 )
221set(all_targets ${all_targets} ${out_targets})
222
223copy_if_different(
224 ${plugintest_release_src_dir}
208 "${CMAKE_CURRENT_BINARY_DIR}/Release/llplugin/imageformats" 225 "${CMAKE_CURRENT_BINARY_DIR}/Release/llplugin/imageformats"
209 out_targets 226 out_targets
210 ${plugintest_release_files} 227 ${plugintest_release_files}
@@ -219,6 +236,14 @@ copy_if_different(
219 ) 236 )
220set(all_targets ${all_targets} ${out_targets}) 237set(all_targets ${all_targets} ${out_targets})
221 238
239copy_if_different(
240 ${plugintest_release_src_dir}
241 "${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/llplugin/imageformats"
242 out_targets
243 ${plugintest_release_files}
244 )
245set(all_targets ${all_targets} ${out_targets})
246
222# Debug config runtime files required for the plugins 247# Debug config runtime files required for the plugins
223set(plugins_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug") 248set(plugins_debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug")
224set(plugins_debug_files 249set(plugins_debug_files
@@ -267,6 +292,14 @@ copy_if_different(
267 ) 292 )
268set(all_targets ${all_targets} ${out_targets}) 293set(all_targets ${all_targets} ${out_targets})
269 294
295copy_if_different(
296 ${plugins_release_src_dir}
297 "${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/llplugin"
298 out_targets
299 ${plugins_release_files}
300 )
301set(all_targets ${all_targets} ${out_targets})
302
270set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release") 303set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
271set(release_files 304set(release_files
272 alut.dll 305 alut.dll
@@ -364,14 +397,15 @@ copy_if_different(
364set(all_targets ${all_targets} ${out_targets}) 397set(all_targets ${all_targets} ${out_targets})
365 398
366copy_if_different( 399copy_if_different(
367 ${vivox_src_dir} 400 ${release_src_dir}
368 "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo" 401 "${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2"
369 out_targets 402 out_targets
370 ${vivox_files} 403 ${release_files}
371 ) 404 )
372set(all_targets ${all_targets} ${out_targets}) 405set(all_targets ${all_targets} ${out_targets})
373 406
374 407
408
375# Copy MS C runtime dlls, required for packaging. 409# Copy MS C runtime dlls, required for packaging.
376# We always need the VS 2005 redist. 410# We always need the VS 2005 redist.
377# *TODO - Adapt this to support VC9 411# *TODO - Adapt this to support VC9
@@ -442,6 +476,14 @@ if(EXISTS ${release_msvc8_redist_path})
442 ) 476 )
443 set(all_targets ${all_targets} ${out_targets}) 477 set(all_targets ${all_targets} ${out_targets})
444 478
479 copy_if_different(
480 ${release_msvc8_redist_path}
481 "${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2"
482 out_targets
483 ${release_msvc8_files}
484 )
485 set(all_targets ${all_targets} ${out_targets})
486
445 set(release_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/Release/${VIEWER_BINARY_NAME}.exe.config) 487 set(release_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/Release/${VIEWER_BINARY_NAME}.exe.config)
446 add_custom_command( 488 add_custom_command(
447 OUTPUT ${release_appconfig_file} 489 OUTPUT ${release_appconfig_file}
@@ -455,6 +497,20 @@ if(EXISTS ${release_msvc8_redist_path})
455 COMMENT "Creating release app config file" 497 COMMENT "Creating release app config file"
456 ) 498 )
457 499
500
501 set(releasesse2_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/${VIEWER_BINARY_NAME}.exe.config)
502 add_custom_command(
503 OUTPUT ${releasesse2_appconfig_file}
504 COMMAND ${PYTHON_EXECUTABLE}
505 ARGS
506 ${CMAKE_CURRENT_SOURCE_DIR}/build_win32_appConfig.py
507 ${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/Microsoft.VC80.CRT.manifest
508 ${CMAKE_CURRENT_SOURCE_DIR}/meta-impy.exe.config
509 ${releasesse2_appconfig_file}
510 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/Microsoft.VC80.CRT.manifest
511 COMMENT "Creating release (SSE2 optimized) app config file"
512 )
513
458 set(relwithdebinfo_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/${VIEWER_BINARY_NAME}.exe.config) 514 set(relwithdebinfo_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/${VIEWER_BINARY_NAME}.exe.config)
459 add_custom_command( 515 add_custom_command(
460 OUTPUT ${relwithdebinfo_appconfig_file} 516 OUTPUT ${relwithdebinfo_appconfig_file}
@@ -467,13 +523,14 @@ if(EXISTS ${release_msvc8_redist_path})
467 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/Microsoft.VC80.CRT.manifest 523 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/Microsoft.VC80.CRT.manifest
468 COMMENT "Creating relwithdebinfo app config file" 524 COMMENT "Creating relwithdebinfo app config file"
469 ) 525 )
470 526
471endif (EXISTS ${release_msvc8_redist_path}) 527endif (EXISTS ${release_msvc8_redist_path})
472 528
473add_custom_target(copy_win_libs ALL 529add_custom_target(copy_win_libs ALL
474 DEPENDS 530 DEPENDS
475 ${all_targets} 531 ${all_targets}
476 ${release_appconfig_file} 532 ${release_appconfig_file}
533 ${releasesse2_appconfig_file}
477 ${relwithdebinfo_appconfig_file} 534 ${relwithdebinfo_appconfig_file}
478 ${debug_appconfig_file} 535 ${debug_appconfig_file}
479 ) 536 )