mirror of
https://github.com/gozfree/gear-lib.git
synced 2026-02-06 02:54:22 +08:00
add cmake support
This commit is contained in:
@@ -1,31 +1,7 @@
|
|||||||
cmake_minimum_required(VERSION 3.9)
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
|
||||||
include_directories(include)
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
set(darray_src src/libdarray.c src/libserializer.c)
|
INCLUDE(build/cmake_env.inc)
|
||||||
set(hash_src src/libhash.c)
|
|
||||||
set(posix_src src/libposix.c)
|
|
||||||
set(base64_src src/libbase64.c)
|
|
||||||
set(log_src src/liblog.c)
|
|
||||||
set(file_src src/filewatcher.c src/fio.c src/io.c src/libfile.c)
|
|
||||||
set(ipc_src src/libipc.c src/msgq_posix.c src/msgq_sysv.c src/netlink.c src/shm.c src/unix_socket.c)
|
|
||||||
set(gevent_src src/epoll.c src/libgevent.c src/poll.c src/select.c)
|
|
||||||
set(dict_src src/libdict.c)
|
|
||||||
set(queue_src src/libqueue.c)
|
|
||||||
set(vector_src src/libvector.c)
|
|
||||||
set(media-io_src src/audio-def.c src/libmedia-io.c src/video-def.c)
|
|
||||||
|
|
||||||
add_library(posix SHARED ${posix_src})
|
|
||||||
add_library(hash SHARED ${hash_src})
|
|
||||||
add_library(media-io SHARED ${media-io_src})
|
|
||||||
add_library(darray SHARED ${darray_src})
|
|
||||||
add_library(gevent SHARED ${gevent_src})
|
|
||||||
add_library(dict SHARED ${dict_src})
|
|
||||||
add_library(ipc SHARED ${ipc_src})
|
|
||||||
target_link_libraries(ipc rt gevent dict)
|
|
||||||
|
|
||||||
add_library(log SHARED ${log_src})
|
|
||||||
add_library(file SHARED ${file_src})
|
|
||||||
add_library(queue SHARED ${queue_src})
|
|
||||||
add_library(vector SHARED ${vector_src})
|
|
||||||
|
|
||||||
|
ADD_SUBDIRECTORY(gear-lib)
|
||||||
|
|||||||
24
build/cmake_env.inc
Normal file
24
build/cmake_env.inc
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
#set output directory
|
||||||
|
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/build/lib)
|
||||||
|
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/build/bin)
|
||||||
|
SET(TD_TESTS_OUTPUT_DIR ${PROJECT_BINARY_DIR}/test)
|
||||||
|
|
||||||
|
MESSAGE(STATUS "============= Compile Env ============= ")
|
||||||
|
MESSAGE(STATUS " CPU Info: " ${CMAKE_SYSTEM_PROCESSOR})
|
||||||
|
MESSAGE(STATUS " OS Info: " ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_VERSION})
|
||||||
|
MESSAGE(STATUS "Host Info: " ${CMAKE_HOST_SYSTEM_NAME})
|
||||||
|
MESSAGE(STATUS "============= Compile Env ============= ")
|
||||||
|
|
||||||
|
MESSAGE(STATUS "Project source directory: " ${PROJECT_SOURCE_DIR})
|
||||||
|
MESSAGE(STATUS "Project binary files output path: " ${PROJECT_BINARY_DIR})
|
||||||
|
MESSAGE(STATUS "Project executable files output path: " ${EXECUTABLE_OUTPUT_PATH})
|
||||||
|
MESSAGE(STATUS "Project library files output path: " ${LIBRARY_OUTPUT_PATH})
|
||||||
|
|
||||||
|
IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
|
SET(OS_LINUX TRUE)
|
||||||
|
ELSEIF (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
||||||
|
SET(OS_WINDOWS TRUE)
|
||||||
|
ENDIF ()
|
||||||
32
gear-lib/CMakeLists.txt
Normal file
32
gear-lib/CMakeLists.txt
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
SET(POSIX_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libposix/)
|
||||||
|
SET(DICT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libdict/)
|
||||||
|
SET(DARRAY_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libdarray/)
|
||||||
|
SET(THREAD_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libthread/)
|
||||||
|
SET(GEVENT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libgevent/)
|
||||||
|
SET(MEDIA_IO_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libmedia-io/)
|
||||||
|
SET(QUEUE_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libqueue/)
|
||||||
|
SET(LOG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/liblog/)
|
||||||
|
SET(SOCK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libsock/)
|
||||||
|
SET(FILE_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libfile/)
|
||||||
|
SET(UVC_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libuvc/)
|
||||||
|
SET(TIME_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libtime/)
|
||||||
|
|
||||||
|
ADD_SUBDIRECTORY(libposix)
|
||||||
|
ADD_SUBDIRECTORY(libbase64)
|
||||||
|
ADD_SUBDIRECTORY(libbitmap)
|
||||||
|
ADD_SUBDIRECTORY(libdict)
|
||||||
|
ADD_SUBDIRECTORY(libdarray)
|
||||||
|
ADD_SUBDIRECTORY(libqueue)
|
||||||
|
ADD_SUBDIRECTORY(libthread)
|
||||||
|
ADD_SUBDIRECTORY(libgevent)
|
||||||
|
ADD_SUBDIRECTORY(libfile)
|
||||||
|
ADD_SUBDIRECTORY(libtime)
|
||||||
|
ADD_SUBDIRECTORY(libsock)
|
||||||
|
ADD_SUBDIRECTORY(liblog)
|
||||||
|
ADD_SUBDIRECTORY(libmedia-io)
|
||||||
|
ADD_SUBDIRECTORY(libuvc)
|
||||||
|
ADD_SUBDIRECTORY(librtmpc)
|
||||||
|
ADD_SUBDIRECTORY(librtsp)
|
||||||
7
gear-lib/libbase64/CMakeLists.txt
Normal file
7
gear-lib/libbase64/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(base64 ${SOURCE_FILES})
|
||||||
7
gear-lib/libbitmap/CMakeLists.txt
Normal file
7
gear-lib/libbitmap/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(bitmap ${SOURCE_FILES})
|
||||||
7
gear-lib/libconfig/CMakeLists.txt
Normal file
7
gear-lib/libconfig/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCE_FILES)
|
||||||
|
|
||||||
|
add_library(config ${SOURCE_FILES})
|
||||||
7
gear-lib/libdarray/CMakeLists.txt
Normal file
7
gear-lib/libdarray/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(darray ${SOURCE_FILES})
|
||||||
7
gear-lib/libdict/CMakeLists.txt
Normal file
7
gear-lib/libdict/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(dict ${SOURCE_FILES})
|
||||||
13
gear-lib/libfile/CMakeLists.txt
Normal file
13
gear-lib/libfile/CMakeLists.txt
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR} ${DICT_INCLUDE_DIR} ${GEVENT_INCLUDE_DIR} ${DARRAY_INCLUDE_DIR} ${THREAD_INCLUDE_DIR})
|
||||||
|
|
||||||
|
LIST(APPEND SOURCE_FILES libfile.c fio.c io.c)
|
||||||
|
|
||||||
|
IF (DEFINED OS_LINUX)
|
||||||
|
LIST(APPEND SOURCE_FILES filewatcher.c)
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
|
ADD_LIBRARY(file ${SOURCE_FILES})
|
||||||
|
|
||||||
14
gear-lib/libgevent/CMakeLists.txt
Normal file
14
gear-lib/libgevent/CMakeLists.txt
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR} ${DARRAY_INCLUDE_DIR} ${THREAD_INCLUDE_DIR})
|
||||||
|
|
||||||
|
LIST(APPEND SOURCE_FILES libgevent.c)
|
||||||
|
|
||||||
|
IF (DEFINED OS_LINUX)
|
||||||
|
LIST(APPEND SOURCE_FILES epoll.c libgevent.c poll.c select.c)
|
||||||
|
ELSEIF (DEFINED OS_WINDOWS)
|
||||||
|
LIST(APPEND SOURCE_FILES wepoll.c iocp.c)
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
|
ADD_LIBRARY(gevent ${SOURCE_FILES})
|
||||||
7
gear-lib/liblog/CMakeLists.txt
Normal file
7
gear-lib/liblog/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(log ${SOURCE_FILES})
|
||||||
7
gear-lib/libmedia-io/CMakeLists.txt
Normal file
7
gear-lib/libmedia-io/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(media-io ${SOURCE_FILES})
|
||||||
16
gear-lib/libposix/CMakeLists.txt
Normal file
16
gear-lib/libposix/CMakeLists.txt
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(.)
|
||||||
|
|
||||||
|
LIST(APPEND SOURCE_FILES libposix.c)
|
||||||
|
|
||||||
|
IF (DEFINED OS_LINUX)
|
||||||
|
LIST(APPEND SOURCE_FILES libposix4nix.c)
|
||||||
|
ELSEIF (DEFINED OS_WINDOWS)
|
||||||
|
AUX_SOURCE_DIRECTORY(MsvcLibX MSVCLIBX_SRC)
|
||||||
|
AUX_SOURCE_DIRECTORY(pthreads4w PTHREADS4W_SRC)
|
||||||
|
LIST(APPEND SOURCE_FILES ${MSVCLIBX_SRC} ${PTHREADS4W_SRC})
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
|
ADD_LIBRARY(posix ${SOURCE_FILES})
|
||||||
7
gear-lib/libqueue/CMakeLists.txt
Normal file
7
gear-lib/libqueue/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(queue ${SOURCE_FILES})
|
||||||
9
gear-lib/librtmpc/CMakeLists.txt
Normal file
9
gear-lib/librtmpc/CMakeLists.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR} ${DARRAY_INCLUDE_DIR} ${MEDIA_IO_INCLUDE_DIR} ${QUEUE_INCLUDE_DIR} ${THREAD_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_CRYPTO")
|
||||||
|
|
||||||
|
ADD_LIBRARY(rtmpc ${SOURCE_FILES})
|
||||||
7
gear-lib/librtsp/CMakeLists.txt
Normal file
7
gear-lib/librtsp/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR} ${LOG_INCLUDE_DIR} ${DICT_INCLUDE_DIR} ${THREAD_INCLUDE_DIR} ${GEVENT_INCLUDE_DIR} ${DARRAY_INCLUDE_DIR} ${SOCK_INCLUDE_DIR} ${MEDIA_IO_INCLUDE_DIR} ${FILE_INCLUDE_DIR} ${QUEUE_INCLUDE_DIR} ${UVC_INCLUDE_DIR} ${TIME_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(rtsp ${SOURCE_FILES})
|
||||||
7
gear-lib/libsock/CMakeLists.txt
Normal file
7
gear-lib/libsock/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR} ${GEVENT_INCLUDE_DIR} ${DARRAY_INCLUDE_DIR} ${THREAD_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(sock ${SOURCE_FILES})
|
||||||
7
gear-lib/libthread/CMakeLists.txt
Normal file
7
gear-lib/libthread/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(thread ${SOURCE_FILES})
|
||||||
7
gear-lib/libtime/CMakeLists.txt
Normal file
7
gear-lib/libtime/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR})
|
||||||
|
AUX_SOURCE_DIRECTORY(. SOURCE_FILES)
|
||||||
|
|
||||||
|
ADD_LIBRARY(time ${SOURCE_FILES})
|
||||||
14
gear-lib/libuvc/CMakeLists.txt
Normal file
14
gear-lib/libuvc/CMakeLists.txt
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
|
||||||
|
PROJECT(gear-lib)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(. ${POSIX_INCLUDE_DIR} ${MEDIA_IO_INCLUDE_DIR} ${THREAD_INCLUDE_DIR})
|
||||||
|
|
||||||
|
LIST(APPEND SOURCE_FILES libuvc.c)
|
||||||
|
|
||||||
|
IF (DEFINED OS_LINUX)
|
||||||
|
LIST(APPEND SOURCE_FILES v4l2.c)
|
||||||
|
ELSEIF (DEFINED OS_WINDOWS)
|
||||||
|
LIST(APPEND SOURCE_FILES dshow.c)
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
|
ADD_LIBRARY(uvc ${SOURCE_FILES})
|
||||||
Reference in New Issue
Block a user