Skip to content

Commit

Permalink
Removed some junk and gnu-specific sections from the top level cmake …
Browse files Browse the repository at this point in the history
…file.

* The 'RTT' build type has been removed, since its not portably defined.
* Also the cpack stuff had to go, since we don't support it anyway.
  • Loading branch information
Peter Soetens committed Jun 3, 2009
1 parent aa071ef commit 62eee46
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 102 deletions.
115 changes: 13 additions & 102 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#
# Test CMake version
#
CMAKE_MINIMUM_REQUIRED(VERSION 2.2)
#MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

# for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
IF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
Expand All @@ -17,69 +16,34 @@ ENDIF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_

PROJECT(orocos-rtt)

SET( RTT_VERSION 1.6.99 )
SET( RTT_VERSION 2.0.0 )
STRING( REGEX MATCHALL "[0-9]+" RTT_VERSIONS ${RTT_VERSION} )
LIST( GET RTT_VERSIONS 0 RTT_VERSION_MAJOR)
LIST( GET RTT_VERSIONS 1 RTT_VERSION_MINOR)
LIST( GET RTT_VERSIONS 2 RTT_VERSION_PATCH)

MESSAGE( "Orocos RTT version ${VERSION} (${RTT_VERSION_MAJOR}.${RTT_VERSION_MINOR}.${RTT_VERSION_PATCH})" )

# Do not rely on environment variables to find the path, because that's confusing
IF(NOT CMAKE_INSTALL_PREFIX)
SET( CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "Installation directory" FORCE)
MESSAGE( STATUS "Setting installation directory to ${CMAKE_INSTALL_PREFIX}" )
ENDIF(NOT CMAKE_INSTALL_PREFIX)

SET( PROJ_SOURCE_DIR ${orocos-rtt_SOURCE_DIR} )
SET( PROJ_BINARY_DIR ${orocos-rtt_BINARY_DIR} )

# Set the default build type to debug.
#
# Set the build type (affects debugging symbols and optimization)
#
IF ( NOT CMAKE_BUILD_TYPE )
SET( CMAKE_BUILD_TYPE "RTT" CACHE STRING "Build type: None (Use CMAKE_C_FLAGS and CMAKE_CXX_FLAGS), RTT (Recommended), Release, Debug, RelWithDebInfo, MinSizeRel." FORCE )
MESSAGE( "Setting build type to '${CMAKE_BUILD_TYPE}'" )
SET( CMAKE_C_FLAGS_RTT "-O2 -DNDEBUG" CACHE STRING "The CFLAGS for RTT" )
SET( CMAKE_CXX_FLAGS_RTT "-O2 -DNDEBUG" CACHE STRING "The CXXFLAGS flags for RTT" )
ELSE ( NOT CMAKE_BUILD_TYPE )
MESSAGE( "Build type set to '${CMAKE_BUILD_TYPE}' by user." )
IF ( NOT CMAKE_BUILD_TYPE STREQUAL "RTT" )
MARK_AS_ADVANCED(FORCE CMAKE_C_FLAGS_RTT CMAKE_CXX_FLAGS_RTT)
ELSE ( NOT CMAKE_BUILD_TYPE STREQUAL "RTT" )
MARK_AS_ADVANCED(CLEAR CMAKE_C_FLAGS_RTT CMAKE_CXX_FLAGS_RTT)
ENDIF ( NOT CMAKE_BUILD_TYPE STREQUAL "RTT" )

ENDIF ( NOT CMAKE_BUILD_TYPE )

#Use these variables to store build-local flags.
#They are used when the targets are configured.
IF ( NOT CMAKE_BUILD_TYPE STREQUAL "None")
SET ( CMAKE_CXX_FLAGS_ADD "${CMAKE_CXX_FLAGS}" CACHE STRING "Specify here your additional flags.")
SET ( CMAKE_C_FLAGS_ADD "${CMAKE_C_FLAGS}" CACHE STRING "Specify here your additional flags.")
SET ( CMAKE_CXX_FLAGS_ADD "${CMAKE_CXX_FLAGS}" CACHE STRING "Specify here your additional C++ flags.")
SET ( CMAKE_C_FLAGS_ADD "${CMAKE_C_FLAGS}" CACHE STRING "Specify here your additional C flags.")
SET ( CMAKE_LD_FLAGS_ADD "${CMAKE_LD_FLAGS}" CACHE STRING "Specify here your additional link flags.")
ENDIF ( NOT CMAKE_BUILD_TYPE STREQUAL "None")


# Make compilation verbose
#SET(CMAKE_VERBOSE_MAKEFILE TRUE)
SET(CMAKE_VERBOSE_MAKEFILE TRUE)

###################################################
# #
# End project customization section #
# #
###################################################

#
# Set the build type (affects debugging symbols and optimization)
#
IF ( NOT CMAKE_BUILD_TYPE )
SET( CMAKE_BUILD_TYPE Release )
MESSAGE( STATUS "Setting build type to '${CMAKE_BUILD_TYPE}'" )
ELSE ( NOT CMAKE_BUILD_TYPE )
MESSAGE( STATUS "Build type set to '${CMAKE_BUILD_TYPE}' by user." )
ENDIF ( NOT CMAKE_BUILD_TYPE )

# MESSAGE("Looking for compiler:")
INCLUDE (${CMAKE_ROOT}/Modules/CMakeDetermineCXXCompiler.cmake)

Expand All @@ -97,7 +61,11 @@ SET( RTT_CFLAGS "" CACHE INTERNAL "")
SET( RTT_LINKFLAGS "" CACHE INTERNAL "")
SET( RTT_USER_LINKFLAGS "" CACHE INTERNAL "")

# Find all installed libraries, compiler etc.
INCLUDE(config/check_depend.cmake)

# Decide how we will build using the user options and
# build environment
INCLUDE(config/global_setup.cmake)

## Uninstall target
Expand All @@ -109,75 +77,18 @@ CONFIGURE_FILE(
ADD_CUSTOM_TARGET(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")

###########################################################
# #
# Look for dependencies required by individual components #
# #
###########################################################

INCLUDE(config/rtt_macros.cmake)

###########################################################
# #
# Create build #
# Visit subdirs #
# #
###########################################################

ADD_DEFINITIONS( "-Wall" )
INCLUDE_DIRECTORIES(${PROJ_SOURCE_DIR}/src ${PROJ_BINARY_DIR}/src ${PROJ_BINARY_DIR}/src/os ${PROJ_BINARY_DIR}/src/os/${OROCOS_TARGET})
#INCLUDE_DIRECTORIES(${PROJ_SOURCE_DIR}/src ${PROJ_BINARY_DIR}/src ${PROJ_BINARY_DIR}/src/os)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(doc)
ADD_SUBDIRECTORY(tests)

#CONFIGURE_FILE( orocos-rtt.pc.in orocos-rtt-${OROCOS_TARGET}.pc @ONLY)
#INSTALL_FILES( /lib/pkgconfig FILES orocos-rtt-${OROCOS_TARGET}.pc)

############################################################
## #
## Setup PACKAGING #
## #
############################################################

IF ( "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" STREQUAL "2.4" )
OPTION( CPACK_PACKAGES "Set to ON to build the packages. Requires cmake >2.4" OFF )
IF (CPACK_PACKAGES)

INCLUDE(InstallRequiredSystemLibraries)

# ATTENTION: There is sometimes a _SOURCE_ version of an
# option as well, set both if necessary !

# Create .tar.gz and .tar.tbz2 files:
SET(CPACK_GENERATOR "TBZ2")
SET(CPACK_SOURCE_GENERATOR "TBZ2")

# The plain 'package' target works correctly.
SET(CPACK_IGNORE_FILES "/CVS/;/.svn/;.swp$;.#;/#;/build/")
# Since the 'package_source' target does a bold copy, define a list of
# files which should be excluded. Note that 'subpattern' matching is used,
# thus to exclude a directory use /mydir/
SET(CPACK_SOURCE_IGNORE_FILES "/CVS/;/.svn/;.swp$;.#;/#;/build/;~")

SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Orocos RTT")
SET(CPACK_PACKAGE_VENDOR "The Orocos Community")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
SET(CPACK_PACKAGE_MAJOR_VERSION RTT_VERSION_MAJOR)
SET(CPACK_PACKAGE_MINOR_VERSION RTT_VERSION_MINOR)
SET(CPACK_PACKAGE_VERSION_PATCH RTT_VERSION_PATCH)
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMAKE ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}")
SET(CPACK_STRIP_FILES "bin/cmake")
SET(CPACK_PACKAGE_EXECUTABLES "OrocosExec" "Orocos Executable")
INCLUDE(CPack)
ENDIF (CPACK_PACKAGES)
ELSE ( "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" STREQUAL "2.4" )

MESSAGE ( "Disabling packaging for version ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}")

ENDIF ( "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" STREQUAL "2.4" )


#############################
# #
# Building Doxygen documents#
Expand All @@ -192,8 +103,8 @@ IF (DOXYGEN)
ADD_DEPENDENCIES(docs docapi)
CONFIGURE_FILE(Doxyfile.in Doxyfile @ONLY)

# provide a link to src. Used by Doxygen.
EXECUTE_PROCESS(COMMAND ln -nfs ${PROJ_SOURCE_DIR}/src ${PROJ_BINARY_DIR}/rtt ERROR_QUIET)
# provide a link to src. Used only by Doxygen.
EXECUTE_PROCESS(COMMAND create_symlink ${PROJ_SOURCE_DIR}/src ${PROJ_BINARY_DIR}/rtt ERROR_QUIET)

ENDIF (DOXYGEN)

Expand Down
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ ENDIF ( NOT OS_EMBEDDED OR OS_EMBEDDED_SCRIPTING AND CMAKE_BUILD_TYPE STREQUAL "
# Settings for building a static library (.a)
#

INCLUDE_DIRECTORIES(${PROJ_SOURCE_DIR}/src ${PROJ_BINARY_DIR}/src ${PROJ_BINARY_DIR}/src/os ${PROJ_BINARY_DIR}/src/os/${OROCOS_TARGET})

#SET(COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${RTT_CFLAGS} -DOROCOS_TARGET=${OROCOS_TARGET}")

IF ( BUILD_STATIC )
Expand Down

0 comments on commit 62eee46

Please sign in to comment.