CMakeLists.txt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. cmake_minimum_required(VERSION 2.8)
  2. project(modplug)
  3. option(MODPLUG_BUILD_SHARED "Build shared library" OFF)
  4. option(MODPLUG_BUILD_STATIC "Build static library" ON)
  5. set(MODPLUG_SRC
  6. src/fastmix.cpp
  7. src/load_669.cpp
  8. src/load_abc.cpp
  9. src/load_amf.cpp
  10. src/load_ams.cpp
  11. src/load_dbm.cpp
  12. src/load_dmf.cpp
  13. src/load_dsm.cpp
  14. src/load_far.cpp
  15. src/load_it.cpp
  16. src/load_j2b.cpp
  17. src/load_mdl.cpp
  18. src/load_med.cpp
  19. src/load_mid.cpp
  20. src/load_mod.cpp
  21. src/load_mt2.cpp
  22. src/load_mtm.cpp
  23. src/load_okt.cpp
  24. src/load_pat.cpp
  25. src/load_psm.cpp
  26. src/load_ptm.cpp
  27. src/load_s3m.cpp
  28. src/load_stm.cpp
  29. src/load_ult.cpp
  30. src/load_umx.cpp
  31. src/load_wav.cpp
  32. src/load_xm.cpp
  33. src/mmcmp.cpp
  34. src/modplug.cpp
  35. src/snd_dsp.cpp
  36. src/snd_flt.cpp
  37. src/snd_fx.cpp
  38. src/sndfile.cpp
  39. src/sndmix.cpp
  40. )
  41. file(COPY src/modplug.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/libmodplug)
  42. if(APPLE)
  43. include(CheckFunctionExists)
  44. include(CheckIncludeFiles)
  45. include(CheckLibraryExists)
  46. include(CheckSymbolExists)
  47. include(CheckTypeSize)
  48. check_function_exists(sinf HAVE_SINF)
  49. check_function_exists(setenv HAVE_SETENV)
  50. check_include_files(dlfcn.h HAVE_DLFCN_H)
  51. check_include_files(inttypes.h HAVE_INTTYPES_H)
  52. check_include_files(malloc.h HAVE_MALLOC_H)
  53. check_include_files(memory.h HAVE_MEMORY_H)
  54. check_include_files(stdint.h HAVE_STDINT_H)
  55. check_include_files(stdlib.h HAVE_STDLIB_H)
  56. check_include_files(strings.h HAVE_STRINGS_H)
  57. check_include_files(string.h HAVE_STRING_H)
  58. check_include_files("sys/stat.h" HAVE_SYS_STAT_H)
  59. check_include_files("sys/types.h" HAVE_SYS_TYPES_H)
  60. check_include_files(unistd.h HAVE_UNISTD_H)
  61. set(VERSION "0.8.8.4")
  62. configure_file(src/config.h.cmake config.h)
  63. add_definitions(-DHAVE_CONFIG_H)
  64. endif()
  65. if(MODPLUG_BUILD_STATIC)
  66. add_library(modplug-static STATIC ${MODPLUG_SRC})
  67. target_include_directories(modplug-static PUBLIC src src/libmodplug ${CMAKE_CURRENT_BINARY_DIR})
  68. if(ANDROID)
  69. target_compile_definitions(modplug-static PUBLIC HAVE_SETENV HAVE_SINF)
  70. endif()
  71. endif()
  72. if(MODPLUG_BUILD_SHARED)
  73. add_library(modplug SHARED ${MODPLUG_SRC})
  74. target_include_directories(modplug PUBLIC src src/libmodplug ${CMAKE_CURRENT_BINARY_DIR})
  75. if(ANDROID)
  76. target_compile_definitions(modplug PUBLIC HAVE_SETENV HAVE_SINF)
  77. endif()
  78. endif()