From 687b33ca55b02bf12090d1099480bcf349aaa337 Mon Sep 17 00:00:00 2001 From: Arrehn Date: Mon, 1 Nov 2010 23:21:42 -0400 Subject: [PATCH] Usability improvements to win32 build --- README_BUILD_FIRESTORM_WIN32.txt | 10 +++-- build_firestorm_win32.sh | 12 +++--- indra/cmake/00-Common.cmake | 19 ++------- indra/cmake/Boost.cmake | 45 +++++++++----------- indra/llcommon/llversionviewer.h | 2 +- indra/newview/CMakeLists.txt | 2 +- libraries/i686-win32/include/placeholder | 0 libraries/i686-win32/lib/debug/placeholder | 0 libraries/i686-win32/lib/release/placeholder | 0 libraries/include/placeholder | 0 10 files changed, 39 insertions(+), 51 deletions(-) create mode 100644 libraries/i686-win32/include/placeholder create mode 100644 libraries/i686-win32/lib/debug/placeholder create mode 100644 libraries/i686-win32/lib/release/placeholder create mode 100644 libraries/include/placeholder diff --git a/README_BUILD_FIRESTORM_WIN32.txt b/README_BUILD_FIRESTORM_WIN32.txt index d485498a2c..91c2cc642e 100644 --- a/README_BUILD_FIRESTORM_WIN32.txt +++ b/README_BUILD_FIRESTORM_WIN32.txt @@ -4,9 +4,13 @@ http://wiki.secondlife.com/wiki/Viewer_2_Microsoft_Windows_Builds Make sure to copy fmod.dll into both your indra/ folder and also libraries/i686-win32/Release and libraries/RelWithDebInfo Open up cygwin and navigate to your code directory. Example: -cd /cygdrive/c/my/path/to/phoenix-firestorm + cd /cygdrive/c/my/path/to/phoenix-firestorm -run ./build_firestorm_win32.sh +Execute the command to build firestorm in the cygwin window: -This will do a clean compile. Rebuilds should be possible by specifying --rebuild. This build is a work in progress. Alternately, build in visual studio. By default, packaging is not enabled. + ./build_firestorm_win32.sh + +This will do a clean compile. Rebuilds should be possible by specifying --rebuild. + +NOTE: It is normal to see errors about ambiguous include/library paths at this time. It will not cause the build to fail diff --git a/build_firestorm_win32.sh b/build_firestorm_win32.sh index 722e7a7b4a..b68ff4844a 100644 --- a/build_firestorm_win32.sh +++ b/build_firestorm_win32.sh @@ -40,7 +40,7 @@ fi pushd indra if [ $WANTS_CLEAN -eq $TRUE ] ; then - cmd /c "develop.py clean" + $PYTHON develop.py clean find . -name "*.pyc" -exec rm {} \; fi @@ -48,10 +48,10 @@ fi if [ $WANTS_CONFIG -eq $TRUE ] ; then mkdir -p ../logs > /dev/null 2>&1 $PYTHON develop.py -G vc80 -t Release configure -DPACKAGE:BOOL=ON -DLL_TESTS:BOOL=OFF 2>&1 | tee $LOG - mkdir -p build_vc80/sharedlibs/RelWithDebInfo - mkdir -p build_vc80/sharedlibs/Release - cp fmod.dll ./build_vc80/sharedlibs/RelWithDebInfo - cp fmod.dll ./build_vc80/sharedlibs/Release + mkdir -p build-vc80/sharedlibs/RelWithDebInfo + mkdir -p build-vc80/sharedlibs/Release + cp fmod.dll ./build-vc80/sharedlibs/RelWithDebInfo + cp fmod.dll ./build-vc80/sharedlibs/Release fi if [ $WANTS_BUILD -eq $TRUE ] ; then @@ -63,7 +63,7 @@ if [ $WANTS_BUILD -eq $TRUE ] ; then echo "Building in progress... Check $LOG for verbose status" - $PYTHON develop.py -G vc80 -t Release build 2>&1 | tee -a $LOG + $PYTHON develop.py -G vc80 -t Release build 2>&1 | tee -a $LOG | grep Build echo "Complete" fi popd diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 5a71a36f8a..a4d63d91c9 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -35,13 +35,13 @@ if (WINDOWS) # Don't build DLLs. set(BUILD_SHARED_LIBS OFF) - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP" + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MD /MP" CACHE STRING "C++ compiler debug options" FORCE) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /Gm" + "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP" CACHE STRING "C++ compiler release-with-debug options" FORCE) set(CMAKE_CXX_FLAGS_RELEASE - "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /Oi /Ot /GF /Gy /arch:SSE2" + "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP" CACHE STRING "C++ compiler release options" FORCE) set(CMAKE_CXX_STANDARD_LIBRARIES "") @@ -79,19 +79,6 @@ if (WINDOWS) set(WINVER "0x0501" CACHE STRING "Win32 API Target version (see http://msdn.microsoft.com/en-us/library/aa383745%28v=VS.85%29.aspx)") add_definitions("/DWINVER=${WINVER}" "/D_WIN32_WINNT=${WINVER}") - # Various libs are compiler specific, generate some variables here we can just use - # when we require them instead of reimplementing the test each time. - if (MSVC71) - set(MSVC_DIR 7.1) - set(MSVC_SUFFIX 71) - elseif (MSVC80) - set(MSVC_DIR 8.0) - set(MSVC_SUFFIX 80) - elseif (MSVC90) - set(MSVC_DIR 9.0) - set(MSVC_SUFFIX 90) - endif (MSVC71) - endif (WINDOWS) diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index dcbc801663..7ce57a5572 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -16,30 +16,27 @@ else (STANDALONE) if (WINDOWS) set(BOOST_VERSION 1_39) - - # SNOW-788 - # 00-Common.cmake alreay sets MSVC_SUFFIX to be correct for the VS we are using eg VC71, VC80, VC90 etc - # The precompiled boost libs for VC71 use a different suffix to VS80 and VS90 - # This code should ensure the cmake rules are valid for any VS being used in future as long as the approprate - # boost libs are avaiable - RC. - - if (MSVC71) - set(BOOST_OPTIM_SUFFIX mt-s) - set(BOOST_DEBUG_SUFFIX mt-sgd) - else (MSVC71) - set(BOOST_OPTIM_SUFFIX mt) - set(BOOST_DEBUG_SUFFIX mt-gd) - endif (MSVC71) - - set(BOOST_PROGRAM_OPTIONS_LIBRARY - optimized libboost_program_options-vc${MSVC_SUFFIX}-${BOOST_OPTIM_SUFFIX}-${BOOST_VERSION} - debug libboost_program_options-vc${MSVC_SUFFIX}-${BOOST_DEBUG_SUFFIX}-${BOOST_VERSION}) - set(BOOST_REGEX_LIBRARY - optimized libboost_regex-vc${MSVC_SUFFIX}-${BOOST_OPTIM_SUFFIX}-${BOOST_VERSION} - debug libboost_regex-vc${MSVC_SUFFIX}-${BOOST_DEBUG_SUFFIX}-${BOOST_VERSION}) - set(BOOST_SIGNALS_LIBRARY - optimized libboost_signals-vc${MSVC_SUFFIX}-${BOOST_OPTIM_SUFFIX}-${BOOST_VERSION} - debug libboost_signals-vc${MSVC_SUFFIX}-${BOOST_DEBUG_SUFFIX}-${BOOST_VERSION}) + if (MSVC71) + set(BOOST_PROGRAM_OPTIONS_LIBRARY + optimized libboost_program_options-vc71-mt-s-${BOOST_VERSION} + debug libboost_program_options-vc71-mt-sgd-${BOOST_VERSION}) + set(BOOST_REGEX_LIBRARY + optimized libboost_regex-vc71-mt-s-${BOOST_VERSION} + debug libboost_regex-vc71-mt-sgd-${BOOST_VERSION}) + set(BOOST_SIGNALS_LIBRARY + optimized libboost_signals-vc71-mt-s-${BOOST_VERSION} + debug libboost_signals-vc71-mt-sgd-${BOOST_VERSION}) + else (MSVC71) + set(BOOST_PROGRAM_OPTIONS_LIBRARY + optimized libboost_program_options-vc80-mt-${BOOST_VERSION} + debug libboost_program_options-vc80-mt-gd-${BOOST_VERSION}) + set(BOOST_REGEX_LIBRARY + optimized libboost_regex-vc80-mt-${BOOST_VERSION} + debug libboost_regex-vc80-mt-gd-${BOOST_VERSION}) + set(BOOST_SIGNALS_LIBRARY + optimized libboost_signals-vc80-mt-${BOOST_VERSION} + debug libboost_signals-vc80-mt-gd-${BOOST_VERSION}) + endif (MSVC71) elseif (DARWIN) set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-xgcc40-mt) set(BOOST_REGEX_LIBRARY boost_regex-xgcc40-mt) diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 6a2bb3c5e4..db637a054e 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -30,7 +30,7 @@ const S32 LL_VERSION_MAJOR = 2; const S32 LL_VERSION_MINOR = 2; const S32 LL_VERSION_PATCH = 1; -const S32 LL_VERSION_BUILD = 30; +const S32 LL_VERSION_BUILD = 36; const char * const LL_CHANNEL = "Firestorm Developer"; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index f65d1b33ee..d5ddb330c4 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1437,7 +1437,7 @@ if (WINDOWS) if(MSVC71) set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map /MAPINFO:LINES") else(MSVC71) - set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map /OPT:REF") + set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map") endif(MSVC71) set_target_properties(${VIEWER_BINARY_NAME} diff --git a/libraries/i686-win32/include/placeholder b/libraries/i686-win32/include/placeholder new file mode 100644 index 0000000000..e69de29bb2 diff --git a/libraries/i686-win32/lib/debug/placeholder b/libraries/i686-win32/lib/debug/placeholder new file mode 100644 index 0000000000..e69de29bb2 diff --git a/libraries/i686-win32/lib/release/placeholder b/libraries/i686-win32/lib/release/placeholder new file mode 100644 index 0000000000..e69de29bb2 diff --git a/libraries/include/placeholder b/libraries/include/placeholder new file mode 100644 index 0000000000..e69de29bb2