diff options
author | brad kittenbrink <brad@lindenlab.com> | 2009-07-10 13:15:06 -0700 |
---|---|---|
committer | brad kittenbrink <brad@lindenlab.com> | 2009-07-10 13:15:06 -0700 |
commit | 9bc9a696882859d8194646d25bc606cdadd06fc2 (patch) | |
tree | bed50d6c1c8b139e9bc200c00003493933f63fb3 | |
parent | 3013aa1c847ac8884ca7b287fd1406b3fc2393ab (diff) | |
parent | 82eb18fce5c3d21a49a299ee5e454cbcc9d6f559 (diff) |
Merged in my latest changes including switching LLAPRSockStream to be fully non-blocking (and thus not horribly inefficient) and a bunch of new event listener implementations.
-rw-r--r-- | indra/cmake/LLAddBuildTest.cmake | 9 | ||||
-rw-r--r-- | indra/cmake/LLCommon.cmake | 2 | ||||
-rw-r--r-- | indra/cmake/Linking.cmake | 1 | ||||
-rw-r--r-- | indra/llcommon/CMakeLists.txt | 10 | ||||
-rw-r--r-- | indra/llmessage/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/llui/llnotificationslistener.cpp | 12 | ||||
-rw-r--r-- | indra/llui/llnotificationslistener.h | 32 | ||||
-rw-r--r-- | indra/newview/CMakeLists.txt | 22 | ||||
-rwxr-xr-x | indra/newview/viewer_manifest.py | 12 |
9 files changed, 67 insertions, 35 deletions
diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index 4a61725e09..0c6ddef50f 100644 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -118,9 +118,16 @@ MACRO(LL_ADD_PROJECT_UNIT_TESTS project sources) IF(LL_TEST_VERBOSE) MESSAGE(STATUS "LL_ADD_PROJECT_UNIT_TESTS ${name} test_cmd = ${TEST_CMD}") ENDIF(LL_TEST_VERBOSE) + + IF(WINDOWS) + set(LD_LIBRARY_PATH ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}) + ELSE(WINDOWS) + set(LD_LIBRARY_PATH ${ARCH_PREBUILT_DIRS}:/usr/lib) + ENDIF(WINDOWS) + SET(TEST_SCRIPT_CMD ${CMAKE_COMMAND} - -DLD_LIBRARY_PATH=${ARCH_PREBUILT_DIRS}:/usr/lib + -DLD_LIBRARY_PATH=${LD_LIBRARY_PATH} -DTEST_CMD:STRING="${TEST_CMD}" -P ${CMAKE_SOURCE_DIR}/cmake/RunBuildTest.cmake ) diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index 4cd3a9adb8..19d61008da 100644 --- a/indra/cmake/LLCommon.cmake +++ b/indra/cmake/LLCommon.cmake @@ -17,7 +17,7 @@ set(LLCOMMON_LIBRARIES llcommon) add_definitions(${TCMALLOC_FLAG}) -set(LLCOMMON_LINK_SHARED OFF CACHE BOOL "Build the llcommon target as a shared library.") +set(LLCOMMON_LINK_SHARED ON CACHE BOOL "Build the llcommon target as a shared library.") if(LLCOMMON_LINK_SHARED) add_definitions(-DLL_COMMON_LINK_SHARED=1) endif(LLCOMMON_LINK_SHARED) diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index eaa8a6dc29..4063034837 100644 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -5,6 +5,7 @@ if (NOT STANDALONE) set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib) set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/release) set(ARCH_PREBUILT_DIRS_DEBUG ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/debug) + set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs) elseif (LINUX) if (VIEWER) set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release_client) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 06a295b410..cb0f6add21 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -9,6 +9,10 @@ include(Linking) include(Boost) include (Pth) +if (WINDOWS) + include(CopyWinLibs) +endif (WINDOWS) + include_directories( ${EXPAT_INCLUDE_DIRS} ${LLCOMMON_INCLUDE_DIRS} @@ -234,6 +238,10 @@ list(APPEND llcommon_SOURCE_FILES ${llcommon_HEADER_FILES}) if(LLCOMMON_LINK_SHARED) add_library (llcommon SHARED ${llcommon_SOURCE_FILES}) add_definitions(-DLL_COMMON_BUILD=1) + # *FIX:Mani --- + # llcommon.dll get written to the DLL staging directory. + # Also this directory is shared with RunBuildTest.cmake, y'know, for the tests. + set_target_properties(llcommon PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${SHARED_LIB_STAGING_DIR}) else(LLCOMMON_LINK_SHARED) add_library (llcommon ${llcommon_SOURCE_FILES}) endif(LLCOMMON_LINK_SHARED) @@ -250,6 +258,8 @@ target_link_libraries( ${PTH_LIBRARIES} ) +add_dependencies(llcommon stage_third_party_libs) + include(LLAddBuildTest) SET(llcommon_TEST_SOURCE_FILES # WARNING: Please don't write tests against LLCommon or LLMath until this issue is resolved: https://jira.lindenlab.com/jira/browse/DEV-29456 diff --git a/indra/llmessage/CMakeLists.txt b/indra/llmessage/CMakeLists.txt index 67a171dde6..2c50a9b1cd 100644 --- a/indra/llmessage/CMakeLists.txt +++ b/indra/llmessage/CMakeLists.txt @@ -226,7 +226,7 @@ IF (NOT LINUX AND VIEWER) # Commented out - see rationale at bottom of newview's build file + poppy 2009-06-05 # Don't make llmessage depend on llsdmessage_test because ADD_COMM_BUILD_TEST depends on llmessage! # ADD_COMM_BUILD_TEST(llsdmessage "" "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_llsdmessage_peer.py") - # llareslistener.cpp + # llareslistener.cpp ) LL_ADD_PROJECT_UNIT_TESTS(llmessage "${llmessage_TEST_SOURCE_FILES}") diff --git a/indra/llui/llnotificationslistener.cpp b/indra/llui/llnotificationslistener.cpp index d2d83bd6e3..d6e552ca5c 100644 --- a/indra/llui/llnotificationslistener.cpp +++ b/indra/llui/llnotificationslistener.cpp @@ -14,12 +14,12 @@ #include "llnotificationslistener.h" #include "llnotifications.h" -
-LLNotificationsListener::LLNotificationsListener(LLNotifications & notifications) :
- LLDispatchListener("LLNotifications", "op"),
- mNotifications(notifications)
-{
- add("requestAdd", &LLNotificationsListener::requestAdd);
+ +LLNotificationsListener::LLNotificationsListener(LLNotifications & notifications) : + LLDispatchListener("LLNotifications", "op"), + mNotifications(notifications) +{ + add("requestAdd", &LLNotificationsListener::requestAdd); } void LLNotificationsListener::requestAdd(const LLSD& event_data) const diff --git a/indra/llui/llnotificationslistener.h b/indra/llui/llnotificationslistener.h index a163b00550..3576cacbdb 100644 --- a/indra/llui/llnotificationslistener.h +++ b/indra/llui/llnotificationslistener.h @@ -13,19 +13,19 @@ #define LL_LLNOTIFICATIONSLISTENER_H #include "lleventdispatcher.h" -
-class LLNotifications;
-class LLSD;
-
-class LLNotificationsListener : public LLDispatchListener
-{
-public:
- LLNotificationsListener(LLNotifications & notifications);
-
- void requestAdd(LLSD const & event_data) const;
-
-private:
- LLNotifications & mNotifications;
-};
-
-#endif // LL_LLNOTIFICATIONSLISTENER_H
+ +class LLNotifications; +class LLSD; + +class LLNotificationsListener : public LLDispatchListener +{ +public: + LLNotificationsListener(LLNotifications & notifications); + + void requestAdd(LLSD const & event_data) const; + +private: + LLNotifications & mNotifications; +}; + +#endif // LL_LLNOTIFICATIONSLISTENER_H diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index a8c9e6a31d..82a1419210 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -38,10 +38,6 @@ include(LLKDU) include(ViewerMiscLibs) include(LLLogin) -if (WINDOWS) - include(CopyWinLibs) -endif (WINDOWS) - include_directories( ${DBUSGLIB_INCLUDE_DIRS} ${ELFIO_INCLUDE_DIR} @@ -1256,7 +1252,23 @@ if (WINDOWS) COMMENT "Copying message.xml to the runtime folder." ) - add_dependencies(${VIEWER_BINARY_NAME} copy_win_libs) + if(WINDOWS) + # Copy Win Libs... + # This happens at build time, not config time. We can't glob files in this cmake. + # *FIX:Mani Write a sub script to glob the files... + add_custom_command( + TARGET ${VIEWER_BINARY_NAME} PRE_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS + -E + copy_directory + ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR} + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} + COMMENT "Copying staged dlls." + ) + endif(WINDOWS) + + if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts) add_dependencies(${VIEWER_BINARY_NAME} copy_win_scripts) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 7edf0bad6b..0217c8f864 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -168,9 +168,8 @@ class WindowsManifest(ViewerManifest): # need to get the llcommon.dll from any of the build directories as well
try:
- self.path(self.find_existing_file('../llcommon/%s/llcommon.dll' % self.args['configuration']),
- dst='llcommon.dll')
if self.prefix(src=self.args['configuration'], dst=""):
+ self.path('llcommon.dll')
self.path('libapr-1.dll')
self.path('libaprutil-1.dll')
self.path('libapriconv-1.dll')
@@ -181,8 +180,7 @@ class WindowsManifest(ViewerManifest): # need to get the kdu dll from any of the build directories as well
try:
- self.path(self.find_existing_file('../llkdu/%s/llkdu.dll' % self.args['configuration'],
- '../../libraries/i686-win32/lib/release/llkdu.dll'),
+ self.path(self.find_existing_file('%s/llkdu.dll' % self.args['configuration']),
dst='llkdu.dll')
pass
except:
@@ -394,7 +392,11 @@ class WindowsManifest(ViewerManifest): # We use the Unicode version of NSIS, available from
# http://www.scratchpaper.com/
- NSIS_path = 'C:\\Program Files\\NSIS\\Unicode\\makensis.exe'
+ # Check two paths, one for Program Files, and one for Program Files (x86).
+ # Yay 64bit windows.
+ NSIS_path = os.path.expandvars('${ProgramFiles}\\NSIS\\Unicode\\makensis.exe')
+ if not os.path.exists(NSIS_path):
+ NSIS_path = os.path.expandvars('${ProgramFiles(x86)}\\NSIS\\Unicode\\makensis.exe')
self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile))
# self.remove(self.dst_path_of(tempfile))
# If we're on a build machine, sign the code using our Authenticode certificate. JC
|