Skip to content

Commit 6a07389

Browse files
committed
Merge branch 'release-1.0.0'
2 parents 8bd885a + e01ac47 commit 6a07389

37 files changed

+1209
-140
lines changed

.circleci/config.yml

+15-15
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: 2
22
jobs:
3-
build:
3+
build-ubuntu-18.04:
44
docker:
55
- image: heliconwave/circleci-ubuntu-18.04:latest
66
steps:
@@ -28,13 +28,13 @@ jobs:
2828
cat CPackConfig.cmake &&
2929
cpack --config CPackConfig.cmake
3030
- store_artifacts:
31-
path: /root/project/mpeg2ts-0.6.0-Linux.tar.gz
31+
path: /root/project/mpeg2ts-1.0.0-Linux.tar.gz
3232
- persist_to_workspace:
3333
root: /root/project
3434
paths:
3535
- Debug
3636
- Release
37-
build-16.04:
37+
build-ubuntu-16.04:
3838
docker:
3939
- image: heliconwave/circleci-ubuntu-16.04:latest
4040
steps:
@@ -62,7 +62,7 @@ jobs:
6262
cat CPackConfig.cmake &&
6363
cpack --config CPackConfig.cmake
6464
- store_artifacts:
65-
path: /root/project/mpeg2ts-0.6.0-Linux.tar.gz
65+
path: /root/project/mpeg2ts-1.0.0-Linux.tar.gz
6666
- persist_to_workspace:
6767
root: /root/project
6868
paths:
@@ -76,7 +76,7 @@ jobs:
7676
# - run:
7777
# name: Build CMake WebAssembly
7878
# command: cd /root/project && em++ --version && pwd && rm -rf build/ && mkdir build && cd build/ && emcmake cmake -DCMAKE_CXX_STANDARD=11 -DENABLE_TESTS=OFF -DENABLE_WEBASSEMBLY=ON .. && cmake --build . -- -j$(nproc)
79-
test-unit:
79+
test-unit-u18.04:
8080
docker:
8181
- image: heliconwave/circleci-ubuntu-18.04:latest
8282
working_directory: ~/project
@@ -87,7 +87,7 @@ jobs:
8787
- run:
8888
name: Run CTest
8989
command: pwd && ls -ltrha && cd Debug/ && make unit-tests
90-
test-unit-16.04:
90+
test-unit-u16.04:
9191
docker:
9292
- image: heliconwave/circleci-ubuntu-16.04:latest
9393
working_directory: ~/project
@@ -133,21 +133,21 @@ workflows:
133133
version: 2
134134
build-test-and-deploy:
135135
jobs:
136-
- build
137-
- build-16.04
136+
- build-ubuntu-18.04
137+
- build-ubuntu-16.04
138138
# - build-webassembly
139-
- test-unit:
139+
- test-unit-u18.04:
140140
requires:
141-
- build
142-
- test-unit-16.04:
141+
- build-ubuntu-18.04
142+
- test-unit-u16.04:
143143
requires:
144-
- build-16.04
144+
- build-ubuntu-16.04
145145
- test-component:
146146
requires:
147-
- build
147+
- build-ubuntu-18.04
148148
- test-benchmark:
149149
requires:
150-
- build
150+
- build-ubuntu-18.04
151151
- test-memcheck:
152152
requires:
153-
- build
153+
- build-ubuntu-18.04

.github/workflows/ccpp.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ${{ matrix.os }}
99
strategy:
1010
matrix:
11-
os: [macos-10.15, windows-latest]
11+
os: [macos-latest, windows-latest, ubuntu-22.04]
1212
steps:
1313
- uses: actions/checkout@v1
1414
- name: check versions

.gitignore

+1-5
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,5 @@ msvc/2015/TestTsLib/TestTsLib/settings.json
8383
# CPack
8484
CPackConfig.cmake
8585

86-
# Cached 3rd-party
87-
3rd-party/googletest*
88-
3rd-party/benchmark*
89-
9086
# Windows CPack
91-
_CPack_Packages
87+
_CPack_Packages

.vscode/cmake-kits.json

+26
Original file line numberDiff line numberDiff line change
@@ -71,5 +71,31 @@
7171
"name" : "Visual Studio 15 2017",
7272
"platform": "x86"
7373
}
74+
},
75+
{
76+
"name": "MacOS-Clang-Debug-static-libs",
77+
"cmakeSettings": {
78+
"ENABLE_TESTS": "ON",
79+
"ENABLE_COMPONENT_TESTS": "ON",
80+
"BUILD_SHARED_LIBS": "OFF",
81+
"CMAKE_BUILD_TYPE": "Debug"
82+
},
83+
"compilers" : {
84+
"C": "/usr/bin/clang",
85+
"CXX": "/usr/bin/clang++"
86+
}
87+
},
88+
{
89+
"name": "MacOS-Clang-Debug-dynamic-libs",
90+
"cmakeSettings": {
91+
"ENABLE_TESTS": "ON",
92+
"ENABLE_COMPONENT_TESTS": "ON",
93+
"BUILD_SHARED_LIBS": "ON",
94+
"CMAKE_BUILD_TYPE": "Debug"
95+
},
96+
"compilers" : {
97+
"C": "/usr/bin/clang",
98+
"CXX": "/usr/bin/clang++"
99+
}
74100
}
75101
]

3rd-party/CMakeLists.txt

+12-12
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ include(ExternalProject)
3939
ExternalProject_Add(
4040
plog
4141
URL ${CMAKE_CURRENT_SOURCE_DIR}/plog-${PLOG_VERSION}.tar.gz
42-
INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/plog-${PLOG_VERSION}
42+
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/plog-${PLOG_VERSION}
4343
CMAKE_ARGS -D CMAKE_BUILD_TYPE=Release
4444
-D CMAKE_INSTALL_PREFIX=<INSTALL_DIR>
4545
-D PLOG_BUILD_SAMPLES=OFF
@@ -50,7 +50,7 @@ ExternalProject_Add(
5050
ExternalProject_Add(
5151
json
5252
URL ${CMAKE_CURRENT_SOURCE_DIR}/json-${NLOHMANN_VERSION}.tar.gz
53-
INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/json-${NLOHMANN_VERSION}
53+
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/json-${NLOHMANN_VERSION}
5454
CMAKE_ARGS -D CMAKE_BUILD_TYPE=Release
5555
-D BUILD_TESTING=OFF
5656
-D CMAKE_INSTALL_PREFIX=<INSTALL_DIR>
@@ -70,17 +70,17 @@ if(NOT USE_DOCKER AND NOT ENABLE_WEBASSEMBLY AND ENABLE_TESTS)
7070
endif(APPLE)
7171

7272
# Download and unpack googletest at configure time
73-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists_googletest.txt.in ${CMAKE_CURRENT_SOURCE_DIR}/googletest-download/CMakeLists.txt)
73+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists_googletest.txt.in ${CMAKE_CURRENT_BINARY_DIR}/googletest-download/CMakeLists.txt)
7474
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
7575
RESULT_VARIABLE result
76-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/googletest-download
76+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
7777
)
7878
if(result)
7979
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
8080
endif()
8181
execute_process(COMMAND ${CMAKE_COMMAND} --build .
8282
RESULT_VARIABLE result
83-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/googletest-download )
83+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
8484
if(result)
8585
message(FATAL_ERROR "Build step for googletest failed: ${result}")
8686
endif()
@@ -91,8 +91,8 @@ if(NOT USE_DOCKER AND NOT ENABLE_WEBASSEMBLY AND ENABLE_TESTS)
9191

9292
# Add googletest directly to our build. This defines
9393
# the gtest and gtest_main targets.
94-
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/googletest-src
95-
${CMAKE_CURRENT_SOURCE_DIR}/googletest-build
94+
add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/googletest-src
95+
${CMAKE_CURRENT_BINARY_DIR}/googletest-build
9696
EXCLUDE_FROM_ALL)
9797

9898
# The gtest/gtest_main targets carry header search path
@@ -118,16 +118,16 @@ if(NOT USE_DOCKER AND NOT ENABLE_WEBASSEMBLY AND ENABLE_TESTS)
118118
set(BENCHMARK_ENABLE_TESTING OFF)
119119

120120
# Download and unpack benchmark at configure time
121-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists_benchmark.txt.in ${CMAKE_CURRENT_SOURCE_DIR}/benchmark-download/CMakeLists.txt)
121+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists_benchmark.txt.in ${CMAKE_CURRENT_BINARY_DIR}/benchmark-download/CMakeLists.txt)
122122
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
123123
RESULT_VARIABLE result
124-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/benchmark-download )
124+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/benchmark-download )
125125
if(result)
126126
message(FATAL_ERROR "CMake step for benchmark failed: ${result}")
127127
endif()
128128
execute_process(COMMAND ${CMAKE_COMMAND} --build .
129129
RESULT_VARIABLE result
130-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/benchmark-download )
130+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/benchmark-download )
131131
if(result)
132132
message(FATAL_ERROR "Build step for benchmark failed: ${result}")
133133
endif()
@@ -139,8 +139,8 @@ if(NOT USE_DOCKER AND NOT ENABLE_WEBASSEMBLY AND ENABLE_TESTS)
139139

140140
# Add benchmark directly to our build. This defines
141141
# the gtest and gtest_main targets.
142-
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/benchmark-src
143-
${CMAKE_CURRENT_SOURCE_DIR}/benchmark-build
142+
add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/benchmark-src
143+
${CMAKE_CURRENT_BINARY_DIR}/benchmark-build
144144
EXCLUDE_FROM_ALL)
145145

146146
# The gtest/gtest_main targets carry header search path

3rd-party/CMakeLists_benchmark.txt.in

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ project(benchmark-download NONE)
55
include(ExternalProject)
66
ExternalProject_Add(benchmark
77
GIT_REPOSITORY https://github.com/google/benchmark.git
8-
GIT_TAG master
9-
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/benchmark-src"
10-
BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/benchmark-build"
8+
GIT_TAG main
9+
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/benchmark-src"
10+
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/benchmark-build"
1111
GIT_SHALLOW 1
1212
CONFIGURE_COMMAND ""
1313
BUILD_COMMAND ""

3rd-party/CMakeLists_googletest.txt.in

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ project(googletest-download NONE)
55
include(ExternalProject)
66
ExternalProject_Add(googletest
77
GIT_REPOSITORY https://github.com/google/googletest.git
8-
GIT_TAG master
8+
GIT_TAG main
99
GIT_SHALLOW 1
10-
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/googletest-src"
11-
BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/googletest-build"
10+
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src"
11+
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build"
1212
CONFIGURE_COMMAND ""
1313
BUILD_COMMAND ""
1414
INSTALL_COMMAND ""

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Releases
22

3+
*V1.0.0*
4+
* [x] Support Apple M chipset
5+
* [x] Fix issue with google test
6+
* [x] Fix isse not including last PES packet
7+
* [x] Add CMake presets
8+
39
*V0.6.0*
410
* [x] Add broader support
511
* [x] Fix emscripten with CMake

CMakeLists.txt

+13-13
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ cmake_minimum_required(VERSION 3.5)
2929
if(CMAKE_MINOR_VERSION GREATER 9)
3030
project(
3131
mpeg2ts
32-
VERSION 0.6.0
32+
VERSION 1.0.0
3333
DESCRIPTION "Main project for MPEG-2 Parsing of transport streams"
3434
LANGUAGES CXX
3535
)
3636
else()
3737
project(
3838
mpeg2ts
39-
VERSION 0.6.0
39+
VERSION 1.0.0
4040
LANGUAGES CXX
4141
)
4242
endif()
@@ -115,7 +115,7 @@ if(ENABLE_TESTS)
115115
add_subdirectory(bench)
116116
endif()
117117

118-
if(MSVC OR APPLE)
118+
if(MSVC)
119119
set(ENABLE_COMPONENT_TESTS OFF)
120120
endif()
121121
if(ENABLE_COMPONENT_TESTS)
@@ -131,13 +131,13 @@ endif()
131131
#-------------------
132132
# compiler settings
133133
#-------------------
134-
if(NOT ENABLE_WEBASSEMBLY)
135-
if (UNIX AND NOT APPLE)
136-
add_compile_options(-Wuseless-cast # warn if you perform a cast to the same type
137-
-Werror # Make the specified warning into an error.
138-
)
139-
endif()
140-
endif()
134+
#if(NOT ENABLE_WEBASSEMBLY)
135+
# if (UNIX AND NOT APPLE)
136+
# add_compile_options(-Wuseless-cast # warn if you perform a cast to the same type
137+
# -Werror # Make the specified warning into an error.
138+
# )
139+
# endif()
140+
#endif()
141141

142142
if (MSVC)
143143
add_compile_options(/W4)
@@ -173,10 +173,10 @@ endif()
173173

174174

175175
#-------------------
176-
# 3rd-party
176+
# Include 3rd-party
177177
#-------------------
178-
include_directories(3rd-party/json-${NLOHMANN_VERSION}/include)
179-
include_directories(3rd-party/plog-${PLOG_VERSION}/include)
178+
include_directories(${CMAKE_CURRENT_BINARY_DIR}/3rd-party/json-${NLOHMANN_VERSION}/include)
179+
include_directories(${CMAKE_CURRENT_BINARY_DIR}/3rd-party/plog-${PLOG_VERSION}/include)
180180

181181

182182
#-------------------

0 commit comments

Comments
 (0)