Moveing around DLL copying to support building llcommon.dll and using llcommon.dll while running unit tests.
parent
429bd9b55c
commit
b5fef75dad
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -38,10 +38,6 @@ include(LLKDU)
|
|||
include(ViewerMiscLibs)
|
||||
include(LLLogin)
|
||||
|
||||
if (WINDOWS)
|
||||
include(CopyWinLibs)
|
||||
endif (WINDOWS)
|
||||
|
||||
include_directories(
|
||||
${DBUSGLIB_INCLUDE_DIRS}
|
||||
${ELFIO_INCLUDE_DIR}
|
||||
|
|
@ -1252,7 +1248,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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue