Skip to content

Commit

Permalink
Clean cmake and setup 0.1.0 version [CUSTOM-MSGS]
Browse files Browse the repository at this point in the history
  • Loading branch information
GMahmoud committed Sep 20, 2020
1 parent a14c30f commit 313f03d
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 28 deletions.
33 changes: 29 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
cmake_minimum_required(VERSION 2.8.3)
project(custom_msgs)
# ##############################################################################
# Version setup
# ##############################################################################

file(STRINGS ${CMAKE_SOURCE_DIR}/VERSION PROJECT_VERSION)
message(STATUS "Project version: ${PROJECT_VERSION}")

# ##############################################################################
# Project information
# ##############################################################################

cmake_minimum_required(VERSION 3.5.1)
project(custom_msgs LANGUAGES C CXX VERSION ${PROJECT_VERSION})
set(PROJECT_RELEASE_TYPE release) # alpha, beta, release

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
include(declarations)

# ##############################################################################
# Load and setup packages
# ##############################################################################

find_package(catkin REQUIRED
COMPONENTS roscpp
Expand All @@ -9,6 +28,10 @@ find_package(catkin REQUIRED
geometry_msgs
nav_msgs)

# ##############################################################################
# Generate messages and configurations
# ##############################################################################

add_message_files(DIRECTORY
msg/state_machine
FILES
Expand Down Expand Up @@ -111,12 +134,14 @@ generate_messages(DEPENDENCIES
geometry_msgs
nav_msgs)

# ##############################################################################
# Setup catkin packages
# ##############################################################################

catkin_package(CATKIN_DEPENDS
roscpp
rospy
message_runtime
std_msgs
geometry_msgs
nav_msgs)

include_directories(${catkin_INCLUDE_DIRS})
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1.0
34 changes: 34 additions & 0 deletions cmake_modules/declarations.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
################################################################################
## Global declarations

set(PROJECT_DESCRIPTION "${PROJECT_NAME} package")
set(PROJECT_LIB_PREFIX "${PROJECT_NAME}")
set(CMAKE_PACKAGE_NAME "${PROJECT_LIB_PREFIX}")
set(CMAKE_PACKAGE_TARGETS "${CMAKE_PACKAGE_NAME}Targets")
set(PROJECT_VERSION_REL_TYPE "${PROJECT_VERSION}-${PROJECT_RELEASE_TYPE}")
set(CMAKE_POSITION_INDEPENDENT_CODE ON)


################################################################################
## Check release type

list(APPEND RELEASE_TYPE_LIST "alpha" "beta" "release")

list(FIND RELEASE_TYPE_LIST ${PROJECT_RELEASE_TYPE} index)
if(index EQUAL -1)
message(FATAL_ERROR "Release type '${PROJECT_RELEASE_TYPE}' is incorrect")
endif()


################################################################################
## Compilation outputs paths

# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
# set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
# set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)

################################################################################
## CXX declarations

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
45 changes: 21 additions & 24 deletions package.xml
Original file line number Diff line number Diff line change
@@ -1,26 +1,23 @@
<?xml version="0.0"?>
<?xml version="1.0"?>
<package>
<name>custom_msgs</name>
<version>1.0.0</version>
<description>The custom_msgs package</description>

<maintainer email="[email protected]">MG</maintainer>

<license>TODO</license>

<buildtool_depend>catkin</buildtool_depend>
<build_depend>message_generation</build_depend>
<build_depend>roscpp</build_depend>
<build_depend>rospy</build_depend>
<build_depend>std_msgs</build_depend>
<build_depend>geometry_msgs</build_depend>
<build_depend>nav_msgs</build_depend>

<run_depend>message_runtime</run_depend>
<run_depend>roscpp</run_depend>
<run_depend>rospy</run_depend>
<run_depend>std_msgs</run_depend>
<run_depend>geometry_msgs</run_depend>
<run_depend>nav_msgs</run_depend>

<name>custom_msgs</name>
<version>0.1.0</version>
<description>The custom_msgs package</description>
<maintainer email="[email protected]">MG</maintainer>
<license>BSD</license>
<!-- -->
<buildtool_depend>catkin</buildtool_depend>
<build_depend>message_generation</build_depend>
<build_depend>roscpp</build_depend>
<build_depend>rospy</build_depend>
<build_depend>std_msgs</build_depend>
<build_depend>geometry_msgs</build_depend>
<build_depend>nav_msgs</build_depend>
<!-- -->
<run_depend>message_runtime</run_depend>
<run_depend>roscpp</run_depend>
<run_depend>rospy</run_depend>
<run_depend>std_msgs</run_depend>
<run_depend>geometry_msgs</run_depend>
<run_depend>nav_msgs</run_depend>
</package>

0 comments on commit 313f03d

Please sign in to comment.