Skip to content

Commit

Permalink
"make dist" target for global distribution and subprojects
Browse files Browse the repository at this point in the history
  • Loading branch information
Armin Hornung committed Aug 16, 2011
1 parent 8e8139c commit 12a686d
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 28 deletions.
15 changes: 14 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT( octomap-distribution )

ENABLE_TESTING() # enable CTest environment
ENABLE_TESTING() # enable CTest environment of subprojects

ADD_SUBDIRECTORY( octomap )
ADD_SUBDIRECTORY( octovis )

# make complete package release from source
SET(PKG_NAME "${PROJECT_NAME}.tar.gz")
SET(DIST_DIR "${CMAKE_BINARY_DIR}/dist")
ADD_CUSTOM_TARGET("dist"
rm -rf "${DIST_DIR}" "${CMAKE_BINARY_DIR}/${PKG_NAME}"
COMMAND mkdir "${DIST_DIR}"
COMMAND svn export --force -q "${PROJECT_SOURCE_DIR}" "${DIST_DIR}/${PROJECT_NAME}"
COMMAND tar -czf "${CMAKE_BINARY_DIR}/${PKG_NAME}" -C "${DIST_DIR}" --exclude=".hidden" "${PROJECT_NAME}"
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
)

# also build subproject's dist for completeness
ADD_DEPENDENCIES(dist dist-octomap dist-octovis)



13 changes: 7 additions & 6 deletions octomap/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -122,19 +122,20 @@ ENDIF(DOXYGEN_FOUND)

# make package release from source
SET(OCTOMAP_PKG_NAME "${PROJECT_NAME}-${OCTOMAP_VERSION}.tar.gz")
ADD_CUSTOM_TARGET(dist
rm -rf "${CMAKE_BINARY_DIR}/dist" "${CMAKE_BINARY_DIR}/${OCTOMAP_PKG_NAME}"
COMMAND mkdir "${CMAKE_BINARY_DIR}/dist"
COMMAND svn export --force -q "${PROJECT_SOURCE_DIR}" "${CMAKE_BINARY_DIR}/dist/${PROJECT_NAME}"
COMMAND tar -czf "${CMAKE_BINARY_DIR}/${OCTOMAP_PKG_NAME}" -C "${CMAKE_BINARY_DIR}/dist" --exclude=".hidden" "${PROJECT_NAME}"
SET(DIST_DIR "${CMAKE_BINARY_DIR}/dist-${PROJECT_NAME}")
ADD_CUSTOM_TARGET("dist-${PROJECT_NAME}"
rm -rf "${DIST_DIR}" "${CMAKE_BINARY_DIR}/${OCTOMAP_PKG_NAME}"
COMMAND mkdir "${DIST_DIR}"
COMMAND svn export --force -q "${PROJECT_SOURCE_DIR}" "${DIST_DIR}/${PROJECT_NAME}"
COMMAND tar -czf "${CMAKE_BINARY_DIR}/${OCTOMAP_PKG_NAME}" -C "${DIST_DIR}" --exclude=".hidden" "${PROJECT_NAME}"
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
)

# Needs to be last statement:
INCLUDE(CPackSettings)

# Finished:
MESSAGE (STATUS "\n")
MESSAGE ("\n")
MESSAGE (STATUS "Compile octomap using: make")
MESSAGE (STATUS "Install octomap using: make install")
MESSAGE ( " (be sure to set the correct CMAKE_INSTALL_PREFIX before)")
Expand Down
3 changes: 1 addition & 2 deletions octomap/CMakeModules/CompilerSettings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)

MESSAGE ("\n")
MESSAGE (STATUS "Building as ${CMAKE_BUILD_TYPE}")
MESSAGE ("\n")
MESSAGE (STATUS "${PROJECT_NAME} building as ${CMAKE_BUILD_TYPE}")

# COMPILER FLAGS
IF (CMAKE_COMPILER_IS_GNUCC)
Expand Down
11 changes: 0 additions & 11 deletions octomap/ros/ROS_README.txt

This file was deleted.

38 changes: 32 additions & 6 deletions octovis/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT( octovis )

# # version (e.g. for packaging)
# set(OCTOMAP_MAJOR_VERSION 1)
# set(OCTOMAP_MINOR_VERSION 1)
# set(OCTOMAP_PATCH_VERSION 0)
# set(OCTOMAP_VERSION ${OCTOMAP_MAJOR_VERSION}.${OCTOMAP_MINOR_VERSION}.${OCTOMAP_PATCH_VERSION})
set(OCTOVIS_MAJOR_VERSION 1)
set(OCTOVIS_MINOR_VERSION 2)
set(OCTOVIS_PATCH_VERSION 0)
set(OCTOVIS_VERSION ${OCTOVIS_MAJOR_VERSION}.${OCTOVIS_MINOR_VERSION}.${OCTOVIS_PATCH_VERSION})
# get rid of a useless warning:
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
Expand Down Expand Up @@ -81,9 +81,35 @@ IF(BUILD_VIEWER)
# not used right now (export depends?)
#set(OCTOMAP_CMAKE_DIR "${PROJECT_BINARY_DIR}")
configure_file(octovis-config.cmake.in
"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octomap/octovis-config.cmake" @ONLY)
"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octovis/octovis-config.cmake" @ONLY)
configure_file(octovis-config-version.cmake.in
"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cmake/octovis/octovis-config-version.cmake" @ONLY)

# Create a octovis-config.cmake file for the use from the install tree
# and install it
set(OCTOVIS_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include")
set(OCTOVIS_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")
#set(OCTOMAP_CMAKE_DIR "${INSTALL_DATA_DIR}/FooBar/CMake")
configure_file(octovis-config.cmake.in
"${PROJECT_BINARY_DIR}/InstallFiles/octovis-config.cmake" @ONLY)
configure_file(octovis-config-version.cmake.in
"${PROJECT_BINARY_DIR}/InstallFiles/octovis-config-version.cmake" @ONLY)
install(FILES
"${PROJECT_BINARY_DIR}/InstallFiles/octovis-config.cmake"
"${PROJECT_BINARY_DIR}/InstallFiles/octovis-config-version.cmake"
DESTINATION lib/cmake/octovis/)

# make package release from source
SET(OCTOVIS_PKG_NAME "${PROJECT_NAME}-${OCTOVIS_VERSION}.tar.gz")
SET(DIST_DIR "${CMAKE_BINARY_DIR}/dist-${PROJECT_NAME}")
ADD_CUSTOM_TARGET("dist-${PROJECT_NAME}"
rm -rf "${DIST_DIR}" "${CMAKE_BINARY_DIR}/${OCTOVIS_PKG_NAME}"
COMMAND mkdir "${DIST_DIR}"
COMMAND svn export --force -q "${PROJECT_SOURCE_DIR}" "${DIST_DIR}/${PROJECT_NAME}"
COMMAND tar -czf "${CMAKE_BINARY_DIR}/${OCTOVIS_PKG_NAME}" -C "${DIST_DIR}" --exclude=".hidden" "${PROJECT_NAME}"
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
)


# #installation:
# # store all header files to install:
file(GLOB octovis_HDRS *.h *.hxx *.hpp)
Expand Down
3 changes: 1 addition & 2 deletions octovis/CMakeModules/CompilerSettings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)

MESSAGE ("\n")
MESSAGE (STATUS "Building as ${CMAKE_BUILD_TYPE}")
MESSAGE ("\n")
MESSAGE (STATUS "${PROJECT_NAME} building as ${CMAKE_BUILD_TYPE}")

# COMPILER FLAGS
IF (CMAKE_COMPILER_IS_GNUCC)
Expand Down
11 changes: 11 additions & 0 deletions octovis/octovis-config-version.cmake.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
set(PACKAGE_VERSION "@OCTOVIS_VERSION@")

# Check whether the requested PACKAGE_FIND_VERSION is compatible
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()

0 comments on commit 12a686d

Please sign in to comment.