From 8f0d59cab387b266ce777a0487effeb5da89f1f1 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 6 Apr 2011 05:46:45 -0400 Subject: OPEN-50 (partial): refactor cmake switches to common configurations and default values --- indra/cmake/Variables.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 77dd34d122..8c9c375790 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -135,6 +135,7 @@ set(VIEWER_LOGIN_CHANNEL ${VIEWER_CHANNEL} CACHE STRING "Fake login channel for 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.") -- cgit v1.2.3 From 8d2943c5ddd08ce7a40d42325206f882c99f497a Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Mon, 18 Apr 2011 14:08:29 -0700 Subject: Fixed debug information format for mac to allow breakpoints to work under Xcode. --- indra/cmake/Variables.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 77dd34d122..b6710300bb 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -102,7 +102,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5) set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "4.2") - set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "DWARF with dSYM File") + set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf-with-dsym) # NOTE: To attempt an i386/PPC Universal build, add this on the configure line: # -DCMAKE_OSX_ARCHITECTURES:STRING='i386;ppc' -- cgit v1.2.3 From c7721b86c6df55cbfcdb51970944b79ed8674f4e Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 19 Apr 2011 21:43:13 -0400 Subject: New openssl package solves permissions problems with Linux build. The original Linux openssl tarball includes libcrypto.so and libssl.so files with r-xr-xr-x permissions: not even the owning user can modify them. This causes problems when the Release build tries to 'strip' the viewer and all associated libraries. Newer openssl tarball fixes permission problems. The newer openssl package also updates from 0.9.8 to 1.0.0, so have to fix version numbers in Copy3rdPartyLibs.cmake and viewer_manifest.py too. :-P Presumably the only reason this hasn't been causing trouble with TC builds is that the link has been picking up system libraries instead of the ones from the openssl package. --- indra/cmake/Copy3rdPartyLibs.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 4698116022..1c43c4ce12 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -243,7 +243,7 @@ elseif(LINUX) libaprutil-1.so.0 libatk-1.0.so libbreakpad_client.so.0 - libcrypto.so.0.9.8 + libcrypto.so.1.0.0 libdb-5.1.so libexpat.so libexpat.so.1 @@ -259,7 +259,7 @@ elseif(LINUX) libtcmalloc.so libuuid.so.16 libuuid.so.16.0.22 - libssl.so.0.9.8 + libssl.so.1.0.0 libfontconfig.so.1.4.4 ) -- cgit v1.2.3 From 4906f4644f7b8e8348f67ea7fde0909f58338ff1 Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Thu, 21 Apr 2011 22:11:48 +0100 Subject: OPEN-61 Adding locations that redistributable package installs msvc* files. --- indra/cmake/Copy3rdPartyLibs.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 1c43c4ce12..4202b54f94 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -127,7 +127,8 @@ elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 PATHS ${MSVC_DEBUG_REDIST_PATH} [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC100.DebugCRT - NO_DEFAULT_PATH + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 NO_DEFAULT_PATH ) @@ -151,7 +152,8 @@ elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 PATHS ${MSVC_REDIST_PATH} [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC100.CRT - NO_DEFAULT_PATH + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 NO_DEFAULT_PATH ) -- cgit v1.2.3 From a8ba89eb41b5b0eabecf1d78cf0d5ac9f1b11117 Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Tue, 3 May 2011 18:15:00 -0700 Subject: Fix for CHOP-619. Found a general solution to our vs2010 precompiled headers problems and eliminated all our special cases for handling them. --- indra/cmake/00-Common.cmake | 7 +++++++ indra/cmake/Variables.cmake | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 15b827b217..faffdc8ccd 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -36,6 +36,13 @@ if (WINDOWS) # Don't build DLLs. set(BUILD_SHARED_LIBS OFF) + # for "backwards compatibility", cmake sneaks in the Zm1000 option which royally + # screws incredibuild. this hack disables it. + # for details see: http://connect.microsoft.com/VisualStudio/feedback/details/368107/clxx-fatal-error-c1027-inconsistent-values-for-ym-between-creation-and-use-of-precompiled-headers + # http://www.ogre3d.org/forums/viewtopic.php?f=2&t=60015 + # http://www.cmake.org/pipermail/cmake/2009-September/032143.html + string(REPLACE "/Zm1000" " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP -D_SCL_SECURE_NO_WARNINGS=1" CACHE STRING "C++ compiler debug options" FORCE) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 03428691cf..2f23e7c307 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -151,7 +151,7 @@ For more information, please see JIRA DEV-14943 - Cmake Linux cannot build both endif (LINUX AND SERVER AND VIEWER) -set(USE_PRECOMPILED_HEADERS OFF CACHE BOOL "Enable use of precompiled header directives where supported.") +set(USE_PRECOMPILED_HEADERS ON CACHE BOOL "Enable use of precompiled header directives where supported.") source_group("CMake Rules" FILES CMakeLists.txt) -- cgit v1.2.3 From ebda8f883b742de82db74cab993612737f5dec9e Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Wed, 4 May 2011 16:07:27 -0700 Subject: Work in progress on CHOP-609. Added checking in indra/cmake/Prebuilt.cmake to skip unnecessary unpacking of already installed packages. --- indra/cmake/Prebuilt.cmake | 56 +++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 21 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index 1b60d176f1..dbb4dfc46c 100644 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -1,35 +1,49 @@ # -*- cmake -*- include(FindAutobuild) +if(INSTALL_PROPRIETARY) + include(FindSCP) +endif(INSTALL_PROPRIETARY) +# The use_prebuilt_binary macro handles automated installation of package +# dependencies using autobuild. The goal is that 'autobuild install' should +# only be run when we know we need to install a new package. This should be +# the case in a clean checkout, or if autobuild.xml has been updated since the +# last run (encapsulated by the file ${CMAKE_BINARY_DIR}/temp/sentinel_installed), +# or if a previous attempt to install the package has failed (the exit status +# of previous attempts is serialized in the file +# ${CMAKE_BINARY_DIR}/temp/${_binary}_installed) macro (use_prebuilt_binary _binary) if (NOT DEFINED STANDALONE_${_binary}) set(STANDALONE_${_binary} ${STANDALONE}) endif (NOT DEFINED STANDALONE_${_binary}) if (NOT STANDALONE_${_binary}) - if(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed) - if(INSTALL_PROPRIETARY) - include(FindSCP) - endif(INSTALL_PROPRIETARY) - if(DEBUG_PREBUILT) - message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install - --install-dir=${AUTOBUILD_INSTALL_DIR} - --skip-license-check - ${_binary} ") - endif(DEBUG_PREBUILT) - execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}" - install - --install-dir=${AUTOBUILD_INSTALL_DIR} - --skip-license-check - ${_binary} - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" - RESULT_VARIABLE ${_binary}_installed - ) + if("${${_binary}_installed}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/${_binary}_installed") + file(READ ${CMAKE_BINARY_DIR}/temp/${_binary}_installed "${_binary}_installed") + if(DEBUG_PREBUILT) + message(STATUS "${_binary}_installed: \"${${_binary}_installed}\"") + endif(DEBUG_PREBUILT) + endif("${${_binary}_installed}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/${_binary}_installed") + + if(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0) + if(DEBUG_PREBUILT) + message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install + --install-dir=${AUTOBUILD_INSTALL_DIR} + --skip-license-check + ${_binary} ") + endif(DEBUG_PREBUILT) + execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}" + install + --install-dir=${AUTOBUILD_INSTALL_DIR} + --skip-license-check + ${_binary} + WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" + RESULT_VARIABLE ${_binary}_installed + ) 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) + endif(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0) + if(NOT ${_binary}_installed EQUAL 0) message(FATAL_ERROR "Failed to download or unpack prebuilt '${_binary}'." -- cgit v1.2.3 From 343ffb9d512702fff76e542575a0eff79ea62204 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 5 May 2011 19:23:55 -0400 Subject: Remove Pth library from viewer build. This library was only needed on the Mac, and only with the OS X 10.4 SDK. As of October 2010, we no longer build the viewer with that SDK. The 10.5 SDK we're currently using directly supports the functionality for which we originally brought in Pth. --- indra/cmake/Pth.cmake | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 indra/cmake/Pth.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/Pth.cmake b/indra/cmake/Pth.cmake deleted file mode 100644 index a28f6ec696..0000000000 --- a/indra/cmake/Pth.cmake +++ /dev/null @@ -1,21 +0,0 @@ -# -*- cmake -*- -include(Prebuilt) - -set(PTH_FIND_QUIETLY ON) -set(PTH_FIND_REQUIRED ON) - -if (STANDALONE) -# ?? How would I construct FindPTH.cmake? This file was cloned from -# CURL.cmake, which uses include(FindCURL), but there's no FindCURL.cmake? -# include(FindPTH) -else (STANDALONE) - # This library is only needed to support Boost.Coroutine, and only on Mac. - if (DARWIN) - use_prebuilt_binary(pth) - set(PTH_LIBRARIES pth) - set(PTH_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) - else (DARWIN) - set(PTH_LIBRARIES) - set(PTH_INCLUDE_DIRS) - endif (DARWIN) -endif (STANDALONE) -- cgit v1.2.3 From 4888db6f9c788f84bf0fdcd17a698fc27c19595b Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Fri, 6 May 2011 14:51:50 -0700 Subject: Continuing work on CHOP-609 build time improvements. Fixed eroneous additional_INCLUDE_DIRS setting for unit tests. --- indra/cmake/LLAddBuildTest.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index 3f259f6382..08feab6e36 100644 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -95,7 +95,7 @@ INCLUDE(GoogleMock) IF(${name}_test_additional_INCLUDE_DIRS MATCHES NOTFOUND) SET(${name}_test_additional_INCLUDE_DIRS "") ENDIF(${name}_test_additional_INCLUDE_DIRS MATCHES NOTFOUND) - INCLUDE_DIRECTORIES(${alltest_INCLUDE_DIRS} ${name}_test_additional_INCLUDE_DIRS ) + INCLUDE_DIRECTORIES(${alltest_INCLUDE_DIRS} ${${name}_test_additional_INCLUDE_DIRS} ) IF(LL_TEST_VERBOSE) MESSAGE("LL_ADD_PROJECT_UNIT_TESTS ${name}_test_additional_INCLUDE_DIRS ${${name}_test_additional_INCLUDE_DIRS}") ENDIF(LL_TEST_VERBOSE) -- cgit v1.2.3