diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d628e58f..0bf88fdc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,7 @@ jobs: mkdir build && cd build sh -c 'cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE;cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE' make + make install - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: @@ -61,6 +62,7 @@ jobs: mkdir build && cd build cmake .. -DBUILD_TEST=TRUE make + make install - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: @@ -92,6 +94,7 @@ jobs: mkdir build && cd build cmake .. -DCODE_COVERAGE=TRUE -DBUILD_TEST=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE make + make install - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: @@ -131,6 +134,7 @@ jobs: mkdir build && cd build cmake .. -DBUILD_TEST=TRUE -DADDRESS_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE make + make install - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: @@ -165,6 +169,7 @@ jobs: mkdir build && cd build cmake .. -DBUILD_TEST=TRUE -DUNDEFINED_BEHAVIOR_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE make + make install - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: @@ -255,6 +260,7 @@ jobs: mkdir build && cd build cmake .. -DBUILD_TEST=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE make + make install - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: @@ -319,6 +325,7 @@ jobs: mkdir build && cd build cmake .. -DBUILD_TEST=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic64 -DBUILD_LOG4CPLUS_HOST=arm-linux make + make install file libKinesisVideoProducer.so linux-aarch64-cross-compilation: @@ -340,6 +347,7 @@ jobs: mkdir build && cd build cmake .. -DBUILD_TEST=TRUE -DBUILD_OPENSSL_PLATFORM=linux-aarch64 -DBUILD_LOG4CPLUS_HOST=arm-linux make + make install file libKinesisVideoProducer.so arm32-cross-compilation: @@ -361,5 +369,6 @@ jobs: mkdir build && cd build cmake .. -DBUILD_TEST=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic32 -DBUILD_LOG4CPLUS_HOST=arm-linux make + make install file libKinesisVideoProducer.so diff --git a/CMake/Utilities.cmake b/CMake/Utilities.cmake index a4c1bb65..560ebc3a 100644 --- a/CMake/Utilities.cmake +++ b/CMake/Utilities.cmake @@ -80,7 +80,7 @@ function(build_dependency lib_name) # build library configure_file( - ${CMAKE_SOURCE_DIR}/CMake/Dependencies/lib${lib_name}-CMakeLists.txt + ${CMAKE_CURRENT_SOURCE_DIR}/CMake/Dependencies/lib${lib_name}-CMakeLists.txt ${KINESIS_VIDEO_OPEN_SOURCE_SRC}/lib${lib_name}/CMakeLists.txt COPYONLY) execute_process( COMMAND ${CMAKE_COMMAND} ${build_args} diff --git a/CMakeLists.txt b/CMakeLists.txt index 60ecca1a..d6ff6d7d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,7 @@ include(Utilities) project(KinesisVideoProducerCpp) set(CMAKE_CXX_STANDARD 11) +include(GNUInstallDirs) # User Flags option(BUILD_GSTREAMER_PLUGIN "Build kvssink GStreamer plugin" OFF) @@ -177,6 +178,10 @@ include_directories(${KINESIS_VIDEO_PRODUCER_CPP_SRC}/src/credential-providers) include_directories(${KINESIS_VIDEO_PRODUCER_CPP_SRC}/src/common) include_directories(${KINESIS_VIDEO_PRODUCER_CPP_SRC}/src/JNI/include) +install( + DIRECTORY ${KINESIS_VIDEO_PRODUCER_CPP_SRC}/src + DESTINATION .) + add_library(KinesisVideoProducer ${LINKAGE} ${PRODUCER_CPP_SOURCE_FILES}) target_link_libraries( KinesisVideoProducer @@ -185,6 +190,12 @@ target_link_libraries( ${Log4cplus} ${LIBCURL_LIBRARIES}) +install( + TARGETS KinesisVideoProducer + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + if(BUILD_JNI) find_package(JNI REQUIRED) include_directories(${JNI_INCLUDE_DIRS})