diff options
Diffstat (limited to 'indra/test/CMakeLists.txt')
-rwxr-xr-x[-rw-r--r--] | indra/test/CMakeLists.txt | 81 |
1 files changed, 29 insertions, 52 deletions
diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt index c1360987a5..01d1d830a2 100644..100755 --- a/indra/test/CMakeLists.txt +++ b/indra/test/CMakeLists.txt @@ -1,10 +1,9 @@ # -*- cmake -*- -project (test) +project (lltest) include(00-Common) include(LLCommon) -include(LLDatabase) include(LLInventory) include(LLMath) include(LLMessage) @@ -13,6 +12,7 @@ include(LLXML) include(LScript) include(Linking) include(Tut) +include(LLAddBuildTest) include(GoogleMock) @@ -26,17 +26,21 @@ include_directories( ${LLXML_INCLUDE_DIRS} ${LSCRIPT_INCLUDE_DIRS} ${GOOGLEMOCK_INCLUDE_DIRS} + ${TUT_INCLUDE_DIR} + ) +include_directories(SYSTEM + ${LLCOMMON_SYSTEM_INCLUDE_DIRS} + ${LLXML_SYSTEM_INCLUDE_DIRS} ) set(test_SOURCE_FILES io.cpp -# llapp_tut.cpp # Temporarily removed until thread issues can be solved + llapp_tut.cpp llblowfish_tut.cpp llbuffer_tut.cpp lldoubledispatch_tut.cpp llevents_tut.cpp llhttpdate_tut.cpp - llhttpclient_tut.cpp llhttpnode_tut.cpp lliohttpserver_tut.cpp llmessageconfig_tut.cpp @@ -51,10 +55,7 @@ set(test_SOURCE_FILES llservicebuilder_tut.cpp llstreamtools_tut.cpp lltemplatemessagebuilder_tut.cpp - lltimestampcache_tut.cpp - lltranscode_tut.cpp lltut.cpp - lluuidhashmap_tut.cpp message_tut.cpp test.cpp ) @@ -74,20 +75,14 @@ if (NOT WINDOWS) ) endif (NOT WINDOWS) -if (NOT DARWIN) - list(APPEND test_SOURCE_FILES - lldatabase_tut.cpp - ) -endif (NOT DARWIN) - set_source_files_properties(${test_HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) list(APPEND test_SOURCE_FILES ${test_HEADER_FILES}) -add_executable(test ${test_SOURCE_FILES}) +add_executable(lltest ${test_SOURCE_FILES}) -target_link_libraries(test +target_link_libraries(lltest ${LLDATABASE_LIBRARIES} ${LLINVENTORY_LIBRARIES} ${LLMESSAGE_LIBRARIES} @@ -98,7 +93,6 @@ target_link_libraries(test ${LLCOMMON_LIBRARIES} ${EXPAT_LIBRARIES} ${GOOGLEMOCK_LIBRARIES} - ${APRICONV_LIBRARIES} ${PTHREAD_LIBRARY} ${WINDOWS_LIBRARIES} ${BOOST_PROGRAM_OPTIONS_LIBRARY} @@ -108,54 +102,37 @@ target_link_libraries(test ) if (WINDOWS) - set_target_properties(test + set_target_properties(lltest PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT" LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\"" ) endif (WINDOWS) -get_target_property(TEST_EXE test LOCATION) +set(TEST_EXE $<TARGET_FILE:lltest>) -IF(WINDOWS) - set(LD_LIBRARY_PATH ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}) -ELSEIF(DARWIN) - set(LD_LIBRARY_PATH ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/Resources:/usr/lib) -ELSE(WINDOWS) - set(LD_LIBRARY_PATH ${SHARED_LIB_STAGING_DIR}:/usr/lib) -ENDIF(WINDOWS) +SET_TEST_PATH(DYLD_LIBRARY_PATH) + +LL_TEST_COMMAND(command + "${DYLD_LIBRARY_PATH}" + "${TEST_EXE}" + "--output=${CMAKE_CURRENT_BINARY_DIR}/cpp_test_results.txt" + "--touch=${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt") -LL_TEST_COMMAND("${LD_LIBRARY_PATH}" - "${TEST_EXE}" "--output=${CMAKE_CURRENT_BINARY_DIR}/cpp_test_results.txt" "--touch=${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt") ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt - COMMAND ${LL_TEST_COMMAND_value} - DEPENDS test + COMMAND ${command} + DEPENDS lltest WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "C++ unit tests" - ) + ) set(test_results ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt) -if (EXISTS /etc/debian_version_FAIL) - # The Python tests have all kinds of wacky non-portable assumptions - # built in. - - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/py_tests_ok.txt - COMMAND ${PYTHON_EXECUTABLE} - ARGS - ${CMAKE_CURRENT_SOURCE_DIR}/test.py - --mode=static - --output=${CMAKE_CURRENT_BINARY_DIR}/py_test_results.txt - --touch=${CMAKE_CURRENT_BINARY_DIR}/py_tests_ok.txt - --mode=static - DEPENDS test.py - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT "Python unit tests" - ) - - list(APPEND test_results ${CMAKE_CURRENT_BINARY_DIR}/py_tests_ok.txt) -endif (EXISTS /etc/debian_version_FAIL) - -add_custom_target(tests_ok ALL DEPENDS ${test_results}) +# This should cause the test executable to be built, but not +# run if LL_TESTS is disabled. This will hopefully keep the +# tests up to date with any code changes changes even if +# developers choose to disable LL_TESTS. +if (LL_TESTS) + add_custom_target(tests_ok ALL DEPENDS ${test_results}) +endif (LL_TESTS) |