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

/indra/integration_tests/llimage_libtest/CMakeLists.txt

https://bitbucket.org/lindenlab/viewer-beta/
CMake | 125 lines | 96 code | 17 blank | 12 comment | 6 complexity | eab8bb469ba73336a0278f0e6563079e MD5 | raw file
Possible License(s): LGPL-2.1
  1. # -*- cmake -*-
  2. # Integration tests of the llimage library (JPEG2000, PNG, jpeg, etc... images reading and writing)
  3. project (llimage_libtest)
  4. include(00-Common)
  5. include(LLCommon)
  6. include(LLImage)
  7. include(LLImageJ2COJ)
  8. include(LLKDU)
  9. include(LLVFS)
  10. include_directories(
  11. ${LLCOMMON_INCLUDE_DIRS}
  12. ${LLVFS_INCLUDE_DIRS}
  13. ${LLIMAGE_INCLUDE_DIRS}
  14. )
  15. set(llimage_libtest_SOURCE_FILES
  16. llimage_libtest.cpp
  17. )
  18. set(llimage_libtest_HEADER_FILES
  19. CMakeLists.txt
  20. llimage_libtest.h
  21. )
  22. set_source_files_properties(${llimage_libtest_HEADER_FILES}
  23. PROPERTIES HEADER_FILE_ONLY TRUE)
  24. list(APPEND llimage_libtest_SOURCE_FILES ${llimage_libtest_HEADER_FILES})
  25. add_executable(llimage_libtest
  26. WIN32
  27. MACOSX_BUNDLE
  28. ${llimage_libtest_SOURCE_FILES}
  29. )
  30. set_target_properties(llimage_libtest
  31. PROPERTIES
  32. WIN32_EXECUTABLE
  33. FALSE
  34. )
  35. # OS-specific libraries
  36. if (DARWIN)
  37. include(CMakeFindFrameworks)
  38. find_library(COREFOUNDATION_LIBRARY CoreFoundation)
  39. set(OS_LIBRARIES ${COREFOUNDATION_LIBRARY})
  40. elseif (WINDOWS)
  41. set(OS_LIBRARIES)
  42. elseif (LINUX)
  43. set(OS_LIBRARIES)
  44. else (DARWIN)
  45. message(FATAL_ERROR "Unknown platform")
  46. endif (DARWIN)
  47. # Libraries on which this application depends on
  48. # Sort by high-level to low-level
  49. target_link_libraries(llimage_libtest
  50. ${LLCOMMON_LIBRARIES}
  51. ${LLVFS_LIBRARIES}
  52. ${LLIMAGE_LIBRARIES}
  53. ${LLKDU_LIBRARIES}
  54. ${KDU_LIBRARY}
  55. ${LLIMAGEJ2COJ_LIBRARIES}
  56. ${OS_LIBRARIES}
  57. )
  58. if (DARWIN)
  59. # Path inside the app bundle where we'll need to copy libraries
  60. set(LLIMAGE_LIBTEST_DESTINATION_DIR
  61. ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llimage_libtest.app/Contents/Resources
  62. )
  63. # Create the Contents/Resources directory
  64. add_custom_command(
  65. TARGET llimage_libtest POST_BUILD
  66. COMMAND ${CMAKE_COMMAND}
  67. ARGS
  68. -E
  69. make_directory
  70. ${LLIMAGE_LIBTEST_DESTINATION_DIR}
  71. COMMENT "Creating Resources directory in app bundle."
  72. )
  73. else (DARWIN)
  74. set(LLIMAGE_LIBTEST_DESTINATION_DIR
  75. ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/
  76. )
  77. endif (DARWIN)
  78. get_target_property(BUILT_LLCOMMON llcommon LOCATION)
  79. add_custom_command(TARGET llimage_libtest POST_BUILD
  80. COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_LLCOMMON} ${LLIMAGE_LIBTEST_DESTINATION_DIR}
  81. DEPENDS ${BUILT_LLCOMMON}
  82. )
  83. if (DARWIN)
  84. # Copy the required libraries to the package app
  85. add_custom_command(TARGET llimage_libtest POST_BUILD
  86. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../build-darwin-i386/packages/lib/release/libapr-1.0.dylib ${LLIMAGE_LIBTEST_DESTINATION_DIR}
  87. DEPENDS ${CMAKE_SOURCE_DIR}/../build-darwin-i386/packages/lib/release/libapr-1.0.dylib
  88. )
  89. add_custom_command(TARGET llimage_libtest POST_BUILD
  90. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../build-darwin-i386/packages/lib/release/libaprutil-1.0.dylib ${LLIMAGE_LIBTEST_DESTINATION_DIR}
  91. DEPENDS ${CMAKE_SOURCE_DIR}/../build-darwin-i386/packages/lib/release/libaprutil-1.0.dylib
  92. )
  93. add_custom_command(TARGET llimage_libtest POST_BUILD
  94. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../build-darwin-i386/packages/lib/release/libexception_handler.dylib ${LLIMAGE_LIBTEST_DESTINATION_DIR}
  95. DEPENDS ${CMAKE_SOURCE_DIR}/../build-darwin-i386/packages/lib/release/libexception_handler.dylib
  96. )
  97. add_custom_command(TARGET llimage_libtest POST_BUILD
  98. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../build-darwin-i386/packages/lib/release/libexpat.1.5.2.dylib ${LLIMAGE_LIBTEST_DESTINATION_DIR}
  99. DEPENDS ${CMAKE_SOURCE_DIR}/../build-darwin-i386/packages/lib/release/libexpat.1.5.2.dylib
  100. )
  101. endif (DARWIN)
  102. if (WINDOWS)
  103. # Check indra/test_apps/llplugintest/CMakeLists.txt for an example of what to copy over for Windows and how
  104. endif (WINDOWS)
  105. # Ensure people working on the viewer don't break this library
  106. # *NOTE: This could be removed, or only built by TeamCity, if the build
  107. # and link times become too long.
  108. add_dependencies(viewer llimage_libtest)