libogg.cmake 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # CMakeLists.txt to build static libogg for Polycode
  2. CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
  3. PROJECT(libogg C)
  4. IF(NOT CMAKE_BUILD_TYPE)
  5. #SET(CMAKE_BUILD_TYPE "Debug")
  6. SET(CMAKE_BUILD_TYPE "Release")
  7. MESSAGE("No CMAKE_BUILD_TYPE specified, defaulting to ${CMAKE_BUILD_TYPE}")
  8. ENDIF(NOT CMAKE_BUILD_TYPE)
  9. # to distinguish between debug and release lib
  10. SET(CMAKE_DEBUG_POSTFIX "d")
  11. SET(libogg_SRCS src/bitwise.c src/framing.c)
  12. SET(libogg_HDRS include/ogg/ogg.h include/ogg/os_types.h)
  13. INCLUDE_DIRECTORIES(include)
  14. IF(MSVC)
  15. ADD_DEFINITIONS(/D_UNICODE /DUNICODE)
  16. LIST(APPEND libogg_SRCS win32/ogg.def)
  17. ENDIF(MSVC)
  18. IF("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
  19. # libogg expects configure to be called on linux to
  20. # generate config_types.h
  21. LIST(APPEND libogg_HDRS include/ogg/config_types.h)
  22. add_custom_command(OUTPUT include/ogg/config_types.h
  23. COMMAND ./configure
  24. DEPENDS include/ogg/ogg.h # Hopefully if the libogg version changes, so does this file
  25. # so configure_types.h will be regenerated.
  26. WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  27. )
  28. ENDIF()
  29. #ADD_LIBRARY(libogg_dynamic SHARED ${libogg_SRCS} ${libogg_HDRS})
  30. ADD_LIBRARY(libogg ${libogg_SRCS} ${libogg_HDRS})
  31. #SET_TARGET_PROPERTIES(libogg_dynamic #libogg_static
  32. # PROPERTIES OUTPUT_NAME libogg)
  33. INSTALL(TARGETS libogg #libogg_dynamic
  34. RUNTIME DESTINATION bin
  35. ARCHIVE DESTINATION lib
  36. LIBRARY DESTINATION lib)
  37. INSTALL(FILES ${libogg_HDRS} DESTINATION include/ogg)