From 22b1223ea7d68b27304cdd713f8e8b491b654060 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Thu, 2 Aug 2012 11:45:38 -0400 Subject: MAINT-515 FIX, CHOP-100 FIX - technically we are avoiding these issues rather than fixing them; changing llcommon to be statically linked avoids the symbol issues with llcommon.dll --- indra/cmake/LLAddBuildTest.cmake | 9 +++++++++ indra/cmake/LLCommon.cmake | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) mode change 100644 => 100755 indra/cmake/LLAddBuildTest.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake old mode 100644 new mode 100755 index 08feab6e36..03ce46781c --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -201,6 +201,15 @@ FUNCTION(LL_ADD_INTEGRATION_TEST endif(TEST_DEBUG) ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files}) SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}") + if (WINDOWS) + set_target_properties(INTEGRATION_TEST_${testname} + PROPERTIES + LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc" + LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO" + LINK_FLAGS_RELEASE "" + ) + endif(WINDOWS) + if(STANDALONE) SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES COMPILE_FLAGS -I"${TUT_INCLUDE_DIR}") endif(STANDALONE) diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index 17e211cb99..d4694ad37a 100644 --- a/indra/cmake/LLCommon.cmake +++ b/indra/cmake/LLCommon.cmake @@ -24,7 +24,7 @@ endif (LINUX) add_definitions(${TCMALLOC_FLAG}) -set(LLCOMMON_LINK_SHARED ON CACHE BOOL "Build the llcommon target as a shared library.") +set(LLCOMMON_LINK_SHARED OFF CACHE BOOL "Build the llcommon target as a shared library.") if(LLCOMMON_LINK_SHARED) add_definitions(-DLL_COMMON_LINK_SHARED=1) endif(LLCOMMON_LINK_SHARED) -- cgit v1.2.3 From 51fabc385079a0b5fab4611bb5b16fea5dc26372 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Tue, 21 Aug 2012 18:21:11 -0400 Subject: SH-3261 SH-3324 WIP Starting extraction of wearable/appearance libraries First pass at cmake configs, and starting to try to move wearable class. Things are broken, checkpointing work to collaborate. --- indra/cmake/CMakeLists.txt | 2 ++ indra/cmake/LLAppearance.cmake | 7 +++++++ indra/cmake/Viewer.cmake | 7 +++++++ 3 files changed, 16 insertions(+) create mode 100644 indra/cmake/LLAppearance.cmake create mode 100644 indra/cmake/Viewer.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 569034a6fb..875b5be152 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -40,6 +40,7 @@ set(cmake_SOURCE_FILES Hunspell.cmake JPEG.cmake LLAddBuildTest.cmake + LLAppearance.cmake LLAudio.cmake LLCharacter.cmake LLCommon.cmake @@ -77,6 +78,7 @@ set(cmake_SOURCE_FILES Tut.cmake UI.cmake UnixInstall.cmake + Viewer.cmake Variables.cmake XmlRpcEpi.cmake ZLIB.cmake diff --git a/indra/cmake/LLAppearance.cmake b/indra/cmake/LLAppearance.cmake new file mode 100644 index 0000000000..36cebe9816 --- /dev/null +++ b/indra/cmake/LLAppearance.cmake @@ -0,0 +1,7 @@ +# -*- cmake -*- + +set(LLAPPEARANCE_INCLUDE_DIRS + ${LIBS_OPEN_DIR}/llappearance + ) + +set(LLAPPEARANCE_LIBRARIES llappearance) diff --git a/indra/cmake/Viewer.cmake b/indra/cmake/Viewer.cmake new file mode 100644 index 0000000000..771bb0ed7a --- /dev/null +++ b/indra/cmake/Viewer.cmake @@ -0,0 +1,7 @@ +# -*- cmake -*- + +set(VIEWER_INCLUDE_DIRS + ${LIBS_OPEN_DIR}/newview + ) + +set(VIEWER_LIBRARIES viewer) -- cgit v1.2.3 From de1d297deaedaeff212eb2ff13ec4edef21ce633 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Fri, 31 Aug 2012 14:11:46 -0500 Subject: MAINT-1503 Disable tcmalloc and fix remaining alignment issues. --- indra/cmake/GooglePerfTools.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index 09501e0406..73b3642ae6 100644 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -3,7 +3,7 @@ include(Prebuilt) # If you want to enable or disable TCMALLOC in viewer builds, this is the place. # set ON or OFF as desired. -set (USE_TCMALLOC ON) +set (USE_TCMALLOC OFF) if (STANDALONE) include(FindGooglePerfTools) -- cgit v1.2.3 From 41301004e13bec1c74f444f42372a3a6609cb305 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Tue, 4 Sep 2012 22:49:26 +0000 Subject: Cleanup actions from code review of llappearance with nyx --- indra/cmake/CMakeLists.txt | 1 - indra/cmake/Viewer.cmake | 7 ------- 2 files changed, 8 deletions(-) delete mode 100644 indra/cmake/Viewer.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 875b5be152..5935eeb192 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -78,7 +78,6 @@ set(cmake_SOURCE_FILES Tut.cmake UI.cmake UnixInstall.cmake - Viewer.cmake Variables.cmake XmlRpcEpi.cmake ZLIB.cmake diff --git a/indra/cmake/Viewer.cmake b/indra/cmake/Viewer.cmake deleted file mode 100644 index 771bb0ed7a..0000000000 --- a/indra/cmake/Viewer.cmake +++ /dev/null @@ -1,7 +0,0 @@ -# -*- cmake -*- - -set(VIEWER_INCLUDE_DIRS - ${LIBS_OPEN_DIR}/newview - ) - -set(VIEWER_LIBRARIES viewer) -- cgit v1.2.3 From 122a01cb9c0327e94699f108828997c024d6937b Mon Sep 17 00:00:00 2001 From: "simon@Simon-PC.lindenlab.com" Date: Fri, 7 Sep 2012 14:04:40 -0700 Subject: Further attempts to erradicate TCMALLOC --- indra/cmake/LLAddBuildTest.cmake | 4 ++-- indra/cmake/LLCommon.cmake | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index 543075db5b..3a39f9ccf3 100755 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -204,7 +204,7 @@ FUNCTION(LL_ADD_INTEGRATION_TEST if (WINDOWS) set_target_properties(INTEGRATION_TEST_${testname} PROPERTIES - LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc" + LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS" LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO" LINK_FLAGS_RELEASE "" ) @@ -217,7 +217,7 @@ FUNCTION(LL_ADD_INTEGRATION_TEST if (WINDOWS) SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES - LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS ${TCMALLOC_LINK_FLAGS}" + LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS" LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO" LINK_FLAGS_RELEASE "" ) diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index d4694ad37a..51f5efafff 100644 --- a/indra/cmake/LLCommon.cmake +++ b/indra/cmake/LLCommon.cmake @@ -22,7 +22,7 @@ else (LINUX) set(LLCOMMON_LIBRARIES llcommon) endif (LINUX) -add_definitions(${TCMALLOC_FLAG}) +# add_definitions(${TCMALLOC_FLAG}) set(LLCOMMON_LINK_SHARED OFF CACHE BOOL "Build the llcommon target as a shared library.") if(LLCOMMON_LINK_SHARED) -- cgit v1.2.3 From 8808325ced4d380d937c9be1cc81e20a5ebb5f62 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Fri, 14 Sep 2012 11:27:04 +0000 Subject: Removed appearance utility from viewer source. Added appearance utility autobuild package. --- indra/cmake/LLAppearanceUtility.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 indra/cmake/LLAppearanceUtility.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/LLAppearanceUtility.cmake b/indra/cmake/LLAppearanceUtility.cmake new file mode 100644 index 0000000000..bea45543de --- /dev/null +++ b/indra/cmake/LLAppearanceUtility.cmake @@ -0,0 +1,12 @@ +# -*- cmake -*- +include(Prebuilt) + +# Linux proprietary build only +if (INSTALL_PROPRIETARY) + if(LINUX) + use_prebuilt_binary(llappearanceutility-source) + set(LLAPPEARANCEUTILITY_SRC_DIR ${LIBS_PREBUILT_DIR}/llappearanceutility/src) + set(LLAPPEARANCEUTILITY_BIN_DIR ${CMAKE_BINARY_DIR}/llappearanceutility) + endif (LINUX) +endif (INSTALL_PROPRIETARY) + -- cgit v1.2.3 From 49caededb4bf5beb8b87ebee034c1d969968af4d Mon Sep 17 00:00:00 2001 From: Nyx Linden Date: Wed, 19 Sep 2012 17:05:56 +0000 Subject: BUILDFIX: enabling the building of the viewer/appearance backend with headless mesa --- indra/cmake/LLRender.cmake | 6 +++--- indra/cmake/LLWindow.cmake | 14 ++++++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLRender.cmake b/indra/cmake/LLRender.cmake index 8427928151..6695ed6bd9 100644 --- a/indra/cmake/LLRender.cmake +++ b/indra/cmake/LLRender.cmake @@ -8,15 +8,15 @@ set(LLRENDER_INCLUDE_DIRS ${GLH_INCLUDE_DIR} ) -if (SERVER AND LINUX) +if ((SERVER OR BAKING) AND LINUX) set(LLRENDER_LIBRARIES llrenderheadless ) -else (SERVER AND LINUX) +else ((SERVER OR BAKING) AND LINUX) set(LLRENDER_LIBRARIES llrender ) -endif (SERVER AND LINUX) +endif ((SERVER OR BAKING) AND LINUX) # mapserver requires certain files to be copied so LL_MESA_HEADLESS can be set # differently for different object files. diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index b4bb9a078a..1ee4ca0aac 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -22,22 +22,28 @@ else (STANDALONE) endif (LINUX AND VIEWER) endif (STANDALONE) -if (SDL_FOUND) +if (SDL_FOUND AND NOT BAKING) add_definitions(-DLL_SDL=1) include_directories(${SDL_INCLUDE_DIR}) -endif (SDL_FOUND) +endif (SDL_FOUND AND NOT BAKING) + +if (BAKING) + use_prebuilt_binary(mesa) + add_definitions(-DLL_MESA_HEADLESS=1) +endif (BAKING) set(LLWINDOW_INCLUDE_DIRS ${GLEXT_INCLUDE_DIR} ${LIBS_OPEN_DIR}/llwindow ) -if (SERVER AND LINUX) +if ((SERVER AND LINUX) OR (BAKING AND LINUX)) set(LLWINDOW_LIBRARIES llwindowheadless ) + MESSAGE( STATUS "using headless libraries") else (SERVER AND LINUX) set(LLWINDOW_LIBRARIES llwindow ) -endif (SERVER AND LINUX) +endif ((SERVER AND LINUX) OR (BAKING AND LINUX)) -- cgit v1.2.3 From 95f3fb45ae2f4fe199e34f35be1e46b3a598ca1a Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Mon, 24 Sep 2012 19:42:58 +0000 Subject: Cherry-picked windows build fixes from sunshine-experimental --- indra/cmake/DirectX.cmake | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/cmake') diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake index b2a18805d4..8cae606848 100644 --- a/indra/cmake/DirectX.cmake +++ b/indra/cmake/DirectX.cmake @@ -3,6 +3,7 @@ if (VIEWER AND WINDOWS) find_path(DIRECTX_INCLUDE_DIR dxdiag.h "$ENV{DXSDK_DIR}/Include" + "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Include" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Include" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Include" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Include" @@ -25,6 +26,7 @@ if (VIEWER AND WINDOWS) find_path(DIRECTX_LIBRARY_DIR dxguid.lib "$ENV{DXSDK_DIR}/Lib/x86" + "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Lib/x86" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Lib/x86" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Lib/x86" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Lib/x86" -- cgit v1.2.3 From c9ab9590aa1d44ea139b16e7ffcb1461d928bdd5 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 4 Oct 2012 03:12:48 +0000 Subject: Removing server-related cmake cruft. Fixing libGLU warnings on linux. --- indra/cmake/00-Common.cmake | 53 ++++--------- indra/cmake/APR.cmake | 4 +- indra/cmake/CMakeLists.txt | 49 ++++++++---- indra/cmake/CSharpMacros.cmake | 142 ----------------------------------- indra/cmake/CopyBackToSource.cmake | 16 ---- indra/cmake/DirectX.cmake | 4 +- indra/cmake/DragDrop.cmake | 27 +++---- indra/cmake/Externals.cmake | 34 --------- indra/cmake/FindELFIO.cmake | 48 ------------ indra/cmake/FindLLQtWebkit.cmake | 62 --------------- indra/cmake/FindMT.cmake | 15 ---- indra/cmake/FindMono.cmake | 68 ----------------- indra/cmake/FindMySQL.cmake | 48 ------------ indra/cmake/FindSVN.cmake | 34 --------- indra/cmake/GLEXT.cmake | 8 ++ indra/cmake/LLDatabase.cmake | 10 --- indra/cmake/LLRender.cmake | 6 +- indra/cmake/LLScene.cmake | 7 -- indra/cmake/LLWindow.cmake | 12 +-- indra/cmake/LLXUIXML.cmake | 7 -- indra/cmake/MonoDeps.cmake | 48 ------------ indra/cmake/MonoEmbed.cmake | 57 -------------- indra/cmake/MySQL.cmake | 26 ------- indra/cmake/OpenGL.cmake | 17 +++-- indra/cmake/Variables.cmake | 24 ------ indra/cmake/VisualLeakDetector.cmake | 15 ++-- 26 files changed, 98 insertions(+), 743 deletions(-) delete mode 100644 indra/cmake/CSharpMacros.cmake delete mode 100644 indra/cmake/CopyBackToSource.cmake delete mode 100644 indra/cmake/Externals.cmake delete mode 100644 indra/cmake/FindELFIO.cmake delete mode 100644 indra/cmake/FindLLQtWebkit.cmake delete mode 100644 indra/cmake/FindMT.cmake delete mode 100644 indra/cmake/FindMono.cmake delete mode 100644 indra/cmake/FindMySQL.cmake delete mode 100644 indra/cmake/FindSVN.cmake create mode 100644 indra/cmake/GLEXT.cmake delete mode 100644 indra/cmake/LLDatabase.cmake delete mode 100644 indra/cmake/LLScene.cmake delete mode 100644 indra/cmake/LLXUIXML.cmake delete mode 100644 indra/cmake/MonoDeps.cmake delete mode 100644 indra/cmake/MonoEmbed.cmake delete mode 100644 indra/cmake/MySQL.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 21cb87237d..87fa4cf55a 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -150,41 +150,21 @@ if (LINUX) -pthread ) - if (SERVER) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth-60") - if (EXISTS /etc/debian_version) - FILE(READ /etc/debian_version DEBIAN_VERSION) - else (EXISTS /etc/debian_version) - set(DEBIAN_VERSION "") - endif (EXISTS /etc/debian_version) - - if (NOT DEBIAN_VERSION STREQUAL "3.1") - add_definitions(-DCTYPE_WORKAROUND) - endif (NOT DEBIAN_VERSION STREQUAL "3.1") - - if (EXISTS /usr/lib/mysql4/mysql) - link_directories(/usr/lib/mysql4/mysql) - endif (EXISTS /usr/lib/mysql4/mysql) - - endif (SERVER) - - if (VIEWER) - add_definitions(-DAPPID=secondlife) - add_definitions(-fvisibility=hidden) - # don't catch SIGCHLD in our base application class for the viewer - some of our 3rd party libs may need their *own* SIGCHLD handler to work. Sigh! The viewer doesn't need to catch SIGCHLD anyway. - add_definitions(-DLL_IGNORE_SIGCHLD) - if (WORD_SIZE EQUAL 32) - add_definitions(-march=pentium4) - endif (WORD_SIZE EQUAL 32) - add_definitions(-mfpmath=sse) - #add_definitions(-ftree-vectorize) # THIS CRASHES GCC 3.1-3.2 - if (NOT STANDALONE) - # this stops us requiring a really recent glibc at runtime - add_definitions(-fno-stack-protector) - # linking can be very memory-hungry, especially the final viewer link - set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory") - endif (NOT STANDALONE) - endif (VIEWER) + add_definitions(-DAPPID=secondlife) + add_definitions(-fvisibility=hidden) + # don't catch SIGCHLD in our base application class for the viewer - some of our 3rd party libs may need their *own* SIGCHLD handler to work. Sigh! The viewer doesn't need to catch SIGCHLD anyway. + add_definitions(-DLL_IGNORE_SIGCHLD) + if (WORD_SIZE EQUAL 32) + add_definitions(-march=pentium4) + endif (WORD_SIZE EQUAL 32) + add_definitions(-mfpmath=sse) + #add_definitions(-ftree-vectorize) # THIS CRASHES GCC 3.1-3.2 + if (NOT STANDALONE) + # this stops us requiring a really recent glibc at runtime + add_definitions(-fno-stack-protector) + # linking can be very memory-hungry, especially the final viewer link + set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory") + endif (NOT STANDALONE) set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}") set(CMAKE_CXX_FLAGS_RELEASE "-O2 ${CMAKE_CXX_FLAGS_RELEASE}") @@ -254,6 +234,3 @@ else (STANDALONE) ) endif (STANDALONE) -if(SERVER) - include_directories(${LIBS_PREBUILT_DIR}/include/havok) -endif(SERVER) diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index daafa00fe2..492ba2adea 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -49,9 +49,7 @@ else (STANDALONE) set(APR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/apr-1) if (LINUX) - if (VIEWER) - list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid) - endif (VIEWER) + list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid) list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} rt) endif (LINUX) endif (STANDALONE) diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 5935eeb192..bee7a1b7c3 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -14,49 +14,65 @@ set(cmake_SOURCE_FILES Boost.cmake BuildVersion.cmake CARes.cmake - CURL.cmake CMakeCopyIfDifferent.cmake + CURL.cmake Copy3rdPartyLibs.cmake - CSharpMacros.cmake DBusGlib.cmake + DeploySharedLibs.cmake DirectX.cmake + DragDrop.cmake EXPAT.cmake + ExamplePlugin.cmake + FMOD.cmake FindAPR.cmake + FindAutobuild.cmake FindBerkeleyDB.cmake FindCARes.cmake - FindELFIO.cmake FindFMOD.cmake + FindGLH.cmake + FindGoogleBreakpad.cmake FindGooglePerfTools.cmake - FindMono.cmake - FindMySQL.cmake + FindHUNSPELL.cmake + FindJsonCpp.cmake + FindNDOF.cmake FindOpenJPEG.cmake + FindSCP.cmake FindXmlRpcEpi.cmake FindZLIB.cmake - FMOD.cmake FreeType.cmake + GLEXT.cmake + GLH.cmake GLOD.cmake GStreamer010Plugin.cmake + GetPrerequisites_2_8.cmake + Glui.cmake + Glut.cmake + GoogleBreakpad.cmake + GoogleMock.cmake GooglePerfTools.cmake + Havok.cmake Hunspell.cmake JPEG.cmake + JsonCpp.cmake LLAddBuildTest.cmake LLAppearance.cmake + LLAppearanceUtility.cmake LLAudio.cmake LLCharacter.cmake LLCommon.cmake LLCrashLogger.cmake - LLDatabase.cmake LLImage.cmake LLImageJ2COJ.cmake LLInventory.cmake LLKDU.cmake + LLLogin.cmake LLMath.cmake LLMessage.cmake + LLPhysicsExtensions.cmake LLPlugin.cmake LLPrimitive.cmake - LLPhysicsExtensions.cmake LLRender.cmake - LLScene.cmake + LLSharedLibs.cmake LLTestCommand.cmake LLUI.cmake LLVFS.cmake @@ -64,21 +80,26 @@ set(cmake_SOURCE_FILES LLXML.cmake LScript.cmake Linking.cmake - MonoEmbed.cmake - MySQL.cmake + MediaPluginBase.cmake NDOF.cmake OPENAL.cmake OpenGL.cmake OpenJPEG.cmake OpenSSL.cmake PNG.cmake - Python.cmake + PluginAPI.cmake Prebuilt.cmake + PulseAudio.cmake + Python.cmake + QuickTimePlugin.cmake TemplateCheck.cmake Tut.cmake UI.cmake UnixInstall.cmake Variables.cmake + ViewerMiscLibs.cmake + VisualLeakDetector.cmake + WebKitLibPlugin.cmake XmlRpcEpi.cmake ZLIB.cmake ) @@ -89,10 +110,6 @@ set(master_SOURCE_FILES ../CMakeLists.txt ) -if (SERVER) - list(APPEND master_SOURCE_FILES ../Server.cmake) -endif (SERVER) - source_group("Master Rules" FILES ${master_SOURCE_FILES}) set_source_files_properties(${cmake_SOURCE_FILES} ${master_SOURCE_FILES} diff --git a/indra/cmake/CSharpMacros.cmake b/indra/cmake/CSharpMacros.cmake deleted file mode 100644 index a4dd815043..0000000000 --- a/indra/cmake/CSharpMacros.cmake +++ /dev/null @@ -1,142 +0,0 @@ -# - This is a support module for easy Mono/C# handling with CMake -# It defines the following macros: -# -# ADD_CS_LIBRARY ( ) -# ADD_CS_EXECUTABLE ( ) -# INSTALL_GAC () -# -# Note that the order of the arguments is important. -# -# You can optionally set the variable CS_FLAGS to tell the macros whether -# to pass additional flags to the compiler. This is particularly useful to -# set assembly references, unsafe code, etc... These flags are always reset -# after the target was added so you don't have to care about that. -# -# copyright (c) 2007 Arno Rehn arno@arnorehn.de -# -# Redistribution and use is allowed according to the terms of the GPL license. - - -# ----- support macros ----- -MACRO(GET_CS_LIBRARY_TARGET_DIR) - IF (NOT LIBRARY_OUTPUT_PATH) - SET(CS_LIBRARY_TARGET_DIR ${CMAKE_CURRENT_BINARY_DIR}) - ELSE (NOT LIBRARY_OUTPUT_PATH) - SET(CS_LIBRARY_TARGET_DIR ${LIBRARY_OUTPUT_PATH}) - ENDIF (NOT LIBRARY_OUTPUT_PATH) -ENDMACRO(GET_CS_LIBRARY_TARGET_DIR) - -MACRO(GET_CS_EXECUTABLE_TARGET_DIR) - IF (NOT EXECUTABLE_OUTPUT_PATH) - SET(CS_EXECUTABLE_TARGET_DIR ${CMAKE_CURRENT_BINARY_DIR}) - ELSE (NOT EXECUTABLE_OUTPUT_PATH) - SET(CS_EXECUTABLE_TARGET_DIR ${EXECUTABLE_OUTPUT_PATH}) - ENDIF (NOT EXECUTABLE_OUTPUT_PATH) -ENDMACRO(GET_CS_EXECUTABLE_TARGET_DIR) - -MACRO(MAKE_PROPER_FILE_LIST) - FOREACH(file ${ARGN}) - # first assume it's a relative path - FILE(GLOB globbed ${CMAKE_CURRENT_SOURCE_DIR}/${file}) - IF(globbed) - FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${file} native) - ELSE(globbed) - FILE(TO_NATIVE_PATH ${file} native) - ENDIF(globbed) - SET(proper_file_list ${proper_file_list} ${native}) - SET(native "") - ENDFOREACH(file) -ENDMACRO(MAKE_PROPER_FILE_LIST) -# ----- end support macros ----- - -MACRO(ADD_CS_LIBRARY target) - GET_CS_LIBRARY_TARGET_DIR() - - SET(target_DLL "${CS_LIBRARY_TARGET_DIR}/${target}.dll") - MAKE_PROPER_FILE_LIST(${ARGN}) - FILE(RELATIVE_PATH relative_path ${CMAKE_BINARY_DIR} ${target_DLL}) - - SET(target_KEY "${CMAKE_CURRENT_SOURCE_DIR}/${target}.key") - SET(target_CS_FLAGS "${CS_FLAGS}") - IF(${target}_CS_FLAGS) - LIST(APPEND target_CS_FLAGS ${${target}_CS_FLAGS}) - ENDIF(${target}_CS_FLAGS) - IF(EXISTS ${target_KEY}) - LIST(APPEND target_CS_FLAGS -keyfile:${target_KEY}) - ENDIF(EXISTS ${target_KEY}) - - FOREACH(ref ${${target}_REFS}) - SET(ref_DLL ${CMAKE_CURRENT_BINARY_DIR}/${ref}.dll) - IF(EXISTS ${ref_DLL}) - LIST(APPEND target_CS_FLAGS -r:${ref_DLL}) - ELSE(EXISTS ${ref_DLL}) - LIST(APPEND target_CS_FLAGS -r:${ref}) - ENDIF(EXISTS ${ref_DLL}) - ENDFOREACH(ref ${${target}_REFS}) - - ADD_CUSTOM_COMMAND (OUTPUT ${target_DLL} - COMMAND ${MCS_EXECUTABLE} ${target_CS_FLAGS} -out:${target_DLL} -target:library ${proper_file_list} - MAIN_DEPENDENCY ${proper_file_list} - DEPENDS ${ARGN} - COMMENT "Building ${relative_path}") - ADD_CUSTOM_TARGET (${target} ALL DEPENDS ${target_DLL}) - - FOREACH(ref ${${target}_REFS}) - GET_TARGET_PROPERTY(is_target ${ref} TYPE) - IF(is_target) - ADD_DEPENDENCIES(${target} ${ref}) - ENDIF(is_target) - ENDFOREACH(ref ${${target}_REFS}) - - SET(relative_path "") - SET(proper_file_list "") -ENDMACRO(ADD_CS_LIBRARY) - -MACRO(ADD_CS_EXECUTABLE target) - GET_CS_EXECUTABLE_TARGET_DIR() - - # Seems like cmake doesn't like the ".exe" ending for custom commands. - # If we call it ${target}.exe, 'make' will later complain about a missing rule. - # Create a fake target instead. - SET(target_EXE "${CS_EXECUTABLE_TARGET_DIR}/${target}.exe") - SET(target_TOUCH "${CS_EXECUTABLE_TARGET_DIR}/${target}.exe-built") - GET_DIRECTORY_PROPERTY(clean ADDITIONAL_MAKE_CLEAN_FILES) - LIST(APPEND clean ${target}.exe) - SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${clean}") - MAKE_PROPER_FILE_LIST(${ARGN}) - FILE(RELATIVE_PATH relative_path ${CMAKE_BINARY_DIR} ${target_EXE}) - SET(target_CS_FLAGS "${CS_FLAGS}") - - FOREACH(ref ${${target}_REFS}) - SET(ref_DLL ${CMAKE_CURRENT_SOURCE_DIR}/${ref}.dll) - IF(EXISTS ${ref_DLL}) - LIST(APPEND target_CS_FLAGS -r:${ref_DLL}) - ELSE(EXISTS ${ref_DLL}) - LIST(APPEND target_CS_FLAGS -r:${ref}) - ENDIF(EXISTS ${ref_DLL}) - ENDFOREACH(ref ${${target}_REFS}) - - ADD_CUSTOM_COMMAND (OUTPUT "${target_TOUCH}" - COMMAND ${MCS_EXECUTABLE} ${target_CS_FLAGS} -out:${target_EXE} ${proper_file_list} - COMMAND ${CMAKE_COMMAND} -E touch ${target_TOUCH} - MAIN_DEPENDENCY ${ARGN} - DEPENDS ${ARGN} - COMMENT "Building ${relative_path}") - ADD_CUSTOM_TARGET ("${target}" ALL DEPENDS "${target_TOUCH}") - - FOREACH(ref ${${target}_REFS}) - GET_TARGET_PROPERTY(is_target ${ref} TYPE) - IF(is_target) - ADD_DEPENDENCIES(${target} ${ref}) - ENDIF(is_target) - ENDFOREACH(ref ${${target}_REFS}) - - SET(relative_path "") - SET(proper_file_list "") -ENDMACRO(ADD_CS_EXECUTABLE) - -MACRO(INSTALL_GAC target) - GET_CS_LIBRARY_TARGET_DIR() - - INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${GACUTIL_EXECUTABLE} -i ${CS_LIBRARY_TARGET_DIR}/${target}.dll -package 2.0)") -ENDMACRO(INSTALL_GAC target) diff --git a/indra/cmake/CopyBackToSource.cmake b/indra/cmake/CopyBackToSource.cmake deleted file mode 100644 index d217df9aec..0000000000 --- a/indra/cmake/CopyBackToSource.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# -*- cmake -*- -# Copies a binary back to the source directory - -MACRO(COPY_BACK_TO_SOURCE target) - GET_TARGET_PROPERTY(FROM ${target} LOCATION) - SET(TO ${CMAKE_CURRENT_SOURCE_DIR}) - #MESSAGE("TARGET ${target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${FROM} ${TO}") - ADD_CUSTOM_COMMAND( - TARGET ${target} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${FROM} ${TO} - DEPENDS ${FROM} - COMMENT "Copying ${target} to ${CMAKE_CURRENT_BINARY_DIR}" - ) -ENDMACRO(COPY_BACK_TO_SOURCE) - - diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake index 8cae606848..25163d0322 100644 --- a/indra/cmake/DirectX.cmake +++ b/indra/cmake/DirectX.cmake @@ -1,6 +1,6 @@ # -*- cmake -*- -if (VIEWER AND WINDOWS) +if (WINDOWS) find_path(DIRECTX_INCLUDE_DIR dxdiag.h "$ENV{DXSDK_DIR}/Include" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Include" @@ -45,4 +45,4 @@ if (VIEWER AND WINDOWS) message(FATAL_ERROR "Could not find DirectX SDK Libraries") endif (DIRECTX_LIBRARY_DIR) -endif (VIEWER AND WINDOWS) +endif (WINDOWS) diff --git a/indra/cmake/DragDrop.cmake b/indra/cmake/DragDrop.cmake index c0424396e5..b70aa6b6ee 100644 --- a/indra/cmake/DragDrop.cmake +++ b/indra/cmake/DragDrop.cmake @@ -1,23 +1,20 @@ # -*- cmake -*- -if (VIEWER) +set(OS_DRAG_DROP ON CACHE BOOL "Build the viewer with OS level drag and drop turned on or off") - set(OS_DRAG_DROP ON CACHE BOOL "Build the viewer with OS level drag and drop turned on or off") +if (OS_DRAG_DROP) - if (OS_DRAG_DROP) + if (WINDOWS) + add_definitions(-DLL_OS_DRAGDROP_ENABLED=1) + endif (WINDOWS) - if (WINDOWS) - add_definitions(-DLL_OS_DRAGDROP_ENABLED=1) - endif (WINDOWS) + if (DARWIN) + add_definitions(-DLL_OS_DRAGDROP_ENABLED=1) + endif (DARWIN) - if (DARWIN) - add_definitions(-DLL_OS_DRAGDROP_ENABLED=1) - endif (DARWIN) + if (LINUX) + add_definitions(-DLL_OS_DRAGDROP_ENABLED=0) + endif (LINUX) - if (LINUX) - add_definitions(-DLL_OS_DRAGDROP_ENABLED=0) - endif (LINUX) +endif (OS_DRAG_DROP) - endif (OS_DRAG_DROP) - -endif (VIEWER) diff --git a/indra/cmake/Externals.cmake b/indra/cmake/Externals.cmake deleted file mode 100644 index 26f3b56049..0000000000 --- a/indra/cmake/Externals.cmake +++ /dev/null @@ -1,34 +0,0 @@ -# -*- cmake -*- - -include(Python) -include(FindSVN) - -macro (use_svn_external _binary _path _url _rev) - if (NOT STANDALONE) - if(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed) - if(SVN_FOUND) - if(DEBUG_EXTERNALS) - message("cd ${_path} && ${SVN_EXECUTABLE} checkout -r ${_rev} ${_url} ${_binary}") - endif(DEBUG_EXTERNALS) - execute_process(COMMAND ${SVN_EXECUTABLE} - checkout - -r ${_rev} - ${_url} - ${_binary} - WORKING_DIRECTORY ${_path} - RESULT_VARIABLE ${_binary}_installed - ) - else(SVN_FOUND) - message(FATAL_ERROR "Failed to find SVN_EXECUTABLE") - endif(SVN_FOUND) - file(WRITE ${CMAKE_BINARY_DIR}/temp/${_binary}_installed "${${_binary}_installed}") - else(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed) - set(${_binary}_installed 0) - endif(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed) - if(NOT ${_binary}_installed EQUAL 0) - message(FATAL_ERROR - "Failed to download or unpack prebuilt '${_binary}'." - " Process returned ${${_binary}_installed}.") - endif (NOT ${_binary}_installed EQUAL 0) - endif (NOT STANDALONE) -endmacro (use_svn_external _binary _path _url _rev) diff --git a/indra/cmake/FindELFIO.cmake b/indra/cmake/FindELFIO.cmake deleted file mode 100644 index 8a5421ab9c..0000000000 --- a/indra/cmake/FindELFIO.cmake +++ /dev/null @@ -1,48 +0,0 @@ -# -*- cmake -*- - -# - Find ELFIO -# Find the ELFIO includes and library -# This module defines -# ELFIO_INCLUDE_DIR, where to find elfio.h, etc. -# ELFIO_LIBRARIES, the libraries needed to use ELFIO. -# ELFIO_FOUND, If false, do not try to use ELFIO. -# also defined, but not for general use are -# ELFIO_LIBRARY, where to find the ELFIO library. - -FIND_PATH(ELFIO_INCLUDE_DIR ELFIO/ELFIO.h -/usr/local/include -/usr/include -) - -SET(ELFIO_NAMES ${ELFIO_NAMES} ELFIO) -FIND_LIBRARY(ELFIO_LIBRARY - NAMES ${ELFIO_NAMES} - PATHS /usr/lib /usr/local/lib - ) - -IF (ELFIO_LIBRARY AND ELFIO_INCLUDE_DIR) - SET(ELFIO_LIBRARIES ${ELFIO_LIBRARY}) - SET(ELFIO_FOUND "YES") -ELSE (ELFIO_LIBRARY AND ELFIO_INCLUDE_DIR) - SET(ELFIO_FOUND "NO") -ENDIF (ELFIO_LIBRARY AND ELFIO_INCLUDE_DIR) - - -IF (ELFIO_FOUND) - IF (NOT ELFIO_FIND_QUIETLY) - MESSAGE(STATUS "Found ELFIO: ${ELFIO_LIBRARIES}") - ENDIF (NOT ELFIO_FIND_QUIETLY) -ELSE (ELFIO_FOUND) - IF (ELFIO_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find ELFIO library") - ENDIF (ELFIO_FIND_REQUIRED) -ENDIF (ELFIO_FOUND) - -# Deprecated declarations. -SET (NATIVE_ELFIO_INCLUDE_PATH ${ELFIO_INCLUDE_DIR} ) -GET_FILENAME_COMPONENT (NATIVE_ELFIO_LIB_PATH ${ELFIO_LIBRARY} PATH) - -MARK_AS_ADVANCED( - ELFIO_LIBRARY - ELFIO_INCLUDE_DIR - ) diff --git a/indra/cmake/FindLLQtWebkit.cmake b/indra/cmake/FindLLQtWebkit.cmake deleted file mode 100644 index 2f666d3bf0..0000000000 --- a/indra/cmake/FindLLQtWebkit.cmake +++ /dev/null @@ -1,62 +0,0 @@ -# -*- cmake -*- - -# - Find llqtwebkit -# Find the llqtwebkit includes and library -# This module defines -# LLQTWEBKIT_INCLUDE_DIR, where to find llqtwebkit.h, etc. -# LLQTWEBKIT_LIBRARY, the llqtwebkit library with full path. -# LLQTWEBKIT_FOUND, If false, do not try to use llqtwebkit. -# also defined, but not for general use are -# LLQTWEBKIT_LIBRARIES, the libraries needed to use llqtwebkit. -# LLQTWEBKIT_LIBRARY_DIRS, where to find the llqtwebkit library. -# LLQTWEBKIT_DEFINITIONS - You should add_definitions(${LLQTWEBKIT_DEFINITIONS}) -# before compiling code that includes llqtwebkit library files. - -# Try to use pkg-config first. -# This allows to have two different libllqtwebkit packages installed: -# one for viewer 2.x and one for viewer 1.x. -include(FindPkgConfig) -if (PKG_CONFIG_FOUND) - if (LLQtWebkit_FIND_REQUIRED AND LLQtWebkit_FIND_VERSION) - set(_PACKAGE_ARGS libllqtwebkit>=${LLQtWebkit_FIND_VERSION} REQUIRED) - else (LLQtWebkit_FIND_REQUIRED AND LLQtWebkit_FIND_VERSION) - set(_PACKAGE_ARGS libllqtwebkit) - endif (LLQtWebkit_FIND_REQUIRED AND LLQtWebkit_FIND_VERSION) - if (NOT "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_LESS "2.8.2") - # As virtually nobody will have a pkg-config file for this, do this check always quiet. - # Unfortunately cmake 2.8.2 or higher is required for pkg_check_modules to have a 'QUIET'. - set(_PACKAGE_ARGS ${_PACKAGE_ARGS} QUIET) - endif () - pkg_check_modules(LLQTWEBKIT ${_PACKAGE_ARGS}) -endif (PKG_CONFIG_FOUND) -set(LLQTWEBKIT_DEFINITIONS ${LLQTWEBKIT_CFLAGS_OTHER}) - -find_path(LLQTWEBKIT_INCLUDE_DIR llqtwebkit.h NO_SYSTEM_ENVIRONMENT_PATH HINTS ${LLQTWEBKIT_INCLUDE_DIRS}) - -find_library(LLQTWEBKIT_LIBRARY NAMES llqtwebkit NO_SYSTEM_ENVIRONMENT_PATH HINTS ${LLQTWEBKIT_LIBRARY_DIRS}) - -if (NOT PKG_CONFIG_FOUND OR NOT LLQTWEBKIT_FOUND) # If pkg-config couldn't find it, pretend we don't have pkg-config. - set(LLQTWEBKIT_LIBRARIES llqtwebkit) - get_filename_component(LLQTWEBKIT_LIBRARY_DIRS ${LLQTWEBKIT_LIBRARY} PATH) -endif (NOT PKG_CONFIG_FOUND OR NOT LLQTWEBKIT_FOUND) - -# Handle the QUIETLY and REQUIRED arguments and set LLQTWEBKIT_FOUND -# to TRUE if all listed variables are TRUE. -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args( - LLQTWEBKIT - DEFAULT_MSG - LLQTWEBKIT_LIBRARY - LLQTWEBKIT_INCLUDE_DIR - LLQTWEBKIT_LIBRARIES - LLQTWEBKIT_LIBRARY_DIRS - ) - -mark_as_advanced( - LLQTWEBKIT_LIBRARY - LLQTWEBKIT_INCLUDE_DIR - LLQTWEBKIT_LIBRARIES - LLQTWEBKIT_LIBRARY_DIRS - LLQTWEBKIT_DEFINITIONS - ) - diff --git a/indra/cmake/FindMT.cmake b/indra/cmake/FindMT.cmake deleted file mode 100644 index 5239a4c2f5..0000000000 --- a/indra/cmake/FindMT.cmake +++ /dev/null @@ -1,15 +0,0 @@ -#Find the windows manifest tool. - -FIND_PROGRAM(HAVE_MANIFEST_TOOL NAMES mt - PATHS - "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/VC/bin" - "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin" - "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin") -IF(HAVE_MANIFEST_TOOL) - MESSAGE(STATUS "Found Mainfest Tool. Embedding custom manifests.") -ELSE(HAVE_MANIFEST_TOOL) - MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.") -ENDIF(HAVE_MANIFEST_TOOL) - -STRING(REPLACE "/MANIFEST" "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS - ${CMAKE_EXE_LINKER_FLAGS}) diff --git a/indra/cmake/FindMono.cmake b/indra/cmake/FindMono.cmake deleted file mode 100644 index d956c48656..0000000000 --- a/indra/cmake/FindMono.cmake +++ /dev/null @@ -1,68 +0,0 @@ -# - Try to find the mono, mcs, gmcs and gacutil -# -# defines -# -# MONO_FOUND - system has mono, mcs, gmcs and gacutil -# MONO_PATH - where to find 'mono' -# MCS_PATH - where to find 'mcs' -# GMCS_PATH - where to find 'gmcs' -# GACUTIL_PATH - where to find 'gacutil' -# -# copyright (c) 2007 Arno Rehn arno@arnorehn.de -# -# Redistribution and use is allowed according to the terms of the GPL license. -# Removed the check for gmcs - -FIND_PROGRAM (MONO_EXECUTABLE mono - "$ENV{PROGRAMFILES}/Mono-1.9.1/bin" - "$ENV{PROGRAMFILES}/Mono-1.2.6/bin" - /bin - /usr/bin - /usr/local/bin -) -FIND_PROGRAM (MCS_EXECUTABLE mcs - "$ENV{PROGRAMFILES}/Mono-1.9.1/bin" - "$ENV{PROGRAMFILES}/Mono-1.2.6/bin" - /bin - /usr/bin - /usr/local/bin -) -FIND_PROGRAM (GMCS_EXECUTABLE gmcs - "$ENV{PROGRAMFILES}/Mono-1.9.1/bin" - "$ENV{PROGRAMFILES}/Mono-1.2.6/bin" - /bin - /usr/bin - /usr/local/bin -) -FIND_PROGRAM (GACUTIL_EXECUTABLE gacutil - "$ENV{PROGRAMFILES}/Mono-1.9.1/bin" - "$ENV{PROGRAMFILES}/Mono-1.2.6/bin" - /bin - /usr/bin - /usr/local/bin -) -FIND_PROGRAM (ILASM_EXECUTABLE - NAMES ilasm.bat ilasm - NO_DEFAULT_PATH - PATHS "$ENV{PROGRAMFILES}/Mono-1.9.1/bin" "$ENV{PROGRAMFILES}/Mono-1.2.6/bin" /bin /usr/bin /usr/local/bin -) - -SET (MONO_FOUND FALSE) - -IF (MONO_EXECUTABLE AND MCS_EXECUTABLE AND GACUTIL_EXECUTABLE) - SET (MONO_FOUND TRUE) -ENDIF (MONO_EXECUTABLE AND MCS_EXECUTABLE AND GACUTIL_EXECUTABLE) - -IF (MONO_FOUND) - IF (NOT Mono_FIND_QUIETLY) - MESSAGE(STATUS "Found mono: ${MONO_EXECUTABLE}") - MESSAGE(STATUS "Found mcs: ${MCS_EXECUTABLE}") - MESSAGE(STATUS "Found gacutil: ${GACUTIL_EXECUTABLE}") - ENDIF (NOT Mono_FIND_QUIETLY) -ELSE (MONO_FOUND) - IF (Mono_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find one or more of the following programs: mono, mcs, gacutil") - ENDIF (Mono_FIND_REQUIRED) -ENDIF (MONO_FOUND) - -MARK_AS_ADVANCED(MONO_EXECUTABLE MCS_EXECUTABLE GACUTIL_EXECUTABLE) diff --git a/indra/cmake/FindMySQL.cmake b/indra/cmake/FindMySQL.cmake deleted file mode 100644 index 431940328f..0000000000 --- a/indra/cmake/FindMySQL.cmake +++ /dev/null @@ -1,48 +0,0 @@ -# -*- cmake -*- - -# - Find MySQL -# Find the MySQL includes and library -# This module defines -# MYSQL_INCLUDE_DIR, where to find mysql.h, etc. -# MYSQL_LIBRARIES, the libraries needed to use Mysql. -# MYSQL_FOUND, If false, do not try to use Mysql. -# also defined, but not for general use are -# MYSQL_LIBRARY, where to find the Mysql library. - -FIND_PATH(MYSQL_INCLUDE_DIR mysql/mysql.h -/usr/local/include -/usr/include -) - -SET(MYSQL_NAMES ${MYSQL_NAMES} mysqlclient) -FIND_LIBRARY(MYSQL_LIBRARY - NAMES ${MYSQL_NAMES} - PATHS /usr/lib/mysql /usr/lib /usr/local/lib/mysql /usr/local/lib - ) - -IF (MYSQL_LIBRARY AND MYSQL_INCLUDE_DIR) - SET(MYSQL_LIBRARIES ${MYSQL_LIBRARY}) - SET(MYSQL_FOUND "YES") -ELSE (MYSQL_LIBRARY AND MYSQL_INCLUDE_DIR) - SET(MYSQL_FOUND "NO") -ENDIF (MYSQL_LIBRARY AND MYSQL_INCLUDE_DIR) - - -IF (MYSQL_FOUND) - IF (NOT MYSQL_FIND_QUIETLY) - MESSAGE(STATUS "Found MySQL: ${MYSQL_LIBRARIES}") - ENDIF (NOT MYSQL_FIND_QUIETLY) -ELSE (MYSQL_FOUND) - IF (MYSQL_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find MySQL library") - ENDIF (MYSQL_FIND_REQUIRED) -ENDIF (MYSQL_FOUND) - -# Deprecated declarations. -SET (NATIVE_MYSQL_INCLUDE_PATH ${MYSQL_INCLUDE_DIR} ) -GET_FILENAME_COMPONENT (NATIVE_MYSQL_LIB_PATH ${MYSQL_LIBRARY} PATH) - -MARK_AS_ADVANCED( - MYSQL_LIBRARY - MYSQL_INCLUDE_DIR - ) diff --git a/indra/cmake/FindSVN.cmake b/indra/cmake/FindSVN.cmake deleted file mode 100644 index 3322be4ca9..0000000000 --- a/indra/cmake/FindSVN.cmake +++ /dev/null @@ -1,34 +0,0 @@ -# -*- cmake -*- -# -# Find the svn executable for exporting old svn:externals. -# -# Input variables: -# SVN_FIND_REQUIRED - set this if configuration should fail without scp -# -# Output variables: -# -# SVN_FOUND - set if svn was found -# SVN_EXECUTABLE - path to svn executable -# SVN_BATCH_FLAG - how to put svn into batch mode - - -SET(SVN_EXECUTABLE) -FIND_PROGRAM(SVN_EXECUTABLE NAMES svn svn.exe) - -IF (SVN_EXECUTABLE) - SET(SVN_FOUND ON) -ELSE (SVN_EXECUTABLE) - SET(SVN_FOUND OFF) -ENDIF (SVN_EXECUTABLE) - -IF (SVN_FOUND) - GET_FILENAME_COMPONENT(_svn_name ${SVN_EXECUTABLE} NAME_WE) - SET(SVN_BATCH_FLAG --non-interactive) -ELSE (SVN_FOUND) - IF (SVN_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find svn executable") - ENDIF (SVN_FIND_REQUIRED) -ENDIF (SVN_FOUND) - -MARK_AS_ADVANCED(SVN_EXECUTABLE SVN_FOUND SVN_BATCH_FLAG) - diff --git a/indra/cmake/GLEXT.cmake b/indra/cmake/GLEXT.cmake new file mode 100644 index 0000000000..0a3dd976b4 --- /dev/null +++ b/indra/cmake/GLEXT.cmake @@ -0,0 +1,8 @@ +# -*- cmake -*- +include(Prebuilt) + +if (NOT STANDALONE) + use_prebuilt_binary(glext) + use_prebuilt_binary(glh_linear) + set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) +endif (NOT STANDALONE) diff --git a/indra/cmake/LLDatabase.cmake b/indra/cmake/LLDatabase.cmake deleted file mode 100644 index 6526101386..0000000000 --- a/indra/cmake/LLDatabase.cmake +++ /dev/null @@ -1,10 +0,0 @@ -# -*- cmake -*- - -include(MySQL) - -set(LLDATABASE_INCLUDE_DIRS - ${LIBS_SERVER_DIR}/lldatabase - ${MYSQL_INCLUDE_DIR} - ) - -set(LLDATABASE_LIBRARIES lldatabase) diff --git a/indra/cmake/LLRender.cmake b/indra/cmake/LLRender.cmake index 6695ed6bd9..c2f6fc67cd 100644 --- a/indra/cmake/LLRender.cmake +++ b/indra/cmake/LLRender.cmake @@ -8,15 +8,15 @@ set(LLRENDER_INCLUDE_DIRS ${GLH_INCLUDE_DIR} ) -if ((SERVER OR BAKING) AND LINUX) +if ((BAKING) AND LINUX) set(LLRENDER_LIBRARIES llrenderheadless ) -else ((SERVER OR BAKING) AND LINUX) +else ((BAKING) AND LINUX) set(LLRENDER_LIBRARIES llrender ) -endif ((SERVER OR BAKING) AND LINUX) +endif ((BAKING) AND LINUX) # mapserver requires certain files to be copied so LL_MESA_HEADLESS can be set # differently for different object files. diff --git a/indra/cmake/LLScene.cmake b/indra/cmake/LLScene.cmake deleted file mode 100644 index 96ad5085a2..0000000000 --- a/indra/cmake/LLScene.cmake +++ /dev/null @@ -1,7 +0,0 @@ -# -*- cmake -*- - -set(LLSCENE_INCLUDE_DIRS - ${LIBS_SERVER_DIR}/llscene - ) - -set(LLSCENE_LIBRARIES llscene) diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index 1ee4ca0aac..81e58b2bea 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -1,6 +1,6 @@ # -*- cmake -*- -include(OpenGL) +include(GLEXT) include(Prebuilt) if (STANDALONE) @@ -14,12 +14,12 @@ if (STANDALONE) ) else (STANDALONE) use_prebuilt_binary(mesa) - if (LINUX AND VIEWER) + if (LINUX) use_prebuilt_binary(SDL) set (SDL_FOUND TRUE) set (SDL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/i686-linux) set (SDL_LIBRARY SDL directfb fusion direct) - endif (LINUX AND VIEWER) + endif (LINUX) endif (STANDALONE) if (SDL_FOUND AND NOT BAKING) @@ -37,13 +37,13 @@ set(LLWINDOW_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llwindow ) -if ((SERVER AND LINUX) OR (BAKING AND LINUX)) +if (BAKING AND LINUX) set(LLWINDOW_LIBRARIES llwindowheadless ) MESSAGE( STATUS "using headless libraries") -else (SERVER AND LINUX) +else (BAKING AND LINUX) set(LLWINDOW_LIBRARIES llwindow ) -endif ((SERVER AND LINUX) OR (BAKING AND LINUX)) +endif (BAKING AND LINUX) diff --git a/indra/cmake/LLXUIXML.cmake b/indra/cmake/LLXUIXML.cmake deleted file mode 100644 index b8bfe48c77..0000000000 --- a/indra/cmake/LLXUIXML.cmake +++ /dev/null @@ -1,7 +0,0 @@ -# -*- cmake -*- - -set(LLXUIXML_INCLUDE_DIRS - ${LIBS_OPEN_DIR}/llxuixml - ) - -set(LLXUIXML_LIBRARIES llxuixml) diff --git a/indra/cmake/MonoDeps.cmake b/indra/cmake/MonoDeps.cmake deleted file mode 100644 index 52d5491563..0000000000 --- a/indra/cmake/MonoDeps.cmake +++ /dev/null @@ -1,48 +0,0 @@ -# -*- cmake -*- - -set(MONO_PREBUILT_LIBRARIES_DIR ${LIBS_PREBUILT_DIR}/mono/1.0) - -set(MONO_PREBUILT_LIBRARIES - Iesi.Collections.dll - Iesi.Collections.pdb - Mono.CompilerServices.SymbolWriter.dll - Mono.PEToolkit.dll - Mono.PEToolkit.pdb - Mono.Security.dll - PEAPI.dll - RAIL.dll - RAIL.pdb - ) - - set(MONO_CORE_LIBRARIES - System.dll - System.Xml.dll - mscorlib.dll) - -if(WINDOWS) - set(MONO_DEPENDENCIES - DomainCreator - DomainRegister - LslLibrary - LslUserScript - Script - ScriptTypes - TestFormat - UserScript - UThread - UThreadInjector - ) -else(WINDOWS) - set(MONO_DEPENDENCIES - DomainCreator_POST_BUILD - DomainRegister_POST_BUILD - LslLibrary_POST_BUILD - LslUserScript_POST_BUILD - Script_POST_BUILD - ScriptTypes_POST_BUILD - TestFormat_POST_BUILD - UserScript_POST_BUILD - UThread_POST_BUILD - UThreadInjector_POST_BUILD - ) -endif(WINDOWS) diff --git a/indra/cmake/MonoEmbed.cmake b/indra/cmake/MonoEmbed.cmake deleted file mode 100644 index 30890aed21..0000000000 --- a/indra/cmake/MonoEmbed.cmake +++ /dev/null @@ -1,57 +0,0 @@ -# -*- cmake -*- - -include(Prebuilt) -use_prebuilt_binary(libmono) - -SET(GLIB_2_0 glib-2.0) - -if (WINDOWS) - SET(MONO_LIB mono) -else (WINDOWS) - SET(MONO_LIB mono) - SET(M_LIBRARIES m) - SET(GTHREAD_2_0 gthread-2.0) -endif(WINDOWS) - - -IF (DARWIN) - - FIND_LIBRARY(MONO_LIBRARY NAMES Mono) - # Find_file doesnt work as expected. Hardcode relative to Mono.framework. - #FIND_FILE(GLIB_CONFIG glibconfig.h ${MONO_LIBRARY}) - #FIND_FILE(MONO_GLIB_LIBRARY glib.h ${MONO_LIBRARY}) - SET(MONO_GLIB_LIBRARY ${MONO_LIBRARY}/Headers/glib-2.0/) - SET(GLIB_CONFIG ${MONO_LIBRARY}/Libraries/glib-2.0/include/) - SET(MONO_LIB_DIRECTORY ${MONO_LIBRARY}/Libraries) - - IF (MONO_LIBRARY AND MONO_GLIB_LIBRARY AND GLIB_CONFIG) - MESSAGE(STATUS "Found Mono for embedding") - INCLUDE_DIRECTORIES(${MONO_GLIB_LIBRARY} ${GLIB_CONFIG}) - LINK_DIRECTORIES(${MONO_LIB_DIRECTORY}) - ELSE (MONO_LIBRARY AND MONO_GLIB_LIBRARY AND GLIB_CONFIG) - MESSAGE(FATAL_ERROR "Mono not found for embedding") - MESSAGE(${MONO_LIBRARY}) - MESSAGE(${MONO_GLIB_LIBRARY}) - MESSAGE(${GLIB_CONFIG}) - ENDIF (MONO_LIBRARY AND MONO_GLIB_LIBRARY AND GLIB_CONFIG) - -ELSE (DARWIN) - - SET(MONO_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) - SET(GLIB_2_0_PLATFORM_INCLUDE_DIR - ${LIBS_PREBUILT_DIR}/include/glib-2.0) - SET(GLIB_2_0_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/glib-2.0) - - INCLUDE_DIRECTORIES( - ${MONO_INCLUDE_DIR} - ${GLIB_2_0_PLATFORM_INCLUDE_DIR} - ${GLIB_2_0_INCLUDE_DIR}) - -ENDIF (DARWIN) - -SET(MONO_LIBRARIES - ${MONO_LIB} - ${M_LIBRARIES} - ${GLIB_2_0} - ${GTHREAD_2_0} -) diff --git a/indra/cmake/MySQL.cmake b/indra/cmake/MySQL.cmake deleted file mode 100644 index 218482449d..0000000000 --- a/indra/cmake/MySQL.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# -*- cmake -*- -include(Linking) -include(Prebuilt) - -use_prebuilt_binary(mysql) - -if (LINUX) - if (WORD_SIZE EQUAL 32 OR DEBIAN_VERSION STREQUAL "3.1") - set(MYSQL_LIBRARIES mysqlclient) - set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) - else (WORD_SIZE EQUAL 32 OR DEBIAN_VERSION STREQUAL "3.1") - # Use the native MySQL library on a 64-bit system. - set(MYSQL_FIND_QUIETLY ON) - set(MYSQL_FIND_REQUIRED ON) - include(FindMySQL) - endif (WORD_SIZE EQUAL 32 OR DEBIAN_VERSION STREQUAL "3.1") -elseif (WINDOWS) - set(MYSQL_LIBRARIES mysqlclient) - set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) -elseif (DARWIN) - set(MYSQL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) - set(MYSQL_LIBRARIES - optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libmysqlclient.a - debug ${ARCH_PREBUILT_DIRS_DEBUG}/libmysqlclient.a - ) -endif (LINUX) diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake index 0a3dd976b4..bafb2a460f 100644 --- a/indra/cmake/OpenGL.cmake +++ b/indra/cmake/OpenGL.cmake @@ -1,8 +1,15 @@ # -*- cmake -*- + +#if (INSTALL_PROPRIETARY) +# set(HEADLESS ON CACHE BOOL "Use headless mesa library.") +#endif (INSTALL_PROPRIETARY) + include(Prebuilt) -if (NOT STANDALONE) - use_prebuilt_binary(glext) - use_prebuilt_binary(glh_linear) - set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) -endif (NOT STANDALONE) +if (LINUX AND NOT STANDALONE) + use_prebuilt_binary(mesa) + SET(OPENGL_glu_LIBRARY GLU) +endif (LINUX AND NOT STANDALONE) + +include(FindOpenGL) + diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 4b459f1a48..d570a8cde4 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -8,11 +8,6 @@ # DARWIN - Mac OS X # LINUX - Linux # WINDOWS - Windows -# -# What to build: -# -# VIEWER - viewer and other viewer-side components -# SERVER - simulator and other server-side bits # Relative and absolute paths to subtrees. @@ -23,9 +18,7 @@ endif(NOT DEFINED COMMON_CMAKE_DIR) set(LIBS_CLOSED_PREFIX) set(LIBS_OPEN_PREFIX) -set(LIBS_SERVER_PREFIX) set(SCRIPTS_PREFIX ../scripts) -set(SERVER_PREFIX) set(VIEWER_PREFIX) set(INTEGRATION_TESTS_PREFIX) set(LL_TESTS ON CACHE BOOL "Build and run unit and integration tests (disable for build timing runs to reduce variation") @@ -43,9 +36,7 @@ else(LIBS_COMMON_DIR) endif(LIBS_COMMON_DIR) set(LIBS_OPEN_DIR ${LIBS_COMMON_DIR}) -set(LIBS_SERVER_DIR ${CMAKE_SOURCE_DIR}/${LIBS_SERVER_PREFIX}) set(SCRIPTS_DIR ${CMAKE_SOURCE_DIR}/${SCRIPTS_PREFIX}) -set(SERVER_DIR ${CMAKE_SOURCE_DIR}/${SERVER_PREFIX}) set(VIEWER_DIR ${CMAKE_SOURCE_DIR}/${VIEWER_PREFIX}) set(AUTOBUILD_INSTALL_DIR ${CMAKE_BINARY_DIR}/packages) @@ -140,7 +131,6 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # Default deploy grid set(GRID agni CACHE STRING "Target Grid") -set(VIEWER ON CACHE BOOL "Build Second Life viewer.") set(VIEWER_CHANNEL "LindenDeveloper" CACHE STRING "Viewer Channel Name") set(VIEWER_LOGIN_CHANNEL ${VIEWER_CHANNEL} CACHE STRING "Fake login channel for A/B Testing") @@ -153,20 +143,6 @@ set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside") set(STANDALONE OFF CACHE BOOL "Do not use Linden-supplied prebuilt libraries.") set(UNATTENDED OFF CACHE BOOL "Should be set to ON for building with VC Express editions.") -if (NOT STANDALONE AND EXISTS ${CMAKE_SOURCE_DIR}/llphysics) - set(SERVER ON CACHE BOOL "Build Second Life server software.") -endif (NOT STANDALONE AND EXISTS ${CMAKE_SOURCE_DIR}/llphysics) - -if (LINUX AND SERVER AND VIEWER) - MESSAGE(FATAL_ERROR " -The indra source does not currently support building SERVER and VIEWER at the same time. -Please set one of these values to OFF in your CMake cache file. -(either by running ccmake or by editing CMakeCache.txt by hand) -For more information, please see JIRA DEV-14943 - Cmake Linux cannot build both VIEWER and SERVER in one build environment - ") -endif (LINUX AND SERVER AND VIEWER) - - set(USE_PRECOMPILED_HEADERS ON CACHE BOOL "Enable use of precompiled header directives where supported.") source_group("CMake Rules" FILES CMakeLists.txt) diff --git a/indra/cmake/VisualLeakDetector.cmake b/indra/cmake/VisualLeakDetector.cmake index d3ba554e46..27e93e28bb 100644 --- a/indra/cmake/VisualLeakDetector.cmake +++ b/indra/cmake/VisualLeakDetector.cmake @@ -1,15 +1,12 @@ # -*- cmake -*- -if (VIEWER) +set(INCLUDE_VLD_CMAKE OFF CACHE BOOL "Build the Windows viewer with Visual Leak Detector turned on or off") - set(INCLUDE_VLD_CMAKE OFF CACHE BOOL "Build the Windows viewer with Visual Leak Detector turned on or off") +if (INCLUDE_VLD_CMAKE) - if (INCLUDE_VLD_CMAKE) + if (WINDOWS) + add_definitions(-DINCLUDE_VLD=1) + endif (WINDOWS) - if (WINDOWS) - add_definitions(-DINCLUDE_VLD=1) - endif (WINDOWS) +endif (INCLUDE_VLD_CMAKE) - endif (INCLUDE_VLD_CMAKE) - -endif (VIEWER) -- cgit v1.2.3 From 21df924a10c1c32f7fc28bb29b20dc2179863b24 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 4 Oct 2012 06:29:07 +0000 Subject: Building headless and non-headless libraries side-by-side, removing the need for the BAKING cmake setting. --- indra/cmake/LLAppearance.cmake | 10 ++++++++++ indra/cmake/LLRender.cmake | 26 ++++++-------------------- indra/cmake/LLWindow.cmake | 30 ++++++++++++------------------ indra/cmake/OpenGL.cmake | 10 ++++------ indra/cmake/Variables.cmake | 3 +++ 5 files changed, 35 insertions(+), 44 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLAppearance.cmake b/indra/cmake/LLAppearance.cmake index 36cebe9816..bd3795a526 100644 --- a/indra/cmake/LLAppearance.cmake +++ b/indra/cmake/LLAppearance.cmake @@ -1,7 +1,17 @@ # -*- cmake -*- +include(Variables) + set(LLAPPEARANCE_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llappearance ) +if (BUILD_HEADLESS) + set(LLAPPEARANCE_HEADLESS_LIBRARIES + llappearanceheadless + ) +endif (BUILD_HEADLESS) + set(LLAPPEARANCE_LIBRARIES llappearance) + + diff --git a/indra/cmake/LLRender.cmake b/indra/cmake/LLRender.cmake index c2f6fc67cd..ae71ee4c0d 100644 --- a/indra/cmake/LLRender.cmake +++ b/indra/cmake/LLRender.cmake @@ -1,5 +1,6 @@ # -*- cmake -*- +include(Variables) include(FreeType) include(GLH) @@ -8,27 +9,12 @@ set(LLRENDER_INCLUDE_DIRS ${GLH_INCLUDE_DIR} ) -if ((BAKING) AND LINUX) - set(LLRENDER_LIBRARIES - llrenderheadless - ) -else ((BAKING) AND LINUX) +if (BUILD_HEADLESS) + set(LLRENDER_HEADLESS_LIBRARIES + llrenderheadless + ) +endif (BUILD_HEADLESS) set(LLRENDER_LIBRARIES llrender ) -endif ((BAKING) AND LINUX) -# mapserver requires certain files to be copied so LL_MESA_HEADLESS can be set -# differently for different object files. -macro (copy_server_sources ) - foreach (PREFIX ${ARGV}) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_server.cpp - COMMAND ${CMAKE_COMMAND} - ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${PREFIX}.cpp - ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_server.cpp - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PREFIX}.cpp - ) - list(APPEND server_SOURCE_FILES ${PREFIX}_server.cpp) - endforeach (PREFIX ${_copied_SOURCES}) -endmacro (copy_server_sources _copied_SOURCES) diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index 81e58b2bea..f6c40c174c 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -1,5 +1,6 @@ # -*- cmake -*- +include(Variables) include(GLEXT) include(Prebuilt) @@ -22,28 +23,21 @@ else (STANDALONE) endif (LINUX) endif (STANDALONE) -if (SDL_FOUND AND NOT BAKING) - add_definitions(-DLL_SDL=1) +if (SDL_FOUND) include_directories(${SDL_INCLUDE_DIR}) -endif (SDL_FOUND AND NOT BAKING) - -if (BAKING) - use_prebuilt_binary(mesa) - add_definitions(-DLL_MESA_HEADLESS=1) -endif (BAKING) +endif (SDL_FOUND) set(LLWINDOW_INCLUDE_DIRS ${GLEXT_INCLUDE_DIR} ${LIBS_OPEN_DIR}/llwindow ) -if (BAKING AND LINUX) - set(LLWINDOW_LIBRARIES - llwindowheadless - ) - MESSAGE( STATUS "using headless libraries") -else (BAKING AND LINUX) - set(LLWINDOW_LIBRARIES - llwindow - ) -endif (BAKING AND LINUX) +if (BUILD_HEADLESS) + set(LLWINDOW_HEADLESS_LIBRARIES + llwindowheadless + ) +endif (BUILD_HEADLESS) + +set(LLWINDOW_LIBRARIES + llwindow + ) diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake index bafb2a460f..181b10b91c 100644 --- a/indra/cmake/OpenGL.cmake +++ b/indra/cmake/OpenGL.cmake @@ -1,15 +1,13 @@ # -*- cmake -*- -#if (INSTALL_PROPRIETARY) -# set(HEADLESS ON CACHE BOOL "Use headless mesa library.") -#endif (INSTALL_PROPRIETARY) - +include(Variables) include(Prebuilt) -if (LINUX AND NOT STANDALONE) +if (BUILD_HEADLESS) use_prebuilt_binary(mesa) SET(OPENGL_glu_LIBRARY GLU) -endif (LINUX AND NOT STANDALONE) + SET(OPENGL_HEADLESS_LIBRARIES OSMesa16 GLU) +endif (BUILD_HEADLESS) include(FindOpenGL) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index d570a8cde4..0bcb3a38b0 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -48,6 +48,9 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) # We use this as a marker that you can try to use the proprietary libraries. set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries") endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) +if (INSTALL_PROPRIETARY) + set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.") +endif (INSTALL_PROPRIETARY) set(TEMPLATE_VERIFIER_OPTIONS "" CACHE STRING "Options for scripts/template_verifier.py") set(TEMPLATE_VERIFIER_MASTER_URL "http://bitbucket.org/lindenlab/master-message-template/raw/tip/message_template.msg" CACHE STRING "Location of the master message template") -- cgit v1.2.3 From 8977224883c8b689a0f93932a84bc2498ecc4c67 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 4 Oct 2012 08:27:13 +0000 Subject: Limiting headless builds to linux --- indra/cmake/Variables.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 0bcb3a38b0..28315e66e0 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -48,9 +48,9 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) # We use this as a marker that you can try to use the proprietary libraries. set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries") endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) -if (INSTALL_PROPRIETARY) +if (LINUX AND INSTALL_PROPRIETARY) set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.") -endif (INSTALL_PROPRIETARY) +endif (LINUX AND INSTALL_PROPRIETARY) set(TEMPLATE_VERIFIER_OPTIONS "" CACHE STRING "Options for scripts/template_verifier.py") set(TEMPLATE_VERIFIER_MASTER_URL "http://bitbucket.org/lindenlab/master-message-template/raw/tip/message_template.msg" CACHE STRING "Location of the master message template") -- cgit v1.2.3 From e858c172fcdf9aaf736383964c781a0bf347c473 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 4 Oct 2012 22:00:24 +0000 Subject: Updating to newer build of tcmalloc/google perf tools. Removing X11 library dependencies from headless libraries --- indra/cmake/GooglePerfTools.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index 09501e0406..c2ff095f62 100644 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -10,7 +10,7 @@ if (STANDALONE) else (STANDALONE) if (WINDOWS) if (USE_TCMALLOC) - use_prebuilt_binary(tcmalloc) + use_prebuilt_binary(gperftools) set(TCMALLOC_LIBRARIES debug libtcmalloc_minimal-debug optimized libtcmalloc_minimal) @@ -23,7 +23,7 @@ else (STANDALONE) endif (WINDOWS) if (LINUX) if (USE_TCMALLOC) - use_prebuilt_binary(tcmalloc) + use_prebuilt_binary(gperftools) set(TCMALLOC_LIBRARIES tcmalloc) else (USE_TCMALLOC) -- cgit v1.2.3 From c06c35609c6683731eaea283468f6b32af18fea2 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 11 Oct 2012 00:09:04 +0000 Subject: Updating linux build to gcc4.6 --- indra/cmake/LLCommon.cmake | 2 ++ indra/cmake/LLXML.cmake | 4 +++- indra/cmake/UI.cmake | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index d4694ad37a..6daef5eb83 100644 --- a/indra/cmake/LLCommon.cmake +++ b/indra/cmake/LLCommon.cmake @@ -10,6 +10,8 @@ set(LLCOMMON_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llcommon ${APRUTIL_INCLUDE_DIR} ${APR_INCLUDE_DIR} + ) +set(LLCOMMON_SYSTEM_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ) diff --git a/indra/cmake/LLXML.cmake b/indra/cmake/LLXML.cmake index 64dfdb604f..b093c76297 100644 --- a/indra/cmake/LLXML.cmake +++ b/indra/cmake/LLXML.cmake @@ -5,8 +5,10 @@ include(EXPAT) set(LLXML_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llxml - ${Boost_INCLUDE_DIRS} ${EXPAT_INCLUDE_DIRS} ) +set(LLXML_SYSTEM_INCLUDE_DIRS + ${Boost_INCLUDE_DIRS} + ) set(LLXML_LIBRARIES llxml) diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index 91e5258fb7..d0fd4df03a 100644 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -1,5 +1,6 @@ # -*- cmake -*- include(Prebuilt) +include(FreeType) if (STANDALONE) include(FindPkgConfig) @@ -47,6 +48,7 @@ else (STANDALONE) pangoft2-1.0 pangox-1.0 pangoxft-1.0 + ${FREETYPE_LIBRARIES} ) endif (LINUX) -- cgit v1.2.3 From e60491fc6994ccd77a7bc101c49c5b7e1eb1a379 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 11 Oct 2012 20:10:11 +0000 Subject: Adding multi-arch hints to CMake, allowing it to correctly find libraries on multi-arch debian-based systems. --- indra/cmake/Variables.cmake | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 28315e66e0..405d80aeb0 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -73,19 +73,36 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") # If someone has specified a word size, use that to determine the # architecture. Otherwise, let the architecture specify the word size. if (WORD_SIZE EQUAL 32) + #message(STATUS "WORD_SIZE is 32") set(ARCH i686) elseif (WORD_SIZE EQUAL 64) + #message(STATUS "WORD_SIZE is 64") set(ARCH x86_64) else (WORD_SIZE EQUAL 32) + #message(STATUS "WORD_SIZE is UNDEFINED") execute_process(COMMAND uname -m COMMAND sed s/i.86/i686/ OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) if (ARCH STREQUAL x86_64) + #message(STATUS "ARCH is detected as 64; ARCH is ${ARCH}") set(WORD_SIZE 64) else (ARCH STREQUAL x86_64) + #message(STATUS "ARCH is detected as 32; ARCH is ${ARCH}") set(WORD_SIZE 32) endif (ARCH STREQUAL x86_64) endif (WORD_SIZE EQUAL 32) + if (WORD_SIZE EQUAL 32) + set(DEB_ARCHITECTURE i386) + else (WORD_SIZE EQUAL 32) + set(DEB_ARCHITECTURE amd64) + endif (WORD_SIZE EQUAL 32) + + execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH RESULT_VARIABLE DPKG_RESULT OUTPUT_VARIABLE DPKG_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + #message (STATUS "DPKG_RESULT ${DPKG_RESULT}, DPKG_ARCH ${DPKG_ARCH}") + if (DPKG_RESULT EQUAL 0) + set(CMAKE_LIBRARY_ARCHITECTURE ${DPKG_ARCH}) + endif (DPKG_RESULT EQUAL 0) + set(LL_ARCH ${ARCH}_linux) set(LL_ARCH_DIR ${ARCH}-linux) endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") -- cgit v1.2.3 From 08f58ac3fdc89209b7bfbdf009803e75815505f4 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Sat, 13 Oct 2012 02:56:36 +0000 Subject: Adding libdl to OSMesa16 link line --- indra/cmake/OpenGL.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake index 181b10b91c..742d8e25a0 100644 --- a/indra/cmake/OpenGL.cmake +++ b/indra/cmake/OpenGL.cmake @@ -6,7 +6,7 @@ include(Prebuilt) if (BUILD_HEADLESS) use_prebuilt_binary(mesa) SET(OPENGL_glu_LIBRARY GLU) - SET(OPENGL_HEADLESS_LIBRARIES OSMesa16 GLU) + SET(OPENGL_HEADLESS_LIBRARIES OSMesa16 dl GLU) endif (BUILD_HEADLESS) include(FindOpenGL) -- cgit v1.2.3 From cc5f8686feee4efea124d582b99990dd987e1e98 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Mon, 15 Oct 2012 17:36:51 +0000 Subject: Speeding up cmake configuration, especially on linux. Re-arranged llrender/llwindow cmake source a bit --- indra/cmake/00-Common.cmake | 4 ++ indra/cmake/Havok.cmake | 134 +++++++++++++++++++++++++++++++------------- indra/cmake/Linking.cmake | 5 ++ indra/cmake/Prebuilt.cmake | 5 ++ indra/cmake/Variables.cmake | 4 ++ 5 files changed, 112 insertions(+), 40 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 87fa4cf55a..da0920d048 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -2,6 +2,9 @@ # # Compilation options shared by all Second Life components. +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + include(Variables) # Portable compilation flags. @@ -234,3 +237,4 @@ else (STANDALONE) ) endif (STANDALONE) +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake index 5c0768abfa..44f81ce332 100644 --- a/indra/cmake/Havok.cmake +++ b/indra/cmake/Havok.cmake @@ -1,6 +1,10 @@ # -*- cmake -*- +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + use_prebuilt_binary(havok-source) + set(Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Source) list(APPEND Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Demo) @@ -8,14 +12,14 @@ set(HAVOK_DEBUG_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug) set(HAVOK_RELEASE_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok) if (LL_DEBUG_HAVOK) - if (WIN32) - # Always link relwithdebinfo to havok-hybrid on windows. - set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-hybrid) - else (WIN32) - set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug) - endif (WIN32) + if (WIN32) + # Always link relwithdebinfo to havok-hybrid on windows. + set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-hybrid) + else (WIN32) + set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug) + endif (WIN32) else (LL_DEBUG_HAVOK) - set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok) + set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok) endif (LL_DEBUG_HAVOK) set(HAVOK_LIBS @@ -45,39 +49,89 @@ unset(HK_DEBUG_LIBRARIES) unset(HK_RELEASE_LIBRARIES) unset(HK_RELWITHDEBINFO_LIBRARIES) +# *TODO: Figure out why we need to extract like this... foreach(HAVOK_LIB ${HAVOK_LIBS}) - find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH}) - find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH}) - find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}) - - if(LINUX) - set(cmd "mkdir") - set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}") - set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}") - set(relwithdebinfo_dir "${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}/${HAVOK_LIB}") - - exec_program( ${cmd} ${HAVOK_DEBUG_LIBRARY_PATH} ARGS ${debug_dir} OUTPUT_VARIABLE rv) - exec_program( ${cmd} ${HAVOK_RELEASE_LIBRARY_PATH} ARGS ${release_dir} OUTPUT_VARIABLE rv) - exec_program( ${cmd} ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH} ARGS ${relwithdebinfo_dir} OUTPUT_VARIABLE rv) - - set(cmd "ar") - set(arg " -xv") - set(arg "${arg} ../lib${HAVOK_LIB}.a") - exec_program( ${cmd} ${debug_dir} ARGS ${arg} OUTPUT_VARIABLE rv) - exec_program( ${cmd} ${release_dir} ARGS ${arg} OUTPUT_VARIABLE rv) - exec_program( ${cmd} ${relwithdebinfo_dir} ARGS ${arg} OUTPUT_VARIABLE rv) - - file(GLOB extracted_debug "${debug_dir}/*.o") - file(GLOB extracted_release "${release_dir}/*.o") - file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o") - list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug}) - list(APPEND HK_RELEASE_LIBRARIES ${extracted_release}) - list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo}) - else(LINUX) - # Win32 - list(APPEND HK_DEBUG_LIBRARIES ${HAVOK_DEBUG_LIB_${HAVOK_LIB}}) - list(APPEND HK_RELEASE_LIBRARIES ${HAVOK_RELEASE_LIB_${HAVOK_LIB}}) - list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB}}) - endif (LINUX) + find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH}) + find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH}) + find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}) + + if(LINUX) + set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}") + set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}") + set(relwithdebinfo_dir "${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}/${HAVOK_LIB}") + + # Try to avoid extracting havok library each time we run cmake. + if("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted") + file(READ ${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted "havok_${HAVOK_LIB}_extracted") + if(DEBUG_PREBUILT) + message(STATUS "havok_${HAVOK_LIB}_extracted: \"${havok_${HAVOK_LIB}_extracted}\"") + endif(DEBUG_PREBUILT) + endif("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted") + + if(${CMAKE_BINARY_DIR}/temp/havok-source_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted OR NOT ${havok_${HAVOK_LIB}_extracted} EQUAL 0) + if(DEBUG_PREBUILT) + MESSAGE(STATUS "Extracting ${HAVOK_LIB}...") + endif(DEBUG_PREBUILT) + set(cmd "mkdir") + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "${cmd} ${debug_dir}") + endif(DEBUG_PREBUILT) + exec_program( ${cmd} ${HAVOK_DEBUG_LIBRARY_PATH} ARGS ${debug_dir} OUTPUT_VARIABLE rv) + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "${cmd} ${release_dir}") + endif(DEBUG_PREBUILT) + exec_program( ${cmd} ${HAVOK_RELEASE_LIBRARY_PATH} ARGS ${release_dir} OUTPUT_VARIABLE rv) + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "${cmd} ${relwithdebinfo_dir}") + endif(DEBUG_PREBUILT) + exec_program( ${cmd} ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH} ARGS ${relwithdebinfo_dir} OUTPUT_VARIABLE rv) + + set(cmd "ar") + set(arg " -xv") + set(arg "${arg} ../lib${HAVOK_LIB}.a") + if(DEBUG_PREBUILT) + MESSAGE(STATUS "cd ${debug_dir} && ${cmd} ${arg}") + endif(DEBUG_PREBUILT) + exec_program( ${cmd} ${debug_dir} ARGS ${arg} OUTPUT_VARIABLE rv) + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "cd ${release_dir} && ${cmd} ${arg}") + endif(DEBUG_PREBUILT) + exec_program( ${cmd} ${release_dir} ARGS ${arg} OUTPUT_VARIABLE rv) + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "cd ${relwithdebinfo_dir} && ${cmd} ${arg}") + endif(DEBUG_PREBUILT) + exec_program( ${cmd} ${relwithdebinfo_dir} ARGS ${arg} OUTPUT_VARIABLE rv) + + # Just assume success for now. + set(havok_${HAVOK_LIB}_extracted 0) + file(WRITE ${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted "${havok_${HAVOK_LIB}_extracted}") + + endif(${CMAKE_BINARY_DIR}/temp/havok-source_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted OR NOT ${havok_${HAVOK_LIB}_extracted} EQUAL 0) + + file(GLOB extracted_debug "${debug_dir}/*.o") + file(GLOB extracted_release "${release_dir}/*.o") + file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o") + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "extracted_debug ${debug_dir}/*.o") + MESSAGE(STATUS "extracted_release ${release_dir}/*.o") + MESSAGE(STATUS "extracted_relwithdebinfo ${relwithdebinfo_dir}/*.o") + endif(DEBUG_PREBUILT) + + list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug}) + list(APPEND HK_RELEASE_LIBRARIES ${extracted_release}) + list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo}) + else(LINUX) + # Win32 + list(APPEND HK_DEBUG_LIBRARIES ${HAVOK_DEBUG_LIB_${HAVOK_LIB}}) + list(APPEND HK_RELEASE_LIBRARIES ${HAVOK_RELEASE_LIB_${HAVOK_LIB}}) + list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB}}) + endif (LINUX) endforeach(HAVOK_LIB) +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index c3e3a80fd0..b9c9e531fc 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -1,5 +1,8 @@ # -*- cmake -*- +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + include(Variables) set(ARCH_PREBUILT_DIRS ${AUTOBUILD_INSTALL_DIR}/lib) @@ -69,3 +72,5 @@ else (WINDOWS) endif (WINDOWS) mark_as_advanced(DL_LIBRARY PTHREAD_LIBRARY WINDOWS_LIBRARIES) + +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index dbb4dfc46c..ac0cbde253 100644 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -1,5 +1,8 @@ # -*- cmake -*- +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + include(FindAutobuild) if(INSTALL_PROPRIETARY) include(FindSCP) @@ -51,3 +54,5 @@ macro (use_prebuilt_binary _binary) endif (NOT ${_binary}_installed EQUAL 0) endif (NOT STANDALONE_${_binary}) endmacro (use_prebuilt_binary _binary) + +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 405d80aeb0..6efe738197 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -12,6 +12,9 @@ # Relative and absolute paths to subtrees. +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + if(NOT DEFINED COMMON_CMAKE_DIR) set(COMMON_CMAKE_DIR "${CMAKE_SOURCE_DIR}/cmake") endif(NOT DEFINED COMMON_CMAKE_DIR) @@ -167,3 +170,4 @@ set(USE_PRECOMPILED_HEADERS ON CACHE BOOL "Enable use of precompiled header dire source_group("CMake Rules" FILES CMakeLists.txt) +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) -- cgit v1.2.3 From 98e2488f6fd64eb428fcc8f659cb7f0d82196449 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Wed, 17 Oct 2012 23:11:40 +0000 Subject: Fix for headless appearance utility not linking correctly --- indra/cmake/Variables.cmake | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 6efe738197..895b3003db 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -51,9 +51,6 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) # We use this as a marker that you can try to use the proprietary libraries. set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries") endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) -if (LINUX AND INSTALL_PROPRIETARY) - set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.") -endif (LINUX AND INSTALL_PROPRIETARY) set(TEMPLATE_VERIFIER_OPTIONS "" CACHE STRING "Options for scripts/template_verifier.py") set(TEMPLATE_VERIFIER_MASTER_URL "http://bitbucket.org/lindenlab/master-message-template/raw/tip/message_template.msg" CACHE STRING "Location of the master message template") @@ -73,6 +70,10 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(LINUX ON BOOl FORCE) + if (INSTALL_PROPRIETARY) + set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.") + endif (INSTALL_PROPRIETARY) + # If someone has specified a word size, use that to determine the # architecture. Otherwise, let the architecture specify the word size. if (WORD_SIZE EQUAL 32) -- cgit v1.2.3 From 27933214f41e369337fc83ec7a9ecb2a9cdbaeee Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Wed, 24 Oct 2012 18:19:22 +0000 Subject: Switching to system osmesa library instead of pre-packaged library --- indra/cmake/CMakeLists.txt | 1 + indra/cmake/ConfigurePkgConfig.cmake | 74 ++++++++++++++++++++++++++++++++++++ indra/cmake/LLWindow.cmake | 1 - indra/cmake/OpenGL.cmake | 1 - indra/cmake/Variables.cmake | 25 +++++++++--- 5 files changed, 95 insertions(+), 7 deletions(-) create mode 100644 indra/cmake/ConfigurePkgConfig.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index bee7a1b7c3..a21fa90950 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -15,6 +15,7 @@ set(cmake_SOURCE_FILES BuildVersion.cmake CARes.cmake CMakeCopyIfDifferent.cmake + ConfigurePkgConfig.cmake CURL.cmake Copy3rdPartyLibs.cmake DBusGlib.cmake diff --git a/indra/cmake/ConfigurePkgConfig.cmake b/indra/cmake/ConfigurePkgConfig.cmake new file mode 100644 index 0000000000..82ee3e7a5b --- /dev/null +++ b/indra/cmake/ConfigurePkgConfig.cmake @@ -0,0 +1,74 @@ +# -*- cmake -*- + +SET(DEBUG_PKG_CONFIG "YES") + +# Don't change this if manually set by user. +IF("$ENV{PKG_CONFIG_LIBDIR}" STREQUAL "") + + # Guess at architecture-specific system library paths. + if (WORD_SIZE EQUAL 32) + SET(PKG_CONFIG_NO_MULTI_GUESS /usr/lib32 /usr/lib) + SET(PKG_CONFIG_NO_MULTI_LOCAL_GUESS /usr/local/lib32 /usr/local/lib) + SET(PKG_CONFIG_MULTI_GUESS /usr/lib/i386-linux-gnu) + SET(PKG_CONFIG_MULTI_LOCAL_GUESS /usr/local/lib/i386-linux-gnu) + else (WORD_SIZE EQUAL 32) + SET(PKG_CONFIG_NO_MULTI_GUESS /usr/lib64 /usr/lib) + SET(PKG_CONFIG_NO_MULTI_LOCAL_GUESS /usr/local/lib64 /usr/local/lib) + SET(PKG_CONFIG_MULTI_GUESS /usr/local/lib/x86_64-linux-gnu) + SET(PKG_CONFIG_MULTI_LOCAL_GUESS /usr/local/lib/x86_64-linux-gnu) + endif (WORD_SIZE EQUAL 32) + + # Use DPKG architecture, if available. + IF (${DPKG_ARCH}) + SET(PKG_CONFIG_MULTI_GUESS /usr/lib/${DPKG_ARCH}) + SET(PKG_CONFIG_MULTI_LOCAL_GUESS /usrlocal/lib/${DPKG_ARCH}) + ENDIF (${DPKG_ARCH}) + + # Explicitly include anything listed in PKG_CONFIG_PATH + string(REPLACE ":" ";" PKG_CONFIG_PATH_LIST "$ENV{PKG_CONFIG_PATH}") + FOREACH(PKG_CONFIG_DIR ${PKG_CONFIG_PATH_LIST}) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_DIR}/pkgconfig") + ENDFOREACH(PKG_CONFIG_DIR) + + # Look for valid pkgconfig directories. + FIND_PATH(PKG_CONFIG_ENV pkgconfig ENV LD_LIBRARY_PATH) + FIND_PATH(PKG_CONFIG_MULTI pkgconfig HINT ${PKG_CONFIG_MULTI_GUESS}) + FIND_PATH(PKG_CONFIG_MULTI_LOCAL pkgconfig HINT ${PKG_CONFIG_MULTI_LOCAL_GUESS}) + FIND_PATH(PKG_CONFIG_NO_MULTI pkgconfig HINT ${PKG_CONFIG_NO_MULTI_GUESS}) + FIND_PATH(PKG_CONFIG_NO_MULTI_LOCAL pkgconfig HINT ${PKG_CONFIG_NO_MULTI_LOCAL_GUESS}) + + # Add anything we found to our list. + IF(NOT PKG_CONFIG_ENV STREQUAL PKG_CONFIG_ENV-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_ENV}/pkgconfig") + ENDIF(NOT PKG_CONFIG_ENV STREQUAL PKG_CONFIG_ENV-NOTFOUND) + + IF(NOT PKG_CONFIG_MULTI STREQUAL PKG_CONFIG_MULTI-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_MULTI}/pkgconfig") + ENDIF(NOT PKG_CONFIG_MULTI STREQUAL PKG_CONFIG_MULTI-NOTFOUND) + + IF(NOT PKG_CONFIG_MULTI_LOCAL STREQUAL PKG_CONFIG_MULTI_LOCAL-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_MULTI_LOCAL}/pkgconfig") + ENDIF(NOT PKG_CONFIG_MULTI_LOCAL STREQUAL PKG_CONFIG_MULTI_LOCAL-NOTFOUND) + + IF(NOT PKG_CONFIG_NO_MULTI STREQUAL PKG_CONFIG_NO_MULTI-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_NO_MULTI}/pkgconfig") + ENDIF(NOT PKG_CONFIG_NO_MULTI STREQUAL PKG_CONFIG_NO_MULTI-NOTFOUND) + + IF(NOT PKG_CONFIG_NO_MULTI_LOCAL STREQUAL PKG_CONFIG_NO_MULTI_LOCAL-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_NO_MULTI_LOCAL}/pkgconfig") + ENDIF(NOT PKG_CONFIG_NO_MULTI_LOCAL STREQUAL PKG_CONFIG_NO_MULTI_LOCAL-NOTFOUND) + + # Also add some non-architecture specific package locations. + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:/usr/share/pkgconfig:/usr/local/share/pkgconfig") + + # Remove first unwanted ':' + string(SUBSTRING ${VALID_PKG_LIBDIRS} 1 -1 VALID_PKG_LIBDIRS) + + # Set PKG_CONFIG_LIBDIR environment. + SET(ENV{PKG_CONFIG_LIBDIR} ${VALID_PKG_LIBDIRS}) +ENDIF("$ENV{PKG_CONFIG_LIBDIR}" STREQUAL "") + +IF(DEBUG_PKG_CONFIG) + MESSAGE(STATUS "Using PKG_CONFIG_LIBDIR=$ENV{PKG_CONFIG_LIBDIR}") +ENDIF(DEBUG_PKG_CONFIG) + diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index f6c40c174c..0def507e65 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -14,7 +14,6 @@ if (STANDALONE) SDL_LIBRARY ) else (STANDALONE) - use_prebuilt_binary(mesa) if (LINUX) use_prebuilt_binary(SDL) set (SDL_FOUND TRUE) diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake index 742d8e25a0..2259c99293 100644 --- a/indra/cmake/OpenGL.cmake +++ b/indra/cmake/OpenGL.cmake @@ -4,7 +4,6 @@ include(Variables) include(Prebuilt) if (BUILD_HEADLESS) - use_prebuilt_binary(mesa) SET(OPENGL_glu_LIBRARY GLU) SET(OPENGL_HEADLESS_LIBRARIES OSMesa16 dl GLU) endif (BUILD_HEADLESS) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 895b3003db..54c77da64e 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -70,10 +70,6 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(LINUX ON BOOl FORCE) - if (INSTALL_PROPRIETARY) - set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.") - endif (INSTALL_PROPRIETARY) - # If someone has specified a word size, use that to determine the # architecture. Otherwise, let the architecture specify the word size. if (WORD_SIZE EQUAL 32) @@ -97,18 +93,37 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") if (WORD_SIZE EQUAL 32) set(DEB_ARCHITECTURE i386) + set(FIND_LIBRARY_USE_LIB64_PATHS OFF) + set(CMAKE_SYSTEM_LIBRARY_PATH /usr/lib32 ${CMAKE_SYSTEM_LIBRARY_PATH}) else (WORD_SIZE EQUAL 32) set(DEB_ARCHITECTURE amd64) + set(FIND_LIBRARY_USE_LIB64_PATHS ON) endif (WORD_SIZE EQUAL 32) - execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH RESULT_VARIABLE DPKG_RESULT OUTPUT_VARIABLE DPKG_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH + RESULT_VARIABLE DPKG_RESULT + OUTPUT_VARIABLE DPKG_ARCH + OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) #message (STATUS "DPKG_RESULT ${DPKG_RESULT}, DPKG_ARCH ${DPKG_ARCH}") if (DPKG_RESULT EQUAL 0) set(CMAKE_LIBRARY_ARCHITECTURE ${DPKG_ARCH}) + set(CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/${DPKG_ARCH} /usr/local/lib/${DPKG_ARCH} ${CMAKE_SYSTEM_LIBRARY_PATH}) endif (DPKG_RESULT EQUAL 0) + include(ConfigurePkgConfig) + set(LL_ARCH ${ARCH}_linux) set(LL_ARCH_DIR ${ARCH}-linux) + + if (INSTALL_PROPRIETARY) + # Only turn on headless if we can find osmesa libraries. + include(FindPkgConfig) + pkg_check_modules(OSMESA osmesa) + if (OSMESA_FOUND) + set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.") + endif (OSMESA_FOUND) + endif (INSTALL_PROPRIETARY) + endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -- cgit v1.2.3 From d7e90f4160aaa81e30206c80047b82833c049482 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 7 Feb 2013 11:56:57 -0500 Subject: derive version number from indra/VIEWER_VERSION.txt --- indra/cmake/BuildVersion.cmake | 58 ++++++++++++++++++++++++++++++++---------- indra/cmake/CMakeLists.txt | 1 - indra/cmake/Variables.cmake | 2 +- 3 files changed, 45 insertions(+), 16 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake index 60a519c9af..7ee852bf72 100644 --- a/indra/cmake/BuildVersion.cmake +++ b/indra/cmake/BuildVersion.cmake @@ -1,18 +1,48 @@ # -*- cmake -*- +# Construct the viewer version number based on the indra/VIEWER_VERSION file -include(Python) +if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/newview/ + set(VIEWER_VERSION_BASE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/newview/VIEWER_VERSION.txt") -macro (build_version _target) - execute_process( - COMMAND ${PYTHON_EXECUTABLE} ${SCRIPTS_DIR}/build_version.py - llversion${_target}.h ${LLCOMMON_INCLUDE_DIRS} - OUTPUT_VARIABLE ${_target}_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE - ) + if ( EXISTS ${VIEWER_VERSION_BASE_FILE} ) + file(STRINGS ${VIEWER_VERSION_BASE_FILE} VIEWER_SHORT_VERSION REGEX "^[0-9]+\\.[0-9]+\\.[0-9]+") + string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" VIEWER_VERSION_MAJOR ${VIEWER_SHORT_VERSION}) + string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" VIEWER_VERSION_MINOR ${VIEWER_SHORT_VERSION}) + string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" VIEWER_VERSION_PATCH ${VIEWER_SHORT_VERSION}) - if (${_target}_VERSION) - message(STATUS "Version of ${_target} is ${${_target}_VERSION}") - else (${_target}_VERSION) - message(SEND_ERROR "Could not determine ${_target} version") - endif (${_target}_VERSION) -endmacro (build_version) + if (DEFINED ENV{revision}) + set(VIEWER_VERSION_REVISION $ENV{revision}) + message("Revision (from environment): ${VIEWER_VERSION_REVISION}") + + else (DEFINED ENV{revision}) + find_program(MERCURIAL hg) + if (DEFINED MERCURIAL) + execute_process( + COMMAND ${MERCURIAL} parents --template "{rev}" + OUTPUT_VARIABLE VIEWER_VERSION_REVISION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if (DEFINED VIEWER_VERSION_REVISION) + message("Revision (from hg) ${VIEWER_VERSION_REVISION}") + else (DEFINED VIEWER_VERSION_REVISION) + set(VIEWER_VERSION_REVISION 0 ) + message("Revision not set, repository not found, using ${VIEWER_VERSION_REVISION}") + endif (DEFINED VIEWER_VERSION_REVISION) + else (DEFINED MERCURIAL) + set(VIEWER_VERSION_REVISION 0) + message("Revision not set, 'hg' not found (${MERCURIAL}), using ${VIEWER_VERSION_REVISION}") + endif (DEFINED MERCURIAL) + endif (DEFINED ENV{revision}) + message("Building Version ${VIEWER_SHORT_VERSION} ${VIEWER_VERSION_REVISION}") + else ( EXISTS ${VIEWER_VERSION_BASE_FILE} ) + message(SEND_ERROR "Cannot get viewer version from '${VIEWER_VERSION_BASE_FILE}'") + endif ( EXISTS ${VIEWER_VERSION_BASE_FILE} ) + + set(VIEWER_CHANNEL_VERSION_DEFINES + "LL_VIEWER_CHANNEL=\"${VIEWER_CHANNEL}\"" + "LL_VIEWER_VERSION_MAJOR=${VIEWER_VERSION_MAJOR}" + "LL_VIEWER_VERSION_MINOR=${VIEWER_VERSION_MINOR}" + "LL_VIEWER_VERSION_PATCH=${VIEWER_VERSION_PATCH}" + "LL_VIEWER_VERSION_BUILD=${VIEWER_VERSION_REVISION}" + ) +endif (NOT DEFINED VIEWER_SHORT_VERSION) diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 569034a6fb..4f567988b7 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -12,7 +12,6 @@ set(cmake_SOURCE_FILES Audio.cmake BerkeleyDB.cmake Boost.cmake - BuildVersion.cmake CARes.cmake CURL.cmake CMakeCopyIfDifferent.cmake diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 4b459f1a48..6c3b7801b9 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -141,7 +141,7 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(GRID agni CACHE STRING "Target Grid") set(VIEWER ON CACHE BOOL "Build Second Life viewer.") -set(VIEWER_CHANNEL "LindenDeveloper" CACHE STRING "Viewer Channel Name") +set(VIEWER_CHANNEL "Second Life Test" CACHE STRING "Viewer Channel Name") set(VIEWER_LOGIN_CHANNEL ${VIEWER_CHANNEL} CACHE STRING "Fake login channel for A/B Testing") if (XCODE_VERSION GREATER 4.2) -- cgit v1.2.3 From 5ea68c69a443fb9364c6e86ec373d3bd57382da7 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 12 Feb 2013 10:50:47 -0500 Subject: convert to new channel name scheme and remove login_channel build time parameter --- indra/cmake/Variables.cmake | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 6c3b7801b9..296da81e6c 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -142,7 +142,6 @@ set(GRID agni CACHE STRING "Target Grid") set(VIEWER ON CACHE BOOL "Build Second Life viewer.") set(VIEWER_CHANNEL "Second Life Test" CACHE STRING "Viewer Channel Name") -set(VIEWER_LOGIN_CHANNEL ${VIEWER_CHANNEL} CACHE STRING "Fake login channel for A/B Testing") if (XCODE_VERSION GREATER 4.2) set(ENABLE_SIGNING OFF CACHE BOOL "Enable signing the viewer") -- cgit v1.2.3 From b0125b513c34e21f17fd8e99d5f76f48edaf5040 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 20 Feb 2013 15:53:17 -0500 Subject: add viewer channel to compile time feedback --- indra/cmake/BuildVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake index 7ee852bf72..c494355746 100644 --- a/indra/cmake/BuildVersion.cmake +++ b/indra/cmake/BuildVersion.cmake @@ -33,7 +33,7 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n message("Revision not set, 'hg' not found (${MERCURIAL}), using ${VIEWER_VERSION_REVISION}") endif (DEFINED MERCURIAL) endif (DEFINED ENV{revision}) - message("Building Version ${VIEWER_SHORT_VERSION} ${VIEWER_VERSION_REVISION}") + message("Building '${VIEWER_CHANNEL}' Version ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}") else ( EXISTS ${VIEWER_VERSION_BASE_FILE} ) message(SEND_ERROR "Cannot get viewer version from '${VIEWER_VERSION_BASE_FILE}'") endif ( EXISTS ${VIEWER_VERSION_BASE_FILE} ) -- cgit v1.2.3 From 7491fbd677148e38898bb1a39d00ffd15e803ed4 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 19 Nov 2012 17:40:43 -0600 Subject: MAINT-1841 Use NVAPI to force NVIDIA GPU power management mode to prefer max performance Reviewed by Simon. --- indra/cmake/NVAPI.cmake | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 indra/cmake/NVAPI.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/NVAPI.cmake b/indra/cmake/NVAPI.cmake new file mode 100644 index 0000000000..78989c408f --- /dev/null +++ b/indra/cmake/NVAPI.cmake @@ -0,0 +1,17 @@ +# -*- cmake -*- +include(Prebuilt) + +set(NVAPI ON CACHE BOOL "Use NVAPI.") + +if (NVAPI) + use_prebuilt_binary(nvapi) + + if (WINDOWS) + set(NVAPI_LIBRARY nvapi) + else (WINDOWS) + set(NVAPI_LIBRARY "") + endif (WINDOWS) +else (NVAPI) + set(NVAPI_LIBRARY "") +endif (NVAPI) + -- cgit v1.2.3 From f5b4a0af6415711f4950ad9ef288490caee5cf4f Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 19 Nov 2012 18:30:13 -0600 Subject: MAINT-1841 Fix for mac/linux build --- indra/cmake/NVAPI.cmake | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/NVAPI.cmake b/indra/cmake/NVAPI.cmake index 78989c408f..105f442a30 100644 --- a/indra/cmake/NVAPI.cmake +++ b/indra/cmake/NVAPI.cmake @@ -4,9 +4,8 @@ include(Prebuilt) set(NVAPI ON CACHE BOOL "Use NVAPI.") if (NVAPI) - use_prebuilt_binary(nvapi) - if (WINDOWS) + use_prebuilt_binary(nvapi) set(NVAPI_LIBRARY nvapi) else (WINDOWS) set(NVAPI_LIBRARY "") -- cgit v1.2.3 From 97adf6422ac61148a3334d67b4c59a5f5437af2c Mon Sep 17 00:00:00 2001 From: Logan Dethrow Date: Thu, 6 Dec 2012 21:59:54 +0000 Subject: On Linux now use the default system python instead of defaulting to python2.5. This was a holdover from when on linden systems 2.5 was newer than the default, instead of older. --- indra/cmake/Python.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index 748c8c2bec..a81c9307fc 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -23,7 +23,7 @@ if (WINDOWS) elseif (EXISTS /etc/debian_version) # On Debian and Ubuntu, avoid Python 2.4 if possible. - find_program(PYTHON_EXECUTABLE python2.5 python2.3 python PATHS /usr/bin) + find_program(PYTHON_EXECUTABLE python PATHS /usr/bin) if (PYTHON_EXECUTABLE) set(PYTHONINTERP_FOUND ON) -- cgit v1.2.3 From 5798dd54ccbf2728725eae397a235c89d111cf93 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Tue, 11 Dec 2012 13:56:50 -0800 Subject: Fix for building on case-sensitive mac filesystems. Fix to remove unwind spam warnings while linking on xcode 4.5.2 builds --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 887f814a47..fb5c759493 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -181,7 +181,7 @@ if (DARWIN) # ucontext_t struct when _XOPEN_SOURCE is not defined (rdar://problem/5578699 ). # As a workaround, define _XOPEN_SOURCE before including ucontext.h. add_definitions(-DLL_DARWIN=1 -D_XOPEN_SOURCE) - set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names,-search_paths_first") + set(CMAKE_CXX_LINK_FLAGS "-Wl,-no_compact_unwind -Wl,-headerpad_max_install_names,-search_paths_first") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_LINK_FLAGS}") set(DARWIN_extra_cstar_flags "-mlong-branch -g") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DARWIN_extra_cstar_flags}") -- cgit v1.2.3 From 531394df23d774ad91ea5986ede8d44ccf9234a1 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Wed, 12 Dec 2012 00:34:40 +0000 Subject: Updating linux libGLOD to match darwin naming --- indra/cmake/Copy3rdPartyLibs.cmake | 2 +- indra/cmake/GLOD.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index c32e357da3..338da4743e 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -266,7 +266,7 @@ elseif(LINUX) libdb-5.1.so libexpat.so libexpat.so.1 - libglod.so + libGLOD.so libgmock_main.so libgmock.so.0 libgmodule-2.0.so diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake index 77221d55ed..6bdbaf621e 100644 --- a/indra/cmake/GLOD.cmake +++ b/indra/cmake/GLOD.cmake @@ -6,4 +6,4 @@ if (NOT STANDALONE) endif (NOT STANDALONE) set(GLOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) -set(GLOD_LIBRARIES glod) +set(GLOD_LIBRARIES GLOD) -- cgit v1.2.3 From e1af26eaa2e3d065129821fe1e9458fa2698d72e Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 20 Dec 2012 21:39:33 +0000 Subject: Disabling build of headless appearance utility --- indra/cmake/Variables.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 54c77da64e..6ec621632b 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -118,10 +118,10 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") if (INSTALL_PROPRIETARY) # Only turn on headless if we can find osmesa libraries. include(FindPkgConfig) - pkg_check_modules(OSMESA osmesa) - if (OSMESA_FOUND) - set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.") - endif (OSMESA_FOUND) + #pkg_check_modules(OSMESA osmesa) + #if (OSMESA_FOUND) + # set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.") + #endif (OSMESA_FOUND) endif (INSTALL_PROPRIETARY) endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") -- cgit v1.2.3 From ba3e89b5c731ed6dc36d4650928be8081b3289f5 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 18 Jan 2013 16:43:19 -0800 Subject: first push - patch from CmdCupCake plus force FMODEX on --- indra/cmake/CMakeLists.txt | 2 ++ indra/cmake/Copy3rdPartyLibs.cmake | 15 +++++++-- indra/cmake/FMOD.cmake | 2 +- indra/cmake/FMODEX.cmake | 45 ++++++++++++++++++++++++++ indra/cmake/FindFMODEX.cmake | 66 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 127 insertions(+), 3 deletions(-) create mode 100644 indra/cmake/FMODEX.cmake create mode 100644 indra/cmake/FindFMODEX.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 569034a6fb..e9c0554641 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -26,6 +26,7 @@ set(cmake_SOURCE_FILES FindCARes.cmake FindELFIO.cmake FindFMOD.cmake + FindFMODEX.cmake FindGooglePerfTools.cmake FindMono.cmake FindMySQL.cmake @@ -33,6 +34,7 @@ set(cmake_SOURCE_FILES FindXmlRpcEpi.cmake FindZLIB.cmake FMOD.cmake + FMODEX.cmake FreeType.cmake GLOD.cmake GStreamer010Plugin.cmake diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index c32e357da3..c28361398f 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -62,6 +62,11 @@ if(WINDOWS) set(release_files ${release_files} libtcmalloc_minimal.dll) endif(USE_TCMALLOC) + if (FMODEX) + set(debug_files ${debug_files} fmodexL.dll) + set(release_files ${release_files} fmodex.dll) + endif (FMODEX) + if (FMOD) set(debug_files ${debug_files} fmod.dll) set(release_files ${release_files} fmod.dll) @@ -222,9 +227,15 @@ elseif(DARWIN) libcollada14dom.dylib ) - # fmod is statically linked on darwin - set(fmod_files "") + if (FMODEX) + #set(debug_files ${debug_files} libfmodexL.dylib) + set(release_files ${release_files} libfmodex.dylib) + endif (FMODEX) + if (FMOD) + # fmod is statically linked on darwin + set(fmod_files "") + endif (FMOD) elseif(LINUX) # linux is weird, multiple side by side configurations aren't supported # and we don't seem to have any debug shared libs built yet anyways... diff --git a/indra/cmake/FMOD.cmake b/indra/cmake/FMOD.cmake index 3586c1160a..ef0ae58bdf 100644 --- a/indra/cmake/FMOD.cmake +++ b/indra/cmake/FMOD.cmake @@ -6,7 +6,7 @@ # Open source devs should use the -DFMOD:BOOL=ON then if they want to build with FMOD, whether # they are using STANDALONE or not. if (INSTALL_PROPRIETARY) - set(FMOD ON CACHE BOOL "Use FMOD sound library.") + set(FMOD OFF CACHE BOOL "Use FMOD sound library.") endif (INSTALL_PROPRIETARY) if (FMOD) diff --git a/indra/cmake/FMODEX.cmake b/indra/cmake/FMODEX.cmake new file mode 100644 index 0000000000..448392437a --- /dev/null +++ b/indra/cmake/FMODEX.cmake @@ -0,0 +1,45 @@ +# -*- cmake -*- + +# FMOD can be set when launching the make using the argument -DFMOD:BOOL=ON +# When building using proprietary binaries though (i.e. having access to LL private servers), +# we always build with FMODEX. +# Open source devs should use the -DFMODEX:BOOL=ON then if they want to build with FMOD, whether +# they are using STANDALONE or not. +if (INSTALL_PROPRIETARY) + set(FMODEX ON CACHE BOOL "Using FMOD Ex sound library.") +endif (INSTALL_PROPRIETARY) + +if (FMODEX) + if (STANDALONE) + # In that case, we use the version of the library installed on the system + set(FMODEX_FIND_REQUIRED ON) + include(FindFMODEX) + else (STANDALONE) + if (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) + # If the path have been specified in the arguments, use that + set(FMODEX_LIBRARIES ${FMODEX_LIBRARY}) + MESSAGE(STATUS "Using FMODEX path: ${FMODEX_LIBRARIES}, ${FMODEX_INCLUDE_DIR}") + else (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) + # If not, we're going to try to get the package listed in autobuild.xml + # Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL) + # as accessing the private LL location will fail if you don't have the credential + include(Prebuilt) + use_prebuilt_binary(fmodex) + if (WINDOWS) + set(FMODEX_LIBRARY + debug fmodexL_vc + optimized fmodex_vc) + elseif (DARWIN) + set(FMODEX_LIBRARY + debug fmodexL + optimized fmodex) + elseif (LINUX) + set(FMODEX_LIBRARY + debug fmodexL + optimized fmodex) + endif (WINDOWS) + set(FMODEX_LIBRARIES ${FMODEX_LIBRARY}) + set(FMODEX_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/fmodex) + endif (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) + endif (STANDALONE) +endif (FMODEX) \ No newline at end of file diff --git a/indra/cmake/FindFMODEX.cmake b/indra/cmake/FindFMODEX.cmake new file mode 100644 index 0000000000..9b9b85d73e --- /dev/null +++ b/indra/cmake/FindFMODEX.cmake @@ -0,0 +1,66 @@ +# -*- cmake -*- + +# - Find FMODEX +# Find the FMODEX includes and library +# This module defines +# FMODEX_INCLUDE_DIR, where to find fmod.h and fmod_errors.h +# FMODEX_LIBRARIES, the libraries needed to use FMODEX. +# FMODEX, If false, do not try to use FMODEX. +# also defined, but not for general use are +# FMODEX_LIBRARY, where to find the FMODEX library. + +FIND_PATH(FMODEX_INCLUDE_DIR fmod.h PATH_SUFFIXES fmod) + +SET(FMODEX_NAMES ${FMODEX_NAMES} fmodex fmodvc fmodexL_vc) +FIND_LIBRARY(FMODEX_LIBRARY + NAMES ${FMODEX_NAMES} + PATH_SUFFIXES fmodex + ) + +IF (FMODEX_SDK_DIR OR WINDOWS) + if(WINDOWS) + set(FMODEX_SDK_DIR "$ENV{PROGRAMFILES}/FMOD SoundSystem/FMOD Programmers API Windows" CACHE PATH "Path to FMODEX") + STRING(REGEX REPLACE "\\\\" "/" FMODEX_SDK_DIR ${FMODEX_SDK_DIR}) + endif(WINDOWS) + find_library(FMODEX_LIBRARY + fmodex_vc fmodexL_vc + PATHS + ${FMODEX_SDK_DIR}/api/lib + ${FMODEX_SDK_DIR}/api + ${FMODEX_SDK_DIR} + ) + find_path(FMODEX_INCLUDE_DIR fmod.h + ${FMODEX_SDK_DIR}/api/inc + ${FMODEX_SDK_DIR}/api + ${FMODEX_SDK_DIR} + ) + find_path(FMODEX_INCLUDE_DIR fmod.h + ${FMODEX_SDK_DIR}/api/inc + ${FMODEX_SDK_DIR}/api + ${FMODEX_SDK_DIR} + ) + IF (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) + SET(FMODEX_LIBRARIES ${FMODEX_LIBRARY}) + SET(FMODEX_FOUND "YES") + endif (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) +ENDIF (FMODEX_SDK_DIR OR WINDOWS) + +IF (FMODEX_FOUND) + IF (NOT FMODEX_FIND_QUIETLY) + MESSAGE(STATUS "Found FMODEX: ${FMODEX_LIBRARIES}") + ENDIF (NOT FMODEX_FIND_QUIETLY) +ELSE (FMODEX_FOUND) + IF (FMODEX_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find FMODEX library") + ENDIF (FMODEX_FIND_REQUIRED) +ENDIF (FMODEX_FOUND) + +# Deprecated declarations. +SET (NATIVE_FMODEX_INCLUDE_PATH ${FMODEX_INCLUDE_DIR} ) +GET_FILENAME_COMPONENT (NATIVE_FMODEX_LIB_PATH ${FMODEX_LIBRARY} PATH) + +MARK_AS_ADVANCED( + FMODEX_LIBRARY + FMODEX_INCLUDE_DIR + ) + \ No newline at end of file -- cgit v1.2.3 From b0f2f02333a87598299b490a1e42eb42a8125f74 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 1 Feb 2013 08:44:52 -0800 Subject: Removed (most) references to older FMOD library - still a little Linux clean up left --- indra/cmake/CMakeLists.txt | 2 -- indra/cmake/Copy3rdPartyLibs.cmake | 39 --------------------------------- indra/cmake/FMOD.cmake | 39 --------------------------------- indra/cmake/FindFMOD.cmake | 44 -------------------------------------- 4 files changed, 124 deletions(-) delete mode 100644 indra/cmake/FMOD.cmake delete mode 100644 indra/cmake/FindFMOD.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index e9c0554641..acff0621d1 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -25,7 +25,6 @@ set(cmake_SOURCE_FILES FindBerkeleyDB.cmake FindCARes.cmake FindELFIO.cmake - FindFMOD.cmake FindFMODEX.cmake FindGooglePerfTools.cmake FindMono.cmake @@ -33,7 +32,6 @@ set(cmake_SOURCE_FILES FindOpenJPEG.cmake FindXmlRpcEpi.cmake FindZLIB.cmake - FMOD.cmake FMODEX.cmake FreeType.cmake GLOD.cmake diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index c28361398f..f9e2013483 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -67,11 +67,6 @@ if(WINDOWS) set(release_files ${release_files} fmodex.dll) endif (FMODEX) - if (FMOD) - set(debug_files ${debug_files} fmod.dll) - set(release_files ${release_files} fmod.dll) - endif (FMOD) - #******************************* # Copy MS C runtime dlls, required for packaging. # *TODO - Adapt this to support VC9 @@ -232,10 +227,6 @@ elseif(DARWIN) set(release_files ${release_files} libfmodex.dylib) endif (FMODEX) - if (FMOD) - # fmod is statically linked on darwin - set(fmod_files "") - endif (FMOD) elseif(LINUX) # linux is weird, multiple side by side configurations aren't supported # and we don't seem to have any debug shared libs built yet anyways... @@ -299,10 +290,6 @@ elseif(LINUX) set(release_files ${release_files} "libtcmalloc_minimal.so") endif (USE_TCMALLOC) - if (FMOD) - set(release_files ${release_files} "libfmod-3.75.so") - endif (FMOD) - else(WINDOWS) message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") @@ -316,8 +303,6 @@ else(WINDOWS) set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") set(release_files "") - set(fmod_files "") - set(debug_llkdu_src "") set(debug_llkdu_dst "") set(release_llkdu_src "") @@ -380,30 +365,6 @@ copy_if_different( ) set(third_party_targets ${third_party_targets} ${out_targets}) -if (FMOD_SDK_DIR) - copy_if_different( - ${FMOD_SDK_DIR} - "${CMAKE_CURRENT_BINARY_DIR}/Debug" - out_targets - ${fmod_files} - ) - set(all_targets ${all_targets} ${out_targets}) - copy_if_different( - ${FMOD_SDK_DIR} - "${CMAKE_CURRENT_BINARY_DIR}/Release" - out_targets - ${fmod_files} - ) - set(all_targets ${all_targets} ${out_targets}) - copy_if_different( - ${FMOD_SDK_DIR} - "${CMAKE_CURRENT_BINARY_DIR}/RelWithDbgInfo" - out_targets - ${fmod_files} - ) - set(all_targets ${all_targets} ${out_targets}) -endif (FMOD_SDK_DIR) - if(NOT STANDALONE) add_custom_target( stage_third_party_libs ALL diff --git a/indra/cmake/FMOD.cmake b/indra/cmake/FMOD.cmake deleted file mode 100644 index ef0ae58bdf..0000000000 --- a/indra/cmake/FMOD.cmake +++ /dev/null @@ -1,39 +0,0 @@ -# -*- cmake -*- - -# FMOD can be set when launching the make using the argument -DFMOD:BOOL=ON -# When building using proprietary binaries though (i.e. having access to LL private servers), -# we always build with FMOD. -# Open source devs should use the -DFMOD:BOOL=ON then if they want to build with FMOD, whether -# they are using STANDALONE or not. -if (INSTALL_PROPRIETARY) - set(FMOD OFF CACHE BOOL "Use FMOD sound library.") -endif (INSTALL_PROPRIETARY) - -if (FMOD) - if (STANDALONE) - # In that case, we use the version of the library installed on the system - set(FMOD_FIND_REQUIRED ON) - include(FindFMOD) - else (STANDALONE) - if (FMOD_LIBRARY AND FMOD_INCLUDE_DIR) - # If the path have been specified in the arguments, use that - set(FMOD_LIBRARIES ${FMOD_LIBRARY}) - MESSAGE(STATUS "Using FMOD path: ${FMOD_LIBRARIES}, ${FMOD_INCLUDE_DIR}") - else (FMOD_LIBRARY AND FMOD_INCLUDE_DIR) - # If not, we're going to try to get the package listed in autobuild.xml - # Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL) - # as accessing the private LL location will fail if you don't have the credential - include(Prebuilt) - use_prebuilt_binary(fmod) - if (WINDOWS) - set(FMOD_LIBRARY fmod) - elseif (DARWIN) - set(FMOD_LIBRARY fmod) - elseif (LINUX) - set(FMOD_LIBRARY fmod-3.75) - endif (WINDOWS) - set(FMOD_LIBRARIES ${FMOD_LIBRARY}) - set(FMOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) - endif (FMOD_LIBRARY AND FMOD_INCLUDE_DIR) - endif (STANDALONE) -endif (FMOD) diff --git a/indra/cmake/FindFMOD.cmake b/indra/cmake/FindFMOD.cmake deleted file mode 100644 index 1ebbc8c96e..0000000000 --- a/indra/cmake/FindFMOD.cmake +++ /dev/null @@ -1,44 +0,0 @@ -# -*- cmake -*- - -# - Find FMOD -# Find the FMOD includes and library -# This module defines -# FMOD_INCLUDE_DIR, where to find fmod.h and fmod_errors.h -# FMOD_LIBRARIES, the libraries needed to use FMOD. -# FMOD, If false, do not try to use FMOD. -# also defined, but not for general use are -# FMOD_LIBRARY, where to find the FMOD library. - -FIND_PATH(FMOD_INCLUDE_DIR fmod.h PATH_SUFFIXES fmod) - -SET(FMOD_NAMES ${FMOD_NAMES} fmod fmodvc fmodex fmod-3.75) -FIND_LIBRARY(FMOD_LIBRARY - NAMES ${FMOD_NAMES} - PATH_SUFFIXES fmod - ) - -IF (FMOD_LIBRARY AND FMOD_INCLUDE_DIR) - SET(FMOD_LIBRARIES ${FMOD_LIBRARY}) - SET(FMOD_FOUND "YES") -ELSE (FMOD_LIBRARY AND FMOD_INCLUDE_DIR) - SET(FMOD_FOUND "NO") -ENDIF (FMOD_LIBRARY AND FMOD_INCLUDE_DIR) - -IF (FMOD_FOUND) - IF (NOT FMOD_FIND_QUIETLY) - MESSAGE(STATUS "Found FMOD: ${FMOD_LIBRARIES}") - ENDIF (NOT FMOD_FIND_QUIETLY) -ELSE (FMOD_FOUND) - IF (FMOD_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find FMOD library") - ENDIF (FMOD_FIND_REQUIRED) -ENDIF (FMOD_FOUND) - -# Deprecated declarations. -SET (NATIVE_FMOD_INCLUDE_PATH ${FMOD_INCLUDE_DIR} ) -GET_FILENAME_COMPONENT (NATIVE_FMOD_LIB_PATH ${FMOD_LIBRARY} PATH) - -MARK_AS_ADVANCED( - FMOD_LIBRARY - FMOD_INCLUDE_DIR - ) -- cgit v1.2.3 From 3822600e27c043975407a6b47f18e1af6f3f0847 Mon Sep 17 00:00:00 2001 From: "Graham Madarasz (Graham)" Date: Fri, 1 Feb 2013 09:33:57 -0800 Subject: Added copy of libfmodex .so for linux --- indra/cmake/Copy3rdPartyLibs.cmake | 750 +++++++++++++++++++------------------ 1 file changed, 377 insertions(+), 373 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index f9e2013483..b267ab9d4e 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -1,373 +1,377 @@ -# -*- cmake -*- - -# The copy_win_libs folder contains file lists and a script used to -# copy dlls, exes and such needed to run the SecondLife from within -# VisualStudio. - -include(CMakeCopyIfDifferent) -include(Linking) - -################################################################### -# set up platform specific lists of files that need to be copied -################################################################### -if(WINDOWS) - set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug") - set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo") - set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release") - - #******************************* - # VIVOX - *NOTE: no debug version - set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(vivox_files - SLVoice.exe - libsndfile-1.dll - vivoxplatform.dll - vivoxsdk.dll - ortp.dll - zlib1.dll - vivoxoal.dll - ) - - #******************************* - # Misc shared libs - - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - openjpegd.dll - libapr-1.dll - libaprutil-1.dll - libapriconv-1.dll - ssleay32.dll - libeay32.dll - libcollada14dom22-d.dll - glod.dll - libhunspell.dll - ) - - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(release_files - openjpeg.dll - libapr-1.dll - libaprutil-1.dll - libapriconv-1.dll - ssleay32.dll - libeay32.dll - libcollada14dom22.dll - glod.dll - libhunspell.dll - ) - - if(USE_TCMALLOC) - set(debug_files ${debug_files} libtcmalloc_minimal-debug.dll) - set(release_files ${release_files} libtcmalloc_minimal.dll) - endif(USE_TCMALLOC) - - if (FMODEX) - set(debug_files ${debug_files} fmodexL.dll) - set(release_files ${release_files} fmodex.dll) - endif (FMODEX) - -#******************************* -# Copy MS C runtime dlls, required for packaging. -# *TODO - Adapt this to support VC9 -if (MSVC80) - FIND_PATH(debug_msvc8_redist_path msvcr80d.dll - PATHS - ${MSVC_DEBUG_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT - NO_DEFAULT_PATH - NO_DEFAULT_PATH - ) - - if(EXISTS ${debug_msvc8_redist_path}) - set(debug_msvc8_files - msvcr80d.dll - msvcp80d.dll - Microsoft.VC80.DebugCRT.manifest - ) - - copy_if_different( - ${debug_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${debug_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif (EXISTS ${debug_msvc8_redist_path}) - - FIND_PATH(release_msvc8_redist_path msvcr80.dll - PATHS - ${MSVC_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC80.CRT - NO_DEFAULT_PATH - NO_DEFAULT_PATH - ) - - if(EXISTS ${release_msvc8_redist_path}) - set(release_msvc8_files - msvcr80.dll - msvcp80.dll - Microsoft.VC80.CRT.manifest - ) - - copy_if_different( - ${release_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${release_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - copy_if_different( - ${release_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${release_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif (EXISTS ${release_msvc8_redist_path}) -elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 - FIND_PATH(debug_msvc10_redist_path msvcr100d.dll - PATHS - ${MSVC_DEBUG_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC100.DebugCRT - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 - NO_DEFAULT_PATH - ) - - if(EXISTS ${debug_msvc10_redist_path}) - set(debug_msvc10_files - msvcr100d.dll - msvcp100d.dll - ) - - copy_if_different( - ${debug_msvc10_redist_path} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${debug_msvc10_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif () - - FIND_PATH(release_msvc10_redist_path msvcr100.dll - PATHS - ${MSVC_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC100.CRT - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 - NO_DEFAULT_PATH - ) - - if(EXISTS ${release_msvc10_redist_path}) - set(release_msvc10_files - msvcr100.dll - msvcp100.dll - ) - - copy_if_different( - ${release_msvc10_redist_path} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${release_msvc10_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - copy_if_different( - ${release_msvc10_redist_path} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${release_msvc10_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif () -endif (MSVC80) - -elseif(DARWIN) - set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug/Resources") - set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/Resources") - set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release/Resources") - - set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(vivox_files - SLVoice - libsndfile.dylib - libvivoxoal.dylib - libortp.dylib - libvivoxplatform.dylib - libvivoxsdk.dylib - ) - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - ) - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(release_files - libapr-1.0.dylib - libapr-1.dylib - libaprutil-1.0.dylib - libaprutil-1.dylib - libexpat.1.5.2.dylib - libexpat.dylib - libGLOD.dylib - libllqtwebkit.dylib - libminizip.a - libndofdev.dylib - libhunspell-1.3.0.dylib - libexception_handler.dylib - libcollada14dom.dylib - ) - - if (FMODEX) - #set(debug_files ${debug_files} libfmodexL.dylib) - set(release_files ${release_files} libfmodex.dylib) - endif (FMODEX) - -elseif(LINUX) - # linux is weird, multiple side by side configurations aren't supported - # and we don't seem to have any debug shared libs built yet anyways... - set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}") - set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}") - set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}") - - set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(vivox_files - libsndfile.so.1 - libortp.so - libvivoxoal.so.1 - libvivoxplatform.so - libvivoxsdk.so - SLVoice - ) - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - ) - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - # *FIX - figure out what to do with duplicate libalut.so here -brad - set(release_files - libapr-1.so.0 - libaprutil-1.so.0 - libatk-1.0.so - libboost_program_options-mt.so.${BOOST_VERSION}.0 - libboost_regex-mt.so.${BOOST_VERSION}.0 - libboost_thread-mt.so.${BOOST_VERSION}.0 - libboost_filesystem-mt.so.${BOOST_VERSION}.0 - libboost_signals-mt.so.${BOOST_VERSION}.0 - libboost_system-mt.so.${BOOST_VERSION}.0 - libbreakpad_client.so.0 - libcollada14dom.so - libcrypto.so.1.0.0 - libdb-5.1.so - libexpat.so - libexpat.so.1 - libglod.so - libgmock_main.so - libgmock.so.0 - libgmodule-2.0.so - libgobject-2.0.so - libgtest_main.so - libgtest.so.0 - libhunspell-1.3.so.0.0.0 - libminizip.so - libopenal.so - libopenjpeg.so - libssl.so - libuuid.so.16 - libuuid.so.16.0.22 - libssl.so.1.0.0 - libfontconfig.so.1.4.4 - ) - - if (USE_TCMALLOC) - set(release_files ${release_files} "libtcmalloc_minimal.so") - endif (USE_TCMALLOC) - -else(WINDOWS) - message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") - set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") - set(vivox_files "") - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/debug") - set(debug_files "") - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") - set(release_files "") - - set(debug_llkdu_src "") - set(debug_llkdu_dst "") - set(release_llkdu_src "") - set(release_llkdu_dst "") - set(relwithdebinfo_llkdu_dst "") -endif(WINDOWS) - - -################################################################ -# Done building the file lists, now set up the copy commands. -################################################################ - -copy_if_different( - ${vivox_src_dir} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${vivox_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -copy_if_different( - ${vivox_src_dir} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${vivox_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -copy_if_different( - ${vivox_src_dir} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${vivox_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - - - -copy_if_different( - ${debug_src_dir} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${debug_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -copy_if_different( - ${release_src_dir} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${release_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -copy_if_different( - ${release_src_dir} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${release_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -if(NOT STANDALONE) - add_custom_target( - stage_third_party_libs ALL - DEPENDS ${third_party_targets} - ) -endif(NOT STANDALONE) +# -*- cmake -*- + +# The copy_win_libs folder contains file lists and a script used to +# copy dlls, exes and such needed to run the SecondLife from within +# VisualStudio. + +include(CMakeCopyIfDifferent) +include(Linking) + +################################################################### +# set up platform specific lists of files that need to be copied +################################################################### +if(WINDOWS) + set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug") + set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo") + set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release") + + #******************************* + # VIVOX - *NOTE: no debug version + set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(vivox_files + SLVoice.exe + libsndfile-1.dll + vivoxplatform.dll + vivoxsdk.dll + ortp.dll + zlib1.dll + vivoxoal.dll + ) + + #******************************* + # Misc shared libs + + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + openjpegd.dll + libapr-1.dll + libaprutil-1.dll + libapriconv-1.dll + ssleay32.dll + libeay32.dll + libcollada14dom22-d.dll + glod.dll + libhunspell.dll + ) + + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(release_files + openjpeg.dll + libapr-1.dll + libaprutil-1.dll + libapriconv-1.dll + ssleay32.dll + libeay32.dll + libcollada14dom22.dll + glod.dll + libhunspell.dll + ) + + if(USE_TCMALLOC) + set(debug_files ${debug_files} libtcmalloc_minimal-debug.dll) + set(release_files ${release_files} libtcmalloc_minimal.dll) + endif(USE_TCMALLOC) + + if (FMODEX) + set(debug_files ${debug_files} fmodexL.dll) + set(release_files ${release_files} fmodex.dll) + endif (FMODEX) + +#******************************* +# Copy MS C runtime dlls, required for packaging. +# *TODO - Adapt this to support VC9 +if (MSVC80) + FIND_PATH(debug_msvc8_redist_path msvcr80d.dll + PATHS + ${MSVC_DEBUG_REDIST_PATH} + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT + NO_DEFAULT_PATH + NO_DEFAULT_PATH + ) + + if(EXISTS ${debug_msvc8_redist_path}) + set(debug_msvc8_files + msvcr80d.dll + msvcp80d.dll + Microsoft.VC80.DebugCRT.manifest + ) + + copy_if_different( + ${debug_msvc8_redist_path} + "${SHARED_LIB_STAGING_DIR_DEBUG}" + out_targets + ${debug_msvc8_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + endif (EXISTS ${debug_msvc8_redist_path}) + + FIND_PATH(release_msvc8_redist_path msvcr80.dll + PATHS + ${MSVC_REDIST_PATH} + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC80.CRT + NO_DEFAULT_PATH + NO_DEFAULT_PATH + ) + + if(EXISTS ${release_msvc8_redist_path}) + set(release_msvc8_files + msvcr80.dll + msvcp80.dll + Microsoft.VC80.CRT.manifest + ) + + copy_if_different( + ${release_msvc8_redist_path} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${release_msvc8_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + copy_if_different( + ${release_msvc8_redist_path} + "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" + out_targets + ${release_msvc8_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + endif (EXISTS ${release_msvc8_redist_path}) +elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 + FIND_PATH(debug_msvc10_redist_path msvcr100d.dll + PATHS + ${MSVC_DEBUG_REDIST_PATH} + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC100.DebugCRT + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 + NO_DEFAULT_PATH + ) + + if(EXISTS ${debug_msvc10_redist_path}) + set(debug_msvc10_files + msvcr100d.dll + msvcp100d.dll + ) + + copy_if_different( + ${debug_msvc10_redist_path} + "${SHARED_LIB_STAGING_DIR_DEBUG}" + out_targets + ${debug_msvc10_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + endif () + + FIND_PATH(release_msvc10_redist_path msvcr100.dll + PATHS + ${MSVC_REDIST_PATH} + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC100.CRT + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 + NO_DEFAULT_PATH + ) + + if(EXISTS ${release_msvc10_redist_path}) + set(release_msvc10_files + msvcr100.dll + msvcp100.dll + ) + + copy_if_different( + ${release_msvc10_redist_path} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${release_msvc10_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + copy_if_different( + ${release_msvc10_redist_path} + "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" + out_targets + ${release_msvc10_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + endif () +endif (MSVC80) + +elseif(DARWIN) + set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug/Resources") + set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/Resources") + set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release/Resources") + + set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(vivox_files + SLVoice + libsndfile.dylib + libvivoxoal.dylib + libortp.dylib + libvivoxplatform.dylib + libvivoxsdk.dylib + ) + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + ) + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(release_files + libapr-1.0.dylib + libapr-1.dylib + libaprutil-1.0.dylib + libaprutil-1.dylib + libexpat.1.5.2.dylib + libexpat.dylib + libGLOD.dylib + libllqtwebkit.dylib + libminizip.a + libndofdev.dylib + libhunspell-1.3.0.dylib + libexception_handler.dylib + libcollada14dom.dylib + ) + + if (FMODEX) + #set(debug_files ${debug_files} libfmodexL.dylib) + set(release_files ${release_files} libfmodex.dylib) + endif (FMODEX) + +elseif(LINUX) + # linux is weird, multiple side by side configurations aren't supported + # and we don't seem to have any debug shared libs built yet anyways... + set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}") + set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}") + set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}") + + set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(vivox_files + libsndfile.so.1 + libortp.so + libvivoxoal.so.1 + libvivoxplatform.so + libvivoxsdk.so + SLVoice + ) + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + ) + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + # *FIX - figure out what to do with duplicate libalut.so here -brad + set(release_files + libapr-1.so.0 + libaprutil-1.so.0 + libatk-1.0.so + libboost_program_options-mt.so.${BOOST_VERSION}.0 + libboost_regex-mt.so.${BOOST_VERSION}.0 + libboost_thread-mt.so.${BOOST_VERSION}.0 + libboost_filesystem-mt.so.${BOOST_VERSION}.0 + libboost_signals-mt.so.${BOOST_VERSION}.0 + libboost_system-mt.so.${BOOST_VERSION}.0 + libbreakpad_client.so.0 + libcollada14dom.so + libcrypto.so.1.0.0 + libdb-5.1.so + libexpat.so + libexpat.so.1 + libglod.so + libgmock_main.so + libgmock.so.0 + libgmodule-2.0.so + libgobject-2.0.so + libgtest_main.so + libgtest.so.0 + libhunspell-1.3.so.0.0.0 + libminizip.so + libopenal.so + libopenjpeg.so + libssl.so + libuuid.so.16 + libuuid.so.16.0.22 + libssl.so.1.0.0 + libfontconfig.so.1.4.4 + ) + + if (USE_TCMALLOC) + set(release_files ${release_files} "libtcmalloc_minimal.so") + endif (USE_TCMALLOC) + + if (FMODEX) + set(release_file ${release_files} "libfmodex-4.44.so") + endif (FMODEX) + +else(WINDOWS) + message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") + set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") + set(vivox_files "") + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/debug") + set(debug_files "") + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") + set(release_files "") + + set(debug_llkdu_src "") + set(debug_llkdu_dst "") + set(release_llkdu_src "") + set(release_llkdu_dst "") + set(relwithdebinfo_llkdu_dst "") +endif(WINDOWS) + + +################################################################ +# Done building the file lists, now set up the copy commands. +################################################################ + +copy_if_different( + ${vivox_src_dir} + "${SHARED_LIB_STAGING_DIR_DEBUG}" + out_targets + ${vivox_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +copy_if_different( + ${vivox_src_dir} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${vivox_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +copy_if_different( + ${vivox_src_dir} + "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" + out_targets + ${vivox_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + + + +copy_if_different( + ${debug_src_dir} + "${SHARED_LIB_STAGING_DIR_DEBUG}" + out_targets + ${debug_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +copy_if_different( + ${release_src_dir} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${release_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +copy_if_different( + ${release_src_dir} + "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" + out_targets + ${release_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +if(NOT STANDALONE) + add_custom_target( + stage_third_party_libs ALL + DEPENDS ${third_party_targets} + ) +endif(NOT STANDALONE) -- cgit v1.2.3 From 3ea6112843e2b83ed0e83976bae730ccaa23176a Mon Sep 17 00:00:00 2001 From: Sovereign Engineer Date: Mon, 4 Feb 2013 08:30:42 -0500 Subject: Dos2Unix Line endings --- indra/cmake/Copy3rdPartyLibs.cmake | 754 ++++++++++++++++++------------------- 1 file changed, 377 insertions(+), 377 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index b267ab9d4e..1d83da4d87 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -1,377 +1,377 @@ -# -*- cmake -*- - -# The copy_win_libs folder contains file lists and a script used to -# copy dlls, exes and such needed to run the SecondLife from within -# VisualStudio. - -include(CMakeCopyIfDifferent) -include(Linking) - -################################################################### -# set up platform specific lists of files that need to be copied -################################################################### -if(WINDOWS) - set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug") - set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo") - set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release") - - #******************************* - # VIVOX - *NOTE: no debug version - set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(vivox_files - SLVoice.exe - libsndfile-1.dll - vivoxplatform.dll - vivoxsdk.dll - ortp.dll - zlib1.dll - vivoxoal.dll - ) - - #******************************* - # Misc shared libs - - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - openjpegd.dll - libapr-1.dll - libaprutil-1.dll - libapriconv-1.dll - ssleay32.dll - libeay32.dll - libcollada14dom22-d.dll - glod.dll - libhunspell.dll - ) - - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(release_files - openjpeg.dll - libapr-1.dll - libaprutil-1.dll - libapriconv-1.dll - ssleay32.dll - libeay32.dll - libcollada14dom22.dll - glod.dll - libhunspell.dll - ) - - if(USE_TCMALLOC) - set(debug_files ${debug_files} libtcmalloc_minimal-debug.dll) - set(release_files ${release_files} libtcmalloc_minimal.dll) - endif(USE_TCMALLOC) - - if (FMODEX) - set(debug_files ${debug_files} fmodexL.dll) - set(release_files ${release_files} fmodex.dll) - endif (FMODEX) - -#******************************* -# Copy MS C runtime dlls, required for packaging. -# *TODO - Adapt this to support VC9 -if (MSVC80) - FIND_PATH(debug_msvc8_redist_path msvcr80d.dll - PATHS - ${MSVC_DEBUG_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT - NO_DEFAULT_PATH - NO_DEFAULT_PATH - ) - - if(EXISTS ${debug_msvc8_redist_path}) - set(debug_msvc8_files - msvcr80d.dll - msvcp80d.dll - Microsoft.VC80.DebugCRT.manifest - ) - - copy_if_different( - ${debug_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${debug_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif (EXISTS ${debug_msvc8_redist_path}) - - FIND_PATH(release_msvc8_redist_path msvcr80.dll - PATHS - ${MSVC_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC80.CRT - NO_DEFAULT_PATH - NO_DEFAULT_PATH - ) - - if(EXISTS ${release_msvc8_redist_path}) - set(release_msvc8_files - msvcr80.dll - msvcp80.dll - Microsoft.VC80.CRT.manifest - ) - - copy_if_different( - ${release_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${release_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - copy_if_different( - ${release_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${release_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif (EXISTS ${release_msvc8_redist_path}) -elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 - FIND_PATH(debug_msvc10_redist_path msvcr100d.dll - PATHS - ${MSVC_DEBUG_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC100.DebugCRT - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 - NO_DEFAULT_PATH - ) - - if(EXISTS ${debug_msvc10_redist_path}) - set(debug_msvc10_files - msvcr100d.dll - msvcp100d.dll - ) - - copy_if_different( - ${debug_msvc10_redist_path} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${debug_msvc10_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif () - - FIND_PATH(release_msvc10_redist_path msvcr100.dll - PATHS - ${MSVC_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC100.CRT - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 - NO_DEFAULT_PATH - ) - - if(EXISTS ${release_msvc10_redist_path}) - set(release_msvc10_files - msvcr100.dll - msvcp100.dll - ) - - copy_if_different( - ${release_msvc10_redist_path} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${release_msvc10_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - copy_if_different( - ${release_msvc10_redist_path} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${release_msvc10_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif () -endif (MSVC80) - -elseif(DARWIN) - set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug/Resources") - set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/Resources") - set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release/Resources") - - set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(vivox_files - SLVoice - libsndfile.dylib - libvivoxoal.dylib - libortp.dylib - libvivoxplatform.dylib - libvivoxsdk.dylib - ) - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - ) - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(release_files - libapr-1.0.dylib - libapr-1.dylib - libaprutil-1.0.dylib - libaprutil-1.dylib - libexpat.1.5.2.dylib - libexpat.dylib - libGLOD.dylib - libllqtwebkit.dylib - libminizip.a - libndofdev.dylib - libhunspell-1.3.0.dylib - libexception_handler.dylib - libcollada14dom.dylib - ) - - if (FMODEX) - #set(debug_files ${debug_files} libfmodexL.dylib) - set(release_files ${release_files} libfmodex.dylib) - endif (FMODEX) - -elseif(LINUX) - # linux is weird, multiple side by side configurations aren't supported - # and we don't seem to have any debug shared libs built yet anyways... - set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}") - set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}") - set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}") - - set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - set(vivox_files - libsndfile.so.1 - libortp.so - libvivoxoal.so.1 - libvivoxplatform.so - libvivoxsdk.so - SLVoice - ) - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") - set(debug_files - ) - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") - # *FIX - figure out what to do with duplicate libalut.so here -brad - set(release_files - libapr-1.so.0 - libaprutil-1.so.0 - libatk-1.0.so - libboost_program_options-mt.so.${BOOST_VERSION}.0 - libboost_regex-mt.so.${BOOST_VERSION}.0 - libboost_thread-mt.so.${BOOST_VERSION}.0 - libboost_filesystem-mt.so.${BOOST_VERSION}.0 - libboost_signals-mt.so.${BOOST_VERSION}.0 - libboost_system-mt.so.${BOOST_VERSION}.0 - libbreakpad_client.so.0 - libcollada14dom.so - libcrypto.so.1.0.0 - libdb-5.1.so - libexpat.so - libexpat.so.1 - libglod.so - libgmock_main.so - libgmock.so.0 - libgmodule-2.0.so - libgobject-2.0.so - libgtest_main.so - libgtest.so.0 - libhunspell-1.3.so.0.0.0 - libminizip.so - libopenal.so - libopenjpeg.so - libssl.so - libuuid.so.16 - libuuid.so.16.0.22 - libssl.so.1.0.0 - libfontconfig.so.1.4.4 - ) - - if (USE_TCMALLOC) - set(release_files ${release_files} "libtcmalloc_minimal.so") - endif (USE_TCMALLOC) - - if (FMODEX) - set(release_file ${release_files} "libfmodex-4.44.so") - endif (FMODEX) - -else(WINDOWS) - message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") - set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") - set(vivox_files "") - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/debug") - set(debug_files "") - # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables - # or ARCH_PREBUILT_DIRS - set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") - set(release_files "") - - set(debug_llkdu_src "") - set(debug_llkdu_dst "") - set(release_llkdu_src "") - set(release_llkdu_dst "") - set(relwithdebinfo_llkdu_dst "") -endif(WINDOWS) - - -################################################################ -# Done building the file lists, now set up the copy commands. -################################################################ - -copy_if_different( - ${vivox_src_dir} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${vivox_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -copy_if_different( - ${vivox_src_dir} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${vivox_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -copy_if_different( - ${vivox_src_dir} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${vivox_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - - - -copy_if_different( - ${debug_src_dir} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${debug_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -copy_if_different( - ${release_src_dir} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${release_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -copy_if_different( - ${release_src_dir} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${release_files} - ) -set(third_party_targets ${third_party_targets} ${out_targets}) - -if(NOT STANDALONE) - add_custom_target( - stage_third_party_libs ALL - DEPENDS ${third_party_targets} - ) -endif(NOT STANDALONE) +# -*- cmake -*- + +# The copy_win_libs folder contains file lists and a script used to +# copy dlls, exes and such needed to run the SecondLife from within +# VisualStudio. + +include(CMakeCopyIfDifferent) +include(Linking) + +################################################################### +# set up platform specific lists of files that need to be copied +################################################################### +if(WINDOWS) + set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug") + set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo") + set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release") + + #******************************* + # VIVOX - *NOTE: no debug version + set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(vivox_files + SLVoice.exe + libsndfile-1.dll + vivoxplatform.dll + vivoxsdk.dll + ortp.dll + zlib1.dll + vivoxoal.dll + ) + + #******************************* + # Misc shared libs + + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + openjpegd.dll + libapr-1.dll + libaprutil-1.dll + libapriconv-1.dll + ssleay32.dll + libeay32.dll + libcollada14dom22-d.dll + glod.dll + libhunspell.dll + ) + + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(release_files + openjpeg.dll + libapr-1.dll + libaprutil-1.dll + libapriconv-1.dll + ssleay32.dll + libeay32.dll + libcollada14dom22.dll + glod.dll + libhunspell.dll + ) + + if(USE_TCMALLOC) + set(debug_files ${debug_files} libtcmalloc_minimal-debug.dll) + set(release_files ${release_files} libtcmalloc_minimal.dll) + endif(USE_TCMALLOC) + + if (FMODEX) + set(debug_files ${debug_files} fmodexL.dll) + set(release_files ${release_files} fmodex.dll) + endif (FMODEX) + +#******************************* +# Copy MS C runtime dlls, required for packaging. +# *TODO - Adapt this to support VC9 +if (MSVC80) + FIND_PATH(debug_msvc8_redist_path msvcr80d.dll + PATHS + ${MSVC_DEBUG_REDIST_PATH} + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT + NO_DEFAULT_PATH + NO_DEFAULT_PATH + ) + + if(EXISTS ${debug_msvc8_redist_path}) + set(debug_msvc8_files + msvcr80d.dll + msvcp80d.dll + Microsoft.VC80.DebugCRT.manifest + ) + + copy_if_different( + ${debug_msvc8_redist_path} + "${SHARED_LIB_STAGING_DIR_DEBUG}" + out_targets + ${debug_msvc8_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + endif (EXISTS ${debug_msvc8_redist_path}) + + FIND_PATH(release_msvc8_redist_path msvcr80.dll + PATHS + ${MSVC_REDIST_PATH} + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC80.CRT + NO_DEFAULT_PATH + NO_DEFAULT_PATH + ) + + if(EXISTS ${release_msvc8_redist_path}) + set(release_msvc8_files + msvcr80.dll + msvcp80.dll + Microsoft.VC80.CRT.manifest + ) + + copy_if_different( + ${release_msvc8_redist_path} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${release_msvc8_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + copy_if_different( + ${release_msvc8_redist_path} + "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" + out_targets + ${release_msvc8_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + endif (EXISTS ${release_msvc8_redist_path}) +elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 + FIND_PATH(debug_msvc10_redist_path msvcr100d.dll + PATHS + ${MSVC_DEBUG_REDIST_PATH} + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC100.DebugCRT + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 + NO_DEFAULT_PATH + ) + + if(EXISTS ${debug_msvc10_redist_path}) + set(debug_msvc10_files + msvcr100d.dll + msvcp100d.dll + ) + + copy_if_different( + ${debug_msvc10_redist_path} + "${SHARED_LIB_STAGING_DIR_DEBUG}" + out_targets + ${debug_msvc10_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + endif () + + FIND_PATH(release_msvc10_redist_path msvcr100.dll + PATHS + ${MSVC_REDIST_PATH} + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC100.CRT + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 + NO_DEFAULT_PATH + ) + + if(EXISTS ${release_msvc10_redist_path}) + set(release_msvc10_files + msvcr100.dll + msvcp100.dll + ) + + copy_if_different( + ${release_msvc10_redist_path} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${release_msvc10_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + copy_if_different( + ${release_msvc10_redist_path} + "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" + out_targets + ${release_msvc10_files} + ) + set(third_party_targets ${third_party_targets} ${out_targets}) + + endif () +endif (MSVC80) + +elseif(DARWIN) + set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug/Resources") + set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/Resources") + set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}/Release/Resources") + + set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(vivox_files + SLVoice + libsndfile.dylib + libvivoxoal.dylib + libortp.dylib + libvivoxplatform.dylib + libvivoxsdk.dylib + ) + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + ) + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(release_files + libapr-1.0.dylib + libapr-1.dylib + libaprutil-1.0.dylib + libaprutil-1.dylib + libexpat.1.5.2.dylib + libexpat.dylib + libGLOD.dylib + libllqtwebkit.dylib + libminizip.a + libndofdev.dylib + libhunspell-1.3.0.dylib + libexception_handler.dylib + libcollada14dom.dylib + ) + + if (FMODEX) + #set(debug_files ${debug_files} libfmodexL.dylib) + set(release_files ${release_files} libfmodex.dylib) + endif (FMODEX) + +elseif(LINUX) + # linux is weird, multiple side by side configurations aren't supported + # and we don't seem to have any debug shared libs built yet anyways... + set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}") + set(SHARED_LIB_STAGING_DIR_RELWITHDEBINFO "${SHARED_LIB_STAGING_DIR}") + set(SHARED_LIB_STAGING_DIR_RELEASE "${SHARED_LIB_STAGING_DIR}") + + set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + set(vivox_files + libsndfile.so.1 + libortp.so + libvivoxoal.so.1 + libvivoxplatform.so + libvivoxsdk.so + SLVoice + ) + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(debug_src_dir "${ARCH_PREBUILT_DIRS_DEBUG}") + set(debug_files + ) + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") + # *FIX - figure out what to do with duplicate libalut.so here -brad + set(release_files + libapr-1.so.0 + libaprutil-1.so.0 + libatk-1.0.so + libboost_program_options-mt.so.${BOOST_VERSION}.0 + libboost_regex-mt.so.${BOOST_VERSION}.0 + libboost_thread-mt.so.${BOOST_VERSION}.0 + libboost_filesystem-mt.so.${BOOST_VERSION}.0 + libboost_signals-mt.so.${BOOST_VERSION}.0 + libboost_system-mt.so.${BOOST_VERSION}.0 + libbreakpad_client.so.0 + libcollada14dom.so + libcrypto.so.1.0.0 + libdb-5.1.so + libexpat.so + libexpat.so.1 + libglod.so + libgmock_main.so + libgmock.so.0 + libgmodule-2.0.so + libgobject-2.0.so + libgtest_main.so + libgtest.so.0 + libhunspell-1.3.so.0.0.0 + libminizip.so + libopenal.so + libopenjpeg.so + libssl.so + libuuid.so.16 + libuuid.so.16.0.22 + libssl.so.1.0.0 + libfontconfig.so.1.4.4 + ) + + if (USE_TCMALLOC) + set(release_files ${release_files} "libtcmalloc_minimal.so") + endif (USE_TCMALLOC) + + if (FMODEX) + set(release_file ${release_files} "libfmodex-4.44.so") + endif (FMODEX) + +else(WINDOWS) + message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") + set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-linux") + set(vivox_files "") + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(debug_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/debug") + set(debug_files "") + # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables + # or ARCH_PREBUILT_DIRS + set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") + set(release_files "") + + set(debug_llkdu_src "") + set(debug_llkdu_dst "") + set(release_llkdu_src "") + set(release_llkdu_dst "") + set(relwithdebinfo_llkdu_dst "") +endif(WINDOWS) + + +################################################################ +# Done building the file lists, now set up the copy commands. +################################################################ + +copy_if_different( + ${vivox_src_dir} + "${SHARED_LIB_STAGING_DIR_DEBUG}" + out_targets + ${vivox_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +copy_if_different( + ${vivox_src_dir} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${vivox_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +copy_if_different( + ${vivox_src_dir} + "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" + out_targets + ${vivox_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + + + +copy_if_different( + ${debug_src_dir} + "${SHARED_LIB_STAGING_DIR_DEBUG}" + out_targets + ${debug_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +copy_if_different( + ${release_src_dir} + "${SHARED_LIB_STAGING_DIR_RELEASE}" + out_targets + ${release_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +copy_if_different( + ${release_src_dir} + "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" + out_targets + ${release_files} + ) +set(third_party_targets ${third_party_targets} ${out_targets}) + +if(NOT STANDALONE) + add_custom_target( + stage_third_party_libs ALL + DEPENDS ${third_party_targets} + ) +endif(NOT STANDALONE) -- cgit v1.2.3 From 60448cac910ae7ea7f014976a1015ecb58b215ba Mon Sep 17 00:00:00 2001 From: "Graham Madarasz (Graham)" Date: Mon, 4 Feb 2013 12:06:17 -0800 Subject: More path fixups in staging --- indra/cmake/Copy3rdPartyLibs.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 1d83da4d87..b11078c9a5 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -223,7 +223,7 @@ elseif(DARWIN) ) if (FMODEX) - #set(debug_files ${debug_files} libfmodexL.dylib) + set(debug_files ${debug_files} libfmodexL.dylib) set(release_files ${release_files} libfmodex.dylib) endif (FMODEX) @@ -291,7 +291,7 @@ elseif(LINUX) endif (USE_TCMALLOC) if (FMODEX) - set(release_file ${release_files} "libfmodex-4.44.so") + set(release_file ${release_files} "libfmodex.so") endif (FMODEX) else(WINDOWS) -- cgit v1.2.3 From efa7022c3aed38707782ec0ac0396f17c5fa63d9 Mon Sep 17 00:00:00 2001 From: "Graham Madarasz (Graham)" Date: Mon, 4 Feb 2013 15:10:39 -0800 Subject: Nix trying to copy the debug fmod DLL --- indra/cmake/Copy3rdPartyLibs.cmake | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index b11078c9a5..b9101dbf53 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -63,7 +63,6 @@ if(WINDOWS) endif(USE_TCMALLOC) if (FMODEX) - set(debug_files ${debug_files} fmodexL.dll) set(release_files ${release_files} fmodex.dll) endif (FMODEX) -- cgit v1.2.3 From 54e2d2b000f36b35ab5ab53cf3aeee922e54fbe3 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 21 Feb 2013 01:13:24 -0500 Subject: MAINT-2389: Change viewer to Boost package without ucontext.h. In autobuild.xml, specify today's build of the Boost package that includes the Boost.Context library, and whose boost::dcoroutines library uses Boost.Context exclusively instead of its previous context-switching underpinnings (source of the ucontext.h dependency). Add BOOST_CONTEXT_LIBRARY to Boost.cmake and Copy3rdPartyLibs.cmake. Link it with the viewer and with the lllogin.cpp test executable. Track new Boost package convention that our (early, unofficial) Boost.Coroutine library is now accessed as boost/dcoroutine/etc.h and boost::dcoroutines::etc. Remove #include from llviewerprecompiledheaders.h and lllogin.cpp: old rule that Boost.Coroutine header must be #included before anything else that might use ucontext.h is gone now that we no longer depend on ucontext.h. In fact remove -D_XOPEN_SOURCE in 00-Common.cmake because that was inserted specifically to work around a known problem with the ucontext.h facilities. --- indra/cmake/00-Common.cmake | 7 +---- indra/cmake/Boost.cmake | 54 +++++++++++++++++++++++++++----------- indra/cmake/Copy3rdPartyLibs.cmake | 5 ++-- 3 files changed, 42 insertions(+), 24 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 452fd5f356..084ba7ea98 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -192,12 +192,7 @@ endif (LINUX) if (DARWIN) - # NOTE (per http://lists.apple.com/archives/darwin-dev/2008/Jan/msg00232.html): - # > Why the bus error? What am I doing wrong? - # This is a known issue where getcontext(3) is writing past the end of the - # ucontext_t struct when _XOPEN_SOURCE is not defined (rdar://problem/5578699 ). - # As a workaround, define _XOPEN_SOURCE before including ucontext.h. - add_definitions(-DLL_DARWIN=1 -D_XOPEN_SOURCE) + add_definitions(-DLL_DARWIN=1) set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names,-search_paths_first") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_LINK_FLAGS}") set(DARWIN_extra_cstar_flags "-mlong-branch -g") diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 1acb2bbbfd..cff762e1f0 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -7,11 +7,12 @@ set(Boost_FIND_REQUIRED ON) if (STANDALONE) include(FindBoost) + set(BOOST_CONTEXT_LIBRARY boost_context-mt) + set(BOOST_FILESYSTEM_LIBRARY boost_filesystem-mt) set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt) set(BOOST_REGEX_LIBRARY boost_regex-mt) set(BOOST_SIGNALS_LIBRARY boost_signals-mt) set(BOOST_SYSTEM_LIBRARY boost_system-mt) - set(BOOST_FILESYSTEM_LIBRARY boost_filesystem-mt) set(BOOST_THREAD_LIBRARY boost_thread-mt) else (STANDALONE) use_prebuilt_binary(boost) @@ -20,6 +21,12 @@ else (STANDALONE) if (WINDOWS) if(MSVC80) + set(BOOST_CONTEXT_LIBRARY + optimized libboost_context-vc80-mt-${BOOST_VERSION} + debug libboost_context-vc80-mt-gd-${BOOST_VERSION}) + set(BOOST_FILESYSTEM_LIBRARY + optimized libboost_filesystem-vc80-mt-${BOOST_VERSION} + debug libboost_filesystem-vc80-mt-gd-${BOOST_VERSION}) set(BOOST_PROGRAM_OPTIONS_LIBRARY optimized libboost_program_options-vc80-mt-${BOOST_VERSION} debug libboost_program_options-vc80-mt-gd-${BOOST_VERSION}) @@ -32,59 +39,74 @@ else (STANDALONE) set(BOOST_SYSTEM_LIBRARY optimized libboost_system-vc80-mt-${BOOST_VERSION} debug libboost_system-vc80-mt-gd-${BOOST_VERSION}) - set(BOOST_FILESYSTEM_LIBRARY - optimized libboost_filesystem-vc80-mt-${BOOST_VERSION} - debug libboost_filesystem-vc80-mt-gd-${BOOST_VERSION}) + set(BOOST_THREAD_LIBRARY + optimized libboost_thread-vc80-mt-${BOOST_VERSION} + debug libboost_thread-vc80-mt-gd-${BOOST_VERSION}) else(MSVC80) # MSVC 10.0 config + set(BOOST_CONTEXT_LIBRARY + optimized libboost_context-mt + debug libboost_context-mt-gd) + set(BOOST_FILESYSTEM_LIBRARY + optimized libboost_filesystem-mt + debug libboost_filesystem-mt-gd) set(BOOST_PROGRAM_OPTIONS_LIBRARY optimized libboost_program_options-mt debug libboost_program_options-mt-gd) set(BOOST_REGEX_LIBRARY optimized libboost_regex-mt debug libboost_regex-mt-gd) + set(BOOST_SIGNALS_LIBRARY + optimized libboost_signals-mt + debug libboost_signals-mt-gd) set(BOOST_SYSTEM_LIBRARY optimized libboost_system-mt debug libboost_system-mt-gd) - set(BOOST_FILESYSTEM_LIBRARY - optimized libboost_filesystem-mt - debug libboost_filesystem-mt-gd) set(BOOST_THREAD_LIBRARY optimized libboost_thread-mt debug libboost_thread-mt-gd) endif (MSVC80) elseif (LINUX) + set(BOOST_CONTEXT_LIBRARY + optimized boost_context-mt + debug boost_context-mt-d) + set(BOOST_FILESYSTEM_LIBRARY + optimized boost_filesystem-mt + debug boost_filesystem-mt-d) set(BOOST_PROGRAM_OPTIONS_LIBRARY optimized boost_program_options-mt debug boost_program_options-mt-d) set(BOOST_REGEX_LIBRARY optimized boost_regex-mt debug boost_regex-mt-d) + set(BOOST_SIGNALS_LIBRARY + optimized boost_signals-mt + debug boost_signals-mt-d) set(BOOST_SYSTEM_LIBRARY optimized boost_system-mt debug boost_system-mt-d) - set(BOOST_FILESYSTEM_LIBRARY - optimized boost_filesystem-mt - debug boost_filesystem-mt-d) set(BOOST_THREAD_LIBRARY optimized boost_thread-mt debug boost_thread-mt-d) elseif (DARWIN) - set(BOOST_PROGRAM_OPTIONS_LIBRARY - optimized boost_program_options-mt - debug boost_program_options-mt-d) + set(BOOST_CONTEXT_LIBRARY + optimized boost_context-mt + debug boost_context-mt-d) + set(BOOST_FILESYSTEM_LIBRARY + optimized boost_filesystem-mt + debug boost_filesystem-mt-d) set(BOOST_PROGRAM_OPTIONS_LIBRARY optimized boost_program_options-mt debug boost_program_options-mt-d) set(BOOST_REGEX_LIBRARY optimized boost_regex-mt debug boost_regex-mt-d) + set(BOOST_SIGNALS_LIBRARY + optimized boost_signals-mt + debug boost_signals-mt-d) set(BOOST_SYSTEM_LIBRARY optimized boost_system-mt debug boost_system-mt-d) - set(BOOST_FILESYSTEM_LIBRARY - optimized boost_filesystem-mt - debug boost_filesystem-mt-d) set(BOOST_THREAD_LIBRARY optimized boost_thread-mt debug boost_thread-mt-d) diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index c32e357da3..8457cf5359 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -254,12 +254,13 @@ elseif(LINUX) libapr-1.so.0 libaprutil-1.so.0 libatk-1.0.so + libboost_context-mt.so.${BOOST_VERSION}.0 + libboost_filesystem-mt.so.${BOOST_VERSION}.0 libboost_program_options-mt.so.${BOOST_VERSION}.0 libboost_regex-mt.so.${BOOST_VERSION}.0 - libboost_thread-mt.so.${BOOST_VERSION}.0 - libboost_filesystem-mt.so.${BOOST_VERSION}.0 libboost_signals-mt.so.${BOOST_VERSION}.0 libboost_system-mt.so.${BOOST_VERSION}.0 + libboost_thread-mt.so.${BOOST_VERSION}.0 libbreakpad_client.so.0 libcollada14dom.so libcrypto.so.1.0.0 -- cgit v1.2.3 From 4da34679618f981ff49669158ccfbeaad6712279 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 26 Mar 2013 10:33:02 -0400 Subject: Add Boost System library to all tests I don't know what added this requirement, but this last night lots of them started failing to link. Also remove some obsolete commented-out stuff --- indra/cmake/LLAddBuildTest.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/cmake') diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index 9bb3077797..c11fa09206 100755 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -50,6 +50,7 @@ INCLUDE(GoogleMock) ) SET(alltest_LIBRARIES ${GOOGLEMOCK_LIBRARIES} + ${BOOST_SYSTEM_LIBRARY} ${PTHREAD_LIBRARY} ${WINDOWS_LIBRARIES} ) -- cgit v1.2.3 From a83289f01f5d037f779991d732de9bf15ed3bda1 Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Wed, 27 Mar 2013 05:50:55 -0700 Subject: Fix API diffs with new breakpad and point at private breakpad packages to test --- indra/cmake/GoogleBreakpad.cmake | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/cmake') diff --git a/indra/cmake/GoogleBreakpad.cmake b/indra/cmake/GoogleBreakpad.cmake index 7498674042..96e22791ec 100644 --- a/indra/cmake/GoogleBreakpad.cmake +++ b/indra/cmake/GoogleBreakpad.cmake @@ -15,5 +15,8 @@ else (STANDALONE) if (WINDOWS) set(BREAKPAD_EXCEPTION_HANDLER_LIBRARIES exception_handler crash_generation_client common) endif (WINDOWS) + # yes, this does look dumb, no, it's not incorrect + # + set(BREAKPAD_INCLUDE_DIRECTORIES "${LIBS_PREBUILT_DIR}/include/google_breakpad" "${LIBS_PREBUILT_DIR}/include/google_breakpad/google_breakpad") endif (STANDALONE) -- cgit v1.2.3 From 3c486da165994cbe8afb2a0cdccd0720d0e1449b Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Wed, 27 Mar 2013 07:38:46 -0700 Subject: Rollback the boost sys lib inclusion in integ tests as it was causing dup symbols --- indra/cmake/LLAddBuildTest.cmake | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index c11fa09206..9bb3077797 100755 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -50,7 +50,6 @@ INCLUDE(GoogleMock) ) SET(alltest_LIBRARIES ${GOOGLEMOCK_LIBRARIES} - ${BOOST_SYSTEM_LIBRARY} ${PTHREAD_LIBRARY} ${WINDOWS_LIBRARIES} ) -- cgit v1.2.3 From 48f433212f0b3f6a215156b3b26d0f43863727cd Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Wed, 27 Mar 2013 23:18:14 -0700 Subject: Fix breakpad breakage from linux API diffs --- indra/cmake/Copy3rdPartyLibs.cmake | 1 - indra/cmake/FreeType.cmake | 8 +------- 2 files changed, 1 insertion(+), 8 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index c32e357da3..2a73900c71 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -260,7 +260,6 @@ elseif(LINUX) libboost_filesystem-mt.so.${BOOST_VERSION}.0 libboost_signals-mt.so.${BOOST_VERSION}.0 libboost_system-mt.so.${BOOST_VERSION}.0 - libbreakpad_client.so.0 libcollada14dom.so libcrypto.so.1.0.0 libdb-5.1.so diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake index 43a9d282d0..c9a90a9a8d 100644 --- a/indra/cmake/FreeType.cmake +++ b/indra/cmake/FreeType.cmake @@ -7,13 +7,7 @@ if (STANDALONE) pkg_check_modules(FREETYPE REQUIRED freetype2) else (STANDALONE) use_prebuilt_binary(freetype) - if (LINUX) - set(FREETYPE_INCLUDE_DIRS - ${LIBS_PREBUILT_DIR}/include) - else (LINUX) - set(FREETYPE_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) - endif (LINUX) - + set(FREETYPE_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) set(FREETYPE_LIBRARIES freetype) endif (STANDALONE) -- cgit v1.2.3 From 903996e8d4ebc30c42d3c2d041fb7a1c8e530ab8 Mon Sep 17 00:00:00 2001 From: "Graham Madarasz (Graham Linden)" Date: Thu, 28 Mar 2013 19:25:51 -0700 Subject: Google Breakpad Fix --- indra/cmake/Copy3rdPartyLibs.cmake | 1 - indra/cmake/FreeType.cmake | 6 ------ indra/cmake/GoogleBreakpad.cmake | 3 +++ 3 files changed, 3 insertions(+), 7 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index c32e357da3..2a73900c71 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -260,7 +260,6 @@ elseif(LINUX) libboost_filesystem-mt.so.${BOOST_VERSION}.0 libboost_signals-mt.so.${BOOST_VERSION}.0 libboost_system-mt.so.${BOOST_VERSION}.0 - libbreakpad_client.so.0 libcollada14dom.so libcrypto.so.1.0.0 libdb-5.1.so diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake index 43a9d282d0..baa61d73c8 100644 --- a/indra/cmake/FreeType.cmake +++ b/indra/cmake/FreeType.cmake @@ -7,13 +7,7 @@ if (STANDALONE) pkg_check_modules(FREETYPE REQUIRED freetype2) else (STANDALONE) use_prebuilt_binary(freetype) - if (LINUX) - set(FREETYPE_INCLUDE_DIRS - ${LIBS_PREBUILT_DIR}/include) - else (LINUX) set(FREETYPE_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) - endif (LINUX) - set(FREETYPE_LIBRARIES freetype) endif (STANDALONE) diff --git a/indra/cmake/GoogleBreakpad.cmake b/indra/cmake/GoogleBreakpad.cmake index 7498674042..96e22791ec 100644 --- a/indra/cmake/GoogleBreakpad.cmake +++ b/indra/cmake/GoogleBreakpad.cmake @@ -15,5 +15,8 @@ else (STANDALONE) if (WINDOWS) set(BREAKPAD_EXCEPTION_HANDLER_LIBRARIES exception_handler crash_generation_client common) endif (WINDOWS) + # yes, this does look dumb, no, it's not incorrect + # + set(BREAKPAD_INCLUDE_DIRECTORIES "${LIBS_PREBUILT_DIR}/include/google_breakpad" "${LIBS_PREBUILT_DIR}/include/google_breakpad/google_breakpad") endif (STANDALONE) -- cgit v1.2.3 From bf6182daa8b4d7cea79310547f71d7a3155e17b0 Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Fri, 29 Mar 2013 07:50:08 -0700 Subject: Update Mac and Windows breakpad builds to latest --- indra/cmake/00-Common.cmake | 0 indra/cmake/APR.cmake | 0 indra/cmake/Audio.cmake | 0 indra/cmake/BerkeleyDB.cmake | 0 indra/cmake/Boost.cmake | 0 indra/cmake/BuildVersion.cmake | 0 indra/cmake/CARes.cmake | 0 indra/cmake/CMakeCopyIfDifferent.cmake | 0 indra/cmake/CMakeLists.txt | 0 indra/cmake/CSharpMacros.cmake | 0 indra/cmake/CURL.cmake | 0 indra/cmake/Copy3rdPartyLibs.cmake | 0 indra/cmake/CopyBackToSource.cmake | 0 indra/cmake/DBusGlib.cmake | 0 indra/cmake/DeploySharedLibs.cmake | 0 indra/cmake/DirectX.cmake | 0 indra/cmake/DragDrop.cmake | 0 indra/cmake/EXPAT.cmake | 0 indra/cmake/ExamplePlugin.cmake | 0 indra/cmake/Externals.cmake | 0 indra/cmake/FMOD.cmake | 0 indra/cmake/FindAPR.cmake | 0 indra/cmake/FindAutobuild.cmake | 0 indra/cmake/FindBerkeleyDB.cmake | 0 indra/cmake/FindCARes.cmake | 0 indra/cmake/FindELFIO.cmake | 0 indra/cmake/FindFMOD.cmake | 0 indra/cmake/FindGLH.cmake | 0 indra/cmake/FindGoogleBreakpad.cmake | 0 indra/cmake/FindGooglePerfTools.cmake | 0 indra/cmake/FindHUNSPELL.cmake | 0 indra/cmake/FindJsonCpp.cmake | 0 indra/cmake/FindLLQtWebkit.cmake | 0 indra/cmake/FindMT.cmake | 0 indra/cmake/FindMono.cmake | 0 indra/cmake/FindMySQL.cmake | 0 indra/cmake/FindNDOF.cmake | 0 indra/cmake/FindOpenJPEG.cmake | 0 indra/cmake/FindSCP.cmake | 0 indra/cmake/FindSVN.cmake | 0 indra/cmake/FindXmlRpcEpi.cmake | 0 indra/cmake/FindZLIB.cmake | 0 indra/cmake/FreeType.cmake | 0 indra/cmake/GLH.cmake | 0 indra/cmake/GLOD.cmake | 0 indra/cmake/GStreamer010Plugin.cmake | 0 indra/cmake/GetPrerequisites_2_8.cmake | 0 indra/cmake/Glui.cmake | 0 indra/cmake/Glut.cmake | 0 indra/cmake/GoogleBreakpad.cmake | 0 indra/cmake/GoogleMock.cmake | 0 indra/cmake/GooglePerfTools.cmake | 0 indra/cmake/Havok.cmake | 0 indra/cmake/Hunspell.cmake | 0 indra/cmake/JPEG.cmake | 0 indra/cmake/JsonCpp.cmake | 0 indra/cmake/LLAudio.cmake | 0 indra/cmake/LLCharacter.cmake | 0 indra/cmake/LLCommon.cmake | 0 indra/cmake/LLCoreHttp.cmake | 0 indra/cmake/LLCrashLogger.cmake | 0 indra/cmake/LLDatabase.cmake | 0 indra/cmake/LLImage.cmake | 0 indra/cmake/LLImageJ2COJ.cmake | 0 indra/cmake/LLInventory.cmake | 0 indra/cmake/LLKDU.cmake | 0 indra/cmake/LLLogin.cmake | 0 indra/cmake/LLMath.cmake | 0 indra/cmake/LLMessage.cmake | 0 indra/cmake/LLPhysicsExtensions.cmake | 0 indra/cmake/LLPlugin.cmake | 0 indra/cmake/LLPrimitive.cmake | 0 indra/cmake/LLRender.cmake | 0 indra/cmake/LLScene.cmake | 0 indra/cmake/LLSharedLibs.cmake | 0 indra/cmake/LLTestCommand.cmake | 0 indra/cmake/LLUI.cmake | 0 indra/cmake/LLVFS.cmake | 0 indra/cmake/LLWindow.cmake | 0 indra/cmake/LLXML.cmake | 0 indra/cmake/LLXUIXML.cmake | 0 indra/cmake/LScript.cmake | 0 indra/cmake/Linking.cmake | 0 indra/cmake/MediaPluginBase.cmake | 0 indra/cmake/MonoDeps.cmake | 0 indra/cmake/MonoEmbed.cmake | 0 indra/cmake/MySQL.cmake | 0 indra/cmake/NDOF.cmake | 0 indra/cmake/NVAPI.cmake | 0 indra/cmake/OPENAL.cmake | 0 indra/cmake/OpenGL.cmake | 0 indra/cmake/OpenJPEG.cmake | 0 indra/cmake/OpenSSL.cmake | 0 indra/cmake/PNG.cmake | 0 indra/cmake/PluginAPI.cmake | 0 indra/cmake/Prebuilt.cmake | 0 indra/cmake/PulseAudio.cmake | 0 indra/cmake/Python.cmake | 0 indra/cmake/QuickTimePlugin.cmake | 0 indra/cmake/TemplateCheck.cmake | 0 indra/cmake/Tut.cmake | 0 indra/cmake/UI.cmake | 0 indra/cmake/UnixInstall.cmake | 0 indra/cmake/Variables.cmake | 0 indra/cmake/ViewerMiscLibs.cmake | 0 indra/cmake/VisualLeakDetector.cmake | 0 indra/cmake/WebKitLibPlugin.cmake | 0 indra/cmake/XmlRpcEpi.cmake | 0 indra/cmake/ZLIB.cmake | 0 indra/cmake/cmake_dummy.cpp | 0 indra/cmake/run_build_test.py | 0 111 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 indra/cmake/00-Common.cmake mode change 100644 => 100755 indra/cmake/APR.cmake mode change 100644 => 100755 indra/cmake/Audio.cmake mode change 100644 => 100755 indra/cmake/BerkeleyDB.cmake mode change 100644 => 100755 indra/cmake/Boost.cmake mode change 100644 => 100755 indra/cmake/BuildVersion.cmake mode change 100644 => 100755 indra/cmake/CARes.cmake mode change 100644 => 100755 indra/cmake/CMakeCopyIfDifferent.cmake mode change 100644 => 100755 indra/cmake/CMakeLists.txt mode change 100644 => 100755 indra/cmake/CSharpMacros.cmake mode change 100644 => 100755 indra/cmake/CURL.cmake mode change 100644 => 100755 indra/cmake/Copy3rdPartyLibs.cmake mode change 100644 => 100755 indra/cmake/CopyBackToSource.cmake mode change 100644 => 100755 indra/cmake/DBusGlib.cmake mode change 100644 => 100755 indra/cmake/DeploySharedLibs.cmake mode change 100644 => 100755 indra/cmake/DirectX.cmake mode change 100644 => 100755 indra/cmake/DragDrop.cmake mode change 100644 => 100755 indra/cmake/EXPAT.cmake mode change 100644 => 100755 indra/cmake/ExamplePlugin.cmake mode change 100644 => 100755 indra/cmake/Externals.cmake mode change 100644 => 100755 indra/cmake/FMOD.cmake mode change 100644 => 100755 indra/cmake/FindAPR.cmake mode change 100644 => 100755 indra/cmake/FindAutobuild.cmake mode change 100644 => 100755 indra/cmake/FindBerkeleyDB.cmake mode change 100644 => 100755 indra/cmake/FindCARes.cmake mode change 100644 => 100755 indra/cmake/FindELFIO.cmake mode change 100644 => 100755 indra/cmake/FindFMOD.cmake mode change 100644 => 100755 indra/cmake/FindGLH.cmake mode change 100644 => 100755 indra/cmake/FindGoogleBreakpad.cmake mode change 100644 => 100755 indra/cmake/FindGooglePerfTools.cmake mode change 100644 => 100755 indra/cmake/FindHUNSPELL.cmake mode change 100644 => 100755 indra/cmake/FindJsonCpp.cmake mode change 100644 => 100755 indra/cmake/FindLLQtWebkit.cmake mode change 100644 => 100755 indra/cmake/FindMT.cmake mode change 100644 => 100755 indra/cmake/FindMono.cmake mode change 100644 => 100755 indra/cmake/FindMySQL.cmake mode change 100644 => 100755 indra/cmake/FindNDOF.cmake mode change 100644 => 100755 indra/cmake/FindOpenJPEG.cmake mode change 100644 => 100755 indra/cmake/FindSCP.cmake mode change 100644 => 100755 indra/cmake/FindSVN.cmake mode change 100644 => 100755 indra/cmake/FindXmlRpcEpi.cmake mode change 100644 => 100755 indra/cmake/FindZLIB.cmake mode change 100644 => 100755 indra/cmake/FreeType.cmake mode change 100644 => 100755 indra/cmake/GLH.cmake mode change 100644 => 100755 indra/cmake/GLOD.cmake mode change 100644 => 100755 indra/cmake/GStreamer010Plugin.cmake mode change 100644 => 100755 indra/cmake/GetPrerequisites_2_8.cmake mode change 100644 => 100755 indra/cmake/Glui.cmake mode change 100644 => 100755 indra/cmake/Glut.cmake mode change 100644 => 100755 indra/cmake/GoogleBreakpad.cmake mode change 100644 => 100755 indra/cmake/GoogleMock.cmake mode change 100644 => 100755 indra/cmake/GooglePerfTools.cmake mode change 100644 => 100755 indra/cmake/Havok.cmake mode change 100644 => 100755 indra/cmake/Hunspell.cmake mode change 100644 => 100755 indra/cmake/JPEG.cmake mode change 100644 => 100755 indra/cmake/JsonCpp.cmake mode change 100644 => 100755 indra/cmake/LLAudio.cmake mode change 100644 => 100755 indra/cmake/LLCharacter.cmake mode change 100644 => 100755 indra/cmake/LLCommon.cmake mode change 100644 => 100755 indra/cmake/LLCoreHttp.cmake mode change 100644 => 100755 indra/cmake/LLCrashLogger.cmake mode change 100644 => 100755 indra/cmake/LLDatabase.cmake mode change 100644 => 100755 indra/cmake/LLImage.cmake mode change 100644 => 100755 indra/cmake/LLImageJ2COJ.cmake mode change 100644 => 100755 indra/cmake/LLInventory.cmake mode change 100644 => 100755 indra/cmake/LLKDU.cmake mode change 100644 => 100755 indra/cmake/LLLogin.cmake mode change 100644 => 100755 indra/cmake/LLMath.cmake mode change 100644 => 100755 indra/cmake/LLMessage.cmake mode change 100644 => 100755 indra/cmake/LLPhysicsExtensions.cmake mode change 100644 => 100755 indra/cmake/LLPlugin.cmake mode change 100644 => 100755 indra/cmake/LLPrimitive.cmake mode change 100644 => 100755 indra/cmake/LLRender.cmake mode change 100644 => 100755 indra/cmake/LLScene.cmake mode change 100644 => 100755 indra/cmake/LLSharedLibs.cmake mode change 100644 => 100755 indra/cmake/LLTestCommand.cmake mode change 100644 => 100755 indra/cmake/LLUI.cmake mode change 100644 => 100755 indra/cmake/LLVFS.cmake mode change 100644 => 100755 indra/cmake/LLWindow.cmake mode change 100644 => 100755 indra/cmake/LLXML.cmake mode change 100644 => 100755 indra/cmake/LLXUIXML.cmake mode change 100644 => 100755 indra/cmake/LScript.cmake mode change 100644 => 100755 indra/cmake/Linking.cmake mode change 100644 => 100755 indra/cmake/MediaPluginBase.cmake mode change 100644 => 100755 indra/cmake/MonoDeps.cmake mode change 100644 => 100755 indra/cmake/MonoEmbed.cmake mode change 100644 => 100755 indra/cmake/MySQL.cmake mode change 100644 => 100755 indra/cmake/NDOF.cmake mode change 100644 => 100755 indra/cmake/NVAPI.cmake mode change 100644 => 100755 indra/cmake/OPENAL.cmake mode change 100644 => 100755 indra/cmake/OpenGL.cmake mode change 100644 => 100755 indra/cmake/OpenJPEG.cmake mode change 100644 => 100755 indra/cmake/OpenSSL.cmake mode change 100644 => 100755 indra/cmake/PNG.cmake mode change 100644 => 100755 indra/cmake/PluginAPI.cmake mode change 100644 => 100755 indra/cmake/Prebuilt.cmake mode change 100644 => 100755 indra/cmake/PulseAudio.cmake mode change 100644 => 100755 indra/cmake/Python.cmake mode change 100644 => 100755 indra/cmake/QuickTimePlugin.cmake mode change 100644 => 100755 indra/cmake/TemplateCheck.cmake mode change 100644 => 100755 indra/cmake/Tut.cmake mode change 100644 => 100755 indra/cmake/UI.cmake mode change 100644 => 100755 indra/cmake/UnixInstall.cmake mode change 100644 => 100755 indra/cmake/Variables.cmake mode change 100644 => 100755 indra/cmake/ViewerMiscLibs.cmake mode change 100644 => 100755 indra/cmake/VisualLeakDetector.cmake mode change 100644 => 100755 indra/cmake/WebKitLibPlugin.cmake mode change 100644 => 100755 indra/cmake/XmlRpcEpi.cmake mode change 100644 => 100755 indra/cmake/ZLIB.cmake mode change 100644 => 100755 indra/cmake/cmake_dummy.cpp mode change 100644 => 100755 indra/cmake/run_build_test.py (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Audio.cmake b/indra/cmake/Audio.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/BerkeleyDB.cmake b/indra/cmake/BerkeleyDB.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CARes.cmake b/indra/cmake/CARes.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CMakeCopyIfDifferent.cmake b/indra/cmake/CMakeCopyIfDifferent.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/cmake/CSharpMacros.cmake b/indra/cmake/CSharpMacros.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CURL.cmake b/indra/cmake/CURL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CopyBackToSource.cmake b/indra/cmake/CopyBackToSource.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/DBusGlib.cmake b/indra/cmake/DBusGlib.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/DeploySharedLibs.cmake b/indra/cmake/DeploySharedLibs.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/DragDrop.cmake b/indra/cmake/DragDrop.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/EXPAT.cmake b/indra/cmake/EXPAT.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/ExamplePlugin.cmake b/indra/cmake/ExamplePlugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Externals.cmake b/indra/cmake/Externals.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FMOD.cmake b/indra/cmake/FMOD.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindAPR.cmake b/indra/cmake/FindAPR.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindAutobuild.cmake b/indra/cmake/FindAutobuild.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindBerkeleyDB.cmake b/indra/cmake/FindBerkeleyDB.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindCARes.cmake b/indra/cmake/FindCARes.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindELFIO.cmake b/indra/cmake/FindELFIO.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindFMOD.cmake b/indra/cmake/FindFMOD.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindGLH.cmake b/indra/cmake/FindGLH.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindGoogleBreakpad.cmake b/indra/cmake/FindGoogleBreakpad.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindGooglePerfTools.cmake b/indra/cmake/FindGooglePerfTools.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindHUNSPELL.cmake b/indra/cmake/FindHUNSPELL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindJsonCpp.cmake b/indra/cmake/FindJsonCpp.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindLLQtWebkit.cmake b/indra/cmake/FindLLQtWebkit.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindMT.cmake b/indra/cmake/FindMT.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindMono.cmake b/indra/cmake/FindMono.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindMySQL.cmake b/indra/cmake/FindMySQL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindNDOF.cmake b/indra/cmake/FindNDOF.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindOpenJPEG.cmake b/indra/cmake/FindOpenJPEG.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindSCP.cmake b/indra/cmake/FindSCP.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindSVN.cmake b/indra/cmake/FindSVN.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindXmlRpcEpi.cmake b/indra/cmake/FindXmlRpcEpi.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindZLIB.cmake b/indra/cmake/FindZLIB.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GLH.cmake b/indra/cmake/GLH.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GStreamer010Plugin.cmake b/indra/cmake/GStreamer010Plugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GetPrerequisites_2_8.cmake b/indra/cmake/GetPrerequisites_2_8.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Glui.cmake b/indra/cmake/Glui.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Glut.cmake b/indra/cmake/Glut.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GoogleBreakpad.cmake b/indra/cmake/GoogleBreakpad.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Hunspell.cmake b/indra/cmake/Hunspell.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/JPEG.cmake b/indra/cmake/JPEG.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/JsonCpp.cmake b/indra/cmake/JsonCpp.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLAudio.cmake b/indra/cmake/LLAudio.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLCharacter.cmake b/indra/cmake/LLCharacter.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLCoreHttp.cmake b/indra/cmake/LLCoreHttp.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLCrashLogger.cmake b/indra/cmake/LLCrashLogger.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLDatabase.cmake b/indra/cmake/LLDatabase.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLImage.cmake b/indra/cmake/LLImage.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLImageJ2COJ.cmake b/indra/cmake/LLImageJ2COJ.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLInventory.cmake b/indra/cmake/LLInventory.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLKDU.cmake b/indra/cmake/LLKDU.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLLogin.cmake b/indra/cmake/LLLogin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLMath.cmake b/indra/cmake/LLMath.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLMessage.cmake b/indra/cmake/LLMessage.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLPhysicsExtensions.cmake b/indra/cmake/LLPhysicsExtensions.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLPlugin.cmake b/indra/cmake/LLPlugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLRender.cmake b/indra/cmake/LLRender.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLScene.cmake b/indra/cmake/LLScene.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLSharedLibs.cmake b/indra/cmake/LLSharedLibs.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLTestCommand.cmake b/indra/cmake/LLTestCommand.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLUI.cmake b/indra/cmake/LLUI.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLVFS.cmake b/indra/cmake/LLVFS.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLXML.cmake b/indra/cmake/LLXML.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLXUIXML.cmake b/indra/cmake/LLXUIXML.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LScript.cmake b/indra/cmake/LScript.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/MediaPluginBase.cmake b/indra/cmake/MediaPluginBase.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/MonoDeps.cmake b/indra/cmake/MonoDeps.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/MonoEmbed.cmake b/indra/cmake/MonoEmbed.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/MySQL.cmake b/indra/cmake/MySQL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/NVAPI.cmake b/indra/cmake/NVAPI.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/PluginAPI.cmake b/indra/cmake/PluginAPI.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/PulseAudio.cmake b/indra/cmake/PulseAudio.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/QuickTimePlugin.cmake b/indra/cmake/QuickTimePlugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/TemplateCheck.cmake b/indra/cmake/TemplateCheck.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Tut.cmake b/indra/cmake/Tut.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/UnixInstall.cmake b/indra/cmake/UnixInstall.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/VisualLeakDetector.cmake b/indra/cmake/VisualLeakDetector.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/WebKitLibPlugin.cmake b/indra/cmake/WebKitLibPlugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/XmlRpcEpi.cmake b/indra/cmake/XmlRpcEpi.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/ZLIB.cmake b/indra/cmake/ZLIB.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/cmake_dummy.cpp b/indra/cmake/cmake_dummy.cpp old mode 100644 new mode 100755 diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py old mode 100644 new mode 100755 -- cgit v1.2.3 From 2d713a2815d1c8dc86e62eb29fbd9aacbcefa186 Mon Sep 17 00:00:00 2001 From: "Graham Madarasz (Graham Linden)" Date: Fri, 29 Mar 2013 13:22:29 -0700 Subject: Google Breakpad Fix. Code reviewed by DaveP --- indra/cmake/GoogleBreakpad.cmake | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/cmake') diff --git a/indra/cmake/GoogleBreakpad.cmake b/indra/cmake/GoogleBreakpad.cmake index 96e22791ec..cabc00ff9a 100644 --- a/indra/cmake/GoogleBreakpad.cmake +++ b/indra/cmake/GoogleBreakpad.cmake @@ -18,5 +18,8 @@ else (STANDALONE) # yes, this does look dumb, no, it's not incorrect # set(BREAKPAD_INCLUDE_DIRECTORIES "${LIBS_PREBUILT_DIR}/include/google_breakpad" "${LIBS_PREBUILT_DIR}/include/google_breakpad/google_breakpad") + # yes, this does look dumb, no, it's not incorrect + # + set(BREAKPAD_INCLUDE_DIRECTORIES "${LIBS_PREBUILT_DIR}/include/google_breakpad" "${LIBS_PREBUILT_DIR}/include/google_breakpad/google_breakpad") endif (STANDALONE) -- cgit v1.2.3 From 623cb0c39fed147600afe1298d25c5153a6a96a2 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Wed, 17 Apr 2013 14:31:30 -0700 Subject: fix for missed merge changes --- indra/cmake/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 88e1f4a686..10a23ea068 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -24,12 +24,10 @@ set(cmake_SOURCE_FILES DragDrop.cmake EXPAT.cmake ExamplePlugin.cmake - FMOD.cmake FindAPR.cmake FindAutobuild.cmake FindBerkeleyDB.cmake FindCARes.cmake - FindELFIO.cmake FindFMODEX.cmake FindGLH.cmake FindGoogleBreakpad.cmake -- cgit v1.2.3 From a1ca90f89327c6423acb7328eebf9d8afd49668d Mon Sep 17 00:00:00 2001 From: callum_linden Date: Thu, 18 Apr 2013 11:50:40 -0700 Subject: Blank line on end of files as per commit hook requirements --- indra/cmake/FMODEX.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/FMODEX.cmake b/indra/cmake/FMODEX.cmake index 448392437a..65bc1cabeb 100644 --- a/indra/cmake/FMODEX.cmake +++ b/indra/cmake/FMODEX.cmake @@ -42,4 +42,5 @@ if (FMODEX) set(FMODEX_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/fmodex) endif (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) endif (STANDALONE) -endif (FMODEX) \ No newline at end of file +endif (FMODEX) + -- cgit v1.2.3 From 35cbd7d7774ce622ad868851776a3bda49b421bc Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 18 Apr 2013 14:55:03 -0400 Subject: add newline --- indra/cmake/FindFMODEX.cmake | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/FindFMODEX.cmake b/indra/cmake/FindFMODEX.cmake index 9b9b85d73e..b621727c0e 100644 --- a/indra/cmake/FindFMODEX.cmake +++ b/indra/cmake/FindFMODEX.cmake @@ -63,4 +63,3 @@ MARK_AS_ADVANCED( FMODEX_LIBRARY FMODEX_INCLUDE_DIR ) - \ No newline at end of file -- cgit v1.2.3 From 37b64c18f5c016edbee97319929bc8ddc4c08762 Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Fri, 26 Apr 2013 07:28:35 -0700 Subject: Fix llmediadataclient test to include new dep on llprimitive and fix bogus boost lib refs in llprimitive cmake def --- indra/cmake/LLPrimitive.cmake | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index ab39cbb6be..0d87ff579a 100755 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -2,6 +2,8 @@ # these should be moved to their own cmake file include(Prebuilt) +include(Boost) + use_prebuilt_binary(colladadom) use_prebuilt_binary(pcre) use_prebuilt_binary(libxml) @@ -15,10 +17,7 @@ if (WINDOWS) optimized llprimitive debug libcollada14dom22-d optimized libcollada14dom22 - debug libboost_filesystem-mt-gd - optimized libboost_filesystem-mt - debug libboost_system-mt-gd - optimized libboost_system-mt + ${BOOST_SYSTEM_LIBRARIES} ) else (WINDOWS) set(LLPRIMITIVE_LIBRARIES -- cgit v1.2.3 From 9fa3381221fc4f06d7e6d562dc3596e2e30e5f50 Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Fri, 26 Apr 2013 09:36:17 -0700 Subject: Appease TC cmake OCD about substring args --- indra/cmake/ConfigurePkgConfig.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/ConfigurePkgConfig.cmake b/indra/cmake/ConfigurePkgConfig.cmake index 82ee3e7a5b..03e19a3211 100644 --- a/indra/cmake/ConfigurePkgConfig.cmake +++ b/indra/cmake/ConfigurePkgConfig.cmake @@ -62,7 +62,7 @@ IF("$ENV{PKG_CONFIG_LIBDIR}" STREQUAL "") SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:/usr/share/pkgconfig:/usr/local/share/pkgconfig") # Remove first unwanted ':' - string(SUBSTRING ${VALID_PKG_LIBDIRS} 1 -1 VALID_PKG_LIBDIRS) + string(SUBSTRING ${VALID_PKG_LIBDIRS} 1 0 VALID_PKG_LIBDIRS) # Set PKG_CONFIG_LIBDIR environment. SET(ENV{PKG_CONFIG_LIBDIR} ${VALID_PKG_LIBDIRS}) -- cgit v1.2.3 From 806d09b1143894ad66cea2c228f467e8c39a8adf Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Tue, 30 Apr 2013 19:50:05 -0700 Subject: Merge 3.5.1 into Materials --- indra/cmake/00-Common.cmake | 29 +++----------- indra/cmake/APR.cmake | 2 - indra/cmake/CMakeLists.txt | 53 +++++++++++++++++-------- indra/cmake/ConfigurePkgConfig.cmake | 74 +++++++++++++++++++++++++++++++++++ indra/cmake/Copy3rdPartyLibs.cmake | 17 ++++---- indra/cmake/DirectX.cmake | 6 ++- indra/cmake/DragDrop.cmake | 3 -- indra/cmake/FMODEX.cmake | 46 ++++++++++++++++++++++ indra/cmake/FindFMODEX.cmake | 65 ++++++++++++++++++++++++++++++ indra/cmake/GLEXT.cmake | 8 ++++ indra/cmake/GLOD.cmake | 2 +- indra/cmake/GoogleBreakpad.cmake | 3 -- indra/cmake/GooglePerfTools.cmake | 4 +- indra/cmake/Havok.cmake | 56 +++++++++++++++++++++++++- indra/cmake/LLAppearance.cmake | 17 ++++++++ indra/cmake/LLAppearanceUtility.cmake | 12 ++++++ indra/cmake/LLCommon.cmake | 2 + indra/cmake/LLPrimitive.cmake | 7 ++-- indra/cmake/LLRender.cmake | 22 ++--------- indra/cmake/LLWindow.cmake | 17 ++++---- indra/cmake/LLXML.cmake | 4 +- indra/cmake/Linking.cmake | 5 +++ indra/cmake/OpenGL.cmake | 14 ++++--- indra/cmake/Prebuilt.cmake | 5 +++ indra/cmake/Python.cmake | 2 +- indra/cmake/UI.cmake | 2 + indra/cmake/Variables.cmake | 64 ++++++++++++++++++------------ indra/cmake/VisualLeakDetector.cmake | 3 -- 28 files changed, 414 insertions(+), 130 deletions(-) create mode 100644 indra/cmake/ConfigurePkgConfig.cmake create mode 100644 indra/cmake/FMODEX.cmake create mode 100644 indra/cmake/FindFMODEX.cmake create mode 100644 indra/cmake/GLEXT.cmake create mode 100644 indra/cmake/LLAppearance.cmake create mode 100644 indra/cmake/LLAppearanceUtility.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 452fd5f356..b969084632 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -2,6 +2,9 @@ # # Compilation options shared by all Second Life components. +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + include(Variables) # Portable compilation flags. @@ -150,25 +153,6 @@ if (LINUX) -pthread ) - if (SERVER) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth-60") - if (EXISTS /etc/debian_version) - FILE(READ /etc/debian_version DEBIAN_VERSION) - else (EXISTS /etc/debian_version) - set(DEBIAN_VERSION "") - endif (EXISTS /etc/debian_version) - - if (NOT DEBIAN_VERSION STREQUAL "3.1") - add_definitions(-DCTYPE_WORKAROUND) - endif (NOT DEBIAN_VERSION STREQUAL "3.1") - - if (EXISTS /usr/lib/mysql4/mysql) - link_directories(/usr/lib/mysql4/mysql) - endif (EXISTS /usr/lib/mysql4/mysql) - - endif (SERVER) - - if (VIEWER) add_definitions(-DAPPID=secondlife) add_definitions(-fvisibility=hidden) # don't catch SIGCHLD in our base application class for the viewer - some of our 3rd party libs may need their *own* SIGCHLD handler to work. Sigh! The viewer doesn't need to catch SIGCHLD anyway. @@ -184,7 +168,6 @@ if (LINUX) # linking can be very memory-hungry, especially the final viewer link set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory") endif (NOT STANDALONE) - endif (VIEWER) set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}") set(CMAKE_CXX_FLAGS_RELEASE "-O2 ${CMAKE_CXX_FLAGS_RELEASE}") @@ -198,7 +181,7 @@ if (DARWIN) # ucontext_t struct when _XOPEN_SOURCE is not defined (rdar://problem/5578699 ). # As a workaround, define _XOPEN_SOURCE before including ucontext.h. add_definitions(-DLL_DARWIN=1 -D_XOPEN_SOURCE) - set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names,-search_paths_first") + set(CMAKE_CXX_LINK_FLAGS "-Wl,-no_compact_unwind -Wl,-headerpad_max_install_names,-search_paths_first") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_LINK_FLAGS}") set(DARWIN_extra_cstar_flags "-mlong-branch -g") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DARWIN_extra_cstar_flags}") @@ -254,6 +237,4 @@ else (STANDALONE) ) endif (STANDALONE) -if(SERVER) - include_directories(${LIBS_PREBUILT_DIR}/include/havok) -endif(SERVER) +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index daafa00fe2..a87027f5f6 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -49,9 +49,7 @@ else (STANDALONE) set(APR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/apr-1) if (LINUX) - if (VIEWER) list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid) - endif (VIEWER) list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} rt) endif (LINUX) endif (STANDALONE) diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 569034a6fb..10a23ea068 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -14,48 +14,66 @@ set(cmake_SOURCE_FILES Boost.cmake BuildVersion.cmake CARes.cmake - CURL.cmake CMakeCopyIfDifferent.cmake + ConfigurePkgConfig.cmake + CURL.cmake Copy3rdPartyLibs.cmake - CSharpMacros.cmake DBusGlib.cmake + DeploySharedLibs.cmake DirectX.cmake + DragDrop.cmake EXPAT.cmake + ExamplePlugin.cmake FindAPR.cmake + FindAutobuild.cmake FindBerkeleyDB.cmake FindCARes.cmake - FindELFIO.cmake - FindFMOD.cmake + FindFMODEX.cmake + FindGLH.cmake + FindGoogleBreakpad.cmake FindGooglePerfTools.cmake - FindMono.cmake - FindMySQL.cmake + FindHUNSPELL.cmake + FindJsonCpp.cmake + FindNDOF.cmake FindOpenJPEG.cmake + FindSCP.cmake FindXmlRpcEpi.cmake FindZLIB.cmake - FMOD.cmake + FMODEX.cmake FreeType.cmake + GLEXT.cmake + GLH.cmake GLOD.cmake GStreamer010Plugin.cmake + GetPrerequisites_2_8.cmake + Glui.cmake + Glut.cmake + GoogleBreakpad.cmake + GoogleMock.cmake GooglePerfTools.cmake + Havok.cmake Hunspell.cmake JPEG.cmake + JsonCpp.cmake LLAddBuildTest.cmake + LLAppearance.cmake + LLAppearanceUtility.cmake LLAudio.cmake LLCharacter.cmake LLCommon.cmake LLCrashLogger.cmake - LLDatabase.cmake LLImage.cmake LLImageJ2COJ.cmake LLInventory.cmake LLKDU.cmake + LLLogin.cmake LLMath.cmake LLMessage.cmake + LLPhysicsExtensions.cmake LLPlugin.cmake LLPrimitive.cmake - LLPhysicsExtensions.cmake LLRender.cmake - LLScene.cmake + LLSharedLibs.cmake LLTestCommand.cmake LLUI.cmake LLVFS.cmake @@ -63,21 +81,26 @@ set(cmake_SOURCE_FILES LLXML.cmake LScript.cmake Linking.cmake - MonoEmbed.cmake - MySQL.cmake + MediaPluginBase.cmake NDOF.cmake OPENAL.cmake OpenGL.cmake OpenJPEG.cmake OpenSSL.cmake PNG.cmake - Python.cmake + PluginAPI.cmake Prebuilt.cmake + PulseAudio.cmake + Python.cmake + QuickTimePlugin.cmake TemplateCheck.cmake Tut.cmake UI.cmake UnixInstall.cmake Variables.cmake + ViewerMiscLibs.cmake + VisualLeakDetector.cmake + WebKitLibPlugin.cmake XmlRpcEpi.cmake ZLIB.cmake ) @@ -88,10 +111,6 @@ set(master_SOURCE_FILES ../CMakeLists.txt ) -if (SERVER) - list(APPEND master_SOURCE_FILES ../Server.cmake) -endif (SERVER) - source_group("Master Rules" FILES ${master_SOURCE_FILES}) set_source_files_properties(${cmake_SOURCE_FILES} ${master_SOURCE_FILES} diff --git a/indra/cmake/ConfigurePkgConfig.cmake b/indra/cmake/ConfigurePkgConfig.cmake new file mode 100644 index 0000000000..03e19a3211 --- /dev/null +++ b/indra/cmake/ConfigurePkgConfig.cmake @@ -0,0 +1,74 @@ +# -*- cmake -*- + +SET(DEBUG_PKG_CONFIG "YES") + +# Don't change this if manually set by user. +IF("$ENV{PKG_CONFIG_LIBDIR}" STREQUAL "") + + # Guess at architecture-specific system library paths. + if (WORD_SIZE EQUAL 32) + SET(PKG_CONFIG_NO_MULTI_GUESS /usr/lib32 /usr/lib) + SET(PKG_CONFIG_NO_MULTI_LOCAL_GUESS /usr/local/lib32 /usr/local/lib) + SET(PKG_CONFIG_MULTI_GUESS /usr/lib/i386-linux-gnu) + SET(PKG_CONFIG_MULTI_LOCAL_GUESS /usr/local/lib/i386-linux-gnu) + else (WORD_SIZE EQUAL 32) + SET(PKG_CONFIG_NO_MULTI_GUESS /usr/lib64 /usr/lib) + SET(PKG_CONFIG_NO_MULTI_LOCAL_GUESS /usr/local/lib64 /usr/local/lib) + SET(PKG_CONFIG_MULTI_GUESS /usr/local/lib/x86_64-linux-gnu) + SET(PKG_CONFIG_MULTI_LOCAL_GUESS /usr/local/lib/x86_64-linux-gnu) + endif (WORD_SIZE EQUAL 32) + + # Use DPKG architecture, if available. + IF (${DPKG_ARCH}) + SET(PKG_CONFIG_MULTI_GUESS /usr/lib/${DPKG_ARCH}) + SET(PKG_CONFIG_MULTI_LOCAL_GUESS /usrlocal/lib/${DPKG_ARCH}) + ENDIF (${DPKG_ARCH}) + + # Explicitly include anything listed in PKG_CONFIG_PATH + string(REPLACE ":" ";" PKG_CONFIG_PATH_LIST "$ENV{PKG_CONFIG_PATH}") + FOREACH(PKG_CONFIG_DIR ${PKG_CONFIG_PATH_LIST}) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_DIR}/pkgconfig") + ENDFOREACH(PKG_CONFIG_DIR) + + # Look for valid pkgconfig directories. + FIND_PATH(PKG_CONFIG_ENV pkgconfig ENV LD_LIBRARY_PATH) + FIND_PATH(PKG_CONFIG_MULTI pkgconfig HINT ${PKG_CONFIG_MULTI_GUESS}) + FIND_PATH(PKG_CONFIG_MULTI_LOCAL pkgconfig HINT ${PKG_CONFIG_MULTI_LOCAL_GUESS}) + FIND_PATH(PKG_CONFIG_NO_MULTI pkgconfig HINT ${PKG_CONFIG_NO_MULTI_GUESS}) + FIND_PATH(PKG_CONFIG_NO_MULTI_LOCAL pkgconfig HINT ${PKG_CONFIG_NO_MULTI_LOCAL_GUESS}) + + # Add anything we found to our list. + IF(NOT PKG_CONFIG_ENV STREQUAL PKG_CONFIG_ENV-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_ENV}/pkgconfig") + ENDIF(NOT PKG_CONFIG_ENV STREQUAL PKG_CONFIG_ENV-NOTFOUND) + + IF(NOT PKG_CONFIG_MULTI STREQUAL PKG_CONFIG_MULTI-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_MULTI}/pkgconfig") + ENDIF(NOT PKG_CONFIG_MULTI STREQUAL PKG_CONFIG_MULTI-NOTFOUND) + + IF(NOT PKG_CONFIG_MULTI_LOCAL STREQUAL PKG_CONFIG_MULTI_LOCAL-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_MULTI_LOCAL}/pkgconfig") + ENDIF(NOT PKG_CONFIG_MULTI_LOCAL STREQUAL PKG_CONFIG_MULTI_LOCAL-NOTFOUND) + + IF(NOT PKG_CONFIG_NO_MULTI STREQUAL PKG_CONFIG_NO_MULTI-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_NO_MULTI}/pkgconfig") + ENDIF(NOT PKG_CONFIG_NO_MULTI STREQUAL PKG_CONFIG_NO_MULTI-NOTFOUND) + + IF(NOT PKG_CONFIG_NO_MULTI_LOCAL STREQUAL PKG_CONFIG_NO_MULTI_LOCAL-NOTFOUND) + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:${PKG_CONFIG_NO_MULTI_LOCAL}/pkgconfig") + ENDIF(NOT PKG_CONFIG_NO_MULTI_LOCAL STREQUAL PKG_CONFIG_NO_MULTI_LOCAL-NOTFOUND) + + # Also add some non-architecture specific package locations. + SET(VALID_PKG_LIBDIRS "${VALID_PKG_LIBDIRS}:/usr/share/pkgconfig:/usr/local/share/pkgconfig") + + # Remove first unwanted ':' + string(SUBSTRING ${VALID_PKG_LIBDIRS} 1 0 VALID_PKG_LIBDIRS) + + # Set PKG_CONFIG_LIBDIR environment. + SET(ENV{PKG_CONFIG_LIBDIR} ${VALID_PKG_LIBDIRS}) +ENDIF("$ENV{PKG_CONFIG_LIBDIR}" STREQUAL "") + +IF(DEBUG_PKG_CONFIG) + MESSAGE(STATUS "Using PKG_CONFIG_LIBDIR=$ENV{PKG_CONFIG_LIBDIR}") +ENDIF(DEBUG_PKG_CONFIG) + diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 2a73900c71..a03c1a4281 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -62,10 +62,9 @@ if(WINDOWS) set(release_files ${release_files} libtcmalloc_minimal.dll) endif(USE_TCMALLOC) - if (FMOD) - set(debug_files ${debug_files} fmod.dll) - set(release_files ${release_files} fmod.dll) - endif (FMOD) + if (FMODEX) + set(release_files ${release_files} fmodex.dll) + endif (FMODEX) #******************************* # Copy MS C runtime dlls, required for packaging. @@ -265,7 +264,7 @@ elseif(LINUX) libdb-5.1.so libexpat.so libexpat.so.1 - libglod.so + libGLOD.so libgmock_main.so libgmock.so.0 libgmodule-2.0.so @@ -287,9 +286,9 @@ elseif(LINUX) set(release_files ${release_files} "libtcmalloc_minimal.so") endif (USE_TCMALLOC) - if (FMOD) - set(release_files ${release_files} "libfmod-3.75.so") - endif (FMOD) + if (FMODEX) + set(release_file ${release_files} "libfmodex.so") + endif (FMODEX) else(WINDOWS) message(STATUS "WARNING: unrecognized platform for staging 3rd party libs, skipping...") @@ -304,8 +303,6 @@ else(WINDOWS) set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-linux/lib/release") set(release_files "") - set(fmod_files "") - set(debug_llkdu_src "") set(debug_llkdu_dst "") set(release_llkdu_src "") diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake index b2a18805d4..25163d0322 100644 --- a/indra/cmake/DirectX.cmake +++ b/indra/cmake/DirectX.cmake @@ -1,8 +1,9 @@ # -*- cmake -*- -if (VIEWER AND WINDOWS) +if (WINDOWS) find_path(DIRECTX_INCLUDE_DIR dxdiag.h "$ENV{DXSDK_DIR}/Include" + "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Include" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Include" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Include" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Include" @@ -25,6 +26,7 @@ if (VIEWER AND WINDOWS) find_path(DIRECTX_LIBRARY_DIR dxguid.lib "$ENV{DXSDK_DIR}/Lib/x86" + "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Lib/x86" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Lib/x86" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Lib/x86" "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Lib/x86" @@ -43,4 +45,4 @@ if (VIEWER AND WINDOWS) message(FATAL_ERROR "Could not find DirectX SDK Libraries") endif (DIRECTX_LIBRARY_DIR) -endif (VIEWER AND WINDOWS) +endif (WINDOWS) diff --git a/indra/cmake/DragDrop.cmake b/indra/cmake/DragDrop.cmake index c0424396e5..73ef59b18f 100644 --- a/indra/cmake/DragDrop.cmake +++ b/indra/cmake/DragDrop.cmake @@ -1,7 +1,5 @@ # -*- cmake -*- -if (VIEWER) - set(OS_DRAG_DROP ON CACHE BOOL "Build the viewer with OS level drag and drop turned on or off") if (OS_DRAG_DROP) @@ -20,4 +18,3 @@ if (VIEWER) endif (OS_DRAG_DROP) -endif (VIEWER) diff --git a/indra/cmake/FMODEX.cmake b/indra/cmake/FMODEX.cmake new file mode 100644 index 0000000000..65bc1cabeb --- /dev/null +++ b/indra/cmake/FMODEX.cmake @@ -0,0 +1,46 @@ +# -*- cmake -*- + +# FMOD can be set when launching the make using the argument -DFMOD:BOOL=ON +# When building using proprietary binaries though (i.e. having access to LL private servers), +# we always build with FMODEX. +# Open source devs should use the -DFMODEX:BOOL=ON then if they want to build with FMOD, whether +# they are using STANDALONE or not. +if (INSTALL_PROPRIETARY) + set(FMODEX ON CACHE BOOL "Using FMOD Ex sound library.") +endif (INSTALL_PROPRIETARY) + +if (FMODEX) + if (STANDALONE) + # In that case, we use the version of the library installed on the system + set(FMODEX_FIND_REQUIRED ON) + include(FindFMODEX) + else (STANDALONE) + if (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) + # If the path have been specified in the arguments, use that + set(FMODEX_LIBRARIES ${FMODEX_LIBRARY}) + MESSAGE(STATUS "Using FMODEX path: ${FMODEX_LIBRARIES}, ${FMODEX_INCLUDE_DIR}") + else (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) + # If not, we're going to try to get the package listed in autobuild.xml + # Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL) + # as accessing the private LL location will fail if you don't have the credential + include(Prebuilt) + use_prebuilt_binary(fmodex) + if (WINDOWS) + set(FMODEX_LIBRARY + debug fmodexL_vc + optimized fmodex_vc) + elseif (DARWIN) + set(FMODEX_LIBRARY + debug fmodexL + optimized fmodex) + elseif (LINUX) + set(FMODEX_LIBRARY + debug fmodexL + optimized fmodex) + endif (WINDOWS) + set(FMODEX_LIBRARIES ${FMODEX_LIBRARY}) + set(FMODEX_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/fmodex) + endif (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) + endif (STANDALONE) +endif (FMODEX) + diff --git a/indra/cmake/FindFMODEX.cmake b/indra/cmake/FindFMODEX.cmake new file mode 100644 index 0000000000..b621727c0e --- /dev/null +++ b/indra/cmake/FindFMODEX.cmake @@ -0,0 +1,65 @@ +# -*- cmake -*- + +# - Find FMODEX +# Find the FMODEX includes and library +# This module defines +# FMODEX_INCLUDE_DIR, where to find fmod.h and fmod_errors.h +# FMODEX_LIBRARIES, the libraries needed to use FMODEX. +# FMODEX, If false, do not try to use FMODEX. +# also defined, but not for general use are +# FMODEX_LIBRARY, where to find the FMODEX library. + +FIND_PATH(FMODEX_INCLUDE_DIR fmod.h PATH_SUFFIXES fmod) + +SET(FMODEX_NAMES ${FMODEX_NAMES} fmodex fmodvc fmodexL_vc) +FIND_LIBRARY(FMODEX_LIBRARY + NAMES ${FMODEX_NAMES} + PATH_SUFFIXES fmodex + ) + +IF (FMODEX_SDK_DIR OR WINDOWS) + if(WINDOWS) + set(FMODEX_SDK_DIR "$ENV{PROGRAMFILES}/FMOD SoundSystem/FMOD Programmers API Windows" CACHE PATH "Path to FMODEX") + STRING(REGEX REPLACE "\\\\" "/" FMODEX_SDK_DIR ${FMODEX_SDK_DIR}) + endif(WINDOWS) + find_library(FMODEX_LIBRARY + fmodex_vc fmodexL_vc + PATHS + ${FMODEX_SDK_DIR}/api/lib + ${FMODEX_SDK_DIR}/api + ${FMODEX_SDK_DIR} + ) + find_path(FMODEX_INCLUDE_DIR fmod.h + ${FMODEX_SDK_DIR}/api/inc + ${FMODEX_SDK_DIR}/api + ${FMODEX_SDK_DIR} + ) + find_path(FMODEX_INCLUDE_DIR fmod.h + ${FMODEX_SDK_DIR}/api/inc + ${FMODEX_SDK_DIR}/api + ${FMODEX_SDK_DIR} + ) + IF (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) + SET(FMODEX_LIBRARIES ${FMODEX_LIBRARY}) + SET(FMODEX_FOUND "YES") + endif (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR) +ENDIF (FMODEX_SDK_DIR OR WINDOWS) + +IF (FMODEX_FOUND) + IF (NOT FMODEX_FIND_QUIETLY) + MESSAGE(STATUS "Found FMODEX: ${FMODEX_LIBRARIES}") + ENDIF (NOT FMODEX_FIND_QUIETLY) +ELSE (FMODEX_FOUND) + IF (FMODEX_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find FMODEX library") + ENDIF (FMODEX_FIND_REQUIRED) +ENDIF (FMODEX_FOUND) + +# Deprecated declarations. +SET (NATIVE_FMODEX_INCLUDE_PATH ${FMODEX_INCLUDE_DIR} ) +GET_FILENAME_COMPONENT (NATIVE_FMODEX_LIB_PATH ${FMODEX_LIBRARY} PATH) + +MARK_AS_ADVANCED( + FMODEX_LIBRARY + FMODEX_INCLUDE_DIR + ) diff --git a/indra/cmake/GLEXT.cmake b/indra/cmake/GLEXT.cmake new file mode 100644 index 0000000000..0a3dd976b4 --- /dev/null +++ b/indra/cmake/GLEXT.cmake @@ -0,0 +1,8 @@ +# -*- cmake -*- +include(Prebuilt) + +if (NOT STANDALONE) + use_prebuilt_binary(glext) + use_prebuilt_binary(glh_linear) + set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) +endif (NOT STANDALONE) diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake index 77221d55ed..6bdbaf621e 100644 --- a/indra/cmake/GLOD.cmake +++ b/indra/cmake/GLOD.cmake @@ -6,4 +6,4 @@ if (NOT STANDALONE) endif (NOT STANDALONE) set(GLOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) -set(GLOD_LIBRARIES glod) +set(GLOD_LIBRARIES GLOD) diff --git a/indra/cmake/GoogleBreakpad.cmake b/indra/cmake/GoogleBreakpad.cmake index cabc00ff9a..96e22791ec 100644 --- a/indra/cmake/GoogleBreakpad.cmake +++ b/indra/cmake/GoogleBreakpad.cmake @@ -18,8 +18,5 @@ else (STANDALONE) # yes, this does look dumb, no, it's not incorrect # set(BREAKPAD_INCLUDE_DIRECTORIES "${LIBS_PREBUILT_DIR}/include/google_breakpad" "${LIBS_PREBUILT_DIR}/include/google_breakpad/google_breakpad") - # yes, this does look dumb, no, it's not incorrect - # - set(BREAKPAD_INCLUDE_DIRECTORIES "${LIBS_PREBUILT_DIR}/include/google_breakpad" "${LIBS_PREBUILT_DIR}/include/google_breakpad/google_breakpad") endif (STANDALONE) diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index 73b3642ae6..f3fd008e49 100644 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -10,7 +10,7 @@ if (STANDALONE) else (STANDALONE) if (WINDOWS) if (USE_TCMALLOC) - use_prebuilt_binary(tcmalloc) + use_prebuilt_binary(gperftools) set(TCMALLOC_LIBRARIES debug libtcmalloc_minimal-debug optimized libtcmalloc_minimal) @@ -23,7 +23,7 @@ else (STANDALONE) endif (WINDOWS) if (LINUX) if (USE_TCMALLOC) - use_prebuilt_binary(tcmalloc) + use_prebuilt_binary(gperftools) set(TCMALLOC_LIBRARIES tcmalloc) else (USE_TCMALLOC) diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake index 5c0768abfa..8b7f01d20b 100644 --- a/indra/cmake/Havok.cmake +++ b/indra/cmake/Havok.cmake @@ -1,6 +1,10 @@ # -*- cmake -*- +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + use_prebuilt_binary(havok-source) + set(Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Source) list(APPEND Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Demo) @@ -45,31 +49,80 @@ unset(HK_DEBUG_LIBRARIES) unset(HK_RELEASE_LIBRARIES) unset(HK_RELWITHDEBINFO_LIBRARIES) +# *TODO: Figure out why we need to extract like this... foreach(HAVOK_LIB ${HAVOK_LIBS}) find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH}) find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH}) find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}) if(LINUX) - set(cmd "mkdir") set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}") set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}") set(relwithdebinfo_dir "${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}/${HAVOK_LIB}") + # Try to avoid extracting havok library each time we run cmake. + if("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted") + file(READ ${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted "havok_${HAVOK_LIB}_extracted") + if(DEBUG_PREBUILT) + message(STATUS "havok_${HAVOK_LIB}_extracted: \"${havok_${HAVOK_LIB}_extracted}\"") + endif(DEBUG_PREBUILT) + endif("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted") + + if(${CMAKE_BINARY_DIR}/temp/havok-source_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted OR NOT ${havok_${HAVOK_LIB}_extracted} EQUAL 0) + if(DEBUG_PREBUILT) + MESSAGE(STATUS "Extracting ${HAVOK_LIB}...") + endif(DEBUG_PREBUILT) + set(cmd "mkdir") + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "${cmd} ${debug_dir}") + endif(DEBUG_PREBUILT) exec_program( ${cmd} ${HAVOK_DEBUG_LIBRARY_PATH} ARGS ${debug_dir} OUTPUT_VARIABLE rv) + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "${cmd} ${release_dir}") + endif(DEBUG_PREBUILT) exec_program( ${cmd} ${HAVOK_RELEASE_LIBRARY_PATH} ARGS ${release_dir} OUTPUT_VARIABLE rv) + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "${cmd} ${relwithdebinfo_dir}") + endif(DEBUG_PREBUILT) exec_program( ${cmd} ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH} ARGS ${relwithdebinfo_dir} OUTPUT_VARIABLE rv) set(cmd "ar") set(arg " -xv") set(arg "${arg} ../lib${HAVOK_LIB}.a") + if(DEBUG_PREBUILT) + MESSAGE(STATUS "cd ${debug_dir} && ${cmd} ${arg}") + endif(DEBUG_PREBUILT) exec_program( ${cmd} ${debug_dir} ARGS ${arg} OUTPUT_VARIABLE rv) + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "cd ${release_dir} && ${cmd} ${arg}") + endif(DEBUG_PREBUILT) exec_program( ${cmd} ${release_dir} ARGS ${arg} OUTPUT_VARIABLE rv) + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "cd ${relwithdebinfo_dir} && ${cmd} ${arg}") + endif(DEBUG_PREBUILT) exec_program( ${cmd} ${relwithdebinfo_dir} ARGS ${arg} OUTPUT_VARIABLE rv) + # Just assume success for now. + set(havok_${HAVOK_LIB}_extracted 0) + file(WRITE ${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted "${havok_${HAVOK_LIB}_extracted}") + + endif(${CMAKE_BINARY_DIR}/temp/havok-source_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/havok_${HAVOK_LIB}_extracted OR NOT ${havok_${HAVOK_LIB}_extracted} EQUAL 0) + file(GLOB extracted_debug "${debug_dir}/*.o") file(GLOB extracted_release "${release_dir}/*.o") file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o") + + if(DEBUG_PREBUILT) + MESSAGE(STATUS "extracted_debug ${debug_dir}/*.o") + MESSAGE(STATUS "extracted_release ${release_dir}/*.o") + MESSAGE(STATUS "extracted_relwithdebinfo ${relwithdebinfo_dir}/*.o") + endif(DEBUG_PREBUILT) + list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug}) list(APPEND HK_RELEASE_LIBRARIES ${extracted_release}) list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo}) @@ -81,3 +134,4 @@ foreach(HAVOK_LIB ${HAVOK_LIBS}) endif (LINUX) endforeach(HAVOK_LIB) +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) diff --git a/indra/cmake/LLAppearance.cmake b/indra/cmake/LLAppearance.cmake new file mode 100644 index 0000000000..bd3795a526 --- /dev/null +++ b/indra/cmake/LLAppearance.cmake @@ -0,0 +1,17 @@ +# -*- cmake -*- + +include(Variables) + +set(LLAPPEARANCE_INCLUDE_DIRS + ${LIBS_OPEN_DIR}/llappearance + ) + +if (BUILD_HEADLESS) + set(LLAPPEARANCE_HEADLESS_LIBRARIES + llappearanceheadless + ) +endif (BUILD_HEADLESS) + +set(LLAPPEARANCE_LIBRARIES llappearance) + + diff --git a/indra/cmake/LLAppearanceUtility.cmake b/indra/cmake/LLAppearanceUtility.cmake new file mode 100644 index 0000000000..bea45543de --- /dev/null +++ b/indra/cmake/LLAppearanceUtility.cmake @@ -0,0 +1,12 @@ +# -*- cmake -*- +include(Prebuilt) + +# Linux proprietary build only +if (INSTALL_PROPRIETARY) + if(LINUX) + use_prebuilt_binary(llappearanceutility-source) + set(LLAPPEARANCEUTILITY_SRC_DIR ${LIBS_PREBUILT_DIR}/llappearanceutility/src) + set(LLAPPEARANCEUTILITY_BIN_DIR ${CMAKE_BINARY_DIR}/llappearanceutility) + endif (LINUX) +endif (INSTALL_PROPRIETARY) + diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index c254bf6f05..b52556a73e 100644 --- a/indra/cmake/LLCommon.cmake +++ b/indra/cmake/LLCommon.cmake @@ -10,6 +10,8 @@ set(LLCOMMON_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llcommon ${APRUTIL_INCLUDE_DIR} ${APR_INCLUDE_DIR} + ) +set(LLCOMMON_SYSTEM_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index ab39cbb6be..0d87ff579a 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -2,6 +2,8 @@ # these should be moved to their own cmake file include(Prebuilt) +include(Boost) + use_prebuilt_binary(colladadom) use_prebuilt_binary(pcre) use_prebuilt_binary(libxml) @@ -15,10 +17,7 @@ if (WINDOWS) optimized llprimitive debug libcollada14dom22-d optimized libcollada14dom22 - debug libboost_filesystem-mt-gd - optimized libboost_filesystem-mt - debug libboost_system-mt-gd - optimized libboost_system-mt + ${BOOST_SYSTEM_LIBRARIES} ) else (WINDOWS) set(LLPRIMITIVE_LIBRARIES diff --git a/indra/cmake/LLRender.cmake b/indra/cmake/LLRender.cmake index 8427928151..868922451f 100644 --- a/indra/cmake/LLRender.cmake +++ b/indra/cmake/LLRender.cmake @@ -1,5 +1,6 @@ # -*- cmake -*- +include(Variables) include(FreeType) include(GLH) @@ -8,27 +9,12 @@ set(LLRENDER_INCLUDE_DIRS ${GLH_INCLUDE_DIR} ) -if (SERVER AND LINUX) - set(LLRENDER_LIBRARIES +if (BUILD_HEADLESS) + set(LLRENDER_HEADLESS_LIBRARIES llrenderheadless ) -else (SERVER AND LINUX) +endif (BUILD_HEADLESS) set(LLRENDER_LIBRARIES llrender ) -endif (SERVER AND LINUX) -# mapserver requires certain files to be copied so LL_MESA_HEADLESS can be set -# differently for different object files. -macro (copy_server_sources ) - foreach (PREFIX ${ARGV}) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_server.cpp - COMMAND ${CMAKE_COMMAND} - ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${PREFIX}.cpp - ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}_server.cpp - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PREFIX}.cpp - ) - list(APPEND server_SOURCE_FILES ${PREFIX}_server.cpp) - endforeach (PREFIX ${_copied_SOURCES}) -endmacro (copy_server_sources _copied_SOURCES) diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index b4bb9a078a..ad732ef650 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -1,6 +1,7 @@ # -*- cmake -*- -include(OpenGL) +include(Variables) +include(GLEXT) include(Prebuilt) if (STANDALONE) @@ -13,17 +14,15 @@ if (STANDALONE) SDL_LIBRARY ) else (STANDALONE) - use_prebuilt_binary(mesa) - if (LINUX AND VIEWER) + if (LINUX) use_prebuilt_binary(SDL) set (SDL_FOUND TRUE) set (SDL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/i686-linux) set (SDL_LIBRARY SDL directfb fusion direct) - endif (LINUX AND VIEWER) + endif (LINUX) endif (STANDALONE) if (SDL_FOUND) - add_definitions(-DLL_SDL=1) include_directories(${SDL_INCLUDE_DIR}) endif (SDL_FOUND) @@ -32,12 +31,12 @@ set(LLWINDOW_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llwindow ) -if (SERVER AND LINUX) - set(LLWINDOW_LIBRARIES +if (BUILD_HEADLESS) + set(LLWINDOW_HEADLESS_LIBRARIES llwindowheadless ) -else (SERVER AND LINUX) +endif (BUILD_HEADLESS) + set(LLWINDOW_LIBRARIES llwindow ) -endif (SERVER AND LINUX) diff --git a/indra/cmake/LLXML.cmake b/indra/cmake/LLXML.cmake index 64dfdb604f..b093c76297 100644 --- a/indra/cmake/LLXML.cmake +++ b/indra/cmake/LLXML.cmake @@ -5,8 +5,10 @@ include(EXPAT) set(LLXML_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llxml - ${Boost_INCLUDE_DIRS} ${EXPAT_INCLUDE_DIRS} ) +set(LLXML_SYSTEM_INCLUDE_DIRS + ${Boost_INCLUDE_DIRS} + ) set(LLXML_LIBRARIES llxml) diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index c3e3a80fd0..b9c9e531fc 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -1,5 +1,8 @@ # -*- cmake -*- +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + include(Variables) set(ARCH_PREBUILT_DIRS ${AUTOBUILD_INSTALL_DIR}/lib) @@ -69,3 +72,5 @@ else (WINDOWS) endif (WINDOWS) mark_as_advanced(DL_LIBRARY PTHREAD_LIBRARY WINDOWS_LIBRARIES) + +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake index 0a3dd976b4..2259c99293 100644 --- a/indra/cmake/OpenGL.cmake +++ b/indra/cmake/OpenGL.cmake @@ -1,8 +1,12 @@ # -*- cmake -*- + +include(Variables) include(Prebuilt) -if (NOT STANDALONE) - use_prebuilt_binary(glext) - use_prebuilt_binary(glh_linear) - set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) -endif (NOT STANDALONE) +if (BUILD_HEADLESS) + SET(OPENGL_glu_LIBRARY GLU) + SET(OPENGL_HEADLESS_LIBRARIES OSMesa16 dl GLU) +endif (BUILD_HEADLESS) + +include(FindOpenGL) + diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index dbb4dfc46c..ac0cbde253 100644 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -1,5 +1,8 @@ # -*- cmake -*- +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + include(FindAutobuild) if(INSTALL_PROPRIETARY) include(FindSCP) @@ -51,3 +54,5 @@ macro (use_prebuilt_binary _binary) endif (NOT ${_binary}_installed EQUAL 0) endif (NOT STANDALONE_${_binary}) endmacro (use_prebuilt_binary _binary) + +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index 748c8c2bec..a81c9307fc 100644 --- a/indra/cmake/Python.cmake +++ b/indra/cmake/Python.cmake @@ -23,7 +23,7 @@ if (WINDOWS) elseif (EXISTS /etc/debian_version) # On Debian and Ubuntu, avoid Python 2.4 if possible. - find_program(PYTHON_EXECUTABLE python2.5 python2.3 python PATHS /usr/bin) + find_program(PYTHON_EXECUTABLE python PATHS /usr/bin) if (PYTHON_EXECUTABLE) set(PYTHONINTERP_FOUND ON) diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index 91e5258fb7..d0fd4df03a 100644 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -1,5 +1,6 @@ # -*- cmake -*- include(Prebuilt) +include(FreeType) if (STANDALONE) include(FindPkgConfig) @@ -47,6 +48,7 @@ else (STANDALONE) pangoft2-1.0 pangox-1.0 pangoxft-1.0 + ${FREETYPE_LIBRARIES} ) endif (LINUX) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 4b459f1a48..6ec621632b 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -8,24 +8,20 @@ # DARWIN - Mac OS X # LINUX - Linux # WINDOWS - Windows -# -# What to build: -# -# VIEWER - viewer and other viewer-side components -# SERVER - simulator and other server-side bits # Relative and absolute paths to subtrees. +if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) +set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") + if(NOT DEFINED COMMON_CMAKE_DIR) set(COMMON_CMAKE_DIR "${CMAKE_SOURCE_DIR}/cmake") endif(NOT DEFINED COMMON_CMAKE_DIR) set(LIBS_CLOSED_PREFIX) set(LIBS_OPEN_PREFIX) -set(LIBS_SERVER_PREFIX) set(SCRIPTS_PREFIX ../scripts) -set(SERVER_PREFIX) set(VIEWER_PREFIX) set(INTEGRATION_TESTS_PREFIX) set(LL_TESTS ON CACHE BOOL "Build and run unit and integration tests (disable for build timing runs to reduce variation") @@ -43,9 +39,7 @@ else(LIBS_COMMON_DIR) endif(LIBS_COMMON_DIR) set(LIBS_OPEN_DIR ${LIBS_COMMON_DIR}) -set(LIBS_SERVER_DIR ${CMAKE_SOURCE_DIR}/${LIBS_SERVER_PREFIX}) set(SCRIPTS_DIR ${CMAKE_SOURCE_DIR}/${SCRIPTS_PREFIX}) -set(SERVER_DIR ${CMAKE_SOURCE_DIR}/${SERVER_PREFIX}) set(VIEWER_DIR ${CMAKE_SOURCE_DIR}/${VIEWER_PREFIX}) set(AUTOBUILD_INSTALL_DIR ${CMAKE_BINARY_DIR}/packages) @@ -79,21 +73,57 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") # If someone has specified a word size, use that to determine the # architecture. Otherwise, let the architecture specify the word size. if (WORD_SIZE EQUAL 32) + #message(STATUS "WORD_SIZE is 32") set(ARCH i686) elseif (WORD_SIZE EQUAL 64) + #message(STATUS "WORD_SIZE is 64") set(ARCH x86_64) else (WORD_SIZE EQUAL 32) + #message(STATUS "WORD_SIZE is UNDEFINED") execute_process(COMMAND uname -m COMMAND sed s/i.86/i686/ OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) if (ARCH STREQUAL x86_64) + #message(STATUS "ARCH is detected as 64; ARCH is ${ARCH}") set(WORD_SIZE 64) else (ARCH STREQUAL x86_64) + #message(STATUS "ARCH is detected as 32; ARCH is ${ARCH}") set(WORD_SIZE 32) endif (ARCH STREQUAL x86_64) endif (WORD_SIZE EQUAL 32) + if (WORD_SIZE EQUAL 32) + set(DEB_ARCHITECTURE i386) + set(FIND_LIBRARY_USE_LIB64_PATHS OFF) + set(CMAKE_SYSTEM_LIBRARY_PATH /usr/lib32 ${CMAKE_SYSTEM_LIBRARY_PATH}) + else (WORD_SIZE EQUAL 32) + set(DEB_ARCHITECTURE amd64) + set(FIND_LIBRARY_USE_LIB64_PATHS ON) + endif (WORD_SIZE EQUAL 32) + + execute_process(COMMAND dpkg-architecture -a${DEB_ARCHITECTURE} -qDEB_HOST_MULTIARCH + RESULT_VARIABLE DPKG_RESULT + OUTPUT_VARIABLE DPKG_ARCH + OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) + #message (STATUS "DPKG_RESULT ${DPKG_RESULT}, DPKG_ARCH ${DPKG_ARCH}") + if (DPKG_RESULT EQUAL 0) + set(CMAKE_LIBRARY_ARCHITECTURE ${DPKG_ARCH}) + set(CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/${DPKG_ARCH} /usr/local/lib/${DPKG_ARCH} ${CMAKE_SYSTEM_LIBRARY_PATH}) + endif (DPKG_RESULT EQUAL 0) + + include(ConfigurePkgConfig) + set(LL_ARCH ${ARCH}_linux) set(LL_ARCH_DIR ${ARCH}-linux) + + if (INSTALL_PROPRIETARY) + # Only turn on headless if we can find osmesa libraries. + include(FindPkgConfig) + #pkg_check_modules(OSMESA osmesa) + #if (OSMESA_FOUND) + # set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.") + #endif (OSMESA_FOUND) + endif (INSTALL_PROPRIETARY) + endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") @@ -140,7 +170,6 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # Default deploy grid set(GRID agni CACHE STRING "Target Grid") -set(VIEWER ON CACHE BOOL "Build Second Life viewer.") set(VIEWER_CHANNEL "LindenDeveloper" CACHE STRING "Viewer Channel Name") set(VIEWER_LOGIN_CHANNEL ${VIEWER_CHANNEL} CACHE STRING "Fake login channel for A/B Testing") @@ -153,21 +182,8 @@ set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside") set(STANDALONE OFF CACHE BOOL "Do not use Linden-supplied prebuilt libraries.") set(UNATTENDED OFF CACHE BOOL "Should be set to ON for building with VC Express editions.") -if (NOT STANDALONE AND EXISTS ${CMAKE_SOURCE_DIR}/llphysics) - set(SERVER ON CACHE BOOL "Build Second Life server software.") -endif (NOT STANDALONE AND EXISTS ${CMAKE_SOURCE_DIR}/llphysics) - -if (LINUX AND SERVER AND VIEWER) - MESSAGE(FATAL_ERROR " -The indra source does not currently support building SERVER and VIEWER at the same time. -Please set one of these values to OFF in your CMake cache file. -(either by running ccmake or by editing CMakeCache.txt by hand) -For more information, please see JIRA DEV-14943 - Cmake Linux cannot build both VIEWER and SERVER in one build environment - ") -endif (LINUX AND SERVER AND VIEWER) - - set(USE_PRECOMPILED_HEADERS ON CACHE BOOL "Enable use of precompiled header directives where supported.") source_group("CMake Rules" FILES CMakeLists.txt) +endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) diff --git a/indra/cmake/VisualLeakDetector.cmake b/indra/cmake/VisualLeakDetector.cmake index d3ba554e46..6a20148b47 100644 --- a/indra/cmake/VisualLeakDetector.cmake +++ b/indra/cmake/VisualLeakDetector.cmake @@ -1,7 +1,5 @@ # -*- cmake -*- -if (VIEWER) - set(INCLUDE_VLD_CMAKE OFF CACHE BOOL "Build the Windows viewer with Visual Leak Detector turned on or off") if (INCLUDE_VLD_CMAKE) @@ -12,4 +10,3 @@ if (VIEWER) endif (INCLUDE_VLD_CMAKE) -endif (VIEWER) -- cgit v1.2.3 From 70b0b2a2e3d4661d5df2a487cf519a4509a89c6f Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 21 May 2013 15:44:08 -0400 Subject: revise test for hg to detect and ignore incorrect results from cygwin hg --- indra/cmake/BuildVersion.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake index c494355746..0094e313c7 100755 --- a/indra/cmake/BuildVersion.cmake +++ b/indra/cmake/BuildVersion.cmake @@ -22,12 +22,12 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n OUTPUT_VARIABLE VIEWER_VERSION_REVISION OUTPUT_STRIP_TRAILING_WHITESPACE ) - if (DEFINED VIEWER_VERSION_REVISION) + if ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$") message("Revision (from hg) ${VIEWER_VERSION_REVISION}") - else (DEFINED VIEWER_VERSION_REVISION) + else ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$") set(VIEWER_VERSION_REVISION 0 ) message("Revision not set, repository not found, using ${VIEWER_VERSION_REVISION}") - endif (DEFINED VIEWER_VERSION_REVISION) + endif ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$") else (DEFINED MERCURIAL) set(VIEWER_VERSION_REVISION 0) message("Revision not set, 'hg' not found (${MERCURIAL}), using ${VIEWER_VERSION_REVISION}") -- cgit v1.2.3 From a3a933e2120e4edf3c7f3c85a8ca04d76570f8ec Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 4 Jun 2013 12:33:51 -0400 Subject: fix local build numbers when compiling a merge before committing (two parents) --- indra/cmake/BuildVersion.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake index 0094e313c7..b9ec8f5266 100755 --- a/indra/cmake/BuildVersion.cmake +++ b/indra/cmake/BuildVersion.cmake @@ -18,7 +18,7 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n find_program(MERCURIAL hg) if (DEFINED MERCURIAL) execute_process( - COMMAND ${MERCURIAL} parents --template "{rev}" + COMMAND ${MERCURIAL} log -r tip --template "{p1rev}" OUTPUT_VARIABLE VIEWER_VERSION_REVISION OUTPUT_STRIP_TRAILING_WHITESPACE ) -- cgit v1.2.3