| 1 | project(phapi) |
|---|
| 2 | |
|---|
| 3 | set(PHAPI_VERSION_MAJOR 1) |
|---|
| 4 | set(PHAPI_VERSION_MINOR 0) |
|---|
| 5 | set(PHAPI_VERSION_MICRO 0) |
|---|
| 6 | set(PHAPI_VERSION_STRING "1.0.0") |
|---|
| 7 | |
|---|
| 8 | add_definitions(${EXOSIP2_DEFINITIONS} |
|---|
| 9 | -DBUILD_PHAPI_DLL) |
|---|
| 10 | |
|---|
| 11 | if(ENABLE_VIDEO) |
|---|
| 12 | find_file(HAVE_AVCODEC_H avcodec.h) |
|---|
| 13 | if(NOT HAVE_AVCODEC_H) |
|---|
| 14 | message("Can't find avcodec.h -- Video disabled") |
|---|
| 15 | endif(NOT HAVE_AVCODEC_H) |
|---|
| 16 | endif(ENABLE_VIDEO) |
|---|
| 17 | |
|---|
| 18 | include(FindThreads) |
|---|
| 19 | |
|---|
| 20 | if(ENABLE_VIDEO AND HAVE_AVCDODEC_H) |
|---|
| 21 | add_definitions(-DENABLE_VIDEO) |
|---|
| 22 | endif(ENABLE_VIDEO AND HAVE_AVCDODEC_H) |
|---|
| 23 | |
|---|
| 24 | have_includes(netinet/in.h gsm/gsm.h) |
|---|
| 25 | |
|---|
| 26 | if (HAVE_GSM_GSM_H) |
|---|
| 27 | find_library(GSM gsm) |
|---|
| 28 | endif (HAVE_GSM_GSM_H) |
|---|
| 29 | |
|---|
| 30 | if(NOT WIN32) |
|---|
| 31 | add_definitions( |
|---|
| 32 | -DHAVE_STRUCT_TIMEVAL |
|---|
| 33 | -DHAVE_SYS_TIME_H |
|---|
| 34 | ) |
|---|
| 35 | endif(NOT WIN32) |
|---|
| 36 | |
|---|
| 37 | include_directories(${OSIP2_INCLUDE_DIRS} ${EXOSIP2_INCLUDE_DIRS} ${ORTP_INCLUDE_DIRS}) |
|---|
| 38 | |
|---|
| 39 | set(PHAPI_GENERIC_SRCS phapi.c phmedia.c phcodec.c phmedia-audio.c phmedia-audio-null.c |
|---|
| 40 | phaudiodriver.c phrecorder.c phmbuf.c wav.c tonegen.c |
|---|
| 41 | ) |
|---|
| 42 | |
|---|
| 43 | if(CMAKE_UNDER_CE) |
|---|
| 44 | set(PHAPI_WINCE_SRCS phmedia-winmm.c) |
|---|
| 45 | endif(CMAKE_UNDER_CE) |
|---|
| 46 | |
|---|
| 47 | if(LINUX) |
|---|
| 48 | add_definitions(-DENABLE_OSS -DOS_LINUX) |
|---|
| 49 | |
|---|
| 50 | set(PHAPI_LINUX_SRCS phmedia-oss.c) |
|---|
| 51 | |
|---|
| 52 | find_library(ALSA asound) |
|---|
| 53 | if (ALSA) |
|---|
| 54 | set(PHAPI_LINUX_SRCS ${PHAPI_LINUX_SRCS} phmedia-alsa.c) |
|---|
| 55 | add_definitions(-DENABLE_ALSA) |
|---|
| 56 | endif(ALSA) |
|---|
| 57 | |
|---|
| 58 | set(MATHLIB m) |
|---|
| 59 | |
|---|
| 60 | endif(LINUX) |
|---|
| 61 | |
|---|
| 62 | set(PHAPI_SRCS ${PHAPI_GENERIC_SRCS} ${PHAPI_LINUX_SRCS} ${PHAPI_WINCE_SRCS}) |
|---|
| 63 | set(PHAPI_LINK_LIBRARIES |
|---|
| 64 | exosip2 |
|---|
| 65 | osip2 |
|---|
| 66 | ortp |
|---|
| 67 | ${GSM} |
|---|
| 68 | ${ALSA} |
|---|
| 69 | ${MATHLIB} |
|---|
| 70 | ) |
|---|
| 71 | if(WIN32 AND NOT CMAKE_UNDER_CE) |
|---|
| 72 | set(PHAPI_LINK_LIBRARIES ${PHAPI_LINK_LIBRARIES} osipparser2) |
|---|
| 73 | endif(WIN32 AND NOT CMAKE_UNDER_CE) |
|---|
| 74 | if(CMAKE_UNDER_CE) |
|---|
| 75 | set(PHAPI_LINK_LIBRARIES ${PHAPI_LINK_LIBRARIES} osipparser2 wcecompat) |
|---|
| 76 | endif(CMAKE_UNDER_CE) |
|---|
| 77 | |
|---|
| 78 | add_library(phapi SHARED ${PHAPI_SRCS}) |
|---|
| 79 | |
|---|
| 80 | |
|---|
| 81 | |
|---|
| 82 | if(CMAKE_UNDER_CE) |
|---|
| 83 | include_directories(${WCECOMPAT_INCLUDE_DIRS}) |
|---|
| 84 | set(PHAPI_LINK_LIBRARIES ${PHAPI_LINK_LIBRARIES} ${WCECOMPAT_LIBRARIES}) |
|---|
| 85 | endif(CMAKE_UNDER_CE) |
|---|
| 86 | |
|---|
| 87 | set_target_properties(phapi PROPERTIES VERSION ${PHAPI_VERSION_STRING} SOVERSION ${PHAPI_VERSION_STRING}) |
|---|
| 88 | target_link_libraries(phapi ${PHAPI_LINK_LIBRARIES}) |
|---|
| 89 | |
|---|
| 90 | |
|---|