add cpack support (#24)
Added CPack support Fixed error with RPI_REVISION/RPI_MODEL IF not matching
This commit is contained in:
parent
efb9d8bc6f
commit
618a014100
@ -1,5 +1,10 @@
|
||||
cmake_minimum_required(VERSION 3.5.1)
|
||||
|
||||
set (OPENAUTO_VERSION_MAJOR 2)
|
||||
set (OPENAUTO_VERSION_MINOR 1)
|
||||
|
||||
project(openauto
|
||||
LANGUAGES CXX)
|
||||
find_program(CCACHE_PROGRAM ccache)
|
||||
if(CCACHE_PROGRAM)
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
|
||||
@ -11,6 +16,7 @@ set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(base_directory ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib)
|
||||
@ -42,6 +48,7 @@ find_package(rtaudio REQUIRED)
|
||||
find_package(aasdk REQUIRED)
|
||||
find_package(Threads)
|
||||
|
||||
include(${base_directory}/cmake_modules/gitversion.cmake)
|
||||
if(RPI_BUILD)
|
||||
find_package(libomx)
|
||||
endif()
|
||||
@ -60,12 +67,12 @@ if(GST_BUILD)
|
||||
add_definitions(-DRPI)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/functions.cmake)
|
||||
findRpiRevision( RPI_REVISION )
|
||||
math(EXPR RPI_MODEL "(0x${RPI_REVISION}>>4)&0xFF")
|
||||
math(EXPR RPI_MODEL "(0x${RPI_REVISION}>>4)&0xFF")
|
||||
message( "-- Raspberry Pi Model: ${RPI_MODEL}" )
|
||||
if(RPI_MODEL EQUAL 17)
|
||||
message("Raspberry Pi 4 Found")
|
||||
add_definitions(-DPI4)
|
||||
endif(RPI_REVISION EQUAL 17)
|
||||
endif(RPI_MODEL EQUAL 17)
|
||||
endif(RPI_BUILD)
|
||||
message(STATUS "${GST_LIBRARIES}")
|
||||
endif(GST_BUILD)
|
||||
@ -77,3 +84,40 @@ include_directories(${BTSERVICE_PROTO_INCLUDE_DIRS})
|
||||
add_subdirectory(openauto)
|
||||
add_subdirectory(autoapp)
|
||||
add_dependencies(autoapp btservice_proto)
|
||||
|
||||
set (OPENAUTO_VERSION_PATCH ${_commit_timestamp})
|
||||
set (OPENAUTO_VERSION_STRING ${OPENAUTO_VERSION_MAJOR}.${OPENAUTO_VERSION_MINOR}.${OPENAUTO_VERSION_PATCH})
|
||||
|
||||
install(DIRECTORY lib DESTINATION lib COMPONENT libraries)
|
||||
install(DIRECTORY include DESTINATION include COMPONENT headers)
|
||||
install(DIRECTORY bin DESTINATION bin COMPONENT applications)
|
||||
|
||||
SET(CPACK_GENERATOR "DEB")
|
||||
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "OpenDsh") #required
|
||||
SET(CPACK_PACKAGE_VENDOR "OpenDsh")
|
||||
SET(CPACK_PACKAGE_VERSION ${OPENAUTO_VERSION_STRING})
|
||||
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
|
||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
|
||||
set(CPACK_COMPONENTS_ALL applications libraries headers Unspecified)
|
||||
set(CPACK_COMPONENT_APPLICATIONS_DISPLAY_NAME "Applications")
|
||||
set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries")
|
||||
set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C++ Headers")
|
||||
set(CPACK_COMPONENT_APPLICATIONS_DESCRIPTION
|
||||
"Applications provided by OpenAuto")
|
||||
set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION
|
||||
"Static libraries used to build programs with OpenAuto")
|
||||
set(CPACK_COMPONENT_HEADERS_DESCRIPTION
|
||||
"C/C++ header files for use with OpenAuto")
|
||||
set(CPACK_COMPONENT_LIBRARIES_GROUP "Development")
|
||||
set(CPACK_COMPONENT_HEADERS_GROUP "Development")
|
||||
set(CPACK_COMPONENT_GROUP_DEVELOPMENT_EXPANDED ON)
|
||||
set(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION
|
||||
"All of the tools you'll ever need to develop software")
|
||||
set(CPACK_COMPONENT_HEADERS_DEPENDS libraries)
|
||||
set(CPACK_COMPONENT_APPLICATIONS_DEPENDS libraries)
|
||||
set(CPACK_ALL_INSTALL_TYPES Full Developer)
|
||||
set(CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything")
|
||||
set(CPACK_COMPONENT_LIBRARIES_INSTALL_TYPES Developer Full)
|
||||
set(CPACK_COMPONENT_HEADERS_INSTALL_TYPES Developer Full)
|
||||
set(CPACK_COMPONENT_APPLICATIONS_INSTALL_TYPES Full)
|
||||
INCLUDE(CPack)
|
51
cmake_modules/gitversion.cmake
Normal file
51
cmake_modules/gitversion.cmake
Normal file
@ -0,0 +1,51 @@
|
||||
# cmake/gitversion.cmake
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
message(STATUS "Resolving GIT Version")
|
||||
|
||||
set(_build_version "unknown")
|
||||
set(_commit_timestamp "unknown")
|
||||
|
||||
find_package(Git)
|
||||
if(GIT_FOUND)
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
|
||||
WORKING_DIRECTORY "${local_dir}"
|
||||
OUTPUT_VARIABLE _build_version
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
|
||||
WORKING_DIRECTORY "${local_dir}"
|
||||
OUTPUT_VARIABLE _build_branch
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} log -1 --format=%at
|
||||
WORKING_DIRECTORY "${local_dir}"
|
||||
OUTPUT_VARIABLE _commit_timestamp
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
message( STATUS "GIT hash: ${_build_version}; branch: ${_build_branch}; Commit epoch: ${_commit_timestamp};")
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} diff --no-ext-diff --quiet
|
||||
WORKING_DIRECTORY "${local_dir}"
|
||||
RESULT_VARIABLE ret
|
||||
)
|
||||
if(ret EQUAL "1")
|
||||
set(_build_changes "*")
|
||||
else()
|
||||
set(_build_changes "")
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(STATUS "GIT not found")
|
||||
endif()
|
||||
|
||||
# branch name
|
||||
# git rev-parse --abbrev-ref HEAD
|
||||
# changed
|
||||
# git diff --no-ext-diff --quiet
|
Loading…
x
Reference in New Issue
Block a user