brute force setting of LL_BUILD environment variable. There may be a better/smarter way, but it appears to work. # HG changeset patch # User Nicky Perian <nickyper...@yahoo.com> # Date 1483848353 21600 # Sat Jan 07 22:05:53 2017 -0600 # Node ID 7b4fb3c48718213d1cd8c1e6c6dca0d50c95d78e # Parent 390776087c1d7c83f04af629340839fadfdd0735 Brute force set LL_BUILD based on System name and Build type. If it isn't set error out of configure.
diff -r 390776087c1d -r 7b4fb3c48718 indra/cmake/Variables.cmake --- a/indra/cmake/Variables.cmake Mon Dec 19 05:11:36 2016 -0600 +++ b/indra/cmake/Variables.cmake Sat Jan 07 22:05:53 2017 -0600 @@ -12,10 +12,37 @@ # Switches set here and in 00-Common.cmake must agree with # https://bitbucket.org/lindenlab/viewer-build-variables/src/tip/variables # Reading $LL_BUILD is an attempt to directly use those switches. +if (${CMAKE_SYSTEM_NAME} MATCHES "Windows") + if (CMAKE_BUILD_TYPE MATCHES "Debug") + set (ENV{LL_BUILD} $ENV{LL_BUILD_WINDOWS_DEBUG}) + elseif (CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo") + set (ENV{LL_BUILD} $ENV{LL_BUILD_WINDOWS_RELWITHDEBINFO}) + elseif (CMAKE_BUILD_TYPE MATCHES "Release") + set (ENV{LL_BUILD} $ENV{LL_BUILD_WINDOWS_RELEASE}) + endif(CMAKE_BUILD_TYPE MATCHES "Debug") +endif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") +if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + if (CMAKE_BUILD_TYPE MATCHES "Debug") + set (ENV{LL_BUILD} $ENV{LL_BUILD_DARWIN_DEBUG}) + elseif (CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo") + set (ENV{LL_BUILD} $ENV{LL_BUILD_DARWIN_RELWITHDEBINFO}) + elseif (CMAKE_BUILD_TYPE MATCHES "Release") + set (ENV{LL_BUILD} $ENV{LL_BUILD_DARWIN_RELEASE}) + endif(CMAKE_BUILD_TYPE MATCHES "Debug") +endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + if (CMAKE_BUILD_TYPE MATCHES "Debug") + set (ENV{LL_BUILD} $ENV{LL_BUILD_LINUX_DEBUG}) + elseif (CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo") + set (ENV{LL_BUILD} $ENV{LL_BUILD_LINUX_RELWITHDEBINFO}) + elseif (CMAKE_BUILD_TYPE MATCHES "Release") + set (ENV{LL_BUILD} $ENV{LL_BUILD_LINUX_RELEASE}) + endif(CMAKE_BUILD_TYPE MATCHES "Debug") +endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") if ("$ENV{LL_BUILD}" STREQUAL "") message(FATAL_ERROR "Environment variable LL_BUILD must be set") endif () - +#message(STATUS "LL_BUILD = '$ENV{LL_BUILD}'") # Relative and absolute paths to subtrees. if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED) On Sat, Jan 7, 2017 at 6:32 PM, Nicky Perian <nickyper...@gmail.com> wrote: > Snip Variables.cmake > # Switches set here and in 00-Common.cmake must agree with > # https://bitbucket.org/lindenlab/viewer-build-variables/src/tip/variables > # Reading $LL_BUILD is an attempt to directly use those switches. > #message(STATUS "AUTOBUILD_VARIABLES_FILE = '$ENV{AUTOBUILD_VARIABLES_ > FILE}'") > #message(STATUS "LL_BUILD_WINDOWS_RELEASE = '$ENV{LL_BUILD_WINDOWS_ > RELEASE}'") > #message(STATUS "LL_BUILD_RELEASE = '$ENV{LL_BUILD_RELEASE}'") > set (ENV{LL_BUILD} $ENV{LL_BUILD_WINDOWS_RELEASE}) > #message(STATUS "LL_BUILD = '$ENV{LL_BUILD}'") > if ("$ENV{LL_BUILD}" STREQUAL "") > message(FATAL_ERROR "Environment variable LL_BUILD must be set") > endif () > > Above allows configure to complete, but I would like a better place or > better yet some autobuild involvement to set LL_BUILD based to the chosen > Release, RelWithDebugInfo, Debug build. > > Next, > Copyright (C) Microsoft Corporation. All rights reserved. > > cl : Command line warning D9002: ignoring unknown option '/OP' > [C:\Users\Bill\P64\viewer64\build-vc120-64\llcommon\llcommon.vcxproj] > cl : Command line warning D9002: ignoring unknown option '/OT' > [C:\Users\Bill\P64\viewer64\build-vc120-64\llcommon\llcommon.vcxproj] > cl : Command line warning D9002: ignoring unknown option '/O:' > [C:\Users\Bill\P64\viewer64\build-vc120-64\llcommon\llcommon.vcxproj] > cl : Command line warning D9002: ignoring unknown option '/OR' > [C:\Users\Bill\P64\viewer64\build-vc120-64\llcommon\llcommon.vcxproj] > cl : Command line warning D9002: ignoring unknown option '/OE' > [C:\Users\Bill\P64\viewer64\build-vc120-64\llcommon\llcommon.vcxproj] > cl : Command line warning D9002: ignoring unknown option '/OF' > [C:\Users\Bill\P64\viewer64\build-vc120-64\llcommon\llcommon.vcxproj] > cl : Command line warning D9002: ignoring unknown option '/SAFESEH:NO' > [C:\Users\Bill\P64\viewer64\build-vc120-64\llcommon\llcommon.vcxproj] > cl : Command line warning D9002: ignoring unknown option > '/NODEFAULTLIB:LIBCMT' [C:\Users\Bill\P64\viewer64\ > build-vc120-64\llcommon\llcommon.vcxproj] > > No idea where /O* switches are set but appear to be included in every > *.vcxproj. > '/SAFESEH:NO' and '/NODEFAULTLIB:LIBCMT' or link switches that appear here > LL_BUILD_WINDOWS_BASE_SWITCHES="/Zc:wchar_t- /Zi /GR /DEBUG */SAFESEH:NO > /NODEFAULTLIB:LIBCMT*" > > These link switches are set in 00-Common.cmake. > > Once removed those warning are no longer listed. This in likely a case of > putting link switches in cl without a pass through. I suspect the '/O*' > switches are link switches also, but grep was of no help finding where they > are set. > > Good news is the build completed without the crazy errors encountered > earlier. > > > > > On Sat, Jan 7, 2017 at 2:17 PM, Nat Goodspeed <n...@lindenlab.com> wrote: > >> On Fri, Jan 6, 2017 at 9:23 PM, Nicky Perian <nickyper...@gmail.com> >> wrote: >> >> >>/SAFESEH:NO /NODEFAULTLIB:LIBCMT /DLL_RELEASE=1 >> /DLL_RLEASE_FOR_DOWNLOAD=1 >> >> /DNDEBUG >> > >> > DLL_RLEASE_FOR_DOWNLOAD=1 is the 'E' missing in RELEASE or was the >> variable >> > name changed? >> >> Thank you for pointing that out! >> https://bitbucket.org/lindenlab/viewer-build-variables/ >> commits/a9d6c3061349a14289cffb536320f0aa7bdf472f >> > >
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges