Skip to content

Commit

Permalink
add doc/CMakeList.txt and CMakeList.defs.txt
Browse files Browse the repository at this point in the history
  • Loading branch information
alanlivio committed Jul 6, 2023
1 parent 202ad00 commit 1173dcb
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 43 deletions.
24 changes: 15 additions & 9 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,20 @@ jobs:
gh-pages:
runs-on: ubuntu-latest
steps:
- uses: ssciwr/doxygen-install@v1
- uses: symbitic/install-cmake@master
- run: mkdir _build
- run: cd _build
- run: cmake ..
- run: cmake --build . --target doc
- uses: actions/checkout@v3
- run: sudo apt-get update
- run: sudo apt-get install -y cmake make doxygen graphviz
- name: cmake
working-directory: ./doc
run: cmake .
- name: build docs
working-directory: ./doc
run: cmake --build .
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
if: success()
uses: crazy-max/ghaction-github-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/html # Build output to publish to the `gh-pages` branch
target_branch: gh-pages
build_dir: ./doc/html
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,12 @@ cmake_install.cmake
config.h
ginga.cbp
*.DS_Store
build.ninja
.ninja_deps
.ninja_log
doc/CMakeDoxyfile.in
doc/CMakeDoxygenDefaults.cmake
doc/Makefile
*.a
*.bak
*.core
Expand Down
11 changes: 11 additions & 0 deletions CMakeLists.defs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
cmake_minimum_required(VERSION 3.2)
project(ginga)
set(PACKAGE "ginga")
set(PACKAGE_URL "http://github.com/telemidia/ginga")
set(PACKAGE_BUGREPORT "bugs@telemidia.puc-rio.br")
set(PACKAGE_DESCRIPTION "The Ginga iTV middleware")
set(VERSION 1.0)
set(PACKAGE_VERSION ${VERSION})
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build-cmake/CMakeModules)
set(DISPLAY_NAME "Ginga")
set(DESCRIPTION "Ginga is the iTV middleware of the Japanese-Brazilian Digital TV System (ISDB-TB) and ITU-T Recommendation for IPTV services. Ginga is made up by a set of standardized technologies and Brazilian innovations that make it the most advanced middleware specification.")
27 changes: 1 addition & 26 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
cmake_minimum_required(VERSION 3.2)
project(ginga)
include(CMakeLists.defs.txt)
cmake_policy(SET CMP0087 NEW)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_compile_options(-Wno-deprecated-declarations)
set(PACKAGE "ginga")
set(PACKAGE_URL "http://github.com/telemidia/ginga")
set(PACKAGE_BUGREPORT "bugs@telemidia.puc-rio.br")
set(PACKAGE_DESCRIPTION "The Ginga iTV middleware")
set(VERSION 1.0)
set(PACKAGE_VERSION ${VERSION})
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build-cmake/CMakeModules)

# set all target runtime to CMAKE_BINARY_DIR
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
Expand Down Expand Up @@ -315,22 +308,6 @@ foreach(SRC ${GINGA_TESTS_SRC})
endif()
endforeach()

# ------------------------
# doxygen documentation
# ------------------------
find_package(Doxygen)

if(DOXYGEN_FOUND)
set(top_builddir ${CMAKE_CURRENT_BINARY_DIR})
set(top_srcdir ${CMAKE_CURRENT_SOURCE_DIR})
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in
${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile @ONLY)
add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/doc/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
endif()

# ------------------------
# install
# ------------------------
Expand Down Expand Up @@ -418,8 +395,6 @@ configure_file (${CMAKE_CURRENT_SOURCE_DIR}/build-cmake/config.h.in ${CMAKE_BINA
# ------------------------
# cpack
# ------------------------
set(DISPLAY_NAME "Ginga")
set(DESCRIPTION "Ginga is the iTV middleware of the Japanese-Brazilian Digital TV System (ISDB-TB) and ITU-T Recommendation for IPTV services. Ginga is made up by a set of standardized technologies and Brazilian innovations that make it the most advanced middleware specification.")
set(CPACK_PACKAGE_VENDOR "TeleMídia Lab/PUC-Rio")
set(CPACK_PACKAGE_VERSION ${VERSION})
set(CPACK_PACKAGE_CONTACT alan@telemidia.puc-rio.br)
Expand Down
17 changes: 17 additions & 0 deletions doc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
cmake_minimum_required(VERSION 3.2)
project(ginga-docs LANGUAGES NONE)
# include common defs
include ("../CMakeLists.defs.txt")
# disable cpp checking
set(CMAKE_C_COMPILER_FORCED FALSE)
set(CMAKE_CXX_COMPILER_FORCED FALSE)

# doxygen targe
set(DOXYGEN_PROJECT_NAME ${PACKAGE})
find_package(Doxygen)
set (DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR})
configure_file(Doxyfile.in Doxyfile @ONLY)
add_custom_target(doc ALL ${DOXYGEN_EXECUTABLE} ${DOC_DIR}/Doxyfile
WORKING_DIRECTORY ${DOC_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
18 changes: 10 additions & 8 deletions doc/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,23 @@ GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
GENERATE_TREEVIEW = YES
HAVE_DOT = YES

OUTPUT_DIRECTORY = @top_builddir@/doc
INPUT = @top_srcdir@/doc/index.doxygen \
@top_srcdir@/lib
OUTPUT_DIRECTORY = @DOC_DIR@
INPUT = index.doxygen @DOC_DIR@/../lib
RECURSIVE = YES
FILE_PATTERNS = *.cpp *.h
EXCLUDE_PATTERNS = */aux-gl.h */aux-glib.h */aux-lua.h */config.h
IMAGE_PATH = @top_srcdir@/doc
IMAGE_PATH = @DOC_DIR@
HAVE_DOT = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
INCLUDE_PATH = @top_srcdir@/lib
INCLUDE_PATH = @DOC_DIR@/../lib
PREDEFINED = unused(x)=x
EXTRACT_PRIVATE = YES

QUIET = NO
WARNINGS = YES
WARN_NO_PARAMDOC = YES
QUIET = YES
WARNINGS = NO
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = NO
WARN_NO_PARAMDOC = NO

0 comments on commit 1173dcb

Please sign in to comment.