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

/indra/integration_tests/llui_libtest/CMakeLists.txt

https://bitbucket.org/lindenlab/viewer-beta/
CMake | 115 lines | 86 code | 16 blank | 13 comment | 4 complexity | 1c2e956adabe6e020dd7a4ba9014227a MD5 | raw file
Possible License(s): LGPL-2.1
  1. # -*- cmake -*-
  2. # Only set this up for viewer builds, because the llui library is most closely
  3. # related to the viewer
  4. if (VIEWER)
  5. project (llui_libtest)
  6. include(00-Common)
  7. include(LLCommon)
  8. include(LLImage)
  9. include(LLImageJ2COJ) # ugh, needed for images
  10. include(LLKDU)
  11. include(LLMath)
  12. include(LLMessage)
  13. include(LLRender)
  14. include(LLWindow)
  15. include(LLUI)
  16. include(LLVFS) # ugh, needed for LLDir
  17. include(LLXML)
  18. include(LLXUIXML)
  19. include(Linking)
  20. # include(Tut)
  21. include_directories(
  22. ${FREETYPE_INCLUDE_DIRS}
  23. ${LLCOMMON_INCLUDE_DIRS}
  24. ${LLIMAGE_INCLUDE_DIRS}
  25. ${LLMATH_INCLUDE_DIRS}
  26. ${LLRENDER_INCLUDE_DIRS}
  27. ${LLUI_INCLUDE_DIRS}
  28. ${LLVFS_INCLUDE_DIRS}
  29. ${LLWINDOW_INCLUDE_DIRS}
  30. ${LLXML_INCLUDE_DIRS}
  31. ${LLXUIXML_INCLUDE_DIRS}
  32. )
  33. set(llui_libtest_SOURCE_FILES
  34. llui_libtest.cpp
  35. llwidgetreg.cpp
  36. )
  37. set(llui_libtest_HEADER_FILES
  38. CMakeLists.txt
  39. llui_libtest.h
  40. llwidgetreg.h
  41. )
  42. set_source_files_properties(${llui_libtest_HEADER_FILES}
  43. PROPERTIES HEADER_FILE_ONLY TRUE)
  44. list(APPEND llui_libtest_SOURCE_FILES ${llui_libtest_HEADER_FILES})
  45. add_executable(llui_libtest ${llui_libtest_SOURCE_FILES})
  46. # Link with OS-specific libraries for LLWindow dependency
  47. if (DARWIN)
  48. find_library(COCOA_LIBRARY Cocoa)
  49. set(OS_LIBRARIES ${COCOA_LIBRARY})
  50. elseif (WINDOWS)
  51. #ll_stack_trace needs this now...
  52. list(APPEND WINDOWS_LIBRARIES dbghelp)
  53. set(OS_LIBRARIES ${WINDOWS_LIBRARIES})
  54. elseif (LINUX)
  55. set(OS_LIBRARIES)
  56. else (DARWIN)
  57. message(FATAL_ERROR "unknown platform")
  58. endif (DARWIN)
  59. # Libraries on which this library depends, needed for Linux builds
  60. # Sort by high-level to low-level
  61. target_link_libraries(llui_libtest
  62. llui
  63. llinventory
  64. llmessage
  65. ${LLRENDER_LIBRARIES}
  66. ${LLIMAGE_LIBRARIES}
  67. ${LLKDU_LIBRARIES}
  68. ${KDU_LIBRARY}
  69. ${LLIMAGEJ2COJ_LIBRARIES}
  70. ${OS_LIBRARIES}
  71. ${GOOGLE_PERFTOOLS_LIBRARIES}
  72. )
  73. if (WINDOWS)
  74. set_target_properties(llui_libtest
  75. PROPERTIES
  76. LINK_FLAGS "/NODEFAULTLIB:LIBCMT"
  77. LINK_FLAGS_DEBUG "/NODEFAULTLIB:MSVCRT /NODEFAULTLIB:LIBCMTD"
  78. )
  79. # Copy over OpenJPEG.dll
  80. # *NOTE: On Windows with VS2005, only the first comment prints
  81. set(OPENJPEG_RELEASE
  82. "${ARCH_PREBUILT_DIRS_RELEASE}/openjpeg.dll")
  83. add_custom_command( TARGET llui_libtest POST_BUILD
  84. COMMAND ${CMAKE_COMMAND} -E copy_if_different
  85. ${OPENJPEG_RELEASE} ${CMAKE_CURRENT_BINARY_DIR}
  86. COMMENT "Copying OpenJPEG DLLs to binary directory"
  87. )
  88. set(OPENJPEG_DEBUG
  89. "${ARCH_PREBUILT_DIRS_DEBUG}/openjpegd.dll")
  90. add_custom_command( TARGET llui_libtest POST_BUILD
  91. COMMAND ${CMAKE_COMMAND} -E copy_if_different
  92. ${OPENJPEG_DEBUG} ${CMAKE_CURRENT_BINARY_DIR}
  93. )
  94. endif (WINDOWS)
  95. # Ensure people working on the viewer don't break this library
  96. # *NOTE: This could be removed, or only built by Parabuild, if the build
  97. # and link times become too long. JC
  98. add_dependencies(viewer llui_libtest)
  99. endif (VIEWER)