Skip to content

Commit

Permalink
added new CMakeLists
Browse files Browse the repository at this point in the history
separation complete.
  • Loading branch information
Kai Wurm committed Aug 8, 2011
1 parent e3b04d7 commit 3272db3
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 24 deletions.
9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT( octomap-distribution )

ADD_SUBDIRECTORY( octomap )
ADD_SUBDIRECTORY( octovis )




38 changes: 14 additions & 24 deletions octomap/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,17 @@ PROJECT( octomap )
# version (e.g. for packaging)
set(OCTOMAP_MAJOR_VERSION 1)
set(OCTOMAP_MINOR_VERSION 1)
set(OCTOMAP_PATCH_VERSION 1)
set(OCTOMAP_PATCH_VERSION 0)
set(OCTOMAP_VERSION ${OCTOMAP_MAJOR_VERSION}.${OCTOMAP_MINOR_VERSION}.${OCTOMAP_PATCH_VERSION})
# get rid of a useless warning:
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

SET (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules;${CMAKE_SOURCE_DIR}/../CMakeModules")
MESSAGE (STATUS "Module path: ${CMAKE_MODULE_PATH}")

# COMPILER SETTINGS (default: Release) and flags
INCLUDE(CMakeModules/CompilerSettings.cmake)
INCLUDE(CompilerSettings)

#If we are compiling with ROS support, we need to get the appropriate includes and link flags and such
# (thx to E.Perko for patch!)
Expand All @@ -32,13 +34,10 @@ SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${BASE_DIR}/lib )
SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${BASE_DIR}/lib )
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${BASE_DIR}/bin )

SET (CMAKE_MODULE_PATH ${CMAKE_MODULES_PATH} ${BASE_DIR}/CMakeModules)

INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/include
)


# Installation

set(INSTALL_TARGETS_DEFAULT_ARGS
Expand All @@ -56,14 +55,14 @@ install(PROGRAMS "src/extern/binvox/binvox64" DESTINATION bin)
install(PROGRAMS "src/extern/binvox/viewvox" DESTINATION bin)
install(PROGRAMS "src/extern/binvox/viewvox64" DESTINATION bin)

file(GLOB octomap_HDRS ${CMAKE_SOURCE_DIR}/include/octomap/*.h ${CMAKE_SOURCE_DIR}/include/octomap/*.hxx)
file(GLOB octomap_HDRS ${PROJECT_SOURCE_DIR}/include/octomap/*.h ${PROJECT_SOURCE_DIR}/include/octomap/*.hxx)
install(FILES ${octomap_HDRS} DESTINATION include/octomap)
file(GLOB octomap_math_HDRS ${CMAKE_SOURCE_DIR}/include/octomap/math/*.h)
file(GLOB octomap_math_HDRS ${PROJECT_SOURCE_DIR}/include/octomap/math/*.h)
install(FILES ${octomap_math_HDRS} DESTINATION include/octomap/math)

# uninstall target
configure_file(
"CMakeModules/CMakeUninstall.cmake.in"
"../CMakeModules/CMakeUninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)

Expand Down Expand Up @@ -105,7 +104,7 @@ install(FILES
DESTINATION lib/cmake/octomap/)

# Write pkgconfig-file:
include(CMakeModules/InstallPkgConfigFile.cmake)
include(InstallPkgConfigFile)
install_pkg_config_file(octomap
CFLAGS
LIBS -loctomap -loctomath
Expand All @@ -117,7 +116,7 @@ FIND_PACKAGE(Doxygen)
IF(DOXYGEN_FOUND)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/octomap.dox.in ${CMAKE_CURRENT_BINARY_DIR}/octomap.dox @ONLY)
ADD_CUSTOM_TARGET(docs ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/octomap.dox
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMENT "Generating documentation (Doxygen)...")
ENDIF(DOXYGEN_FOUND)

Expand All @@ -126,27 +125,18 @@ 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 "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}/dist/${PROJECT_NAME}"
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}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
)


# Build viewer if available:
INCLUDE(CMakeModules/BuildGLViewer.cmake)

# Needs to be last statement:
INCLUDE(CMakeModules/CPackSettings.cmake)
INCLUDE(CPackSettings)

# Finished:

MESSAGE (STATUS "\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)")
MESSAGE (STATUS "Compile API-documentation using: make docs\n")
MESSAGE (STATUS "")




70 changes: 70 additions & 0 deletions octovis/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
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})
# get rid of a useless warning:
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

SET (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules;${CMAKE_SOURCE_DIR}/../CMakeModules")

# COMPILER SETTINGS (default: Release) and flags
INCLUDE(CompilerSettings)

#If we are compiling with ROS support, we need to get the appropriate includes and link flags and such
# (thx to E.Perko for patch!)
if(WITH_ROS)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
set(ROSBUILD_DONT_REDEFINE_PROJECT true)
set(PROJECT_SOURCE_DIR_BACKUP ${PROJECT_SOURCE_DIR})
set(PROJECT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../..")
rosbuild_init()
set(PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR_BACKUP})
add_definitions(-DOCTOMAP_ROS)
endif(WITH_ROS)

# Set output directories for libraries and executables
SET( BASE_DIR ${CMAKE_SOURCE_DIR} )
SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${BASE_DIR}/lib )
SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${BASE_DIR}/lib )
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${BASE_DIR}/bin )

FIND_PATH( OCTOMAP_BASE_DIR include/octomap/octomap.h
${CMAKE_SOURCE_DIR}/octomap
${CMAKE_SOURCE_DIR}/../octomap
/usr
)

IF( OCTOMAP_BASE_DIR)
MESSAGE(STATUS "octomap library found in ${OCTOMAP_BASE_DIR}")

INCLUDE_DIRECTORIES(
${OCTOMAP_BASE_DIR}/include
)

LINK_DIRECTORIES(
${OCTOMAP_BASE_DIR}/lib
)

# Export the package for use from the build-tree
# (this registers the build-tree with a global CMake-registry)
export(PACKAGE octovis)

set(INSTALL_TARGETS_DEFAULT_ARGS
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)

# Build viewer if available:
INCLUDE(BuildGLViewer)

ELSE()
MESSAGE(STATUS "octomap library NOT found. Exiting.")

ENDIF()

0 comments on commit 3272db3

Please sign in to comment.