source: verona/phapi/CMakeLists.txt @ 218:9a495e91c66b

Last change on this file since 218:9a495e91c66b was 218:9a495e91c66b, checked in by laurent@…, 2 years ago

add wcecompat include path instead of cutil

File size: 4.1 KB
Line 
1project(phapi)
2
3set(PHAPI_VERSION_MAJOR 1)
4set(PHAPI_VERSION_MINOR 0)
5set(PHAPI_VERSION_MICRO 0)
6set(PHAPI_VERSION_STRING "1.0.0")
7
8add_definitions(${EXOSIP2_DEFINITIONS}
9  -DBUILD_PHAPI_DLL -DENABLE_TRACE)
10
11if(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  else()
16    add_definitions(-PHAPI_VIDEO_SUPPORT)
17  endif(NOT HAVE_AVCODEC_H)
18endif(ENABLE_VIDEO)
19
20if(ANDROID)
21  set(CMAKE_THREAD_LIBS_INIT "-lc")
22endif()
23include(FindThreads)
24
25have_includes(netinet/in.h)
26
27find_file(GSM_H gsm/gsm.h PATHS ${GSM_INCLUDE_DIRS})
28if (GSM_H)
29  set(ENABLE_GSM 1)   
30endif(GSM_H)
31
32find_file(SPEEX_H speex/speex.h PATHS ${SPEEX_INCLUDE_DIRS})
33if(SPEEX_H)
34  set(ENABLE_SPEEX 1)
35endif(SPEEX_H)
36
37
38if(NOT WIN32)
39  add_definitions(
40    -DHAVE_STRUCT_TIMEVAL
41    -DHAVE_SYS_TIME_H
42  )
43endif(NOT WIN32)
44
45include_directories(${CMAKE_CURRENT_BINARY_DIR} ${OSIP2_INCLUDE_DIRS} ${EXOSIP2_INCLUDE_DIRS} ${ORTP_INCLUDE_DIRS}
46  ${MEDIASTREAMER_INCLUDE_DIRS})
47
48set(PHAPI_GENERIC_SRCS phapi.c sdphandler.c)
49
50if(OLD_MS_SUPPORT)
51
52  set(PHAPI_MS_SRCS phmedia.c phcodec.c phmedia-audio.c phmedia-audio-null.c
53    phaudiodriver.c phrecorder.c phmbuf.c wav.c tonegen.c)
54
55  if(CMAKE_UNDER_CE OR WIN32)
56    set(PHAPI_WINCE_SRCS phmedia-winmm.c)
57  endif(CMAKE_UNDER_CE OR WIN32)
58
59  if(LINUX)
60    add_definitions(-DENABLE_OSS -DOS_LINUX)
61
62    set(PHAPI_LINUX_SRCS phmedia-oss.c)
63
64    find_library(ALSA  asound)
65    if (ALSA)
66      set(PHAPI_LINUX_SRCS  ${PHAPI_LINUX_SRCS} phmedia-alsa.c)
67      add_definitions(-DENABLE_ALSA)
68    endif(ALSA)
69
70    set(MATHLIB m)
71  endif(LINUX)
72
73  if(APPLE)
74    set(PHAPI_MAC_SRCS  phmedia-coreaudio.c)
75    find_library(COREAUDIO_LIBRARIES CoreAudio)
76    find_library(AUDIOUNIT_LIBRARIES AudioUnit)
77    find_library(AUDIOTOOLBOX_LIBRARIES AudioToolbox)
78    find_library(CORESERVICES_LIBRARIES CoreServices)
79    set(MAC_LIBS   ${COREAUDIO_LIBRARIES}
80      ${AUDIOUNIT_LIBRARIES}
81      ${AUDIOTOOLBOX_LIBRARIES}
82      ${CORESERVICES_LIBRARIES})
83  endif(APPLE)
84
85else(OLD_MS_SUPPORT)
86  set(PHAPI_MS_SRCS phms.c phms_audiostream.c)
87  if (ENABLE_VIDEO)
88    set(PHAPI_MS_SRCS ${PHAPI_MS_SRCS} phms_videostream.c phms_videoctrl.c)
89  endif(ENABLE_VIDEO)
90endif(OLD_MS_SUPPORT)
91
92set(PHAPI_SRCS ${PHAPI_GENERIC_SRCS} ${PHAPI_MS_SRCS} ${PHAPI_LINUX_SRCS} ${PHAPI_MAC_SRCS} ${PHAPI_WINCE_SRCS})
93set(PHAPI_LINK_LIBRARIES
94  ${EXOSIP2_LIBRARIES}
95  ${OSIP2_LIBRARIES}
96  ${ORTP_LIBRARIES}
97  ${ALSA}
98  ${MAC_LIBS}
99  ${MATHLIB}
100)
101
102if(USE_CSL)
103  add_definitions( -DHAVE_CSL )
104  include_directories(${CSL_INCLUDE_DIRS} ${ACSLCORE_INCLUDE_DIRS})
105  set(PHAPI_SRCS ${PHAPI_SRCS} phapi_csl.c)
106endif(USE_CSL)
107
108if(ANDROID)
109  add_definitions(-DANDROID)
110endif(ANDROID)
111
112if(MERCURIAL_FOUND)
113   execute_process(
114     COMMAND
115     ${MERCURIAL_HG_EXECUTABLE} -R ${CMAKE_CURRENT_SOURCE_DIR}/.. tip --template "{node|short}"
116     OUTPUT_VARIABLE PHAPI_REVISION
117   )
118endif(MERCURIAL_FOUND)
119
120configure_file("${CMAKE_CURRENT_SOURCE_DIR}/phapi-config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/phapi-config.h")
121
122if(NOT OLD_MS_SUPPORT)
123  set(PHAPI_LINK_LIBRARIES ${PHAPI_LINK_LIBRARIES} ${MEDIASTREAMER_LIBRARIES})
124endif(NOT OLD_MS_SUPPORT)
125
126find_file(STDINT_H_FILE "stdint.h")
127if(WIN32 AND NOT CMAKE_UNDER_CE)
128  include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../libs/util/cutil/include/cutil/msvc)
129else(WIN32 AND NOT CMAKE_UNDER_CE)
130        if(CMAKE_UNDER_CE)
131                include_directories(${WCECOMPAT_INCLUDE_DIRS})
132        endif(CMAKE_UNDER_CE)
133endif(WIN32 AND NOT CMAKE_UNDER_CE)
134
135if(CMAKE_UNDER_CE)
136  add_definitions(
137    -DMASQUERADE_VIA
138  )
139  include_directories(${WCECOMPAT_INCLUDE_DIRS})
140  set(PHAPI_LINK_LIBRARIES ${PHAPI_LINK_LIBRARIES} ${WCECOMPAT_LIBRARIES} msdirent)
141endif(CMAKE_UNDER_CE)
142if(ANDROID)
143  set(PHAPI_LINK_LIBRARIES ${PHAPI_LINK_LIBRARIES} log)
144endif(ANDROID)
145
146add_library(phapi SHARED ${PHAPI_SRCS})
147
148set(PHAPI_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}" CACHE PATH "Include path for phapi library")
149
150if (NOT ANDROID)
151  set_target_properties(phapi PROPERTIES VERSION ${PHAPI_VERSION_STRING} SOVERSION ${PHAPI_VERSION_STRING})
152endif()
153
154target_link_libraries(phapi ${PHAPI_LINK_LIBRARIES})
155target_link_libraries(phapi LINK_INTERFACE_LIBRARIES phapi)
156get_target_property(PHAPI_LIBRARIES phapi LOCATION)
Note: See TracBrowser for help on using the repository browser.