Skip to content

Commit e1da43c

Browse files
committed
Init sources
0 parents  commit e1da43c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+10205
-0
lines changed

.clang-format

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
BasedOnStyle: Chromium
3+
ColumnLimit: 120
4+
Standard: Cpp11
5+
...

.gitignore

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Prerequisites
2+
*.d
3+
4+
# Compiled Object files
5+
*.slo
6+
*.lo
7+
*.o
8+
*.obj
9+
10+
# Precompiled Headers
11+
*.gch
12+
*.pch
13+
14+
# Compiled Dynamic libraries
15+
*.so
16+
*.dylib
17+
*.dll
18+
19+
# Fortran module files
20+
*.mod
21+
*.smod
22+
23+
# Compiled Static libraries
24+
*.lai
25+
*.la
26+
*.a
27+
*.lib
28+
29+
# Executables
30+
*.exe
31+
*.out
32+
*.app
33+
34+
# fastogt
35+
include/fastotv/config.h
36+
build_*
37+
CMakeLists.txt.user

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "cmake"]
2+
path = cmake
3+
url = https://github.com/fastogt/cmake.git

CHANGELOG

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
1.0.0 / February 9, 2020
2+
[Alexandr Topilski]
3+
- Catchups
4+
- Private channels
5+
- Epg url
6+
- Series
7+
- Proxy VODS
8+
- Login and Activate requests
9+
- Handle VODS
10+
- Admin text message
11+
- Init release

CMakeLists.txt

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0)
2+
PROJECT(fastotv_protocol VERSION 1.0.0.0 LANGUAGES CXX C)
3+
SET(CMAKE_CXX_STANDARD 11)
4+
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
5+
SET(CMAKE_CXX_EXTENSIONS OFF)
6+
SET(CMAKE_C_STANDARD 99)
7+
SET(CMAKE_C_STANDARD_REQUIRED ON)
8+
#SET(CMAKE_C_EXTENSIONS OFF)
9+
10+
SET(PROJECT_NAME_TITLE ${PROJECT_NAME} CACHE STRING "Title for ${PROJECT_NAME}")
11+
SET(PROJECT_DOMAIN "www.fastogt.com" CACHE STRING "Internet domain name for ${PROJECT_NAME}")
12+
SET(PROJECT_COMPANYNAME "FastoGT" CACHE STRING "Company name for ${PROJECT_NAME}")
13+
SET(PROJECT_COPYRIGHT "Copyright (C) 2014-2020 ${PROJECT_COMPANYNAME}. All Rights Reserved." CACHE STRING "Copyright notice for ${PROJECT_NAME}")
14+
SET(PROJECT_COMPANYNAME_DOMAIN "www.fastogt.com" CACHE STRING "Internet domain name for ${PROJECT_NAME}")
15+
SET(PROJECT_MAINTAINER_MAIL "atopilski@fastogt.com" CACHE STRING "Internet mail address for ${PROJECT_NAME} mainteiner")
16+
SET(PROJECT_MAINTAINER_NAME "Alexandr Topilski" CACHE STRING "Name of ${PROJECT_NAME} mainteiner")
17+
SET(PROJECT_GITHUB_FORK "www.github.com/fastogt/fastotv_protocol" CACHE STRING "Git fork of ${PROJECT_NAME}")
18+
SET(PROJECT_GITHUB_ISSUES "www.github.com/fastogt/fastotv_protocol/issues" CACHE STRING "Git issue link for ${PROJECT_NAME}")
19+
SET(PROJECT_BUILD_TYPE_VERSION "release") #alfa, beta, rc, release
20+
SET(PROJECT_SUMMARY "Open source C++ tv player protocol." CACHE STRING "Short description of ${PROJECT_NAME}")
21+
SET(PROJECT_DESCRIPTION "${PROJECT_NAME} it is C++ tv player protocol." CACHE STRING "Description of ${PROJECT_NAME}")
22+
SET(PROJECT_CHANGELOG_FILE CHANGELOG CACHE STRING "Branding for changelog file ${PROJECT_NAME} (File name given as relative paths are interpreted with respect to the src source directory)") #default
23+
24+
SET(PROJECT_CHANGELOG_FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/CHANGELOG)
25+
SET(DATE_CMD "date")
26+
SET(DATE_ARGS "+%a %b %d %Y")
27+
EXECUTE_PROCESS(COMMAND ${DATE_CMD} ${DATE_ARGS} RESULT_VARIABLE CHANGELOG_TIMESTAMP_RESULT OUTPUT_VARIABLE CHANGELOG_TIMESTAMP) #for rpm package
28+
IF (NOT "${CHANGELOG_TIMESTAMP}" STREQUAL "")
29+
STRING(REPLACE "\n" "" CHANGELOG_TIMESTAMP ${CHANGELOG_TIMESTAMP})
30+
ELSE()
31+
MESSAGE(WARNING "Failed to get timestamp: ${CHANGELOG_TIMESTAMP_RESULT}")
32+
ENDIF(NOT "${CHANGELOG_TIMESTAMP}" STREQUAL "")
33+
FILE(WRITE ${PROJECT_CHANGELOG_FILE} "* ${CHANGELOG_TIMESTAMP} ${PROJECT_MAINTAINER_NAME} <${PROJECT_MAINTAINER_MAIL}>\n")
34+
FILE(READ ${PROJECT_CHANGELOG_FILE} CHANGELOG_TEXT)
35+
FILE(APPEND ${PROJECT_CHANGELOG_FILE} ${CHANGELOG_TEXT})
36+
37+
STRING(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWERCASE)
38+
STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPERRCASE)
39+
40+
SET(PROJECT_VERSION_SHORT ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) #PROJECT_VERSION_* in cache
41+
SET(PROJECT_VERSION_INTEGER ${PROJECT_VERSION_MAJOR}${PROJECT_VERSION_MINOR}${PROJECT_VERSION_PATCH}) #PROJECT_VERSION_* in cache
42+
43+
MESSAGE(STATUS "PROJECT_VERSION: ${PROJECT_VERSION}")
44+
45+
IF(APPLE AND CMAKE_OSX_SYSROOT)
46+
STRING(REGEX REPLACE ".*MacOSX([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_SDK_VERSION "${CMAKE_OSX_SYSROOT}")
47+
STRING(REGEX REPLACE ".*MacOSX([0-9]+)\\.([0-9]+).*$" "\\2" DARWIN_MINOR_SDK_VERSION "${CMAKE_OSX_SYSROOT}")
48+
IF(EXISTS "${CMAKE_OSX_SYSROOT}")
49+
SET(MACOSX_DEPLOYMENT_TARGET ${DARWIN_MAJOR_SDK_VERSION}.${DARWIN_MINOR_SDK_VERSION})
50+
SET(CMAKE_CXX_FLAGS "--sysroot ${CMAKE_OSX_SYSROOT} ${CMAKE_CXX_FLAGS}")
51+
MESSAGE(STATUS "Setting MACOSX_DEPLOYMENT_TARGET to '${MACOSX_DEPLOYMENT_TARGET}'.")
52+
ENDIF()
53+
ENDIF(APPLE AND CMAKE_OSX_SYSROOT)
54+
55+
########################## Options #########################
56+
OPTION(DEVELOPER_ENABLE_TESTS "Enable tests for ${PROJECT_NAME_TITLE} project" OFF)
57+
OPTION(DEVELOPER_CHECK_STYLE "Enable check style for ${PROJECT_NAME_TITLE} project" OFF)
58+
OPTION(DEVELOPER_GENERATE_DOCS "Generate docs api for ${PROJECT_NAME_TITLE} project" OFF)
59+
OPTION(DCHECK_ALWAYS_ON "Enable dcheck in release." OFF)
60+
61+
##################################DEFAULT VALUES##########################################
62+
IF(NOT CMAKE_BUILD_TYPE)
63+
SET(CMAKE_BUILD_TYPE DEBUG)
64+
ENDIF(NOT CMAKE_BUILD_TYPE)
65+
66+
# If the user did not customize the install prefix,
67+
# set it to live under build so we don't inadvertently pollute /usr/local
68+
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
69+
SET(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "default install path" FORCE)
70+
ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
71+
72+
IF("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
73+
MESSAGE(SEND_ERROR "In-source builds are not allowed.")
74+
ENDIF("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
75+
76+
MESSAGE(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
77+
78+
############################################################################
79+
80+
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake")
81+
INCLUDE(config) ###################
82+
DEFINE_DEFAULT_DEFINITIONS(ON ON OFF)
83+
DEFINE_PROJECT_DEFINITIONS()
84+
85+
##########################################################
86+
87+
# pwd + RELATIVE_SOURCE_DIR = install directory
88+
SET(LIB_INSTALL_DESTINATION lib)
89+
SET(TARGET_INSTALL_DESTINATION bin)
90+
SET(SHARE_INSTALL_DESTINATION share/${PROJECT_NAME_LOWERCASE})
91+
SET(RELATIVE_SOURCE_DIR ..)
92+
93+
# project sources
94+
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
95+
96+
IF(LOG_TO_FILE)
97+
ADD_DEFINITIONS(-DLOG_TO_FILE)
98+
ENDIF(LOG_TO_FILE)
99+
100+
ADD_DEFINITIONS(
101+
-DPROJECT_SUMMARY="${PROJECT_SUMMARY}"
102+
-DPROJECT_DESCRIPTION="${PROJECT_DESCRIPTION}"
103+
-DPROJECT_GITHUB_FORK="${PROJECT_GITHUB_FORK}"
104+
-DPROJECT_GITHUB_ISSUES="${PROJECT_GITHUB_ISSUES}"
105+
-DPROJECT_DOWNLOAD_LINK="${PROJECT_DOWNLOAD_LINK}"
106+
-DUNKNOWN_STREAM_ICON_URL="https://fastocloud.com/static/images/unknown_channel.png"
107+
-DUNKNOWN_VOD_ICON_URL="https://fastocloud.com/static/images/unknown_preview.png"
108+
)
109+
110+
SET(PROJECT_VERSION_HUMAN "${PROJECT_VERSION} Revision: ${PROJECT_VERSION_GIT}")
111+
ADD_DEFINITIONS(-DPROJECT_VERSION_HUMAN="${PROJECT_VERSION_HUMAN}")
112+
113+
IF(DEVELOPER_GENERATE_DOCS)
114+
CREATE_DOCS(${PROJECT_NAME_LOWERCASE} ${CMAKE_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
115+
ENDIF(DEVELOPER_GENERATE_DOCS)
116+
117+
IF(DCHECK_ALWAYS_ON)
118+
ADD_DEFINITIONS(-DDCHECK_ALWAYS_ON)
119+
ENDIF(DCHECK_ALWAYS_ON)
120+
121+
ADD_SUBDIRECTORY(src)
122+
123+
#DOCS
124+
IF(DEVELOPER_GENERATE_DOCS)
125+
CREATE_DOCS(${PROJECT_NAME_LOWERCASE} ${CMAKE_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
126+
ENDIF(DEVELOPER_GENERATE_DOCS)
127+
128+
IF(NOT EXISTS ${CMAKE_SOURCE_DIR}/.git/hooks/pre-commit)
129+
EXECUTE_PROCESS(COMMAND ${CMAKE_SOURCE_DIR}/scripts/create_pre_commit_hook.sh)
130+
ENDIF(NOT EXISTS ${CMAKE_SOURCE_DIR}/.git/hooks/pre-commit)

CPPLINT.cfg

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# This is the toplevel CPPLINT.cfg file
2+
set noparent
3+
4+
linelength=120
5+
root=src
6+
7+
filter=-runtime/int
8+
filter=-build/include_order

0 commit comments

Comments
 (0)