Skip to content

Commit 97207e0

Browse files
author
Clement Champetier
committed
CMake: get AvTranscoder versions from headers
Because it could be great to get the versions in bindings.
1 parent 08e7575 commit 97207e0

File tree

3 files changed

+25
-11
lines changed

3 files changed

+25
-11
lines changed

CMakeLists.txt

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,6 @@ cmake_minimum_required(VERSION 2.8.11)
22

33
project(AvTranscoder)
44

5-
# Set AvTranscoder versions
6-
set(AVTRANSCODER_VERSION_MAJOR "0")
7-
set(AVTRANSCODER_VERSION_MINOR "5")
8-
set(AVTRANSCODER_VERSION_MICRO "10")
9-
set(AVTRANSCODER_VERSION ${AVTRANSCODER_VERSION_MAJOR}.${AVTRANSCODER_VERSION_MINOR}.${AVTRANSCODER_VERSION_MICRO})
10-
11-
# Define AvTranscoder versions
12-
add_definitions(-DAVTRANSCODER_VERSION_MAJOR=${AVTRANSCODER_VERSION_MAJOR})
13-
add_definitions(-DAVTRANSCODER_VERSION_MINOR=${AVTRANSCODER_VERSION_MINOR})
14-
add_definitions(-DAVTRANSCODER_VERSION_MICRO=${AVTRANSCODER_VERSION_MICRO})
15-
165
# Define AvTranscoder default path to profiles
176
add_definitions(-DAVTRANSCODER_DEFAULT_AVPROFILES="${CMAKE_INSTALL_PREFIX}/share/avprofiles")
187

cmake/AvTranscoderMacros.cmake

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,24 @@
22
set(AVTRANSCODER_APP_PATH "${PROJECT_SOURCE_DIR}/app")
33
set(AVTRANSCODER_SRC_PATH "${PROJECT_SOURCE_DIR}/src")
44
file(GLOB_RECURSE AVTRANSCODER_SRC_FILES "AvTranscoder/*.cpp" "AvTranscoder/*.hpp")
5+
6+
# Get AvTranscoder versions
7+
# AVTRANSCODER_VERSION_MAJOR
8+
# AVTRANSCODER_VERSION_MINOR
9+
# AVTRANSCODER_VERSION_MICRO
10+
# AVTRANSCODER_VERSION
11+
file(STRINGS "${AVTRANSCODER_SRC_PATH}/AvTranscoder/common.hpp" _avtranscoder_VERSION_HPP_CONTENTS REGEX "#define AVTRANSCODER_VERSION_")
12+
foreach(v MAJOR MINOR MICRO)
13+
if("${_avtranscoder_VERSION_HPP_CONTENTS}" MATCHES "#define AVTRANSCODER_VERSION_${v} ([0-9]+)")
14+
set(AVTRANSCODER_VERSION_${v} "${CMAKE_MATCH_1}")
15+
else()
16+
set(AVTRANSCODER_RETRIEVE_VERSION_FAILED 1)
17+
endif()
18+
endforeach()
19+
unset(_avtranscoder_VERSION_HPP_CONTENTS)
20+
21+
set(AVTRANSCODER_VERSION "${AVTRANSCODER_VERSION_MAJOR}.${AVTRANSCODER_VERSION_MINOR}.${AVTRANSCODER_VERSION_MICRO}")
22+
23+
if(AVTRANSCODER_RETRIEVE_VERSION_FAILED)
24+
message(SEND_ERROR "Failed to retrieve AvTranscoder version: ${AVTRANSCODER_VERSION}")
25+
endif()

src/AvTranscoder/common.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
#ifndef _AV_TRANSCODER_COMMON_HPP_
22
#define _AV_TRANSCODER_COMMON_HPP_
33

4+
#define AVTRANSCODER_VERSION_MAJOR 0
5+
#define AVTRANSCODER_VERSION_MINOR 5
6+
#define AVTRANSCODER_VERSION_MICRO 10
7+
48
#include <AvTranscoder/system.hpp>
59

610
extern "C" {

0 commit comments

Comments
 (0)