PageRenderTime 30ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/indra/test/CMakeLists.txt

https://bitbucket.org/lindenlab/viewer-beta/
CMake | 136 lines | 112 code | 19 blank | 5 comment | 3 complexity | fed3c4425e8ed254a642b2ad7ac0cefe MD5 | raw file
Possible License(s): LGPL-2.1
  1. # -*- cmake -*-
  2. project (test)
  3. include(00-Common)
  4. include(LLCommon)
  5. include(LLInventory)
  6. include(LLMath)
  7. include(LLMessage)
  8. include(LLVFS)
  9. include(LLXML)
  10. include(LScript)
  11. include(Linking)
  12. include(Tut)
  13. include(LLAddBuildTest)
  14. include(GoogleMock)
  15. include_directories(
  16. ${LLCOMMON_INCLUDE_DIRS}
  17. ${LLDATABASE_INCLUDE_DIRS}
  18. ${LLMATH_INCLUDE_DIRS}
  19. ${LLMESSAGE_INCLUDE_DIRS}
  20. ${LLINVENTORY_INCLUDE_DIRS}
  21. ${LLVFS_INCLUDE_DIRS}
  22. ${LLXML_INCLUDE_DIRS}
  23. ${LSCRIPT_INCLUDE_DIRS}
  24. ${GOOGLEMOCK_INCLUDE_DIRS}
  25. ${TUT_INCLUDE_DIR}
  26. )
  27. set(test_SOURCE_FILES
  28. io.cpp
  29. llapp_tut.cpp
  30. llblowfish_tut.cpp
  31. llbuffer_tut.cpp
  32. lldoubledispatch_tut.cpp
  33. llevents_tut.cpp
  34. llhttpdate_tut.cpp
  35. llhttpclient_tut.cpp
  36. llhttpnode_tut.cpp
  37. lliohttpserver_tut.cpp
  38. llmessageconfig_tut.cpp
  39. llpermissions_tut.cpp
  40. llpipeutil.cpp
  41. llsaleinfo_tut.cpp
  42. llscriptresource_tut.cpp
  43. llsdmessagebuilder_tut.cpp
  44. llsdmessagereader_tut.cpp
  45. llsd_new_tut.cpp
  46. llsdutil_tut.cpp
  47. llservicebuilder_tut.cpp
  48. llstreamtools_tut.cpp
  49. lltemplatemessagebuilder_tut.cpp
  50. lltut.cpp
  51. lluuidhashmap_tut.cpp
  52. message_tut.cpp
  53. test.cpp
  54. )
  55. set(test_HEADER_FILES
  56. CMakeLists.txt
  57. debug.h
  58. llpipeutil.h
  59. llsdtraits.h
  60. lltut.h
  61. )
  62. if (NOT WINDOWS)
  63. list(APPEND test_SOURCE_FILES
  64. llmessagetemplateparser_tut.cpp
  65. )
  66. endif (NOT WINDOWS)
  67. set_source_files_properties(${test_HEADER_FILES}
  68. PROPERTIES HEADER_FILE_ONLY TRUE)
  69. list(APPEND test_SOURCE_FILES ${test_HEADER_FILES})
  70. add_executable(test ${test_SOURCE_FILES})
  71. target_link_libraries(test
  72. ${LLDATABASE_LIBRARIES}
  73. ${LLINVENTORY_LIBRARIES}
  74. ${LLMESSAGE_LIBRARIES}
  75. ${LLMATH_LIBRARIES}
  76. ${LLVFS_LIBRARIES}
  77. ${LLXML_LIBRARIES}
  78. ${LSCRIPT_LIBRARIES}
  79. ${LLCOMMON_LIBRARIES}
  80. ${EXPAT_LIBRARIES}
  81. ${GOOGLEMOCK_LIBRARIES}
  82. ${PTHREAD_LIBRARY}
  83. ${WINDOWS_LIBRARIES}
  84. ${BOOST_PROGRAM_OPTIONS_LIBRARY}
  85. ${BOOST_REGEX_LIBRARY}
  86. ${DL_LIBRARY}
  87. ${GOOGLE_PERFTOOLS_LIBRARIES}
  88. )
  89. if (WINDOWS)
  90. set_target_properties(test
  91. PROPERTIES
  92. LINK_FLAGS "/NODEFAULTLIB:LIBCMT"
  93. LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\""
  94. )
  95. endif (WINDOWS)
  96. get_target_property(TEST_EXE test LOCATION)
  97. SET_TEST_PATH(DYLD_LIBRARY_PATH)
  98. LL_TEST_COMMAND(command
  99. "${DYLD_LIBRARY_PATH}"
  100. "${TEST_EXE}"
  101. "--output=${CMAKE_CURRENT_BINARY_DIR}/cpp_test_results.txt"
  102. "--touch=${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt")
  103. ADD_CUSTOM_COMMAND(
  104. OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt
  105. COMMAND ${command}
  106. DEPENDS test
  107. WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  108. COMMENT "C++ unit tests"
  109. )
  110. set(test_results ${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt)
  111. # This should cause the test executable to be built, but not
  112. # run if LL_TESTS is disabled. This will hopefully keep the
  113. # tests up to date with any code changes changes even if
  114. # developers choose to disable LL_TESTS.
  115. if (LL_TESTS)
  116. add_custom_target(tests_ok ALL DEPENDS ${test_results})
  117. endif (LL_TESTS)