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