@@ -10,8 +10,6 @@ include(GNUInstallDirs)
1010
1111# User Flags
1212option (BUILD_GSTREAMER_PLUGIN "Build kvssink GStreamer plugin" OFF )
13- option (BUILD_JNI "Build C++ wrapper for JNI to expose the functionality to Java/Android" OFF )
14- option (BUILD_JNI_ONLY "Build ONLY the JNI, don't build C++ Producer SDK" OFF )
1513option (BUILD_STATIC "Build with static linkage" OFF )
1614option (ADD_MUCLIBC "Add -muclibc c flag" OFF )
1715option (BUILD_DEPENDENCIES "Whether or not to build depending libraries from source" ON )
@@ -58,81 +56,79 @@ add_definitions(-DKVS_CA_CERT_PATH="${CMAKE_CURRENT_SOURCE_DIR}/certs/cert.pem")
5856add_definitions (-DCMAKE_DETECTED_CACERT_PATH)
5957
6058
61- if (NOT BUILD_JNI_ONLY)
62- if (BUILD_DEPENDENCIES)
63- if (NOT EXISTS ${KINESIS_VIDEO_OPEN_SOURCE_SRC} )
64- file (MAKE_DIRECTORY ${KINESIS_VIDEO_OPEN_SOURCE_SRC} /local)
65- endif ()
66-
67- if (NOT OPEN_SRC_INSTALL_PREFIX)
68- set (OPEN_SRC_INSTALL_PREFIX ${KINESIS_VIDEO_OPEN_SOURCE_SRC} /local)
69- set (ENV{PKG_CONFIG_PATH}
70- "$ENV{PKG_CONFIG_PATH} :${OPEN_SRC_INSTALL_PREFIX} /lib/pkgconfig" )
71- set (CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${OPEN_SRC_INSTALL_PREFIX} )
72- set (ENV{PATH } "$ENV{PATH} :${OPEN_SRC_INSTALL_PREFIX} /bin" )
73- endif ()
74-
59+ if (BUILD_DEPENDENCIES)
60+ if (NOT EXISTS ${KINESIS_VIDEO_OPEN_SOURCE_SRC} )
61+ file (MAKE_DIRECTORY ${KINESIS_VIDEO_OPEN_SOURCE_SRC} /local)
62+ endif ()
7563
76- message (STATUS "Begin building dependencies." )
77- if (NOT WIN32 )
78- build_dependency(autoconf)
79- build_dependency(automake)
80- endif ()
64+ if (NOT OPEN_SRC_INSTALL_PREFIX)
65+ set (OPEN_SRC_INSTALL_PREFIX ${KINESIS_VIDEO_OPEN_SOURCE_SRC} /local)
66+ set (ENV{PKG_CONFIG_PATH}
67+ "$ENV{PKG_CONFIG_PATH} :${OPEN_SRC_INSTALL_PREFIX} /lib/pkgconfig" )
68+ set (CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${OPEN_SRC_INSTALL_PREFIX} )
69+ set (ENV{PATH } "$ENV{PATH} :${OPEN_SRC_INSTALL_PREFIX} /bin" )
70+ endif ()
8171
82- if (BUILD_LOG4CPLUS_HOST)
83- set (BUILD_ARGS -DBUILD_LOG4CPLUS_HOST=${BUILD_LOG4CPLUS_HOST} )
84- build_dependency(log4cplus ${BUILD_ARGS} -DBUILD_STATIC=${BUILD_STATIC} )
85- else ()
86- build_dependency(log4cplus -DBUILD_STATIC=${BUILD_STATIC} )
87- endif ()
8872
89- message (STATUS "Finished building dependencies." )
73+ message (STATUS "Begin building dependencies." )
74+ if (NOT WIN32 )
75+ build_dependency(autoconf)
76+ build_dependency(automake)
9077 endif ()
9178
92- set (BUILD_COMMON_LWS
93- FALSE
94- CACHE BOOL "Build ProducerC without LWS Support" FORCE)
95- set (BUILD_COMMON_CURL
96- TRUE
97- CACHE BOOL "Build ProducerC with CURL Support" FORCE)
98- set (DEPENDENCY_DOWNLOAD_PATH ${CMAKE_CURRENT_SOURCE_DIR} /dependency)
99- if (NOT EXISTS ${DEPENDENCY_DOWNLOAD_PATH} )
100- file (MAKE_DIRECTORY ${DEPENDENCY_DOWNLOAD_PATH} )
79+ if (BUILD_LOG4CPLUS_HOST)
80+ set (BUILD_ARGS -DBUILD_LOG4CPLUS_HOST=${BUILD_LOG4CPLUS_HOST} )
81+ build_dependency(log4cplus ${BUILD_ARGS} -DBUILD_STATIC=${BUILD_STATIC} )
82+ else ()
83+ build_dependency(log4cplus -DBUILD_STATIC=${BUILD_STATIC} )
10184 endif ()
10285
103- fetch_repo(kvscproducer)
104- add_subdirectory (${DEPENDENCY_DOWNLOAD_PATH} /libkvscproducer/kvscproducer-src EXCLUDE_FROM_ALL )
105- ############# find dependent libraries ############
86+ message (STATUS "Finished building dependencies." )
87+ endif ()
10688
107- find_package (Threads)
108- find_package (PkgConfig REQUIRED)
89+ set (BUILD_COMMON_LWS
90+ FALSE
91+ CACHE BOOL "Build ProducerC without LWS Support" FORCE)
92+ set (BUILD_COMMON_CURL
93+ TRUE
94+ CACHE BOOL "Build ProducerC with CURL Support" FORCE)
95+ set (DEPENDENCY_DOWNLOAD_PATH ${CMAKE_CURRENT_SOURCE_DIR} /dependency)
96+ if (NOT EXISTS ${DEPENDENCY_DOWNLOAD_PATH} )
97+ file (MAKE_DIRECTORY ${DEPENDENCY_DOWNLOAD_PATH} )
98+ endif ()
10999
110- if (OPEN_SRC_INSTALL_PREFIX)
111- find_package (CURL REQUIRED PATHS ${OPEN_SRC_INSTALL_PREFIX} )
112- else ()
113- find_package (CURL REQUIRED)
114- endif ()
100+ fetch_repo(kvscproducer)
101+ add_subdirectory (${DEPENDENCY_DOWNLOAD_PATH} /libkvscproducer/kvscproducer-src EXCLUDE_FROM_ALL )
102+ ############# find dependent libraries ############
115103
116- set (OPEN_SRC_INCLUDE_DIRS ${OPEN_SRC_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} )
117- link_directories ( ${CURL_LIBRARY_DIRS} )
104+ find_package (Threads )
105+ find_package (PkgConfig REQUIRED )
118106
119- if (WIN32 )
120- find_package (Log4cplus
121- NAMES log4cplus REQUIRED
122- PATHS ${OPEN_SRC_INSTALL_PREFIX} /lib)
123- SET (Log4cplus "log4cplus::log4cplus" )
124- else ()
125- find_package (Log4cplus REQUIRED)
126- include_directories (${LOG4CPLUS_INCLUDE_DIR} )
127- set (Log4cplus ${LOG4CPLUS_LIBRARIES} )
128- endif ()
107+ if (OPEN_SRC_INSTALL_PREFIX)
108+ find_package (CURL REQUIRED PATHS ${OPEN_SRC_INSTALL_PREFIX} )
109+ else ()
110+ find_package (CURL REQUIRED)
111+ endif ()
112+
113+ set (OPEN_SRC_INCLUDE_DIRS ${OPEN_SRC_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} )
114+ link_directories (${CURL_LIBRARY_DIRS} )
115+
116+ if (WIN32 )
117+ find_package (Log4cplus
118+ NAMES log4cplus REQUIRED
119+ PATHS ${OPEN_SRC_INSTALL_PREFIX} /lib)
120+ SET (Log4cplus "log4cplus::log4cplus" )
121+ else ()
122+ find_package (Log4cplus REQUIRED)
123+ include_directories (${LOG4CPLUS_INCLUDE_DIR} )
124+ set (Log4cplus ${LOG4CPLUS_LIBRARIES} )
125+ endif ()
129126
130- if (WIN32 )
131- if (EXISTS "C:\\ gstreamer\\ 1.0\\ msvc_x86_64\\ bin\\ pkg-config.exe" )
132- set (PKG_CONFIG_EXECUTABLE "C:\\ gstreamer\\ 1.0\\ msvc_x86_64\\ bin\\ pkg-config.exe" )
133- else ()
134- set (PKG_CONFIG_EXECUTABLE "D:\\ gstreamer\\ 1.0\\ msvc_x86_64\\ bin\\ pkg-config.exe" )
135- endif ()
127+ if (WIN32 )
128+ if (EXISTS "C:\\ gstreamer\\ 1.0\\ msvc_x86_64\\ bin\\ pkg-config.exe" )
129+ set (PKG_CONFIG_EXECUTABLE "C:\\ gstreamer\\ 1.0\\ msvc_x86_64\\ bin\\ pkg-config.exe" )
130+ else ()
131+ set (PKG_CONFIG_EXECUTABLE "D:\\ gstreamer\\ 1.0\\ msvc_x86_64\\ bin\\ pkg-config.exe" )
136132 endif ()
137133endif ()
138134
@@ -172,7 +168,6 @@ endif()
172168############# Build Targets ############
173169file (GLOB PRODUCER_CPP_SOURCE_FILES "src/*.cpp" "src/common/*.cpp" "src/credential-providers/*.cpp" )
174170file (GLOB GST_PLUGIN_SOURCE_FILES "src/gstreamer/*.cpp" "src/gstreamer/Util/*.cpp" )
175- file (GLOB_RECURSE JNI_SOURCE_FILES "src/JNI/*.cpp" )
176171file (GLOB PIC_HEADERS "${pic_project_SOURCE_DIR} /src/*/include" )
177172
178173include_directories (${PIC_HEADERS} )
@@ -182,44 +177,24 @@ include_directories(${KINESIS_VIDEO_OPEN_SOURCE_SRC}/include)
182177include_directories (${KINESIS_VIDEO_PRODUCER_CPP_SRC} /src)
183178include_directories (${KINESIS_VIDEO_PRODUCER_CPP_SRC} /src/credential-providers)
184179include_directories (${KINESIS_VIDEO_PRODUCER_CPP_SRC} /src/common)
185- include_directories (${KINESIS_VIDEO_PRODUCER_CPP_SRC} /src/JNI/include )
186-
187- if (NOT BUILD_JNI_ONLY)
188- install (
189- DIRECTORY ${KINESIS_VIDEO_PRODUCER_CPP_SRC} /src
190- DESTINATION .)
191-
192- add_library (KinesisVideoProducer ${LINKAGE} ${PRODUCER_CPP_SOURCE_FILES} )
193- target_link_libraries (
194- KinesisVideoProducer
195- PUBLIC kvsCommonCurl
196- cproducer
197- ${Log4cplus}
198- ${LIBCURL_LIBRARIES} )
199-
200- install (
201- TARGETS KinesisVideoProducer
202- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
203- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
204- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} " )
205- endif ()
206-
207- if (BUILD_JNI_ONLY)
208- set (DEPENDENCY_DOWNLOAD_PATH ${CMAKE_CURRENT_SOURCE_DIR} /dependency)
209- set (BUILD_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} )
210- fetch_repo(kvspic ${BUILD_ARGS} )
211- add_subdirectory ("${DEPENDENCY_DOWNLOAD_PATH} /libkvspic/kvspic-src" )
212- file (GLOB PIC_HEADERS "${pic_project_SOURCE_DIR} /src/*/include" )
213- include_directories ("${PIC_HEADERS} " )
214- endif ()
215180
216- if (BUILD_JNI OR BUILD_JNI_ONLY)
217- find_package (JNI REQUIRED)
218- include_directories (${JNI_INCLUDE_DIRS} )
219-
220- add_library (KinesisVideoProducerJNI SHARED ${JNI_HEADERS} ${JNI_SOURCE_FILES} )
221- target_link_libraries (KinesisVideoProducerJNI kvspic)
222- endif ()
181+ install (
182+ DIRECTORY ${KINESIS_VIDEO_PRODUCER_CPP_SRC} /src
183+ DESTINATION .)
184+
185+ add_library (KinesisVideoProducer ${LINKAGE} ${PRODUCER_CPP_SOURCE_FILES} )
186+ target_link_libraries (
187+ KinesisVideoProducer
188+ PUBLIC kvsCommonCurl
189+ cproducer
190+ ${Log4cplus}
191+ ${LIBCURL_LIBRARIES} )
192+
193+ install (
194+ TARGETS KinesisVideoProducer
195+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
196+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
197+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} " )
223198
224199
225200if (BUILD_GSTREAMER_PLUGIN)
0 commit comments