From f9399c80caa656998020a122f617d6c26942cc53 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 23 Sep 2014 16:28:34 -0400 Subject: minimal hacks to autobuild.xml to allow configure to finish --- indra/cmake/Audio.cmake | 2 +- indra/cmake/GLOD.cmake | 2 +- indra/cmake/Havok.cmake | 2 +- indra/cmake/NDOF.cmake | 2 +- indra/cmake/Prebuilt.cmake | 2 -- indra/cmake/XmlRpcEpi.cmake | 2 +- 6 files changed, 5 insertions(+), 7 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Audio.cmake b/indra/cmake/Audio.cmake index 876b7f82a8..f95439245a 100755 --- a/indra/cmake/Audio.cmake +++ b/indra/cmake/Audio.cmake @@ -8,7 +8,7 @@ if (USESYSTEMLIBS) pkg_check_modules(VORBISENC REQUIRED vorbisenc) pkg_check_modules(VORBISFILE REQUIRED vorbisfile) else (USESYSTEMLIBS) - use_prebuilt_binary(ogg-vorbis) + use_prebuilt_binary(ogg_vorbis) set(VORBIS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) set(VORBISENC_INCLUDE_DIRS ${VORBIS_INCLUDE_DIRS}) set(VORBISFILE_INCLUDE_DIRS ${VORBIS_INCLUDE_DIRS}) diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake index 3683768af9..a347eb6fee 100755 --- a/indra/cmake/GLOD.cmake +++ b/indra/cmake/GLOD.cmake @@ -2,7 +2,7 @@ include(Prebuilt) if (NOT USESYSTEMLIBS) - use_prebuilt_binary(GLOD) + use_prebuilt_binary(glod) endif (NOT USESYSTEMLIBS) set(GLOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake index 8b7f01d20b..49740d6a81 100755 --- a/indra/cmake/Havok.cmake +++ b/indra/cmake/Havok.cmake @@ -3,7 +3,7 @@ if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") -use_prebuilt_binary(havok-source) +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) diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index e72845db53..8bad96f6b5 100755 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake @@ -8,7 +8,7 @@ if (NDOF) set(NDOF_FIND_REQUIRED ON) include(FindNDOF) else (USESYSTEMLIBS) - use_prebuilt_binary(ndofdev) + use_prebuilt_binary(libndofdev) if (WINDOWS) set(NDOF_LIBRARY libndofdev) diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index e548805148..5d82c9015e 100755 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -33,13 +33,11 @@ macro (use_prebuilt_binary _binary) 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 diff --git a/indra/cmake/XmlRpcEpi.cmake b/indra/cmake/XmlRpcEpi.cmake index 3a0caa0a06..09215f7bee 100755 --- a/indra/cmake/XmlRpcEpi.cmake +++ b/indra/cmake/XmlRpcEpi.cmake @@ -7,7 +7,7 @@ set(XMLRPCEPI_FIND_REQUIRED ON) if (USESYSTEMLIBS) include(FindXmlRpcEpi) else (USESYSTEMLIBS) - use_prebuilt_binary(xmlrpc-epi) + use_prebuilt_binary(xmlrpc_epi) if (WINDOWS) set(XMLRPCEPI_LIBRARIES debug xmlrpc-epid -- cgit v1.2.3 From d6d12192579775a4fba1fead99fb6cbde95a5e5a Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 25 Sep 2014 07:51:25 -0400 Subject: correct openal package name --- indra/cmake/OPENAL.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake index c084d68de7..df321cb918 100755 --- a/indra/cmake/OPENAL.cmake +++ b/indra/cmake/OPENAL.cmake @@ -16,7 +16,7 @@ if (OPENAL) pkg_check_modules(OPENAL_LIB REQUIRED openal) pkg_check_modules(FREEALUT_LIB REQUIRED freealut) else (USESYSTEMLIBS) - use_prebuilt_binary(openal_soft) + use_prebuilt_binary(openal) endif (USESYSTEMLIBS) if(WINDOWS) set(OPENAL_LIBRARIES -- cgit v1.2.3 From 28bb987738e90f2f741b0792410de0d549ad66db Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 26 Sep 2014 18:15:43 -0400 Subject: use the value established by autobuild itself when finding autobuild --- indra/cmake/FindAutobuild.cmake | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/FindAutobuild.cmake b/indra/cmake/FindAutobuild.cmake index 4b5fd484ae..187eae7a08 100755 --- a/indra/cmake/FindAutobuild.cmake +++ b/indra/cmake/FindAutobuild.cmake @@ -6,10 +6,14 @@ # # AUTOBUILD_EXECUTABLE - path to autobuild or pautobuild executable -# *TODO - if cmake was executed by autobuild, autobuild will have set the AUTOBUILD env var -# update this to check for that case + IF (NOT AUTOBUILD_EXECUTABLE) + + # If cmake was executed by autobuild, autobuild will have set the AUTOBUILD env var + IF (DEFINED ENV{AUTOBUILD}) + SET(AUTOBUILD_EXECUTABLE $ENV{AUTOBUILD}) + ELSE (DEFINED ENV{AUTOBUILD}) IF(WIN32) SET(AUTOBUILD_EXE_NAMES autobuild.cmd autobuild.exe) ELSE(WIN32) @@ -27,15 +31,16 @@ IF (NOT AUTOBUILD_EXECUTABLE) ${CMAKE_SOURCE_DIR}/../../.. PATH_SUFFIXES "/autobuild/bin/" ) + ENDIF (DEFINED ENV{AUTOBUILD}) - IF (AUTOBUILD_EXECUTABLE) - GET_FILENAME_COMPONENT(_autobuild_name ${AUTOBUILD_EXECUTABLE} NAME_WE) - MESSAGE(STATUS "Using autobuild at: ${AUTOBUILD_EXECUTABLE}") - ELSE (AUTOBUILD_EXECUTABLE) - IF (AUTOBUILD_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find autobuild executable") - ENDIF (AUTOBUILD_FIND_REQUIRED) - ENDIF (AUTOBUILD_EXECUTABLE) + IF (AUTOBUILD_EXECUTABLE) + GET_FILENAME_COMPONENT(_autobuild_name ${AUTOBUILD_EXECUTABLE} NAME_WE) + MESSAGE(STATUS "Using autobuild at: ${AUTOBUILD_EXECUTABLE}") + ELSE (AUTOBUILD_EXECUTABLE) + IF (AUTOBUILD_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find autobuild executable") + ENDIF (AUTOBUILD_FIND_REQUIRED) + ENDIF (AUTOBUILD_EXECUTABLE) - MARK_AS_ADVANCED(AUTOBUILD_EXECUTABLE) + MARK_AS_ADVANCED(AUTOBUILD_EXECUTABLE) ENDIF (NOT AUTOBUILD_EXECUTABLE) -- cgit v1.2.3 From 9bdb370e715c4f6a69ead03b865be56af08f732c Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 29 Sep 2014 11:25:56 -0400 Subject: make cmake usage match new autobuild package name --- indra/cmake/LLAppearanceUtility.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLAppearanceUtility.cmake b/indra/cmake/LLAppearanceUtility.cmake index bea45543de..3415ef1bd9 100644 --- a/indra/cmake/LLAppearanceUtility.cmake +++ b/indra/cmake/LLAppearanceUtility.cmake @@ -4,7 +4,7 @@ include(Prebuilt) # Linux proprietary build only if (INSTALL_PROPRIETARY) if(LINUX) - use_prebuilt_binary(llappearanceutility-source) + use_prebuilt_binary(llappearanceutility_utility) set(LLAPPEARANCEUTILITY_SRC_DIR ${LIBS_PREBUILT_DIR}/llappearanceutility/src) set(LLAPPEARANCEUTILITY_BIN_DIR ${CMAKE_BINARY_DIR}/llappearanceutility) endif (LINUX) -- cgit v1.2.3 From 01a533ee4b1159c8146211a2971d9ed81dce120b Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 29 Sep 2014 16:15:47 +0000 Subject: correct prebuild name for llappearance_utility --- indra/cmake/LLAppearanceUtility.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLAppearanceUtility.cmake b/indra/cmake/LLAppearanceUtility.cmake index 3415ef1bd9..709b91c134 100644 --- a/indra/cmake/LLAppearanceUtility.cmake +++ b/indra/cmake/LLAppearanceUtility.cmake @@ -4,7 +4,7 @@ include(Prebuilt) # Linux proprietary build only if (INSTALL_PROPRIETARY) if(LINUX) - use_prebuilt_binary(llappearanceutility_utility) + use_prebuilt_binary(llappearance_utility) set(LLAPPEARANCEUTILITY_SRC_DIR ${LIBS_PREBUILT_DIR}/llappearanceutility/src) set(LLAPPEARANCEUTILITY_BIN_DIR ${CMAKE_BINARY_DIR}/llappearanceutility) endif (LINUX) -- cgit v1.2.3 From 25acc8ecadc6af4942eb9d6b012a8ac5d3b81ae8 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 29 Sep 2014 16:22:29 +0000 Subject: remove chatty autobuild message --- indra/cmake/FindAutobuild.cmake | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/FindAutobuild.cmake b/indra/cmake/FindAutobuild.cmake index 187eae7a08..d831257d4b 100755 --- a/indra/cmake/FindAutobuild.cmake +++ b/indra/cmake/FindAutobuild.cmake @@ -35,7 +35,6 @@ IF (NOT AUTOBUILD_EXECUTABLE) IF (AUTOBUILD_EXECUTABLE) GET_FILENAME_COMPONENT(_autobuild_name ${AUTOBUILD_EXECUTABLE} NAME_WE) - MESSAGE(STATUS "Using autobuild at: ${AUTOBUILD_EXECUTABLE}") ELSE (AUTOBUILD_EXECUTABLE) IF (AUTOBUILD_FIND_REQUIRED) MESSAGE(FATAL_ERROR "Could not find autobuild executable") -- cgit v1.2.3 From 25ff85a9f07ac000b21036bd78c554cac572434d Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 29 Sep 2014 19:04:58 +0000 Subject: upgrade packages for dbus_glib and libuuid to autobuild 1.0 --- indra/cmake/DBusGlib.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/DBusGlib.cmake b/indra/cmake/DBusGlib.cmake index d148a35a5b..5e46b6711a 100755 --- a/indra/cmake/DBusGlib.cmake +++ b/indra/cmake/DBusGlib.cmake @@ -7,7 +7,7 @@ if (USESYSTEMLIBS) pkg_check_modules(DBUSGLIB REQUIRED dbus-glib-1) elseif (LINUX) - use_prebuilt_binary(dbusglib) + use_prebuilt_binary(dbus_glib) set(DBUSGLIB_FOUND ON FORCE BOOL) set(DBUSGLIB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/dbus -- cgit v1.2.3 From c519fd3314eec50ab1557aefb0102b74e9f8770f Mon Sep 17 00:00:00 2001 From: callum_linden Date: Tue, 7 Oct 2014 17:35:39 -0700 Subject: Updates to point to lots of new third party libs and some small tweaks to take account of minor name changes --- indra/cmake/GLEXT.cmake | 2 +- indra/cmake/GLH.cmake | 2 +- indra/cmake/XmlRpcEpi.cmake | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/GLEXT.cmake b/indra/cmake/GLEXT.cmake index a749644202..415b13033c 100644 --- a/indra/cmake/GLEXT.cmake +++ b/indra/cmake/GLEXT.cmake @@ -3,6 +3,6 @@ include(Prebuilt) if (NOT USESYSTEMLIBS) use_prebuilt_binary(glext) - use_prebuilt_binary(glh_linear) + use_prebuilt_binary(glh-linear) set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) endif (NOT USESYSTEMLIBS) diff --git a/indra/cmake/GLH.cmake b/indra/cmake/GLH.cmake index d5262f2efa..d0992f57b8 100755 --- a/indra/cmake/GLH.cmake +++ b/indra/cmake/GLH.cmake @@ -7,5 +7,5 @@ set(GLH_FIND_QUIETLY TRUE) if (USESYSTEMLIBS) include(FindGLH) else (USESYSTEMLIBS) - use_prebuilt_binary(glh_linear) + use_prebuilt_binary(glh-linear) endif (USESYSTEMLIBS) diff --git a/indra/cmake/XmlRpcEpi.cmake b/indra/cmake/XmlRpcEpi.cmake index 09215f7bee..8c3790ea89 100755 --- a/indra/cmake/XmlRpcEpi.cmake +++ b/indra/cmake/XmlRpcEpi.cmake @@ -7,9 +7,9 @@ set(XMLRPCEPI_FIND_REQUIRED ON) if (USESYSTEMLIBS) include(FindXmlRpcEpi) else (USESYSTEMLIBS) - use_prebuilt_binary(xmlrpc_epi) + use_prebuilt_binary(xmlrpc-epi) if (WINDOWS) - set(XMLRPCEPI_LIBRARIES + set(XMLRPCEPI_LIBRARIES debug xmlrpc-epid optimized xmlrpc-epi ) -- cgit v1.2.3 From 4fb1bae807a5dd8a342946b8f23d2a7a5aa5d36a Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 10 Oct 2014 14:49:48 -0700 Subject: update autobuild.xml to point to new versions of boost, googlemock and colladadom --- indra/cmake/GoogleMock.cmake | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake index cac072988e..5a00546927 100755 --- a/indra/cmake/GoogleMock.cmake +++ b/indra/cmake/GoogleMock.cmake @@ -2,20 +2,20 @@ include(Prebuilt) include(Linking) -use_prebuilt_binary(gmock) +use_prebuilt_binary(googlemock) -set(GOOGLEMOCK_INCLUDE_DIRS +set(GOOGLEMOCK_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) if (LINUX) # VWR-24366: gmock is underlinked, it needs gtest. - set(GOOGLEMOCK_LIBRARIES + set(GOOGLEMOCK_LIBRARIES gmock -Wl,--no-as-needed gtest -Wl,--as-needed) elseif(WINDOWS) - set(GOOGLEMOCK_LIBRARIES + set(GOOGLEMOCK_LIBRARIES gmock) - set(GOOGLEMOCK_INCLUDE_DIRS + set(GOOGLEMOCK_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include ${LIBS_PREBUILT_DIR}/include/gmock ${LIBS_PREBUILT_DIR}/include/gmock/boost/tr1/tr1) -- cgit v1.2.3 From 5cb5c267caed96b23e1c6c7b8d3c04aaefe84c6a Mon Sep 17 00:00:00 2001 From: JJ Linden Date: Mon, 13 Oct 2014 12:46:55 -0700 Subject: fixes for cmake warnings about policy changes. could not fully test these changes --- indra/cmake/LLAddBuildTest.cmake | 4 ++-- indra/cmake/LLSharedLibs.cmake | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index 804624f5ec..f6c2e99640 100644 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -137,7 +137,7 @@ INCLUDE(GoogleMock) # # Setup test targets # - GET_TARGET_PROPERTY(TEST_EXE PROJECT_${project}_TEST_${name} LOCATION) + SET(TEST_EXE $) SET(TEST_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/PROJECT_${project}_TEST_${name}_ok.txt) SET(TEST_CMD ${TEST_EXE} --touch=${TEST_OUTPUT} --sourcedir=${CMAKE_CURRENT_SOURCE_DIR}) @@ -225,7 +225,7 @@ FUNCTION(LL_ADD_INTEGRATION_TEST # Create the test running command SET(test_command ${ARGN}) - GET_TARGET_PROPERTY(TEST_EXE INTEGRATION_TEST_${testname} LOCATION) + SET(TEST_EXE ) LIST(FIND test_command "{}" test_exe_pos) IF(test_exe_pos LESS 0) # The {} marker means "the full pathname of the test executable." diff --git a/indra/cmake/LLSharedLibs.cmake b/indra/cmake/LLSharedLibs.cmake index 14dd67f32f..a3c1c871aa 100755 --- a/indra/cmake/LLSharedLibs.cmake +++ b/indra/cmake/LLSharedLibs.cmake @@ -1,7 +1,7 @@ # ll_deploy_sharedlibs_command # target_exe: the cmake target of the executable for which the shared libs will be deployed. macro(ll_deploy_sharedlibs_command target_exe) - get_target_property(TARGET_LOCATION ${target_exe} LOCATION) + set(TARGET_LOCATION $) get_filename_component(OUTPUT_PATH ${TARGET_LOCATION} PATH) if(DARWIN) -- cgit v1.2.3 From 512b166d5442d262b077849992156db45d836e04 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 11:44:45 -0700 Subject: Update to build on Xcode 6.0: first pass at CMake changes to get a build started --- indra/cmake/00-Common.cmake | 2 +- indra/cmake/Variables.cmake | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 52b0f4e8b4..a24bdf4bf5 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -190,7 +190,7 @@ if (DARWIN) 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(DARWIN_extra_cstar_flags "-g") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DARWIN_extra_cstar_flags}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DARWIN_extra_cstar_flags}") # NOTE: it's critical that the optimization flag is put in front. diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 963b1bd386..608f9310e2 100755 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -134,6 +134,11 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") OUTPUT_VARIABLE XCODE_VERSION ) # To support a different SDK update these Xcode settings: + # (Using > 5.9 because CMake doesn't have a >= operator) + if (XCODE_VERSION GREATER 5.9) + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.7) + set(CMAKE_OSX_SYSROOT macosx10.9) + else (XCODE_VERSION GREATER 5.9) if (XCODE_VERSION GREATER 4.5) set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8) set(CMAKE_OSX_SYSROOT macosx10.8) @@ -146,27 +151,22 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_OSX_SYSROOT macosx10.7) endif (XCODE_VERSION GREATER 4.2) endif (XCODE_VERSION GREATER 4.5) - - set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42") + endif (XCODE_VERSION GREATER 5.9) + + set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0") + set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL 3) + set(CMAKE_XCODE_ATTRIBUTE_GCC_STRICT_ALIASING NO) + set(CMAKE_XCODE_ATTRIBUTE_GCC_FAST_MATH YES) + set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS ssse3) + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libstdc++") 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' - # Build only for i386 by default, system default on MacOSX 10.6 is x86_64 + # Build only for i386 by default, system default on MacOSX 10.6+ is x86_64 if (NOT CMAKE_OSX_ARCHITECTURES) - set(CMAKE_OSX_ARCHITECTURES i386) + set(CMAKE_OSX_ARCHITECTURES "i386") endif (NOT CMAKE_OSX_ARCHITECTURES) - if (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") - set(ARCH universal) - else (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") - if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc") - set(ARCH ppc) - else (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc") - set(ARCH i386) - endif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc") - endif (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") - + set(ARCH ${CMAKE_OSX_ARCHITECTURES}) set(LL_ARCH ${ARCH}_darwin) set(LL_ARCH_DIR universal-darwin) set(WORD_SIZE 32) -- cgit v1.2.3 From 01125b282658c2d0253edc2b4f348f6d71075558 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 12:00:13 -0700 Subject: Update to build on Xcode 6.0: change name of prebuilt binary to match new format in autobuild.xml (subnname-subname vs subname_subname) --- indra/cmake/Havok.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake index 49740d6a81..8b7f01d20b 100755 --- a/indra/cmake/Havok.cmake +++ b/indra/cmake/Havok.cmake @@ -3,7 +3,7 @@ if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") -use_prebuilt_binary(havok_source) +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) -- cgit v1.2.3 From 5ab3a832d32c7bcef6827e0916e94246980b0234 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 12:35:26 -0700 Subject: Update to build on Xcode 6.0: turn OFF warnings as errors for overloaded virtuals [-Wno-overloaded-virtual] --- indra/cmake/00-Common.cmake | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index a24bdf4bf5..008e27f061 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -205,7 +205,17 @@ endif (DARWIN) if (LINUX OR DARWIN) + if (CMAKE_CXX_COMPILER MATCHES ".*clang") + set(CMAKE_COMPILER_IS_CLANGXX 1) + endif (CMAKE_CXX_COMPILER MATCHES ".*clang") + + if (CMAKE_COMPILER_IS_GNUCXX) set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") + elseif (CMAKE_COMPILER_IS_CLANGXX) + # These unused warnings really ought to be cleaned up over time + set(UNUSED_WARNINGS "-Wno-overloaded-virtual") + set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs ${UNUSED_WARNINGS}") + endif() if (NOT GCC_DISABLE_FATAL_WARNINGS) set(GCC_WARNINGS "${GCC_WARNINGS} -Werror") -- cgit v1.2.3 From aca7976b8770aa7464bdba717d508372732f0e39 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 13:05:04 -0700 Subject: Update to build on Xcode 6.0: turn BACK ON warnings as errors for overloaded virtuals [-Woverloaded-virtual] and fix up first (of many) files --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 008e27f061..39e318fa6b 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -213,7 +213,7 @@ if (LINUX OR DARWIN) set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") elseif (CMAKE_COMPILER_IS_CLANGXX) # These unused warnings really ought to be cleaned up over time - set(UNUSED_WARNINGS "-Wno-overloaded-virtual") + # set(UNUSED_WARNINGS "-Wno-overloaded-virtual") set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs ${UNUSED_WARNINGS}") endif() -- cgit v1.2.3 From c853b470db48d9bdda0a336068c4bbbe2ab2761f Mon Sep 17 00:00:00 2001 From: callum_linden Date: Mon, 20 Oct 2014 11:41:35 -0700 Subject: Update to build on Xcode 6.0: WTH! how did this ever link? --- indra/cmake/JsonCpp.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/JsonCpp.cmake b/indra/cmake/JsonCpp.cmake index 0aab2d6634..d6d05af315 100755 --- a/indra/cmake/JsonCpp.cmake +++ b/indra/cmake/JsonCpp.cmake @@ -14,7 +14,7 @@ else (USESYSTEMLIBS) debug json_vc100debug_libmt.lib optimized json_vc100_libmt) elseif (DARWIN) - set(JSONCPP_LIBRARIES libjson_linux-gcc-4.0.1_libmt.a) + set(JSONCPP_LIBRARIES libjson_darwin_libmt.a) elseif (LINUX) set(JSONCPP_LIBRARIES libjson_linux-gcc-4.1.3_libmt.a) endif (WINDOWS) -- cgit v1.2.3 From 577a3973ea1bc268b14ba3101474fb0b9a9bade1 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Mon, 20 Oct 2014 14:00:39 -0700 Subject: Update to build on Xcode 6.0: Large (and final) collection of fixes for unused variables, unused const-variables, unused member variables & functions etc. Also removed flags from CMake --- indra/cmake/00-Common.cmake | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 39e318fa6b..627dcdc3b2 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -212,9 +212,7 @@ if (LINUX OR DARWIN) if (CMAKE_COMPILER_IS_GNUCXX) set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") elseif (CMAKE_COMPILER_IS_CLANGXX) - # These unused warnings really ought to be cleaned up over time - # set(UNUSED_WARNINGS "-Wno-overloaded-virtual") - set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs ${UNUSED_WARNINGS}") + set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") endif() if (NOT GCC_DISABLE_FATAL_WARNINGS) -- cgit v1.2.3 From 52347307796ba94515312bfceff04e0612e7f234 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Mon, 20 Oct 2014 15:04:45 -0700 Subject: Update to build on Xcode 6.0: Remove concept of XCODE_VERSION from CMake files - we standardize on Xcode 6 --- indra/cmake/00-Common.cmake | 6 ++---- indra/cmake/Variables.cmake | 33 ++++++--------------------------- 2 files changed, 8 insertions(+), 31 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 627dcdc3b2..f7ca3a4e10 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -197,10 +197,8 @@ if (DARWIN) # NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered. set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_C_FLAGS_RELWITHDEBINFO}") - if (XCODE_VERSION GREATER 4.2) - set(ENABLE_SIGNING TRUE) - set(SIGNING_IDENTITY "Developer ID Application: Linden Research, Inc.") - endif (XCODE_VERSION GREATER 4.2) + set(ENABLE_SIGNING TRUE) + set(SIGNING_IDENTITY "Developer ID Application: Linden Research, Inc.") endif (DARWIN) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 608f9310e2..8e220162ce 100755 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -129,29 +129,10 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(DARWIN 1) - execute_process( - COMMAND sh -c "xcodebuild -version | grep Xcode | cut -d ' ' -f2 | cut -d'.' -f1-2" - OUTPUT_VARIABLE XCODE_VERSION ) - - # To support a different SDK update these Xcode settings: - # (Using > 5.9 because CMake doesn't have a >= operator) - if (XCODE_VERSION GREATER 5.9) - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.7) - set(CMAKE_OSX_SYSROOT macosx10.9) - else (XCODE_VERSION GREATER 5.9) - if (XCODE_VERSION GREATER 4.5) - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8) - set(CMAKE_OSX_SYSROOT macosx10.8) - else (XCODE_VERSION GREATER 4.5) - if (XCODE_VERSION GREATER 4.2) - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6) - set(CMAKE_OSX_SYSROOT macosx10.7) - else (XCODE_VERSION GREATER 4.2) - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6) - set(CMAKE_OSX_SYSROOT macosx10.7) - endif (XCODE_VERSION GREATER 4.2) - endif (XCODE_VERSION GREATER 4.5) - endif (XCODE_VERSION GREATER 5.9) + # now we only support Xcode 6.0 using 10.9 (Mavericks), minimum OS 10.7 (Lion) + set(XCODE_VERSION 6.0) + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.7) + set(CMAKE_OSX_SYSROOT macosx10.9) set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0") set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL 3) @@ -177,10 +158,8 @@ set(GRID agni CACHE STRING "Target Grid") 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") - set(SIGNING_IDENTITY "" CACHE STRING "Specifies the signing identity to use, if necessary.") -endif (XCODE_VERSION GREATER 4.2) +set(ENABLE_SIGNING OFF CACHE BOOL "Enable signing the viewer") +set(SIGNING_IDENTITY "" CACHE STRING "Specifies the signing identity to use, if necessary.") set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside") set(USESYSTEMLIBS OFF CACHE BOOL "Use libraries from your system rather than Linden-supplied prebuilt libraries.") -- cgit v1.2.3 From 5bef95e86ddc8fccf824c77d7866ad7d9dea2c26 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Tue, 21 Oct 2014 10:08:38 -0700 Subject: Update to build on Xcode 6.0: remove final, unwanted warning --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index f7ca3a4e10..d2faa2d8c5 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -208,7 +208,7 @@ if (LINUX OR DARWIN) endif (CMAKE_CXX_COMPILER MATCHES ".*clang") if (CMAKE_COMPILER_IS_GNUCXX) - set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") + set(GCC_WARNINGS "-Wall -Wno-trigraphs") elseif (CMAKE_COMPILER_IS_CLANGXX) set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") endif() -- cgit v1.2.3 From a959ede77685202ffdd65fbd5c03d1c40a1370db Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 21 Oct 2014 17:56:13 -0400 Subject: correct test construction macro target reference for integration 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 f6c2e99640..ac5c5c6a2a 100644 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -225,7 +225,7 @@ FUNCTION(LL_ADD_INTEGRATION_TEST # Create the test running command SET(test_command ${ARGN}) - SET(TEST_EXE ) + SET(TEST_EXE $) LIST(FIND test_command "{}" test_exe_pos) IF(test_exe_pos LESS 0) # The {} marker means "the full pathname of the test executable." -- cgit v1.2.3 From 680194deaf7a35caaa629abc16e886d71baff636 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 21 Nov 2014 18:09:12 -0500 Subject: automate keeping the About SL -> Licenses tab correct --- indra/cmake/BuildPackagesInfo.cmake | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 indra/cmake/BuildPackagesInfo.cmake (limited to 'indra/cmake') diff --git a/indra/cmake/BuildPackagesInfo.cmake b/indra/cmake/BuildPackagesInfo.cmake new file mode 100644 index 0000000000..0f574ee39a --- /dev/null +++ b/indra/cmake/BuildPackagesInfo.cmake @@ -0,0 +1,10 @@ +# -*- cmake -*- +# Construct the version and copyright information based on package data. +include(Python) + +add_custom_command(OUTPUT packages-info.txt + COMMENT Generating packages-info.txt for the about box + MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/../autobuild.xml + DEPENDS ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py > packages-info.txt + ) -- cgit v1.2.3 From cbb6a416fc4111f08e014749a1f02cc1b1719d62 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 4 Dec 2014 21:48:13 -0500 Subject: Make havok_source package name agree with name from repo URL. Until we get a havok-source package built with new metadata-bearing autobuild, the package name in autobuild.xml and CMake must agree with the tarball filename. --- indra/cmake/Havok.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake index 8b7f01d20b..798e59a679 100755 --- a/indra/cmake/Havok.cmake +++ b/indra/cmake/Havok.cmake @@ -3,7 +3,7 @@ if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") -use_prebuilt_binary(havok-source) +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) @@ -68,7 +68,7 @@ foreach(HAVOK_LIB ${HAVOK_LIBS}) 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(${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) @@ -111,7 +111,7 @@ foreach(HAVOK_LIB ${HAVOK_LIBS}) 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) + 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") -- cgit v1.2.3 From c56036a8cb759bc4ea911e8849ceec687c8545be Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 11 Dec 2014 12:13:07 -0500 Subject: Add /SAFESEH:NO /NODEFAULTLIB:LIBCMT to viewer linker switches. zlib cannot be linked with SAFESEH, which is the VS 2013 default, so every consumer must set /SAFESEH:NO. /NODEFAULTLIB:LIBCMT seems to eliminate many duplicate-symbol link errors. --- indra/cmake/00-Common.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index d2faa2d8c5..ec076837f4 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -54,7 +54,8 @@ if (WINDOWS) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP /Ob2 -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0" CACHE STRING "C++ compiler release options" FORCE) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE") + # zlib has assembly-language object files incompatible with SAFESEH + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE /SAFESEH:NO /NODEFAULTLIB:LIBCMT") set(CMAKE_CXX_STANDARD_LIBRARIES "") set(CMAKE_C_STANDARD_LIBRARIES "") -- cgit v1.2.3 From f7d1ece5bee79f030894cf24dc8e7a9135df9242 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Fri, 12 Dec 2014 17:33:24 -0500 Subject: Make JsonCpp.cmake reference Windows lib names we actually use. --- indra/cmake/JsonCpp.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/JsonCpp.cmake b/indra/cmake/JsonCpp.cmake index d6d05af315..bf2d470269 100755 --- a/indra/cmake/JsonCpp.cmake +++ b/indra/cmake/JsonCpp.cmake @@ -11,8 +11,8 @@ else (USESYSTEMLIBS) use_prebuilt_binary(jsoncpp) if (WINDOWS) set(JSONCPP_LIBRARIES - debug json_vc100debug_libmt.lib - optimized json_vc100_libmt) + debug json_libmtd.lib + optimized json_libmt) elseif (DARWIN) set(JSONCPP_LIBRARIES libjson_darwin_libmt.a) elseif (LINUX) -- cgit v1.2.3 From 062c13364bd6431974b59d9eadf137decdffdbee Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 15 Dec 2014 12:57:56 -0500 Subject: don't include glext on Mac where it is not used --- indra/cmake/GLEXT.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/GLEXT.cmake b/indra/cmake/GLEXT.cmake index 415b13033c..2a08c8fbae 100644 --- a/indra/cmake/GLEXT.cmake +++ b/indra/cmake/GLEXT.cmake @@ -2,7 +2,9 @@ include(Prebuilt) if (NOT USESYSTEMLIBS) - use_prebuilt_binary(glext) + if (WINDOWS OR LINUX) + use_prebuilt_binary(glext) + endif (WINDOWS OR LINUX) use_prebuilt_binary(glh-linear) set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) endif (NOT USESYSTEMLIBS) -- cgit v1.2.3 From 37cd872f40ffeb90d03ea5b0f9025670e920da43 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 15 Dec 2014 13:00:47 -0500 Subject: include libuuid and fontconfig only on linux --- indra/cmake/ViewerMiscLibs.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index d4be24799f..a805c28598 100755 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -3,8 +3,10 @@ include(Prebuilt) if (NOT USESYSTEMLIBS) use_prebuilt_binary(libhunspell) - use_prebuilt_binary(libuuid) use_prebuilt_binary(slvoice) - use_prebuilt_binary(fontconfig) + if (LINUX) + use_prebuilt_binary(libuuid) + use_prebuilt_binary(fontconfig) + endif (LINUX) endif(NOT USESYSTEMLIBS) -- cgit v1.2.3 From 11ab03331f5028455a56245fc9121b82068565cc Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 15 Dec 2014 13:02:12 -0500 Subject: include quicktime package only on windows --- indra/cmake/QuickTimePlugin.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/QuickTimePlugin.cmake b/indra/cmake/QuickTimePlugin.cmake index 012f4e20d8..c08e153ee3 100755 --- a/indra/cmake/QuickTimePlugin.cmake +++ b/indra/cmake/QuickTimePlugin.cmake @@ -2,7 +2,9 @@ if(INSTALL_PROPRIETARY) include(Prebuilt) - use_prebuilt_binary(quicktime) + if (WINDOWS) + use_prebuilt_binary(quicktime) + endif (WINDOWS) endif(INSTALL_PROPRIETARY) if (DARWIN) -- cgit v1.2.3 From 71c70117dda651700b5c564366f6c91d12512f97 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Mon, 15 Dec 2014 10:10:18 -0800 Subject: Add feature (enabled) to turn off media plugins --- 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 8e220162ce..faca12c347 100755 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -26,6 +26,7 @@ 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") set(INCREMENTAL_LINK OFF CACHE BOOL "Use incremental linking on win32 builds (enable for faster links on some machines)") +set(ENABLE_MEDIA_PLUGINS OFF CACHE BOOL "Turn off building media plugins if they are imported by third-party library mechanism") if(LIBS_CLOSED_DIR) file(TO_CMAKE_PATH "${LIBS_CLOSED_DIR}" LIBS_CLOSED_DIR) -- cgit v1.2.3 From 0d71baba74e2009e88471e2c44e78863b34a5817 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 17 Dec 2014 11:10:33 -0500 Subject: Produce error message, not traceback, when test program doesn't build. A traceback from a Python script always makes people think there's a bug in your script. Even when a test program fails to build, CMake often (always?) tries to run it anyway, via our run_build_test.py script. For that case, produce a straightforward error message -- rather than an OSError traceback that doesn't even mention the program name! --- indra/cmake/run_build_test.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py index a2ef61c8fd..582185e5ab 100755 --- a/indra/cmake/run_build_test.py +++ b/indra/cmake/run_build_test.py @@ -46,6 +46,7 @@ $/LicenseInfo$ import os import sys +import errno import signal import subprocess @@ -112,7 +113,23 @@ def main(command, libpath=[], vars={}): print "Running: %s" % " ".join(command) # Make sure we see all relevant output *before* child-process output. sys.stdout.flush() - return subprocess.call(command) + try: + return subprocess.call(command) + except OSError as err: + # If the caller is trying to execute a test program that doesn't + # exist, we want to produce a reasonable error message rather than a + # traceback. This happens when the build is halted by errors, but + # CMake tries to proceed with testing anyway . However, do + # NOT attempt to handle any error but "doesn't exist." + if err.errno != errno.ENOENT: + raise + # In practice, the pathnames into CMake's build tree are so long as to + # obscure the name of the test program. Just print its basename. + print "No such program %s; check for preceding build errors" % \ + os.path.basename(command[0]) + # What rc should we simulate for missing executable? Windows produces + # 9009. + return 9009 # swiped from vita, sigh, seems like a Bad Idea to introduce dependency def translate_rc(rc): -- cgit v1.2.3 From 2714ecea21d2061023a9bc8738bbefcdd28dc3ed Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 17 Dec 2014 13:13:41 -0500 Subject: adjust cmake not to attempt loads of packages on the wrong platforms --- indra/cmake/GLEXT.cmake | 4 +++- indra/cmake/NDOF.cmake | 6 +++++- indra/cmake/QuickTimePlugin.cmake | 4 +++- indra/cmake/UI.cmake | 5 ++++- indra/cmake/ViewerMiscLibs.cmake | 6 ++++-- 5 files changed, 19 insertions(+), 6 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/GLEXT.cmake b/indra/cmake/GLEXT.cmake index 415b13033c..15f7e1f2d5 100644 --- a/indra/cmake/GLEXT.cmake +++ b/indra/cmake/GLEXT.cmake @@ -2,7 +2,9 @@ include(Prebuilt) if (NOT USESYSTEMLIBS) - use_prebuilt_binary(glext) + if (LINUX OR WINDOWS) + use_prebuilt_binary(glext) + endif (LINUX OR WINDOWS) use_prebuilt_binary(glh-linear) set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) endif (NOT USESYSTEMLIBS) diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index 8bad96f6b5..388df16a52 100755 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake @@ -8,7 +8,11 @@ if (NDOF) set(NDOF_FIND_REQUIRED ON) include(FindNDOF) else (USESYSTEMLIBS) - use_prebuilt_binary(libndofdev) + if (WINDOWS OR DARWIN) + use_prebuilt_binary(libndofdev) + elseif (LINUX) + use_prebuilt_binary(open-libndofdev) + endif (WINDOWS OR DARWIN) if (WINDOWS) set(NDOF_LIBRARY libndofdev) diff --git a/indra/cmake/QuickTimePlugin.cmake b/indra/cmake/QuickTimePlugin.cmake index 012f4e20d8..c08e153ee3 100755 --- a/indra/cmake/QuickTimePlugin.cmake +++ b/indra/cmake/QuickTimePlugin.cmake @@ -2,7 +2,9 @@ if(INSTALL_PROPRIETARY) include(Prebuilt) - use_prebuilt_binary(quicktime) + if (WINDOWS) + use_prebuilt_binary(quicktime) + endif (WINDOWS) endif(INSTALL_PROPRIETARY) if (DARWIN) diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index 58acdc22bd..31174209a3 100755 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -32,7 +32,10 @@ if (USESYSTEMLIBS) add_definitions(${${pkg}_CFLAGS_OTHERS}) endforeach(pkg) else (USESYSTEMLIBS) - use_prebuilt_binary(gtk-atk-pango-glib) + if (LINUX OR WINDOWS) + use_prebuilt_binary(gtk-atk-pango-glib) + endif (LINUX OR WINDOWS) + if (LINUX) set(UI_LIBRARIES atk-1.0 diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index d4be24799f..fc5bdedb5a 100755 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -2,9 +2,11 @@ include(Prebuilt) if (NOT USESYSTEMLIBS) + if (LINUX) + use_prebuilt_binary(libuuid) + use_prebuilt_binary(fontconfig) + endif (LINUX) use_prebuilt_binary(libhunspell) - use_prebuilt_binary(libuuid) use_prebuilt_binary(slvoice) - use_prebuilt_binary(fontconfig) endif(NOT USESYSTEMLIBS) -- cgit v1.2.3 From 2385cac56691e5837ad7beb08a29fdfc0815cc50 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 17 Dec 2014 16:57:48 -0500 Subject: Move the cmake package tracking files under the packages directory --- indra/cmake/Havok.cmake | 14 +++++++------- indra/cmake/OPENAL.cmake | 4 ---- indra/cmake/Prebuilt.cmake | 24 ++++++++++++++++-------- 3 files changed, 23 insertions(+), 19 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake index 798e59a679..fceca13962 100755 --- a/indra/cmake/Havok.cmake +++ b/indra/cmake/Havok.cmake @@ -1,5 +1,5 @@ # -*- cmake -*- - +include(Prebuilt) if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") @@ -61,14 +61,14 @@ foreach(HAVOK_LIB ${HAVOK_LIBS}) 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("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted") + file(READ ${PREBUILD_TRACKING_DIR}/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") + endif("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/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(${PREBUILD_TRACKING_DIR}/havok_source_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted OR NOT ${havok_${HAVOK_LIB}_extracted} EQUAL 0) if(DEBUG_PREBUILT) MESSAGE(STATUS "Extracting ${HAVOK_LIB}...") endif(DEBUG_PREBUILT) @@ -109,9 +109,9 @@ foreach(HAVOK_LIB ${HAVOK_LIBS}) # 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}") + file(WRITE ${PREBUILD_TRACKING_DIR}/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) + endif(${PREBUILD_TRACKING_DIR}/havok_source_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/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") diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake index df321cb918..1bbfff6f98 100755 --- a/indra/cmake/OPENAL.cmake +++ b/indra/cmake/OPENAL.cmake @@ -30,7 +30,3 @@ if (OPENAL) ) endif() endif (OPENAL) - -if (OPENAL) - message(STATUS "Building with OpenAL audio support") -endif (OPENAL) diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index 5d82c9015e..98013da2f2 100755 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -8,28 +8,36 @@ if(INSTALL_PROPRIETARY) include(FindSCP) endif(INSTALL_PROPRIETARY) +set(PREBUILD_TRACKING_DIR ${AUTOBUILD_INSTALL_DIR}/cmake_tracking) +# For the library installation process; +# see cmake/Prebuild.cmake for the counterpart code. +if ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${PREBUILD_TRACKING_DIR}/sentinel_installed") + file(MAKE_DIRECTORY ${PREBUILD_TRACKING_DIR}) + file(WRITE ${PREBUILD_TRACKING_DIR}/sentinel_installed "0") +endif ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${PREBUILD_TRACKING_DIR}/sentinel_installed") + # 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), +# last run (encapsulated by the file ${PREBUILD_TRACKING_DIR}/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) +# ${PREBUILD_TRACKING_DIR}/${_binary}_installed) macro (use_prebuilt_binary _binary) if (NOT DEFINED USESYSTEMLIBS_${_binary}) set(USESYSTEMLIBS_${_binary} ${USESYSTEMLIBS}) endif (NOT DEFINED USESYSTEMLIBS_${_binary}) if (NOT USESYSTEMLIBS_${_binary}) - if("${${_binary}_installed}" STREQUAL "" AND EXISTS "${CMAKE_BINARY_DIR}/temp/${_binary}_installed") - file(READ ${CMAKE_BINARY_DIR}/temp/${_binary}_installed "${_binary}_installed") + if("${${_binary}_installed}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/${_binary}_installed") + file(READ ${PREBUILD_TRACKING_DIR}/${_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") + endif("${${_binary}_installed}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/${_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(${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0) if(DEBUG_PREBUILT) message("cd ${CMAKE_SOURCE_DIR} && ${AUTOBUILD_EXECUTABLE} install --install-dir=${AUTOBUILD_INSTALL_DIR} @@ -42,8 +50,8 @@ macro (use_prebuilt_binary _binary) WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" RESULT_VARIABLE ${_binary}_installed ) - file(WRITE ${CMAKE_BINARY_DIR}/temp/${_binary}_installed "${${_binary}_installed}") - endif(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0) + file(WRITE ${PREBUILD_TRACKING_DIR}/${_binary}_installed "${${_binary}_installed}") + endif(${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0) if(NOT ${_binary}_installed EQUAL 0) message(FATAL_ERROR -- cgit v1.2.3 From ca6736807e892db99388b9bcd1ba4b672ff3f7e0 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 17 Dec 2014 17:57:17 -0500 Subject: include Prebuilt.cmake before using macro --- indra/cmake/BerkeleyDB.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/BerkeleyDB.cmake b/indra/cmake/BerkeleyDB.cmake index 5f6b644a15..ee670ac650 100755 --- a/indra/cmake/BerkeleyDB.cmake +++ b/indra/cmake/BerkeleyDB.cmake @@ -1,5 +1,5 @@ # -*- cmake -*- - +include(Prebuilt) set(DB_FIND_QUIETLY ON) set(DB_FIND_REQUIRED ON) -- cgit v1.2.3 From b265b899d4b0c936eb70f62a165ef176ceb75767 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Wed, 17 Dec 2014 16:24:31 -0800 Subject: Update autobuild to point to new (VS2013) Havok files and fix up name mismatch --- indra/cmake/Havok.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake index fceca13962..99e7334118 100755 --- a/indra/cmake/Havok.cmake +++ b/indra/cmake/Havok.cmake @@ -3,7 +3,7 @@ include(Prebuilt) if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") -use_prebuilt_binary(havok_source) +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) -- cgit v1.2.3 From df5006eac948fff1104a15b8fa09f4ab53501ca2 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Wed, 17 Dec 2014 19:29:30 -0800 Subject: Update autobuild to point to new version of jsoncpp and change lib names to match those in package --- indra/cmake/JsonCpp.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/JsonCpp.cmake b/indra/cmake/JsonCpp.cmake index bf2d470269..079619adf8 100755 --- a/indra/cmake/JsonCpp.cmake +++ b/indra/cmake/JsonCpp.cmake @@ -11,8 +11,8 @@ else (USESYSTEMLIBS) use_prebuilt_binary(jsoncpp) if (WINDOWS) set(JSONCPP_LIBRARIES - debug json_libmtd.lib - optimized json_libmt) + debug json_libmdd.lib + optimized json_libmd.lib) elseif (DARWIN) set(JSONCPP_LIBRARIES libjson_darwin_libmt.a) elseif (LINUX) -- cgit v1.2.3 From 7b2045e734d802839a86a874098be77d41acba1c Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 18 Dec 2014 09:47:27 -0500 Subject: allow signed vs unsigned compare in gcc --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index ec076837f4..eb0eff2f54 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -209,7 +209,7 @@ if (LINUX OR DARWIN) endif (CMAKE_CXX_COMPILER MATCHES ".*clang") if (CMAKE_COMPILER_IS_GNUCXX) - set(GCC_WARNINGS "-Wall -Wno-trigraphs") + set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") elseif (CMAKE_COMPILER_IS_CLANGXX) set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs") endif() -- cgit v1.2.3 From b9be170403d8ce5ca4f42e0a3114053bc92155bf Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Fri, 19 Dec 2014 15:16:13 -0500 Subject: Force DEBUG_PREBUILT on in Prebuilt.cmake to debug failures on TC. --- indra/cmake/Prebuilt.cmake | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'indra/cmake') diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index 98013da2f2..e54a12c240 100755 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -16,6 +16,13 @@ if ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${PREBUILD_TRACKING_DI file(WRITE ${PREBUILD_TRACKING_DIR}/sentinel_installed "0") endif ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${PREBUILD_TRACKING_DIR}/sentinel_installed") +# to debug use_prebuilt_binary failures on TC host +IF (NOT DEFINED DEBUG_PREBUILT) + set(DEBUG_PREBUILT ON) + message(STATUS "AUTOBUILD = '$ENV{AUTOBUILD}'") +ENDIF (NOT DEFINED DEBUG_PREBUILT) +# + # 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 -- cgit v1.2.3 From 35d141967a1ce42f8f22fda8423d893e2e2ed78a Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Fri, 19 Dec 2014 15:58:20 -0500 Subject: Defend against cygwin-style AUTOBUILD path in environment. --- indra/cmake/FindAutobuild.cmake | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/cmake') diff --git a/indra/cmake/FindAutobuild.cmake b/indra/cmake/FindAutobuild.cmake index d831257d4b..84ae41e8aa 100755 --- a/indra/cmake/FindAutobuild.cmake +++ b/indra/cmake/FindAutobuild.cmake @@ -13,6 +13,9 @@ IF (NOT AUTOBUILD_EXECUTABLE) # If cmake was executed by autobuild, autobuild will have set the AUTOBUILD env var IF (DEFINED ENV{AUTOBUILD}) SET(AUTOBUILD_EXECUTABLE $ENV{AUTOBUILD}) + # In case $AUTOBUILD is a cygwin path, fix it back to Windows style + STRING(REGEX REPLACE "^/cygdrive/(.)/" "\\1:/" AUTOBUILD_EXECUTABLE + "${AUTOBUILD_EXECUTABLE}") ELSE (DEFINED ENV{AUTOBUILD}) IF(WIN32) SET(AUTOBUILD_EXE_NAMES autobuild.cmd autobuild.exe) -- cgit v1.2.3 From 77edde175240b91f9deb85cfc365c27d04dcc3ce Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Fri, 19 Dec 2014 16:42:26 -0500 Subject: Backed out changeset 4356b6a222c7: forcing DEBUG_PREBUILT output. It appears that our trouble was due to a cygwin-style path in the AUTOBUILD environment variable, and that changeset 0e0bd8b546ad fixed it. --- indra/cmake/Prebuilt.cmake | 7 ------- 1 file changed, 7 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index e54a12c240..98013da2f2 100755 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -16,13 +16,6 @@ if ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${PREBUILD_TRACKING_DI file(WRITE ${PREBUILD_TRACKING_DIR}/sentinel_installed "0") endif ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${PREBUILD_TRACKING_DIR}/sentinel_installed") -# to debug use_prebuilt_binary failures on TC host -IF (NOT DEFINED DEBUG_PREBUILT) - set(DEBUG_PREBUILT ON) - message(STATUS "AUTOBUILD = '$ENV{AUTOBUILD}'") -ENDIF (NOT DEFINED DEBUG_PREBUILT) -# - # 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 -- cgit v1.2.3 From 707e51629ec2d540871cb625a7293c1fdebcebcf Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 22 Dec 2014 16:43:28 -0500 Subject: update libs to match vivox distribution --- indra/cmake/Copy3rdPartyLibs.cmake | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 28202f85d6..a1a9ff55f5 100755 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -233,11 +233,11 @@ elseif(LINUX) set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") set(vivox_files - libsndfile.so.1 - libortp.so - libvivoxoal.so.1 - libvivoxplatform.so - libvivoxsdk.so + libsndfile.dylib + libortp.dylib + libvivoxoal.dylib + libvivoxplatform.dylib + libvivoxsdk.dylib SLVoice # ca-bundle.crt #No cert for linux. It is actually still 3.2SDK. ) -- cgit v1.2.3 From 27951fa1d40abd8cca679f3192264472469e9364 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 7 Jan 2015 19:45:51 -0500 Subject: First cut at consuming new slplugins autobuild package. The contents are extracted, but not yet built into the viewer installer. --- indra/cmake/CMakeLists.txt | 14 +++++++------- indra/cmake/Linking.cmake | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 10a23ea068..4d98e73092 100755 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -23,7 +23,7 @@ set(cmake_SOURCE_FILES DirectX.cmake DragDrop.cmake EXPAT.cmake - ExamplePlugin.cmake +## ExamplePlugin.cmake FindAPR.cmake FindAutobuild.cmake FindBerkeleyDB.cmake @@ -44,9 +44,9 @@ set(cmake_SOURCE_FILES GLEXT.cmake GLH.cmake GLOD.cmake - GStreamer010Plugin.cmake +## GStreamer010Plugin.cmake GetPrerequisites_2_8.cmake - Glui.cmake +## Glui.cmake Glut.cmake GoogleBreakpad.cmake GoogleMock.cmake @@ -81,18 +81,18 @@ set(cmake_SOURCE_FILES LLXML.cmake LScript.cmake Linking.cmake - MediaPluginBase.cmake +## MediaPluginBase.cmake NDOF.cmake OPENAL.cmake OpenGL.cmake OpenJPEG.cmake OpenSSL.cmake PNG.cmake - PluginAPI.cmake +## PluginAPI.cmake Prebuilt.cmake PulseAudio.cmake Python.cmake - QuickTimePlugin.cmake +## QuickTimePlugin.cmake TemplateCheck.cmake Tut.cmake UI.cmake @@ -100,7 +100,7 @@ set(cmake_SOURCE_FILES Variables.cmake ViewerMiscLibs.cmake VisualLeakDetector.cmake - WebKitLibPlugin.cmake +## WebKitLibPlugin.cmake XmlRpcEpi.cmake ZLIB.cmake ) diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index 74fe3f1137..c95f0c3702 100755 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -6,7 +6,7 @@ set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") include(Variables) set(ARCH_PREBUILT_DIRS ${AUTOBUILD_INSTALL_DIR}/lib) -set(ARCH_PREBUILT_DIRS_PLUGINS ${AUTOBUILD_INSTALL_DIR}/plugins) +##set(ARCH_PREBUILT_DIRS_PLUGINS ${AUTOBUILD_INSTALL_DIR}/plugins) set(ARCH_PREBUILT_DIRS_RELEASE ${AUTOBUILD_INSTALL_DIR}/lib/release) set(ARCH_PREBUILT_DIRS_DEBUG ${AUTOBUILD_INSTALL_DIR}/lib/debug) if (WINDOWS) -- cgit v1.2.3 From 355d00685137aa0c42fdd93853096ac718a474b2 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 8 Jan 2015 16:48:29 -0500 Subject: Rationalize use of AUTOBUILD environment variable across languages. Ensure that AUTOBUILD is always in native path syntax on every platform. Remove local build.sh logic to infer AUTOBUILD: either the generic build.sh has set it properly, or scream for help. Since cygwin bash scripts need a cygwin-syntax path to autobuild, convert to a local 'autobuild' variable using shell_path. Remove kludges in other languages involving cygdrive twiddling. --- indra/cmake/FindAutobuild.cmake | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/FindAutobuild.cmake b/indra/cmake/FindAutobuild.cmake index 84ae41e8aa..ea5ad6d108 100755 --- a/indra/cmake/FindAutobuild.cmake +++ b/indra/cmake/FindAutobuild.cmake @@ -4,7 +4,7 @@ # # Output variables: # -# AUTOBUILD_EXECUTABLE - path to autobuild or pautobuild executable +# AUTOBUILD_EXECUTABLE - path to autobuild executable @@ -13,12 +13,9 @@ IF (NOT AUTOBUILD_EXECUTABLE) # If cmake was executed by autobuild, autobuild will have set the AUTOBUILD env var IF (DEFINED ENV{AUTOBUILD}) SET(AUTOBUILD_EXECUTABLE $ENV{AUTOBUILD}) - # In case $AUTOBUILD is a cygwin path, fix it back to Windows style - STRING(REGEX REPLACE "^/cygdrive/(.)/" "\\1:/" AUTOBUILD_EXECUTABLE - "${AUTOBUILD_EXECUTABLE}") ELSE (DEFINED ENV{AUTOBUILD}) IF(WIN32) - SET(AUTOBUILD_EXE_NAMES autobuild.cmd autobuild.exe) + SET(AUTOBUILD_EXE_NAMES autobuild.exe autobuild.cmd) ELSE(WIN32) SET(AUTOBUILD_EXE_NAMES autobuild) ENDIF(WIN32) @@ -28,21 +25,19 @@ IF (NOT AUTOBUILD_EXECUTABLE) AUTOBUILD_EXECUTABLE NAMES ${AUTOBUILD_EXE_NAMES} PATHS - ENV PATH - ${CMAKE_SOURCE_DIR}/.. - ${CMAKE_SOURCE_DIR}/../.. - ${CMAKE_SOURCE_DIR}/../../.. + ENV PATH + ${CMAKE_SOURCE_DIR}/.. + ${CMAKE_SOURCE_DIR}/../.. + ${CMAKE_SOURCE_DIR}/../../.. PATH_SUFFIXES "/autobuild/bin/" ) ENDIF (DEFINED ENV{AUTOBUILD}) - IF (AUTOBUILD_EXECUTABLE) - GET_FILENAME_COMPONENT(_autobuild_name ${AUTOBUILD_EXECUTABLE} NAME_WE) - ELSE (AUTOBUILD_EXECUTABLE) + IF (NOT AUTOBUILD_EXECUTABLE) IF (AUTOBUILD_FIND_REQUIRED) MESSAGE(FATAL_ERROR "Could not find autobuild executable") ENDIF (AUTOBUILD_FIND_REQUIRED) - ENDIF (AUTOBUILD_EXECUTABLE) + ENDIF (NOT AUTOBUILD_EXECUTABLE) MARK_AS_ADVANCED(AUTOBUILD_EXECUTABLE) ENDIF (NOT AUTOBUILD_EXECUTABLE) -- cgit v1.2.3 From 85b50362853acd4fb8d5a946a050949d9a534c2a Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 16 Jan 2015 01:08:48 +0000 Subject: Add flags to inject extra debugging information (via Sovreign Engineer) --- indra/cmake/00-Common.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index eb0eff2f54..7a320ffc59 100755 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -49,10 +49,10 @@ if (WINDOWS) 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 - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP /Ob0 -D_SECURE_STL=0" + "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /Zo /MD /MP /Ob0 -D_SECURE_STL=0" CACHE STRING "C++ compiler release-with-debug options" FORCE) set(CMAKE_CXX_FLAGS_RELEASE - "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP /Ob2 -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0" + "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /Zo /MD /MP /Ob2 -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0" CACHE STRING "C++ compiler release options" FORCE) # zlib has assembly-language object files incompatible with SAFESEH set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE /SAFESEH:NO /NODEFAULTLIB:LIBCMT") -- cgit v1.2.3 From 93fe221208399e47333fa9c696c60c3e0ad3eebb Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 21 Jan 2015 08:28:33 -0500 Subject: Backed out changeset 1e36e0629994 copying .dylibs on Linux The .dylib files in the Linux Vivox package were erroneous to start with; while the affected changeset bypassed copy errors, it too was wrong. Now that the Linux Vivox package contains Linux .so files, revert to the correct filenames to copy. --- indra/cmake/Copy3rdPartyLibs.cmake | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index a1a9ff55f5..28202f85d6 100755 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -233,11 +233,11 @@ elseif(LINUX) set(vivox_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}") set(vivox_files - libsndfile.dylib - libortp.dylib - libvivoxoal.dylib - libvivoxplatform.dylib - libvivoxsdk.dylib + libsndfile.so.1 + libortp.so + libvivoxoal.so.1 + libvivoxplatform.so + libvivoxsdk.so SLVoice # ca-bundle.crt #No cert for linux. It is actually still 3.2SDK. ) -- cgit v1.2.3 From 198046e21d08f7af67287c0ea7260163c424fe0d Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 27 Jan 2015 15:34:43 -0500 Subject: Include MSVCP120.DLL and MSVCR120.DLL in Windows viewer package. Generalize Copy3rdPartyLibs.cmake to eliminate some clone-and-tweak redundancy. --- indra/cmake/Copy3rdPartyLibs.cmake | 116 +++++++++++-------------------------- 1 file changed, 35 insertions(+), 81 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 28202f85d6..84947adaae 100755 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -66,126 +66,80 @@ if(WINDOWS) set(release_files ${release_files} fmodex.dll) endif (FMODEX) -#******************************* -# Copy MS C runtime dlls, required for packaging. -# *TODO - Adapt this to support VC9 -if (MSVC80) - FIND_PATH(debug_msvc8_redist_path msvcr80d.dll - PATHS - ${MSVC_DEBUG_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT - NO_DEFAULT_PATH - NO_DEFAULT_PATH - ) - - if(EXISTS ${debug_msvc8_redist_path}) - set(debug_msvc8_files - msvcr80d.dll - msvcp80d.dll - Microsoft.VC80.DebugCRT.manifest - ) - - copy_if_different( - ${debug_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_DEBUG}" - out_targets - ${debug_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif (EXISTS ${debug_msvc8_redist_path}) - - FIND_PATH(release_msvc8_redist_path msvcr80.dll - PATHS - ${MSVC_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC80.CRT - NO_DEFAULT_PATH - NO_DEFAULT_PATH - ) - - if(EXISTS ${release_msvc8_redist_path}) - set(release_msvc8_files - msvcr80.dll - msvcp80.dll - Microsoft.VC80.CRT.manifest - ) - - copy_if_different( - ${release_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_RELEASE}" - out_targets - ${release_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - copy_if_different( - ${release_msvc8_redist_path} - "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" - out_targets - ${release_msvc8_files} - ) - set(third_party_targets ${third_party_targets} ${out_targets}) - - endif (EXISTS ${release_msvc8_redist_path}) -elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 - FIND_PATH(debug_msvc10_redist_path msvcr100d.dll + #******************************* + # Copy MS C runtime dlls, required for packaging. + # *TODO - Adapt this to support VC9 + if (MSVC80) + set(MSVC_VER 80) + set(MSVC_VERDOT 8.0) + elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 + set(MSVC_VER 100) + set(MSVC_VERDOT 10.0) + elseif (MSVC_VERSION EQUAL 1800) # VisualStudio 2013, which is (sigh) VS 12 + set(MSVC_VER 120) + set(MSVC_VERDOT 12.0) + else (MSVC80) + MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake") + endif (MSVC80) + + FIND_PATH(debug_msvc_redist_path msvcr${MSVC_VER}d.dll PATHS ${MSVC_DEBUG_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC100.DebugCRT + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${MSVC_VERDOT}\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC${MSVC_VER}.DebugCRT [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 NO_DEFAULT_PATH ) - if(EXISTS ${debug_msvc10_redist_path}) - set(debug_msvc10_files - msvcr100d.dll - msvcp100d.dll + if(EXISTS ${debug_msvc_redist_path}) + set(debug_msvc_files + msvcr${MSVC_VER}d.dll + msvcp${MSVC_VER}d.dll ) copy_if_different( - ${debug_msvc10_redist_path} + ${debug_msvc_redist_path} "${SHARED_LIB_STAGING_DIR_DEBUG}" out_targets - ${debug_msvc10_files} + ${debug_msvc_files} ) set(third_party_targets ${third_party_targets} ${out_targets}) endif () - FIND_PATH(release_msvc10_redist_path msvcr100.dll + FIND_PATH(release_msvc_redist_path msvcr${MSVC_VER}.dll PATHS ${MSVC_REDIST_PATH} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC100.CRT + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${MSVC_VERDOT}\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC${MSVC_VER}.CRT [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 NO_DEFAULT_PATH ) - if(EXISTS ${release_msvc10_redist_path}) - set(release_msvc10_files - msvcr100.dll - msvcp100.dll + if(EXISTS ${release_msvc_redist_path}) + set(release_msvc_files + msvcr${MSVC_VER}.dll + msvcp${MSVC_VER}.dll ) copy_if_different( - ${release_msvc10_redist_path} + ${release_msvc_redist_path} "${SHARED_LIB_STAGING_DIR_RELEASE}" out_targets - ${release_msvc10_files} + ${release_msvc_files} ) set(third_party_targets ${third_party_targets} ${out_targets}) copy_if_different( - ${release_msvc10_redist_path} + ${release_msvc_redist_path} "${SHARED_LIB_STAGING_DIR_RELWITHDEBINFO}" out_targets - ${release_msvc10_files} + ${release_msvc_files} ) set(third_party_targets ${third_party_targets} ${out_targets}) endif () -endif (MSVC80) + elseif(DARWIN) set(SHARED_LIB_STAGING_DIR_DEBUG "${SHARED_LIB_STAGING_DIR}/Debug/Resources") -- cgit v1.2.3 From 56a7c4af973ec3ba3e157a9f08632ddada1185f7 Mon Sep 17 00:00:00 2001 From: Cinder Date: Tue, 24 Mar 2015 12:17:07 -0600 Subject: BUG-8786 - Turn off fast math opts enforcing IEEE 754 floating point compliance --- 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 faca12c347..76d92d7a48 100755 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -138,7 +138,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0") set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL 3) set(CMAKE_XCODE_ATTRIBUTE_GCC_STRICT_ALIASING NO) - set(CMAKE_XCODE_ATTRIBUTE_GCC_FAST_MATH YES) + set(CMAKE_XCODE_ATTRIBUTE_GCC_FAST_MATH NO) set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS ssse3) set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libstdc++") set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf-with-dsym) -- cgit v1.2.3