diff options
Diffstat (limited to 'indra/test/CMakeLists.txt')
-rw-r--r-- | indra/test/CMakeLists.txt | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt new file mode 100644 index 0000000000..32579e4fe2 --- /dev/null +++ b/indra/test/CMakeLists.txt @@ -0,0 +1,152 @@ +# -*- cmake -*- + +project (test) + +include(00-Common) +include(LLCommon) +include(LLDatabase) +include(LLInventory) +include(LLMath) +include(LLMessage) +include(LLVFS) +include(LLXML) +include(Linking) + +include_directories( + ${LLCOMMON_INCLUDE_DIRS} + ${LLDATABASE_INCLUDE_DIRS} + ${LLMATH_INCLUDE_DIRS} + ${LLMESSAGE_INCLUDE_DIRS} + ${LLINVENTORY_INCLUDE_DIRS} + ${LLVFS_INCLUDE_DIRS} + ${LLXML_INCLUDE_DIRS} + ) + +set(test_SOURCE_FILES + common.cpp + inventory.cpp + io.cpp + llapp_tut.cpp + llbase64_tut.cpp + llblowfish_tut.cpp + llbuffer_tut.cpp + lldatabase_tut.cpp + lldate_tut.cpp + llerror_tut.cpp + llhost_tut.cpp + llhttpdate_tut.cpp + llhttpclient_tut.cpp + llhttpnode_tut.cpp + llinventoryparcel_tut.cpp + lliohttpserver_tut.cpp + lljoint_tut.cpp + llmime_tut.cpp + llmessageconfig_tut.cpp + llnamevalue_tut.cpp + llpermissions_tut.cpp + llpipeutil.cpp + llquaternion_tut.cpp + llrandom_tut.cpp + llsaleinfo_tut.cpp + llsdmessagebuilder_tut.cpp + llsdmessagereader_tut.cpp + llsd_new_tut.cpp + llsdserialize_tut.cpp + llsdutil_tut.cpp + llservicebuilder_tut.cpp + llstreamtools_tut.cpp + lltemplatemessagebuilder_tut.cpp + lltiming_tut.cpp + lltut.cpp + lluri_tut.cpp + lluuidhashmap_tut.cpp + llxfer_tut.cpp + math.cpp + message_tut.cpp + reflection_tut.cpp + test.cpp + v2math_tut.cpp + v3color_tut.cpp + v3dmath_tut.cpp + v3math_tut.cpp + v4color_tut.cpp + v4coloru_tut.cpp + v4math_tut.cpp + ) + +set(test_HEADER_FILES + CMakeLists.txt + + llpipeutil.h + llsdtraits.h + lltut.h + ) + +if (NOT WINDOWS) + list(APPEND test_SOURCE_FILES + llmessagetemplateparser_tut.cpp + ) +endif (NOT WINDOWS) + +set_source_files_properties(${test_HEADER_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + +list(APPEND test_SOURC_FILES ${test_HEADER_FILES}) + +add_executable(test ${test_SOURCE_FILES}) + +target_link_libraries(test + ${LLDATABASE_LIBRARIES} + ${LLINVENTORY_LIBRARIES} + ${LLMESSAGE_LIBRARIES} + ${LLMATH_LIBRARIES} + ${LLVFS_LIBRARIES} + ${LLXML_LIBRARIES} + ${LLCOMMON_LIBRARIES} + ${PTHREAD_LIBRARY} + ${WINDOWS_LIBRARIES} + ) + +if (WINDOWS) + set_target_properties(test + PROPERTIES + LINK_FLAGS "/NODEFAULTLIB:MSVCRT" + LINK_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMT" + ) +endif (WINDOWS) + +get_target_property(TEST_EXE test LOCATION) + +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt + COMMAND ${TEST_EXE} + ARGS + --output=${CMAKE_CURRENT_BINARY_DIR}/cpp_test_results.txt + --touch=${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt + DEPENDS test + 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 + --output=${CMAKE_CURRENT_BINARY_DIR}/py_test_results.txt + --touch=${CMAKE_CURRENT_BINARY_DIR}/py_tests_ok.txt + 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}) |