From 6065e6224ae7597013f6774565479b00168b373e Mon Sep 17 00:00:00 2001 From: Andreas Viborg Date: Thu, 16 Feb 2023 19:20:17 +0100 Subject: [PATCH 1/9] wip --- CMakeLists.txt | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..ad23052 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.15) +project(libvideo-streaming VERSION 1.0) + +option(BUILD_SHARED_LIBS "Build using shared libraries" ON) + +# video-streaming +set(LIB_SOURCES + src/vstrm_clock_delta.c + src/vstrm_dbg.c + src/vstrm_event.c + src/vstrm_frame.c + src/vstrm_h264_sei_streaming.c + src/vstrm_receiver.c + src/vstrm_rtp_h264_rx.c + src/vstrm_rtp_h264_tx.c + src/vstrm_sender.c + src/vstrm_session_metadata.c + src/vstrm_video_stats.c +) + +add_library(video-streaming ${LIB_SOURCES}) + +target_include_directories(video-streaming PUBLIC + $ + $ +) + +target_compile_definitions(video-streaming PRIVATE "VSTRM_API_EXPORTS") +target_compile_definitions(video-streaming PRIVATE "_GNU_SOURCE") +target_compile_options(video-streaming PRIVATE "-fvisibility=hidden") +target_compile_options(video-streaming PRIVATE "-std=gnu99") + +if(WIN32) + target_link_libraries(video-streaming ws2_32) +endif() + +target_link_libraries(video-streaming + futils + h264 + pomp + rtp + transport-packet + ulog + video-metadata +) From 8afbdba98e51c2443d1debe16b1ffe4ea1aa055c Mon Sep 17 00:00:00 2001 From: Andreas Viborg Date: Sun, 26 Feb 2023 12:48:40 +0100 Subject: [PATCH 2/9] wip --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ad23052..7c26797 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,9 @@ set(LIB_SOURCES ) add_library(video-streaming ${LIB_SOURCES}) +set_target_properties(video-streaming PROPERTIES + POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS} +) target_include_directories(video-streaming PUBLIC $ From 5e0290a8784f2cc37fb522cddc36e72b2a43b581 Mon Sep 17 00:00:00 2001 From: Oscar Sjoberg Date: Tue, 28 Feb 2023 10:05:37 +0100 Subject: [PATCH 3/9] updating the local CMakeLists.txt file From 23dde244d4de1f834fd56a76db6a6e38cae6934d Mon Sep 17 00:00:00 2001 From: Oscar Sjoberg Date: Wed, 1 Mar 2023 17:33:40 +0100 Subject: [PATCH 4/9] able to do correct install --- CMakeLists.txt | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ad23052..16a5aa5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,11 @@ cmake_minimum_required(VERSION 3.15) -project(libvideo-streaming VERSION 1.0) +project(video-streaming VERSION 1.0) + +if(COMMAND set_up_rpath) + set_up_rpath() +else() + message("Set up rpath not defined!") +endif() option(BUILD_SHARED_LIBS "Build using shared libraries" ON) @@ -18,23 +24,34 @@ set(LIB_SOURCES src/vstrm_video_stats.c ) -add_library(video-streaming ${LIB_SOURCES}) +add_library(${PROJECT_NAME} ${LIB_SOURCES}) -target_include_directories(video-streaming PUBLIC +target_include_directories(${PROJECT_NAME} PUBLIC $ $ ) -target_compile_definitions(video-streaming PRIVATE "VSTRM_API_EXPORTS") -target_compile_definitions(video-streaming PRIVATE "_GNU_SOURCE") -target_compile_options(video-streaming PRIVATE "-fvisibility=hidden") -target_compile_options(video-streaming PRIVATE "-std=gnu99") +target_compile_definitions(${PROJECT_NAME} PRIVATE "VSTRM_API_EXPORTS") +target_compile_definitions(${PROJECT_NAME} PRIVATE "_GNU_SOURCE") +target_compile_options(${PROJECT_NAME} PRIVATE "-fvisibility=hidden") +target_compile_options(${PROJECT_NAME} PRIVATE "-std=gnu99") if(WIN32) - target_link_libraries(video-streaming ws2_32) -endif() + target_link_libraries(${PROJECT_NAME} + PRIVATE + ws2_32 + futils + h264 + pomp + rtp + transport-packet + ulog + video-metadata + ) +else() -target_link_libraries(video-streaming +target_link_libraries(${PROJECT_NAME} + PRIVATE futils h264 pomp @@ -43,3 +60,13 @@ target_link_libraries(video-streaming ulog video-metadata ) + +endif() + +install(TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}-targets + PUBLIC_HEADER DESTINATION include + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) From 9d56ad164e0091c9b963a60b335f0b3951e07946 Mon Sep 17 00:00:00 2001 From: Oscar Sjoberg Date: Wed, 1 Mar 2023 17:34:51 +0100 Subject: [PATCH 5/9] wip From 82c38bc033db512b3c3cea4162d7e7f4ab0bb293 Mon Sep 17 00:00:00 2001 From: Oscar Sjoberg Date: Thu, 2 Mar 2023 16:05:32 +0100 Subject: [PATCH 6/9] correcting cmake --- CMakeLists.txt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 16a5aa5..24f377c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,6 @@ cmake_minimum_required(VERSION 3.15) project(video-streaming VERSION 1.0) -if(COMMAND set_up_rpath) - set_up_rpath() -else() - message("Set up rpath not defined!") -endif() option(BUILD_SHARED_LIBS "Build using shared libraries" ON) @@ -26,6 +21,12 @@ set(LIB_SOURCES add_library(${PROJECT_NAME} ${LIB_SOURCES}) +if(COMMAND set_up_rpath) + set_up_rpath() +else() + message("Set up rpath not defined!") +endif() + target_include_directories(${PROJECT_NAME} PUBLIC $ $ From ff757c5a6b4f54a7c625a1135c25cd262f8be9ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oscar=20Sj=C3=B6berg?= Date: Fri, 3 Mar 2023 11:22:44 +0100 Subject: [PATCH 7/9] pulling correct dll when installing windows From a9625dbcf98680c3f082b60919863d6ac3bbea03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oscar=20Sj=C3=B6berg?= Date: Fri, 3 Mar 2023 11:59:55 +0100 Subject: [PATCH 8/9] pulling correct dll when installing windows From c893eae59d3cc12bf04d9d40a623bb291fa39d02 Mon Sep 17 00:00:00 2001 From: Andreas Viborg Date: Tue, 14 Mar 2023 09:14:47 +0100 Subject: [PATCH 9/9] use shared lib --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 24f377c..d730519 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,10 @@ set(LIB_SOURCES src/vstrm_video_stats.c ) -add_library(${PROJECT_NAME} ${LIB_SOURCES}) +add_library(${PROJECT_NAME} SHARED ${LIB_SOURCES}) +set_target_properties(${PROJECT_NAME} PROPERTIES + POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS} +) if(COMMAND set_up_rpath) set_up_rpath()