diff options
Diffstat (limited to 'indra/cmake')
117 files changed, 585 insertions, 982 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index d9553b9a7e..ac9e717c82 100644..100755 --- 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. @@ -151,41 +154,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}") @@ -193,13 +176,8 @@ 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) -  set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names,-search_paths_first") +  add_definitions(-DLL_DARWIN=1) +  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}") @@ -255,6 +233,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..492ba2adea 100644..100755 --- 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/Audio.cmake b/indra/cmake/Audio.cmake index d23bc2f9c6..d23bc2f9c6 100644..100755 --- a/indra/cmake/Audio.cmake +++ b/indra/cmake/Audio.cmake diff --git a/indra/cmake/BerkeleyDB.cmake b/indra/cmake/BerkeleyDB.cmake index 57b53f46ff..57b53f46ff 100644..100755 --- a/indra/cmake/BerkeleyDB.cmake +++ b/indra/cmake/BerkeleyDB.cmake diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 1acb2bbbfd..cff762e1f0 100644..100755 --- 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/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake index 60a519c9af..0094e313c7 100644..100755 --- 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 ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$") +                 message("Revision (from hg) ${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 ("${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}") +           endif (DEFINED MERCURIAL) +        endif (DEFINED ENV{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} ) + +    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/CARes.cmake b/indra/cmake/CARes.cmake index b0dac5b12f..b0dac5b12f 100644..100755 --- a/indra/cmake/CARes.cmake +++ b/indra/cmake/CARes.cmake diff --git a/indra/cmake/CMakeCopyIfDifferent.cmake b/indra/cmake/CMakeCopyIfDifferent.cmake index 55e71ff153..55e71ff153 100644..100755 --- a/indra/cmake/CMakeCopyIfDifferent.cmake +++ b/indra/cmake/CMakeCopyIfDifferent.cmake diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 569034a6fb..246b9680e8 100644..100755 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -12,50 +12,67 @@ set(cmake_SOURCE_FILES      Audio.cmake      BerkeleyDB.cmake      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 +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      ) @@ -88,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 (<target> <source>) -# ADD_CS_EXECUTABLE (<target> <source>) -# INSTALL_GAC (<target>) -# -# 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/CURL.cmake b/indra/cmake/CURL.cmake index 9aba08e573..9aba08e573 100644..100755 --- a/indra/cmake/CURL.cmake +++ b/indra/cmake/CURL.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/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index c32e357da3..29ab4b1710 100644..100755 --- 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. @@ -222,8 +221,10 @@ 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)  elseif(LINUX)      # linux is weird, multiple side by side configurations aren't supported @@ -254,19 +255,19 @@ 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 -        libbreakpad_client.so.0 +        libboost_thread-mt.so.${BOOST_VERSION}.0          libcollada14dom.so          libcrypto.so.1.0.0          libdb-5.1.so          libexpat.so          libexpat.so.1 -        libglod.so +        libGLOD.so          libgmock_main.so          libgmock.so.0          libgmodule-2.0.so @@ -288,9 +289,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...") @@ -305,8 +306,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 "") @@ -369,30 +368,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/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/DBusGlib.cmake b/indra/cmake/DBusGlib.cmake index 83c08d3350..83c08d3350 100644..100755 --- a/indra/cmake/DBusGlib.cmake +++ b/indra/cmake/DBusGlib.cmake diff --git a/indra/cmake/DeploySharedLibs.cmake b/indra/cmake/DeploySharedLibs.cmake index 663c272e50..663c272e50 100644..100755 --- a/indra/cmake/DeploySharedLibs.cmake +++ b/indra/cmake/DeploySharedLibs.cmake diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake index b2a18805d4..25163d0322 100644..100755 --- 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..b70aa6b6ee 100644..100755 --- 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/EXPAT.cmake b/indra/cmake/EXPAT.cmake index acb15dc623..acb15dc623 100644..100755 --- a/indra/cmake/EXPAT.cmake +++ b/indra/cmake/EXPAT.cmake diff --git a/indra/cmake/ExamplePlugin.cmake b/indra/cmake/ExamplePlugin.cmake index 599787ad21..599787ad21 100644..100755 --- a/indra/cmake/ExamplePlugin.cmake +++ b/indra/cmake/ExamplePlugin.cmake 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/FMOD.cmake b/indra/cmake/FMOD.cmake deleted file mode 100644 index 3586c1160a..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 ON 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/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/FindAPR.cmake b/indra/cmake/FindAPR.cmake index 906b6c9452..906b6c9452 100644..100755 --- a/indra/cmake/FindAPR.cmake +++ b/indra/cmake/FindAPR.cmake diff --git a/indra/cmake/FindAutobuild.cmake b/indra/cmake/FindAutobuild.cmake index 4b5fd484ae..4b5fd484ae 100644..100755 --- a/indra/cmake/FindAutobuild.cmake +++ b/indra/cmake/FindAutobuild.cmake diff --git a/indra/cmake/FindBerkeleyDB.cmake b/indra/cmake/FindBerkeleyDB.cmake index 2d633c74ec..2d633c74ec 100644..100755 --- a/indra/cmake/FindBerkeleyDB.cmake +++ b/indra/cmake/FindBerkeleyDB.cmake diff --git a/indra/cmake/FindCARes.cmake b/indra/cmake/FindCARes.cmake index 1ed5b32913..1ed5b32913 100644..100755 --- a/indra/cmake/FindCARes.cmake +++ b/indra/cmake/FindCARes.cmake 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/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 -  ) 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/FindGLH.cmake b/indra/cmake/FindGLH.cmake index 3d16adaf03..3d16adaf03 100644..100755 --- a/indra/cmake/FindGLH.cmake +++ b/indra/cmake/FindGLH.cmake diff --git a/indra/cmake/FindGoogleBreakpad.cmake b/indra/cmake/FindGoogleBreakpad.cmake index 1a0493be5e..1a0493be5e 100644..100755 --- a/indra/cmake/FindGoogleBreakpad.cmake +++ b/indra/cmake/FindGoogleBreakpad.cmake diff --git a/indra/cmake/FindGooglePerfTools.cmake b/indra/cmake/FindGooglePerfTools.cmake index bb125d538e..bb125d538e 100644..100755 --- a/indra/cmake/FindGooglePerfTools.cmake +++ b/indra/cmake/FindGooglePerfTools.cmake diff --git a/indra/cmake/FindHUNSPELL.cmake b/indra/cmake/FindHUNSPELL.cmake index 6faf22959c..6faf22959c 100644..100755 --- a/indra/cmake/FindHUNSPELL.cmake +++ b/indra/cmake/FindHUNSPELL.cmake diff --git a/indra/cmake/FindJsonCpp.cmake b/indra/cmake/FindJsonCpp.cmake index 0b056ada58..0b056ada58 100644..100755 --- a/indra/cmake/FindJsonCpp.cmake +++ b/indra/cmake/FindJsonCpp.cmake 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/FindNDOF.cmake b/indra/cmake/FindNDOF.cmake index 6dcf590a53..6dcf590a53 100644..100755 --- a/indra/cmake/FindNDOF.cmake +++ b/indra/cmake/FindNDOF.cmake diff --git a/indra/cmake/FindOpenJPEG.cmake b/indra/cmake/FindOpenJPEG.cmake index 949384eec4..949384eec4 100644..100755 --- a/indra/cmake/FindOpenJPEG.cmake +++ b/indra/cmake/FindOpenJPEG.cmake diff --git a/indra/cmake/FindSCP.cmake b/indra/cmake/FindSCP.cmake index ea02102908..ea02102908 100644..100755 --- a/indra/cmake/FindSCP.cmake +++ b/indra/cmake/FindSCP.cmake 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/FindXmlRpcEpi.cmake b/indra/cmake/FindXmlRpcEpi.cmake index ba217e7467..ba217e7467 100644..100755 --- a/indra/cmake/FindXmlRpcEpi.cmake +++ b/indra/cmake/FindXmlRpcEpi.cmake diff --git a/indra/cmake/FindZLIB.cmake b/indra/cmake/FindZLIB.cmake index 03a7db9d6f..03a7db9d6f 100644..100755 --- a/indra/cmake/FindZLIB.cmake +++ b/indra/cmake/FindZLIB.cmake diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake index 43a9d282d0..baa61d73c8 100644..100755 --- 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/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/GLH.cmake b/indra/cmake/GLH.cmake index 911dbe4017..911dbe4017 100644..100755 --- a/indra/cmake/GLH.cmake +++ b/indra/cmake/GLH.cmake diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake index 77221d55ed..6bdbaf621e 100644..100755 --- 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/GStreamer010Plugin.cmake b/indra/cmake/GStreamer010Plugin.cmake index d2d0699bcd..d2d0699bcd 100644..100755 --- a/indra/cmake/GStreamer010Plugin.cmake +++ b/indra/cmake/GStreamer010Plugin.cmake diff --git a/indra/cmake/GetPrerequisites_2_8.cmake b/indra/cmake/GetPrerequisites_2_8.cmake index 05ec1539ba..05ec1539ba 100644..100755 --- a/indra/cmake/GetPrerequisites_2_8.cmake +++ b/indra/cmake/GetPrerequisites_2_8.cmake diff --git a/indra/cmake/Glui.cmake b/indra/cmake/Glui.cmake index f62a56856c..f62a56856c 100644..100755 --- a/indra/cmake/Glui.cmake +++ b/indra/cmake/Glui.cmake diff --git a/indra/cmake/Glut.cmake b/indra/cmake/Glut.cmake index 314da30652..314da30652 100644..100755 --- a/indra/cmake/Glut.cmake +++ b/indra/cmake/Glut.cmake diff --git a/indra/cmake/GoogleBreakpad.cmake b/indra/cmake/GoogleBreakpad.cmake index 7498674042..96e22791ec 100644..100755 --- 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) diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake index c4c96a9af7..c4c96a9af7 100644..100755 --- a/indra/cmake/GoogleMock.cmake +++ b/indra/cmake/GoogleMock.cmake diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index 73b3642ae6..f3fd008e49 100644..100755 --- 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..44f81ce332 100644..100755 --- 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/Hunspell.cmake b/indra/cmake/Hunspell.cmake index 0c9cf93316..0c9cf93316 100644..100755 --- a/indra/cmake/Hunspell.cmake +++ b/indra/cmake/Hunspell.cmake diff --git a/indra/cmake/JPEG.cmake b/indra/cmake/JPEG.cmake index 4f99efd602..4f99efd602 100644..100755 --- a/indra/cmake/JPEG.cmake +++ b/indra/cmake/JPEG.cmake diff --git a/indra/cmake/JsonCpp.cmake b/indra/cmake/JsonCpp.cmake index 7ad73e5683..7ad73e5683 100644..100755 --- a/indra/cmake/JsonCpp.cmake +++ b/indra/cmake/JsonCpp.cmake 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/LLAudio.cmake b/indra/cmake/LLAudio.cmake index 7c248dfc72..7c248dfc72 100644..100755 --- a/indra/cmake/LLAudio.cmake +++ b/indra/cmake/LLAudio.cmake diff --git a/indra/cmake/LLCharacter.cmake b/indra/cmake/LLCharacter.cmake index 9b2f5c4956..9b2f5c4956 100644..100755 --- a/indra/cmake/LLCharacter.cmake +++ b/indra/cmake/LLCharacter.cmake diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index c254bf6f05..b52556a73e 100644..100755 --- 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/LLCoreHttp.cmake b/indra/cmake/LLCoreHttp.cmake index 61e4b23d98..61e4b23d98 100644..100755 --- a/indra/cmake/LLCoreHttp.cmake +++ b/indra/cmake/LLCoreHttp.cmake diff --git a/indra/cmake/LLCrashLogger.cmake b/indra/cmake/LLCrashLogger.cmake index f2cb83eb8b..f2cb83eb8b 100644..100755 --- a/indra/cmake/LLCrashLogger.cmake +++ b/indra/cmake/LLCrashLogger.cmake 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/LLImage.cmake b/indra/cmake/LLImage.cmake index ec3da89081..ec3da89081 100644..100755 --- a/indra/cmake/LLImage.cmake +++ b/indra/cmake/LLImage.cmake diff --git a/indra/cmake/LLImageJ2COJ.cmake b/indra/cmake/LLImageJ2COJ.cmake index 1bcf205f2d..1bcf205f2d 100644..100755 --- a/indra/cmake/LLImageJ2COJ.cmake +++ b/indra/cmake/LLImageJ2COJ.cmake diff --git a/indra/cmake/LLInventory.cmake b/indra/cmake/LLInventory.cmake index c3dc077a2b..c3dc077a2b 100644..100755 --- a/indra/cmake/LLInventory.cmake +++ b/indra/cmake/LLInventory.cmake diff --git a/indra/cmake/LLKDU.cmake b/indra/cmake/LLKDU.cmake index e478b01f84..e478b01f84 100644..100755 --- a/indra/cmake/LLKDU.cmake +++ b/indra/cmake/LLKDU.cmake diff --git a/indra/cmake/LLLogin.cmake b/indra/cmake/LLLogin.cmake index 47d171876a..47d171876a 100644..100755 --- a/indra/cmake/LLLogin.cmake +++ b/indra/cmake/LLLogin.cmake diff --git a/indra/cmake/LLMath.cmake b/indra/cmake/LLMath.cmake index 893920ae6f..893920ae6f 100644..100755 --- a/indra/cmake/LLMath.cmake +++ b/indra/cmake/LLMath.cmake diff --git a/indra/cmake/LLMessage.cmake b/indra/cmake/LLMessage.cmake index 0143d04fd7..0143d04fd7 100644..100755 --- a/indra/cmake/LLMessage.cmake +++ b/indra/cmake/LLMessage.cmake diff --git a/indra/cmake/LLPhysicsExtensions.cmake b/indra/cmake/LLPhysicsExtensions.cmake index e6afee762e..e6afee762e 100644..100755 --- a/indra/cmake/LLPhysicsExtensions.cmake +++ b/indra/cmake/LLPhysicsExtensions.cmake diff --git a/indra/cmake/LLPlugin.cmake b/indra/cmake/LLPlugin.cmake index 399cb332dd..399cb332dd 100644..100755 --- a/indra/cmake/LLPlugin.cmake +++ b/indra/cmake/LLPlugin.cmake diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index ab39cbb6be..ab39cbb6be 100644..100755 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake diff --git a/indra/cmake/LLRender.cmake b/indra/cmake/LLRender.cmake index 8427928151..ae71ee4c0d 100644..100755 --- 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 -      llrenderheadless -      ) -else (SERVER AND LINUX) +if (BUILD_HEADLESS) +  set(LLRENDER_HEADLESS_LIBRARIES +    llrenderheadless +    ) +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/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/LLSharedLibs.cmake b/indra/cmake/LLSharedLibs.cmake index 14dd67f32f..14dd67f32f 100644..100755 --- a/indra/cmake/LLSharedLibs.cmake +++ b/indra/cmake/LLSharedLibs.cmake diff --git a/indra/cmake/LLTestCommand.cmake b/indra/cmake/LLTestCommand.cmake index f75c23a5de..f75c23a5de 100644..100755 --- a/indra/cmake/LLTestCommand.cmake +++ b/indra/cmake/LLTestCommand.cmake diff --git a/indra/cmake/LLUI.cmake b/indra/cmake/LLUI.cmake index 34de57108b..34de57108b 100644..100755 --- a/indra/cmake/LLUI.cmake +++ b/indra/cmake/LLUI.cmake diff --git a/indra/cmake/LLVFS.cmake b/indra/cmake/LLVFS.cmake index 0fe87cdea6..0fe87cdea6 100644..100755 --- a/indra/cmake/LLVFS.cmake +++ b/indra/cmake/LLVFS.cmake diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index b4bb9a078a..0def507e65 100644..100755 --- 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 -      llwindowheadless -      ) -else (SERVER AND LINUX) -  set(LLWINDOW_LIBRARIES -      llwindow -      ) -endif (SERVER AND LINUX) +if (BUILD_HEADLESS) +  set(LLWINDOW_HEADLESS_LIBRARIES +    llwindowheadless +    ) +endif (BUILD_HEADLESS) + +set(LLWINDOW_LIBRARIES +    llwindow +    ) diff --git a/indra/cmake/LLXML.cmake b/indra/cmake/LLXML.cmake index 64dfdb604f..b093c76297 100644..100755 --- 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/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/LScript.cmake b/indra/cmake/LScript.cmake index 21e78fc2c0..21e78fc2c0 100644..100755 --- a/indra/cmake/LScript.cmake +++ b/indra/cmake/LScript.cmake diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index c3e3a80fd0..b9c9e531fc 100644..100755 --- 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/MediaPluginBase.cmake b/indra/cmake/MediaPluginBase.cmake index 2be035b641..2be035b641 100644..100755 --- a/indra/cmake/MediaPluginBase.cmake +++ b/indra/cmake/MediaPluginBase.cmake 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/NDOF.cmake b/indra/cmake/NDOF.cmake index be6fe415f2..be6fe415f2 100644..100755 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake diff --git a/indra/cmake/NVAPI.cmake b/indra/cmake/NVAPI.cmake index 105f442a30..105f442a30 100644..100755 --- a/indra/cmake/NVAPI.cmake +++ b/indra/cmake/NVAPI.cmake diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake index a3e1fb924e..a3e1fb924e 100644..100755 --- a/indra/cmake/OPENAL.cmake +++ b/indra/cmake/OPENAL.cmake diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake index 0a3dd976b4..2259c99293 100644..100755 --- 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/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake index fcc82c2f49..fcc82c2f49 100644..100755 --- a/indra/cmake/OpenJPEG.cmake +++ b/indra/cmake/OpenJPEG.cmake diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake index 2704912eb5..2704912eb5 100644..100755 --- a/indra/cmake/OpenSSL.cmake +++ b/indra/cmake/OpenSSL.cmake diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake index 913c575672..913c575672 100644..100755 --- a/indra/cmake/PNG.cmake +++ b/indra/cmake/PNG.cmake diff --git a/indra/cmake/PluginAPI.cmake b/indra/cmake/PluginAPI.cmake index d1649e8248..d1649e8248 100644..100755 --- a/indra/cmake/PluginAPI.cmake +++ b/indra/cmake/PluginAPI.cmake diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index dbb4dfc46c..ac0cbde253 100644..100755 --- 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/PulseAudio.cmake b/indra/cmake/PulseAudio.cmake index 360a971058..360a971058 100644..100755 --- a/indra/cmake/PulseAudio.cmake +++ b/indra/cmake/PulseAudio.cmake diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake index 748c8c2bec..a81c9307fc 100644..100755 --- 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/QuickTimePlugin.cmake b/indra/cmake/QuickTimePlugin.cmake index 012f4e20d8..012f4e20d8 100644..100755 --- a/indra/cmake/QuickTimePlugin.cmake +++ b/indra/cmake/QuickTimePlugin.cmake diff --git a/indra/cmake/TemplateCheck.cmake b/indra/cmake/TemplateCheck.cmake index 2fada2eda9..2fada2eda9 100644..100755 --- a/indra/cmake/TemplateCheck.cmake +++ b/indra/cmake/TemplateCheck.cmake diff --git a/indra/cmake/Tut.cmake b/indra/cmake/Tut.cmake index 7488e9dcb0..7488e9dcb0 100644..100755 --- a/indra/cmake/Tut.cmake +++ b/indra/cmake/Tut.cmake diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index 91e5258fb7..d0fd4df03a 100644..100755 --- 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/UnixInstall.cmake b/indra/cmake/UnixInstall.cmake index 139be0a008..139be0a008 100644..100755 --- a/indra/cmake/UnixInstall.cmake +++ b/indra/cmake/UnixInstall.cmake diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 4b459f1a48..7c310ba9c3 100644..100755 --- 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,9 +170,7 @@ 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") +set(VIEWER_CHANNEL "Second Life Test" CACHE STRING "Viewer Channel Name")  if (XCODE_VERSION GREATER 4.2)    set(ENABLE_SIGNING OFF CACHE BOOL "Enable signing the viewer") @@ -153,21 +181,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/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 5b00c989a4..5b00c989a4 100644..100755 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake diff --git a/indra/cmake/VisualLeakDetector.cmake b/indra/cmake/VisualLeakDetector.cmake index d3ba554e46..27e93e28bb 100644..100755 --- 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) diff --git a/indra/cmake/WebKitLibPlugin.cmake b/indra/cmake/WebKitLibPlugin.cmake index d9df78bfc8..d9df78bfc8 100644..100755 --- a/indra/cmake/WebKitLibPlugin.cmake +++ b/indra/cmake/WebKitLibPlugin.cmake diff --git a/indra/cmake/XmlRpcEpi.cmake b/indra/cmake/XmlRpcEpi.cmake index 5bd4848245..5bd4848245 100644..100755 --- a/indra/cmake/XmlRpcEpi.cmake +++ b/indra/cmake/XmlRpcEpi.cmake diff --git a/indra/cmake/ZLIB.cmake b/indra/cmake/ZLIB.cmake index 48e5130ad5..48e5130ad5 100644..100755 --- a/indra/cmake/ZLIB.cmake +++ b/indra/cmake/ZLIB.cmake diff --git a/indra/cmake/cmake_dummy.cpp b/indra/cmake/cmake_dummy.cpp index ae4475a73e..ae4475a73e 100644..100755 --- a/indra/cmake/cmake_dummy.cpp +++ b/indra/cmake/cmake_dummy.cpp diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py index a2ef61c8fd..a2ef61c8fd 100644..100755 --- a/indra/cmake/run_build_test.py +++ b/indra/cmake/run_build_test.py  | 
