Skip to content

Commit 84f6227

Browse files
dariusz-fdkozinski
authored andcommitted
refactor: Changes in CMake
1 parent ac61409 commit 84f6227

File tree

1 file changed

+61
-15
lines changed

1 file changed

+61
-15
lines changed

CMakeLists.txt

Lines changed: 61 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
cmake_minimum_required (VERSION 3.12)
22

3+
########################################
4+
# Project versioning
5+
########################################
6+
37
# Set project version from git tag or version.txt file
48
function(get_versions versionstring VERSION_MAJOR VERSION_MINOR VERSION_PATCH)
59
string(REGEX REPLACE "^([vV])([0-9]*)([.][0-9]*[.][0-9]*-?.*)$" "\\2" numbers ${versionstring} )
@@ -52,21 +56,33 @@ if(VERSION_MAJOR STREQUAL ${VERSION_STRING})
5256
endif()
5357
message("OAPV VERSION=${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
5458

59+
project (OAPV VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH} LANGUAGES C)
60+
61+
########################################
62+
# Input arguments.
63+
########################################
64+
5565
# Check input arguments.
5666
option(OAPV_APP_STATIC_BUILD "oapv_app will be statically linked against static oapv library" ON)
5767
if(OAPV_APP_STATIC_BUILD)
5868
add_definitions(-DOAPV_STATIC_DEFINE)
5969
endif(OAPV_APP_STATIC_BUILD)
6070

61-
cmake_policy(SET CMP0048 NEW)
62-
set(CMAKE_C_STANDARD 99)
71+
# To build for arm provide in command line: -DARM=TRUE
72+
if(NOT ARM)
73+
set(ARM "FALSE")
74+
else()
75+
add_definitions(-DARM=1)
76+
set(ARM "TRUE")
77+
endif()
6378

64-
# Maps to a solution file (OAPV.sln).
65-
project (OAPV VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
66-
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
79+
########################################
80+
# Compilation flags
81+
########################################
6782

6883
# Set compiler flags and options.
6984
if( MSVC )
85+
message("Not supported yet!")
7086
elseif( UNIX OR MINGW )
7187
if(NOT CMAKE_BUILD_TYPE)
7288
set(CMAKE_BUILD_TYPE "Release")
@@ -81,20 +97,33 @@ elseif( UNIX OR MINGW )
8197
set(OPT_DBG "-DNDEBUG") # disable assert
8298
endif()
8399

84-
#set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OPT_DBG} -${OPT_LV} -fomit-frame-pointer -Wall -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-attributes -Werror -Wno-strict-overflow -Wno-unknown-pragmas -Wno-stringop-overflow -std=c99")
85-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OPT_DBG} -${OPT_LV} -fomit-frame-pointer -Wall -Wno-unused-function -std=c99")
86-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-pointer-sign -pthread -Wno-pointer-to-int-cast")
100+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OPT_DBG} -${OPT_LV} -fomit-frame-pointer -pthread -std=c99")
101+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unused-function -Wno-pointer-sign -Wno-pointer-to-int-cast")
87102
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lm")
103+
else()
104+
message("Unknown compiler")
88105
endif()
89106

90107
# Command to output information to the console
91108
message ("c Flags: " ${CMAKE_C_FLAGS})
92109
message ("linker Flags: " ${CMAKE_EXE_LINKER_FLAGS})
93110

111+
########################################
112+
# Configuration
113+
########################################
114+
115+
set(CMAKE_C_STANDARD 99)
116+
cmake_policy(SET CMP0048 NEW)
117+
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
118+
94119
# Sub-directories where more CMakeLists.txt exist
95120
add_subdirectory(src)
96121
add_subdirectory(app)
97122

123+
########################################
124+
# Targets
125+
########################################
126+
98127
# uninstall target
99128
if(NOT TARGET uninstall)
100129
configure_file(
@@ -106,14 +135,20 @@ if(NOT TARGET uninstall)
106135
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
107136
endif()
108137

138+
########################################
139+
# CPack project packaging
140+
########################################
141+
109142
# Packaging
110143
include(InstallRequiredSystemLibraries)
111144
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
112145
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
113146

114147
set(CPACK_PACKAGE_NAME "OpenAPV")
115148
set(CPACK_PACKAGE_VENDOR "OpenAPV")
116-
set(CPACK_PACKAGE_CONTACT "https://github.com/openapv/oapv")
149+
set(CPACK_PACKAGE_CONTACT "https://github.com/openapv")
150+
set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/openapv/oapv/releases")
151+
set(CMAKE_PROJECT_HOMEPAGE_URL "https://github.com/openapv/oapv")
117152
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Open Advanced Professional Video Codec")
118153
set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
119154
set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}")
@@ -127,7 +162,10 @@ set(CPACK_GENERATOR "DEB")
127162

128163
include(CPack)
129164

130-
# Testing
165+
########################################
166+
# Testing
167+
########################################
168+
131169
option(ENABLE_TESTS "Enable tests" ON)
132170
if (${ENABLE_TESTS})
133171
enable_testing()
@@ -141,11 +179,19 @@ add_test(NAME Decoder_runs COMMAND ${CMAKE_CURRENT_BINARY_DIR}/bin/oapv_app_dec)
141179

142180
# Test - encode
143181
add_test(NAME encode COMMAND ${CMAKE_CURRENT_BINARY_DIR}/bin/oapv_app_enc -i ${CMAKE_CURRENT_SOURCE_DIR}/test/sequence/pattern1_yuv422p10le_320x240_25fps.y4m -w 320 -h 240 -z 25 -o out.oapv)
144-
set_tests_properties(encode PROPERTIES FAIL_REGULAR_EXPRESSION "Encoded frame count = 0")
145-
set_tests_properties(encode PROPERTIES PASS_REGULAR_EXPRESSION "Encoded frame count = 125")
182+
set_tests_properties(encode PROPERTIES
183+
TIMEOUT 20
184+
FAIL_REGULAR_EXPRESSION "Encoded frame count = 0"
185+
PASS_REGULAR_EXPRESSION "Encoded frame count = 125"
186+
RUN_SERIAL TRUE
187+
)
146188

147189
# Test - decode
148190
add_test(NAME decode COMMAND ${CMAKE_CURRENT_BINARY_DIR}/bin/oapv_app_dec -i out.oapv)
149-
set_tests_properties(decode PROPERTIES FAIL_REGULAR_EXPRESSION "Decoded frame count = 0")
150-
set_tests_properties(decode PROPERTIES PASS_REGULAR_EXPRESSION "Decoded frame count = 125")
151-
191+
set_tests_properties(decode PROPERTIES
192+
TIMEOUT 10
193+
DEPENDS encode
194+
FAIL_REGULAR_EXPRESSION "Decoded frame count = 0"
195+
PASS_REGULAR_EXPRESSION "Decoded frame count = 125"
196+
RUN_SERIAL TRUE
197+
)

0 commit comments

Comments
 (0)