|
From: <rus...@us...> - 2008-03-26 00:55:30
|
Revision: 107
http://gearbox.svn.sourceforge.net/gearbox/?rev=107&view=rev
Author: russo2503v
Date: 2008-03-25 17:55:37 -0700 (Tue, 25 Mar 2008)
Log Message:
-----------
enabled in-tree rpath, installing cmake scripts
Modified Paths:
--------------
gearbox/trunk/cmake/FindIceUtil.cmake
gearbox/trunk/cmake/UseGearbox.cmake
gearbox/trunk/cmake/internal/Setup.cmake
Added Paths:
-----------
gearbox/trunk/cmake/CheckCompiler.cmake
gearbox/trunk/cmake/DependencyUtils.cmake
gearbox/trunk/cmake/SetupBuildType.cmake
gearbox/trunk/cmake/SetupDirectories.cmake
gearbox/trunk/cmake/SetupOs.cmake
gearbox/trunk/cmake/SetupVersion.cmake
gearbox/trunk/cmake/TargetUtils.cmake
gearbox/trunk/cmake/WriteConfigH.cmake
Removed Paths:
-------------
gearbox/trunk/cmake/internal/CheckCompiler.cmake
gearbox/trunk/cmake/internal/DependencyUtils.cmake
gearbox/trunk/cmake/internal/SetupBuildType.cmake
gearbox/trunk/cmake/internal/SetupDirectories.cmake
gearbox/trunk/cmake/internal/SetupOs.cmake
gearbox/trunk/cmake/internal/SetupVersion.cmake
gearbox/trunk/cmake/internal/TargetUtils.cmake
gearbox/trunk/cmake/internal/WriteConfigH.cmake
Copied: gearbox/trunk/cmake/CheckCompiler.cmake (from rev 106, gearbox/trunk/cmake/internal/CheckCompiler.cmake)
===================================================================
--- gearbox/trunk/cmake/CheckCompiler.cmake (rev 0)
+++ gearbox/trunk/cmake/CheckCompiler.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -0,0 +1,37 @@
+#
+# If we're using gcc, make sure the version is OK.
+#
+IF ( ${CMAKE_C_COMPILER} MATCHES gcc )
+
+ EXEC_PROGRAM ( ${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE gcc_version )
+ MESSAGE ( STATUS "gcc version: ${gcc_version}")
+
+ # Why doesn't this work?
+ #STRING( REGEX MATCHALL "gcc\.*" VERSION_STRING ${CMAKE_C_COMPILER} )
+
+ IF ( gcc_version MATCHES ".*4\\.[0-9]\\.[0-9]" )
+ SET( GCC_VERSION_OK 1 )
+ ENDIF ( gcc_version MATCHES ".*4\\.[0-9]\\.[0-9]")
+
+ GBX_ASSERT ( GCC_VERSION_OK
+ "Checking gcc version - failed. ${PROJECT_NAME} requires gcc v. 4.x"
+ "Checking gcc version - ok"
+ 1 )
+
+ IF ( gcc_version MATCHES ".*4\\.0.*" )
+ # gcc 4.0.x
+ ENDIF ( gcc_version MATCHES ".*4\\.0.*" )
+
+ IF ( gcc_version MATCHES ".*4\\.1.*" )
+ # gcc 4.1.x
+ # gcc-4.1 adds stack protection, which makes code robust to buffer-overrun attacks
+ # (see: http://www.trl.ibm.com/projects/security/ssp/)
+ # However for some reason this can result in the symbol '__stack_chk_fail_local' not being found.
+ # So turn it off.
+ # Tobi: it looks like stack protection is off by default from version gcc 4.1.2, so we don't need this any more.
+ # Will keep it for now, it doesn't hurt.
+ ADD_DEFINITIONS( -fno-stack-protector )
+ ENDIF ( gcc_version MATCHES ".*4\\.1.*" )
+
+
+ENDIF ( ${CMAKE_C_COMPILER} MATCHES gcc )
Copied: gearbox/trunk/cmake/DependencyUtils.cmake (from rev 106, gearbox/trunk/cmake/internal/DependencyUtils.cmake)
===================================================================
--- gearbox/trunk/cmake/DependencyUtils.cmake (rev 0)
+++ gearbox/trunk/cmake/DependencyUtils.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -0,0 +1,229 @@
+MACRO( GBX_MAKE_OPTION_NAME option_name module_type module_name )
+
+ STRING ( COMPARE EQUAL ${module_type} "EXE" is_exe )
+ STRING ( COMPARE EQUAL ${module_type} "LIB" is_lib )
+ IF ( NOT is_exe AND NOT is_lib )
+ MESSAGE ( FATAL_ERROR "In macro GBX_MAKE_OPTION_NAME, module_type must be either 'EXE' or 'LIB'" )
+ ENDIF ( NOT is_exe AND NOT is_lib )
+ IF ( is_exe AND is_lib )
+ MESSAGE ( FATAL_ERROR "In macro GBX_MAKE_OPTION_NAME, module_type must be either 'EXE' or 'LIB'" )
+ ENDIF ( is_exe AND is_lib )
+
+ STRING( TOUPPER ${module_name} module_name_upper )
+ IF ( is_exe )
+ SET( option_name "ENABLE_${module_name_upper}" )
+ ELSE ( is_exe )
+ SET( option_name "ENABLE_LIB_${module_name_upper}" )
+ ENDIF ( is_exe )
+
+ENDMACRO( GBX_MAKE_OPTION_NAME option_name module_name )
+
+#
+# GBX_REQUIRE_OPTION( cumulative_var [EXE | LIB] module_name default_option_value [option_name] [OPTION DESCRIPTION] )
+#
+# E.g.
+# Initialize a variable first
+# SET( BUILD TRUE )
+# Now set up and test option value
+# GBX_REQUIRE_OPTION ( BUILD EXE localiser ON )
+# This does the same thing
+# GBX_REQUIRE_OPTION ( BUILD EXE localiser ON BUILD_LOCALISER )
+#
+MACRO( GBX_REQUIRE_OPTION cumulative_var module_type module_name default_option_value )
+
+ STRING ( COMPARE EQUAL ${module_type} "EXE" is_exe )
+ STRING ( COMPARE EQUAL ${module_type} "LIB" is_lib )
+ IF ( NOT is_exe AND NOT is_lib )
+ MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_OPTION, module_type must be either 'EXE' or 'LIB'" )
+ ENDIF ( NOT is_exe AND NOT is_lib )
+ IF ( is_exe AND is_lib )
+ MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_OPTION, module_type must be either 'EXE' or 'LIB'" )
+ ENDIF ( is_exe AND is_lib )
+
+ IF ( ${ARGC} GREATER 5 )
+ SET( option_name ${ARGV6} )
+ ELSE ( ${ARGC} GREATER 5 )
+ STRING( TOUPPER ${module_name} module_name_upper )
+ IF ( is_exe )
+ SET( option_name "ENABLE_${module_name_upper}" )
+ ELSE ( is_exe )
+ SET( option_name "ENABLE_LIB_${module_name_upper}" )
+ ENDIF ( is_exe )
+ ENDIF ( ${ARGC} GREATER 5 )
+
+ IF ( ${ARGC} GREATER 6 )
+ SET( option_descr ${ARGV7} )
+ ELSE ( ${ARGC} GREATER 6 )
+ SET( option_descr "disabled by user, use ccmake to enable" )
+ ENDIF ( ${ARGC} GREATER 6 )
+
+ # debug
+# MESSAGE( STATUS
+# "GBX_REQUIRE_OPTION (CUM_VAR=${cumulative_var}, MOD_TYPE=${module_type}, MOD_NAME=${module_name}, default_option_value=${default_option_value}, OPT_NAME=${option_name}, OPT_DESC=${option_descr})" )
+
+ # set up the option
+ IF ( is_exe )
+ OPTION( ${option_name} "Try to build ${module_name}" ${default_option_value} )
+ ELSE ( is_exe )
+ OPTION( ${option_name} "Try to build lib${module_name} library" ${default_option_value} )
+ ENDIF ( is_exe )
+
+ # must dereference both var and option names once (!) and IF will evaluate their values
+ IF ( ${cumulative_var} AND NOT ${option_name} )
+ SET( ${cumulative_var} FALSE )
+ IF ( is_exe )
+ GBX_NOT_ADD_EXECUTABLE( ${module_name} ${option_descr} )
+ ELSE ( is_exe )
+ GBX_NOT_ADD_LIBRARY( ${module_name} ${option_descr} )
+ ENDIF ( is_exe )
+ ENDIF ( ${cumulative_var} AND NOT ${option_name} )
+
+ENDMACRO( GBX_REQUIRE_OPTION cumulative_var module_type module_name default_option_value )
+
+#
+# GBX_REQUIRE_VAR ( cumulative_var [EXE | LIB] module_name test_var reason )
+#
+# E.g.
+# Initialize a variable first
+# SET( BUILD TRUE )
+# Now test the variable value
+# GBX_REQUIRE_VAR ( BUILD LIB HydroStuff GOOD_TO_GO "good-to-go is no good" )
+#
+MACRO( GBX_REQUIRE_VAR cumulative_var module_type module_name test_var reason )
+
+ # debug
+# MESSAGE( STATUS "GBX_REQUIRE_VAR [ CUM_VAR=${cumulative_var}, MOD_TYPE=${module_type}, MOD_NAME=${module_name}, test_var=${${test_var}}, reason=${reason} ]" )
+
+ STRING ( COMPARE EQUAL ${module_type} "EXE" is_exe )
+ STRING ( COMPARE EQUAL ${module_type} "LIB" is_lib )
+ IF ( NOT is_exe AND NOT is_lib )
+ MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_VAR, module_type must be either 'EXE' or 'LIB'" )
+ ENDIF ( NOT is_exe AND NOT is_lib )
+ IF ( is_exe AND is_lib )
+ MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_VAR, module_type must be either 'EXE' or 'LIB'" )
+ ENDIF ( is_exe AND is_lib )
+
+ # must dereference both var names once (!) and IF will evaluate their values
+ IF ( ${cumulative_var} AND NOT ${test_var} )
+ SET( ${cumulative_var} FALSE )
+ IF ( is_exe )
+ GBX_NOT_ADD_EXECUTABLE( ${module_name} ${reason} )
+ ELSE ( is_exe )
+ GBX_NOT_ADD_LIBRARY( ${module_name} ${reason} )
+ ENDIF ( is_exe )
+ ENDIF ( ${cumulative_var} AND NOT ${test_var} )
+
+ENDMACRO( GBX_REQUIRE_VAR cumulative_var module_type module_name test_var reason )
+
+#
+# GBX_REQUIRE_INSTALL ( cumulative_var [EXE | LIB] module_name installed_module [reason] )
+#
+# A special case of REQUIRE_VAR. Checks whether a manifest variable is defined
+# for the module with a name "installed_module".
+# E.g.
+# Initialize a variable first
+# SET ( BUILD TRUE )
+# Now test the variable value
+# REQUIRE_INSTALL ( build LIB HydroStuff GbxStuff )
+# will check if GBXSTUFF_INSTALLED is defined.
+# This example is equivalent to
+# REQUIRE_VAR( build LIB HydroStuff GBXSTUFF_INSTALLED "GbxStuff was not installed" )
+#
+MACRO( GBX_REQUIRE_INSTALL cumulative_var module_type module_name installed_module )
+
+ # debug
+# MESSAGE( STATUS "REQUIRE_INSTALL [ CUM_VAR=${cumulative_var}, MOD_TYPE=${module_type}, MOD_NAME=${module_name}, installed_module=${installed_module} ]" )
+
+ STRING ( TOUPPER ${installed_module} upper_installed_module )
+ SET( test_var ${upper_installed_module}_INSTALLED )
+
+ IF ( ${ARGC} GREATER 5 )
+ SET( reason ${ARGV6} )
+ ELSE ( ${ARGC} GREATER 5 )
+ SET( reason "${installed_module} was not installed" )
+ ENDIF ( ${ARGC} GREATER 5 )
+
+ # must dereference both var names once (!)
+ GBX_REQUIRE_VAR( ${cumulative_var} ${module_type} ${module_name} ${test_var} ${reason} )
+
+ENDMACRO( GBX_REQUIRE_INSTALL cumulative_var module_type module_name installed_module )
+
+#
+# GBX_REQUIRE_INSTALLS( cumulative_var [EXE | LIB] module_name target0 [targe1 target2 ...] )
+#
+MACRO( GBX_REQUIRE_INSTALLS cumulative_var module_type module_name )
+
+ IF( ${ARGC} LESS 4 )
+ MESSAGE( FATAL_ERROR "GBX_REQUIRE_INSTALLS macro needs to at least one target name (${ARGC} params were given)." )
+ ENDIF( ${ARGC} LESS 4 )
+
+ FOREACH( TRGT ${ARGN} )
+ GBX_REQUIRE_INSTALL( ${cumulative_var} ${module_type} ${module_name} ${TRGT} )
+ ENDFOREACH( TRGT ${ARGN} )
+
+ENDMACRO( GBX_REQUIRE_INSTALLS cumulative_var module_type module_name )
+
+#
+# GBX_REQUIRE_TARGET( cumulative_var [EXE | LIB] module_name target_name [reason] )
+#DEPS
+# E.g.
+# Initialize a variable first
+# SET( BUILD TRUE )
+# Now set up and test option value
+# GBX_REQUIRE_TARGET ( BUILD EXE localiser HydroStuff )
+#
+MACRO( GBX_REQUIRE_TARGET cumulative_var module_type module_name target_name )
+
+ # debug
+# MESSAGE( STATUS "GBX_REQUIRE_TARGET [ CUM_VAR=${${cumulative_var}}, MOD_TYPE=${module_type}, MOD_NAME=${module_name}, target_name=${target_name} ]" )
+
+ STRING ( COMPARE EQUAL ${module_type} "EXE" is_exe )
+ STRING ( COMPARE EQUAL ${module_type} "LIB" is_lib )
+ IF ( NOT is_exe AND NOT is_lib )
+ MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_TARGET, module_type must be either 'EXE' or 'LIB'" )
+ ENDIF ( NOT is_exe AND NOT is_lib )
+ IF ( is_exe AND is_lib )
+ MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_TARGET, module_type must be either 'EXE' or 'LIB'" )
+ ENDIF ( is_exe AND is_lib )
+
+ IF ( ${ARGC} GREATER 5 )
+ SET( reason ${ARGV6} )
+ ELSE ( ${ARGC} GREATER 5 )
+ SET( reason "lib${target_name} is not being built" )
+ ENDIF ( ${ARGC} GREATER 5 )
+
+ GET_TARGET_PROPERTY( target_location ${target_name} LOCATION )
+
+ # must dereference both var and option names once (!) and IF will evaluate their values
+ IF ( ${cumulative_var} AND NOT target_location )
+ SET( ${cumulative_var} FALSE )
+ GBX_MAKE_OPTION_NAME( option_name ${module_type} ${module_name} )
+ IF ( is_exe )
+ GBX_NOT_ADD_EXECUTABLE( ${module_name} ${reason} )
+ SET( ${option_name} OFF CACHE BOOL "Try to build ${module_name}" FORCE )
+ ELSE ( is_exe )
+ GBX_NOT_ADD_LIBRARY( ${module_name} ${reason} )
+ SET( ${option_name} OFF CACHE BOOL "Try to build lib${module_name} library" FORCE )
+ ENDIF ( is_exe )
+ ENDIF ( ${cumulative_var} AND NOT target_location )
+
+ENDMACRO( GBX_REQUIRE_TARGET cumulative_var module_type module_name target_name )
+
+
+#
+# GBX_REQUIRE_TARGETS( cumulative_var [EXE | LIB] module_name TARGET0 [TARGET1 TARGET2 ...] )
+#
+MACRO( GBX_REQUIRE_TARGETS cumulative_var module_type module_name )
+
+ # debug
+# MESSAGE( STATUS "GBX_REQUIRE_TARGETS [ CUM_VAR=${${cumulative_var}}, MOD_TYPE=${module_type}, MOD_NAME=${module_name}, target_names=${ARGN} ]" )
+
+ IF( ${ARGC} LESS 4 )
+ MESSAGE( FATAL_ERROR "GBX_REQUIRE_TARGETS macro needs to at least one target name (${ARGC} params were given)." )
+ ENDIF( ${ARGC} LESS 4 )
+
+ FOREACH( trgt ${ARGN} )
+ GBX_REQUIRE_TARGET( ${cumulative_var} ${module_type} ${module_name} ${trgt} )
+ ENDFOREACH( trgt ${ARGN} )
+
+ENDMACRO( GBX_REQUIRE_TARGETS cumulative_var module_type module_name )
Modified: gearbox/trunk/cmake/FindIceUtil.cmake
===================================================================
--- gearbox/trunk/cmake/FindIceUtil.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/FindIceUtil.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -15,8 +15,10 @@
# package + source install w/out env.var -> package
#
# installation selected by user
+ ${ICEUTIL_HOME}/include/IceUtil
+ ${ICE_HOME}/include/IceUtil
+ $ENV{ICEUTIL_HOME}/include/IceUtil
$ENV{ICE_HOME}/include/IceUtil
- $ENV{ICEUTIL_HOME}/include/IceUtil
# debian package installs Ice here
/usr/include/IceUtil
# Test standard installation points: newer versions first
Copied: gearbox/trunk/cmake/SetupBuildType.cmake (from rev 106, gearbox/trunk/cmake/internal/SetupBuildType.cmake)
===================================================================
--- gearbox/trunk/cmake/SetupBuildType.cmake (rev 0)
+++ gearbox/trunk/cmake/SetupBuildType.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -0,0 +1,18 @@
+IF ( NOT CMAKE_BUILD_TYPE )
+
+ IF ( NOT GBX_OS_WIN )
+ # For gcc, RelWithDebInfo gives '-O2 -g'
+ SET( CMAKE_BUILD_TYPE RelWithDebInfo )
+ ELSE ( NOT GBX_OS_WIN )
+ # windows... a temp hack: VCC does not seem to respect the cmake
+ # setting and always defaults to debug, we have to match it here.
+ SET( CMAKE_BUILD_TYPE Debug )
+ ENDIF ( NOT GBX_OS_WIN )
+
+ 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 )
Copied: gearbox/trunk/cmake/SetupDirectories.cmake (from rev 106, gearbox/trunk/cmake/internal/SetupDirectories.cmake)
===================================================================
--- gearbox/trunk/cmake/SetupDirectories.cmake (rev 0)
+++ gearbox/trunk/cmake/SetupDirectories.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -0,0 +1,70 @@
+#
+# Installation directory is determined by looking at 3 sources of information in the following order,
+# later sources overwrite earlier ones:
+# 1. OS-dependent defaults (effective only the first time CMake runs or after CMakeCache is deleted)
+# 2. Enviroment variable whose name is held in variable project_install_var
+# 3. CMake variable whose name is held in project_install_var.
+#
+# E.g.
+# - rm CMakeCache.txt; cmake .
+# /opt/orca-1.2.3
+# - export HYDRO_INSTALL=/home/myname; cmake .
+# /home/myname
+# - export HYDRO_INSTALL=/home/myname; cmake -DHYDRO_INSTALL=/home/myname/opt.
+# /home/myname/opt
+#
+# Afterwards, it's ok to just use "cmake .", the previously set installation dir is held in cache.
+#
+# A manually set installation dir (e.i. with ccmake) is not touched until an environment variable or
+# a command line variable is introduced.
+
+# 1. using custom defaults (effective only the very first time CMake runs, or after CMakeCache is deleted)
+IF( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ MESSAGE( STATUS "Setting default installation directory..." )
+ IF ( NOT GBX_OS_WIN )
+ SET( CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "Installation directory" FORCE )
+ ELSE ( NOT GBX_OS_WIN )
+ SET( CMAKE_INSTALL_PREFIX "C:\Program Files\${PROJECT_NAME}\Include" CACHE PATH "Installation directory" FORCE )
+ ENDIF ( NOT GBX_OS_WIN )
+ENDIF( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT )
+
+# the name of the variable controlling install directory for this project
+STRING( TOUPPER ${PROJECT_NAME} project_name_upper )
+SET( project_install_var "${project_name_upper}_INSTALL" )
+
+# 2. check if environment variable is set
+SET( install_dir $ENV{${project_install_var}} )
+STRING( LENGTH "A${install_dir}" is_env_var_defined_plus_one )
+MATH( EXPR is_env_var_defined "${is_env_var_defined_plus_one}-1" )
+IF( is_env_var_defined )
+ # debug
+ MESSAGE( STATUS "Overwriting install dir with enviroment variable ${project_install_var}=${install_dir}" )
+
+ SET( CMAKE_INSTALL_PREFIX ${install_dir} CACHE PATH "Installation directory" FORCE )
+ENDIF( is_env_var_defined )
+
+# 3. check if CMake variable is set on the command line
+IF( DEFINED ${project_install_var} )
+ SET( install_dir ${${project_install_var}} )
+ # debug
+ MESSAGE( STATUS "Overwriting install dir with command line variable ${project_install_var}=${install_dir}" )
+
+ # using user-supplied installation directory
+ SET( CMAKE_INSTALL_PREFIX ${install_dir} CACHE PATH "Installation directory" FORCE )
+ENDIF( DEFINED ${project_install_var} )
+
+# final result
+MESSAGE( STATUS "Setting installation directory to ${CMAKE_INSTALL_PREFIX}" )
+
+# special installation directories
+SET( GBX_BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin )
+SET( GBX_LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME} )
+SET( GBX_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/install/${PROJECT_NAME} )
+SET( GBX_SHARE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME} )
+
+#
+# It's sometimes useful to refer to the top level of the project.
+# CMake does not make it very easy.
+#
+SET( GBX_PROJECT_SOURCE_DIR ${${PROJECT_NAME}_SOURCE_DIR} )
+SET( GBX_PROJECT_BINARY_DIR ${${PROJECT_NAME}_BINARY_DIR} )
Copied: gearbox/trunk/cmake/SetupOs.cmake (from rev 106, gearbox/trunk/cmake/internal/SetupOs.cmake)
===================================================================
--- gearbox/trunk/cmake/SetupOs.cmake (rev 0)
+++ gearbox/trunk/cmake/SetupOs.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -0,0 +1,41 @@
+#
+# Check the OS type.
+# Sets the 'GBX_OS_INCLUDES' variable, for system-wide Includes that must be set.
+#
+
+
+# CMake does not distinguish Linux from other Unices.
+STRING( REGEX MATCH Linux GBX_OS_LINUX ${CMAKE_SYSTEM_NAME})
+
+# Rename CMake's variable to something which makes more sense.
+IF ( QNXNTO )
+ SET( GBX_OS_QNX TRUE BOOL INTERNAL )
+ENDIF ( QNXNTO )
+
+# In windows we just mirror CMake's own variable
+IF ( WIN32 )
+ SET( GBX_OS_WIN TRUE BOOL INTERNAL )
+ENDIF ( WIN32 )
+
+# In MacOS X we just mirror CMake's own variable
+IF ( APPLE )
+ SET( GBX_OS_MAC TRUE BOOL INTERNAL )
+ENDIF ( APPLE )
+
+
+# From now on, use our own OS flags
+
+IF ( GBX_OS_LINUX )
+ MESSAGE ( STATUS "Running on Linux" )
+ENDIF ( GBX_OS_LINUX )
+
+IF ( GBX_OS_QNX )
+ MESSAGE ( STATUS "Running on QNX" )
+ ADD_DEFINITIONS( -shared -fexceptions )
+ENDIF ( GBX_OS_QNX )
+
+IF ( GBX_OS_WIN )
+ # CMake seems not to set this property correctly for some reason
+ SET( GBX_EXE_EXTENSION ".exe" )
+ MESSAGE ( STATUS "Running on Windows" )
+ENDIF ( GBX_OS_WIN )
Copied: gearbox/trunk/cmake/SetupVersion.cmake (from rev 106, gearbox/trunk/cmake/internal/SetupVersion.cmake)
===================================================================
--- gearbox/trunk/cmake/SetupVersion.cmake (rev 0)
+++ gearbox/trunk/cmake/SetupVersion.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -0,0 +1,9 @@
+#
+# define the project version so we can have access to it from the code
+#
+
+# alexm: for gcc need to produce this in the Makefile: -DGEARBOX_VERSION=\"X.Y.Z\",
+# without escaping the quotes the compiler will strip them off.
+# alexb: it seems that you also need to escape the quotes for windoze??
+
+ADD_DEFINITIONS( "-DGEARBOX_VERSION=\\\"${GBX_PROJECT_VERSION}\\\"" )
Copied: gearbox/trunk/cmake/TargetUtils.cmake (from rev 106, gearbox/trunk/cmake/internal/TargetUtils.cmake)
===================================================================
--- gearbox/trunk/cmake/TargetUtils.cmake (rev 0)
+++ gearbox/trunk/cmake/TargetUtils.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -0,0 +1,285 @@
+#
+# Components should add themselves by calling 'GBX_ADD_EXECUTABLE'
+# instead of 'ADD_EXECUTABLE' in CMakeLists.txt.
+# Usage: GBX_ADD_EXECUTABLE( name src1 src2 src3 )
+#
+MACRO( GBX_ADD_EXECUTABLE name )
+ ADD_EXECUTABLE( ${name} ${ARGN} )
+# SET_TARGET_PROPERTIES( ${name} PROPERTIES
+# INSTALL_RPATH "${INSTALL_RPATH};${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME}"
+# BUILD_WITH_INSTALL_RPATH TRUE )
+ INSTALL( TARGETS ${name} RUNTIME DESTINATION bin )
+ SET( templist ${COMPONENT_LIST} )
+ LIST ( APPEND templist ${name} )
+# MESSAGE ( STATUS "DEBUG: ${templist}" )
+ SET( COMPONENT_LIST ${templist} CACHE INTERNAL "Global list of components to build" FORCE )
+ MESSAGE( STATUS "Planning to Build Executable: ${name}" )
+ENDMACRO( GBX_ADD_EXECUTABLE name )
+
+#
+# Components should add themselves by calling 'GBX_ADD_EXECUTABLE'
+# instead of 'ADD_LIBRARY' in CMakeLists.txt.
+# Usage: GBX_ADD_LIBRARY( name src1 src2 src3 )
+#
+MACRO( GBX_ADD_LIBRARY name )
+ ADD_LIBRARY( ${name} ${ARGN} )
+# SET_TARGET_PROPERTIES( ${name} PROPERTIES
+# INSTALL_RPATH "${INSTALL_RPATH};${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME}"
+# BUILD_WITH_INSTALL_RPATH TRUE )
+ INSTALL( TARGETS ${name} LIBRARY DESTINATION lib/${PROJECT_NAME} )
+ SET( templist ${LIBRARY_LIST} )
+ LIST ( APPEND templist ${name} )
+ SET( LIBRARY_LIST ${templist} CACHE INTERNAL "Global list of libraries to build" FORCE )
+ MESSAGE( STATUS "Planning to Build Library : ${name}" )
+ENDMACRO( GBX_ADD_LIBRARY name )
+
+#
+# GBX_ADD_HEADERS( install_subdir FILE0 [FILE1 FILE2 ...] )
+#
+# Specialization of INSTALL(FILES ...) to install header files.
+# All files are installed into PREFIX/include/${PROJECT_NAME}/${install_subdir}
+#
+MACRO( GBX_ADD_HEADERS install_subdir )
+ INSTALL( FILES ${ARGN} DESTINATION include/${PROJECT_NAME}/${install_subdir} )
+ENDMACRO( GBX_ADD_HEADERS install_subdir )
+#
+# GBX_ADD_SHARED_FILES( install_subdir FILE0 [FILE1 FILE2 ...] )
+#
+# Specialization of INSTALL(FILES ...) to install shared files.
+# All files are installed into PREFIX/share/${PROJECT_NAME}/${install_subdir} directory.
+#
+MACRO( GBX_ADD_SHARED_FILES install_subdir )
+ INSTALL( FILES ${ARGN} DESTINATION share/${PROJECT_NAME}/${install_subdir} )
+ENDMACRO( GBX_ADD_SHARED_FILES install_subdir )
+
+#
+# GBX_ADD_EXAMPLE( install_subdir makefile.in makefile.out [FILE0 FILE1 FILE2 ...] )
+#
+# Specialisation of INSTALL(FILES ...) to install examples.
+# All files are installed into PREFIX/share/${PROJECT_NAME}/${install_subdir}.
+# makefile is passed through CONFIGURE_FILE to add in correct include and library
+# paths based on the install prefix.
+#
+MACRO( GBX_ADD_EXAMPLE install_subdir makefile.in makefile.out )
+ CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${makefile.in} ${CMAKE_CURRENT_BINARY_DIR}/${makefile.out} @ONLY)
+ INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/${makefile.out} DESTINATION share/${PROJECT_NAME}/${install_subdir} RENAME CMakeLists.txt )
+ INSTALL( FILES ${ARGN} DESTINATION share/${PROJECT_NAME}/${install_subdir} )
+ENDMACRO( GBX_ADD_EXAMPLE install_subdir makefile )
+
+#
+# GBX_ADD_PKGCONFIG( name cflags libflags [DEPENDENCY0 DEPENDENCY1 ...] )
+#
+# Creates a pkg-config file for library "name".
+# desc is a description of the library.
+# ext_deps is a list containing all the external libraries this one requires (pass by reference).
+# int_deps is a list containing all the internal libraries this library depends on (pass by reference).
+# cflags is appended to the "Cflags" value.
+# libflags is appended to the "Libs" value.
+# that should be linked with at the same time as linking to this library.
+#
+MACRO( GBX_ADD_PKGCONFIG name desc ext_deps int_deps cflags libflags )
+ SET( PKG_NAME ${name} )
+ SET( PKG_DESC ${desc} )
+ SET( PKG_CFLAGS ${cflags} )
+ SET( PKG_LIBFLAGS ${libflags} )
+ SET( PKG_EXTERNAL_DEPS ${${ext_deps}} )
+ SET( PKG_INTERNAL_DEPS "" )
+ IF( ${int_deps} )
+ FOREACH( A ${${int_deps}} )
+ SET( PKG_INTERNAL_DEPS "${PKG_INTERNAL_DEPS} -l${A}" )
+ ENDFOREACH( A ${${int_deps}} )
+ ENDIF( ${int_deps} )
+
+ CONFIGURE_FILE( ${GBX_CMAKE_DIR}/pkgconfig.in ${CMAKE_CURRENT_BINARY_DIR}/${name}.pc @ONLY)
+ INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.pc DESTINATION lib/pkgconfig/${PROJECT_NAME}/ )
+ENDMACRO( GBX_ADD_PKGCONFIG name desc cflags deps libflags libs )
+
+#
+# This is a mechanism to register special items which are not
+# components or libraries. This function only records the name of
+# the item to display it at the end of the cmake run and to submit
+# to the Dashboard.
+# Usage: GBX_ADD_ITEM( name )
+#
+MACRO( GBX_ADD_ITEM name )
+ SET( templist ${ITEM_LIST} )
+ LIST ( APPEND templist ${name} )
+ SET( ITEM_LIST ${templist} CACHE INTERNAL "Global list of special items to build" FORCE )
+ MESSAGE( STATUS "Planning to Build Item : ${name}" )
+ENDMACRO( GBX_ADD_ITEM name )
+
+#
+# This is a mechanism to specify a license for the current source directory.
+# Usage: GBX_ADD_LICENSE( license )
+#
+MACRO( GBX_ADD_LICENSE license )
+ SET( templist ${LICENSE_LIST} )
+
+ # get relative path to the current source dir
+ STRING ( LENGTH ${GBX_PROJECT_SOURCE_DIR} proj_src_dir_length )
+ STRING ( LENGTH ${CMAKE_CURRENT_SOURCE_DIR} current_src_dir_length )
+ MATH ( EXPR relative_path_length "${current_src_dir_length} - ${proj_src_dir_length} - 1" )
+ MATH ( EXPR relative_path_start "${proj_src_dir_length} + 1" )
+ STRING ( SUBSTRING ${CMAKE_CURRENT_SOURCE_DIR}
+ ${relative_path_start} ${relative_path_length} current_src_dir_relative )
+
+ # format the string to line up properly
+ SET( spaces "A Z" )
+ STRING ( LENGTH ${current_src_dir_relative} current_src_dir_relative_length )
+ MATH ( EXPR white_space_length "60 - ${current_src_dir_relative_length}" )
+ STRING ( SUBSTRING ${spaces} 1 ${white_space_length} white_space )
+
+ SET( line_item "${current_src_dir_relative}${white_space}${license}" )
+ LIST ( APPEND templist ${line_item} )
+ SET( LICENSE_LIST ${templist} CACHE INTERNAL "Global list of directories and their licenses" FORCE )
+# MESSAGE( STATUS ${line_item} )
+ENDMACRO( GBX_ADD_LICENSE license )
+
+#
+# Usage: GBX_ADD_TEST( testname exename [arg1 arg2 ...] )
+# Example: GBX_ADD_TEST( IntegerTest inttest --verbose )
+#
+MACRO( GBX_ADD_TEST name executable )
+ ADD_TEST( ${name} ${executable} ${ARGN} )
+ SET( templist ${TEST_LIST} )
+ LIST ( APPEND templist ${name} )
+ SET( TEST_LIST ${templist} CACHE INTERNAL "Global list of (CTest) tests to build" FORCE )
+# MESSAGE( STATUS "Planning to Build Test : ${name}" )
+ENDMACRO( GBX_ADD_TEST name executable )
+
+#
+# Usage: GBX_NOT_ADD_EXECUTABLE( name reason )
+#
+MACRO( GBX_NOT_ADD_EXECUTABLE name reason )
+ SET( templist ${COMPONENT_NOT_LIST} )
+ LIST ( APPEND templist ${name} )
+# MESSAGE ( STATUS "DEBUG: ${templist}" )
+ SET( COMPONENT_NOT_LIST ${templist} CACHE INTERNAL "Global list of components NOT to build" FORCE )
+ MESSAGE( STATUS "Not planning to Build Executable : ${name} because ${reason}" )
+ENDMACRO( GBX_NOT_ADD_EXECUTABLE name reason )
+
+#
+# Usage: GBX_NOT_ADD_LIBRARY( name reason )
+#
+MACRO( GBX_NOT_ADD_LIBRARY name reason )
+ SET( templist ${LIBRARY_NOT_LIST} )
+ LIST ( APPEND templist ${name} )
+# MESSAGE ( STATUS "DEBUG: ${templist}" )
+ SET( LIBRARY_NOT_LIST ${templist} CACHE INTERNAL "Global list of libraries NOT to build" FORCE )
+ MESSAGE( STATUS "Not planning to Build Library : ${name} because ${reason}" )
+ENDMACRO( GBX_NOT_ADD_LIBRARY name reason )
+
+#
+# Prints out list information: size, and items.
+# Prints nothing if list is empty.
+# Example: LIST_REPORT( COMPONENT_LIST "component(s)" )
+#
+# Tricky list stuff.
+# see http://www.cmake.org/Wiki/CMakeMacroMerge for an example
+#
+MACRO ( LIST_REPORT ACTION ITEM_NAME note L )
+ SET( templist ${L} )
+ LIST ( LENGTH templist templist_length )
+ SET( report_file ${GBX_PROJECT_BINARY_DIR}/cmake_config_report.txt )
+
+ IF ( templist_length GREATER 0 )
+ LIST ( SORT templist )
+
+ MESSAGE ( STATUS "${ACTION} ${templist_length} ${ITEM_NAME} ${note}:" )
+ MESSAGE ( STATUS " ${templist}" )
+
+ WRITE_FILE ( ${report_file} "${ACTION} ${templist_length} ${ITEM_NAME}:" APPEND )
+ WRITE_FILE ( ${report_file} " ${templist}" APPEND )
+ ENDIF ( templist_length GREATER 0 )
+ENDMACRO ( LIST_REPORT ACTION ITEM_NAME note L )
+
+#
+# Puts messages on the screen.
+# Writes to a text file.
+#
+MACRO( GBX_CONFIG_REPORT )
+
+ MESSAGE( STATUS "== SUMMARY ==" )
+
+ # write configuration results to file (this line clears existing contents)
+ SET( report_file ${GBX_PROJECT_BINARY_DIR}/cmake_config_report.txt )
+ WRITE_FILE ( ${report_file} "Autogenerated by CMake for ${PROJECT_NAME} project" )
+# WRITE_FILE ( ${report_file} "Using Ice version ${ICE_VERSION}" )
+
+ #
+ # Print some results
+ #
+ MESSAGE ( STATUS "Project name ${PROJECT_NAME}")
+ MESSAGE ( STATUS "Project version ${GBX_PROJECT_VERSION}")
+ # would be nice to print out Orca version for satellite projects
+ # for this we need an executable which is guaranteed to be installed.
+ # then we can run it with --version flag.
+ # IF ( NOT ORCA_MOTHERSHIP )
+ # MESSAGE ( STATUS "Using Orca version ${ORCA_VERSION}")
+ # ENDIF ( NOT ORCA_MOTHERSHIP )
+ MESSAGE ( STATUS "Platform ${CMAKE_SYSTEM}")
+ MESSAGE ( STATUS "CMake version ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}-patch ${CMAKE_PATCH_VERSION}")
+ MESSAGE ( STATUS "Install dir ${CMAKE_INSTALL_PREFIX}")
+
+ SET( note " " )
+ LIST_REPORT ( "Will build" "executables" ${note} "${COMPONENT_LIST}" )
+ LIST_REPORT ( "Will build" "libraries" ${note} "${LIBRARY_LIST}" )
+ LIST_REPORT ( "Will build" "CTest tests" ${note} "${TEST_LIST}" )
+ LIST_REPORT ( "Will build" "special items" ${note} "${ITEM_LIST}" )
+
+ SET( note "(see above for reasons)" )
+ LIST_REPORT ( "Will NOT build" "executables" ${note} "${COMPONENT_NOT_LIST}" )
+ LIST_REPORT ( "Will NOT build" "libraries" ${note} "${LIBRARY_NOT_LIST}" )
+
+ENDMACRO( GBX_CONFIG_REPORT )
+
+MACRO ( GBX_WRITE_MANIFEST )
+ SET( manifest_file ${GBX_PROJECT_BINARY_DIR}/${PROJECT_NAME}_manifest.cmake )
+ WRITE_FILE ( ${manifest_file} "\# Autogenerated by CMake for ${PROJECT_NAME} project" )
+
+ FOREACH( A ${LIBRARY_LIST} )
+ STRING ( TOUPPER ${A} UPPERA )
+ WRITE_FILE ( ${manifest_file} "SET( ${UPPERA}_INSTALLED 1)" APPEND )
+ ENDFOREACH( A ${LIBRARY_LIST} )
+
+ FOREACH( A ${LIBRARY_NOT_LIST} )
+ STRING ( TOUPPER ${A} UPPERA )
+ WRITE_FILE ( ${manifest_file} "SET( ${UPPERA}_INSTALLED 0)" APPEND )
+ ENDFOREACH( A ${LIBRARY_NOT_LIST} )
+
+ WRITE_FILE ( ${manifest_file} " " APPEND )
+
+ STRING ( TOUPPER ${PROJECT_NAME} upper_project_name )
+ WRITE_FILE ( ${manifest_file} "SET( ${upper_project_name}_MANIFEST_LOADED 1)" APPEND )
+
+ INSTALL( FILES ${manifest_file} DESTINATION . )
+ENDMACRO ( GBX_WRITE_MANIFEST )
+
+MACRO ( GBX_WRITE_LICENSE )
+ SET( license_file ${GBX_PROJECT_SOURCE_DIR}/LICENSE )
+ WRITE_FILE ( ${license_file} "Autogenerated by CMake for ${PROJECT_NAME} project" )
+ WRITE_FILE ( ${license_file} "----------------------------------------------------------------------" APPEND )
+ WRITE_FILE ( ${license_file} "DIRECTORY license" APPEND )
+ WRITE_FILE ( ${license_file} "----------------------------------------------------------------------" APPEND )
+
+ FOREACH( A ${LICENSE_LIST} )
+ WRITE_FILE ( ${license_file} ${A} APPEND )
+ ENDFOREACH( A ${LICENSE_LIST} )
+
+ENDMACRO ( GBX_WRITE_LICENSE )
+
+#
+# Reset global lists of components, libraries, etc.
+#
+MACRO ( GBX_RESET_ALL_LISTS )
+ # MESSAGE ( STATUS "DEBUG: Resetting global component and library lists" )
+ SET( COMPONENT_LIST "" CACHE INTERNAL "Global list of components to build" FORCE )
+ SET( LIBRARY_LIST "" CACHE INTERNAL "Global list of libraries to build" FORCE )
+ SET( TEST_LIST "" CACHE INTERNAL "Global list of CTest tests to build" FORCE )
+ SET( ITEM_LIST "" CACHE INTERNAL "Global list of special items to build" FORCE )
+
+ SET( COMPONENT_NOT_LIST "" CACHE INTERNAL "Global list of components NOT to build" FORCE )
+ SET( LIBRARY_NOT_LIST "" CACHE INTERNAL "Global list of libraries NOT to build" FORCE )
+
+ SET( LICENSE_LIST "" CACHE INTERNAL "Global list of directories and their licenses" FORCE )
+ENDMACRO ( GBX_RESET_ALL_LISTS )
Modified: gearbox/trunk/cmake/UseGearbox.cmake
===================================================================
--- gearbox/trunk/cmake/UseGearbox.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/UseGearbox.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -1,3 +1,5 @@
# This script is indended for Gearbox users (not for internal use)
+# Assumes that a variable GEARBOX_HOME is defined.
+
INCLUDE_DIRECTORIES( ${GEARBOX_HOME}/include/gearbox )
LINK_DIRECTORIES( ${GEARBOX_HOME}/lib/gearbox )
Copied: gearbox/trunk/cmake/WriteConfigH.cmake (from rev 106, gearbox/trunk/cmake/internal/WriteConfigH.cmake)
===================================================================
--- gearbox/trunk/cmake/WriteConfigH.cmake (rev 0)
+++ gearbox/trunk/cmake/WriteConfigH.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -0,0 +1,170 @@
+###########################################################
+# #
+# Look for low-level C headers, write defines to config.h #
+# #
+###########################################################
+
+INCLUDE( ${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake )
+INCLUDE( ${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake )
+
+SET( CONFIG_H ${PROJECT_BINARY_DIR}/config.h )
+
+# Only write config.h once
+IF ( WROTE_CONFIG_H )
+ MESSAGE( STATUS "Not writing config.h -- wrote it previously" )
+ELSE ( WROTE_CONFIG_H )
+ MESSAGE( STATUS "Writing config.h" )
+ SET( WROTE_CONFIG_H TRUE CACHE INTERNAL "Wrote config.h" )
+
+ FILE( WRITE ${CONFIG_H} "/* config.h. Generated by CMakeLists.txt */\n\n" )
+
+ IF ( WIN32 )
+
+ #
+ # define some stuff to make MSVC look a bit more like gcc
+ #
+
+ # define 'uint' to 'unsigned int' for windows
+ FILE( APPEND ${CONFIG_H} "#ifndef uint\n" )
+ FILE( APPEND ${CONFIG_H} "#define uint unsigned int\n" )
+ FILE( APPEND ${CONFIG_H} "#endif\n\n" )
+
+ FILE( APPEND ${CONFIG_H} "// MSVC compiler requires this symbol before exposing the (apparently)\n" )
+ FILE( APPEND ${CONFIG_H} "// non-standard symbols M_PI, etc...\n" )
+ FILE( APPEND ${CONFIG_H} "#define _USE_MATH_DEFINES\n\n" )
+
+ FILE( APPEND ${CONFIG_H} "// Just in case the above line didn't fix it...\n" )
+ FILE( APPEND ${CONFIG_H} "#ifndef M_PI\n" )
+ FILE( APPEND ${CONFIG_H} "#define M_PI 3.14159265358979323846\n" )
+ FILE( APPEND ${CONFIG_H} "#endif\n\n" )
+
+ ELSE( WIN32 )
+
+ #
+ # AlexB: I think all these low-level guys are 'nix-specific.
+ # Don't write them for win32.
+ #
+
+ CHECK_INCLUDE_FILE( termio.h HAVE_TERMIO_H )
+ IF( HAVE_TERMIO_H )
+ SET( VAL 1 )
+ ELSE( HAVE_TERMIO_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_TERMIO_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_TERMIO_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( linux/input.h HAVE_LINUX_INPUT_H )
+ IF( HAVE_LINUX_INPUT_H )
+ SET( VAL 1 )
+ ELSE( HAVE_LINUX_INPUT_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_LINUX_INPUT_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_LINUX_INPUT_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( string.h HAVE_STRING_H )
+ IF( HAVE_STRING_H )
+ SET( VAL 1 )
+ ELSE( HAVE_STRING_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_STRING_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_STRING_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( stdlib.h HAVE_STDLIB_H )
+ IF( HAVE_STDLIB_H )
+ SET( VAL 1 )
+ ELSE( HAVE_STDLIB_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_STDLIB_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_STDLIB_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( unistd.h HAVE_UNISTD_H )
+ IF( HAVE_UNISTD_H )
+ SET( VAL 1 )
+ ELSE( HAVE_UNISTD_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_UNISTD_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_UNISTD_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( sys/types.h HAVE_SYS_TYPES_H )
+ IF( HAVE_SYS_TYPES_H )
+ SET( VAL 1 )
+ ELSE( HAVE_SYS_TYPES_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_SYS_TYPES_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_SYS_TYPES_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( sys/stat.h HAVE_SYS_STAT_H )
+ IF( HAVE_SYS_STAT_H )
+ SET( VAL 1 )
+ ELSE( HAVE_SYS_STAT_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_SYS_STAT_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_SYS_STAT_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( pthread.h HAVE_PTHREAD_H )
+ IF( HAVE_PTHREAD_H )
+ SET( VAL 1 )
+ ELSE( HAVE_PTHREAD_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_PTHREAD_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_PTHREAD_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( sys/ioctl.h HAVE_SYS_IOCTL_H )
+ IF( HAVE_SYS_IOCTL_H )
+ SET( VAL 1 )
+ ELSE( HAVE_SYS_IOCTL_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_SYS_IOCTL_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_SYS_IOCTL_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( fcntl.h HAVE_FCNTL_H )
+ IF( HAVE_FCNTL_H )
+ SET( VAL 1 )
+ ELSE( HAVE_FCNTL_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_FCNTL_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_FCNTL_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( time.h HAVE_TIME_H )
+ IF( HAVE_TIME_H )
+ SET( VAL 1 )
+ ELSE( HAVE_TIME_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_TIME_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_TIME_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( errno.h HAVE_ERRNO_H )
+ IF( HAVE_ERRNO_H )
+ SET( VAL 1 )
+ ELSE( HAVE_ERRNO_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_ERRNO_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_ERRNO_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( zlib.h HAVE_ZLIB_H )
+ IF( HAVE_ZLIB_H )
+ SET( VAL 1 )
+ ELSE( HAVE_ZLIB_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_ZLIB_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_ZLIB_H ${VAL}\n\n" )
+
+ CHECK_INCLUDE_FILE( sys/filio.h HAVE_FILIO_H )
+ IF( HAVE_FILIO_H )
+ SET( VAL 1 )
+ ELSE( HAVE_FILIO_H )
+ SET( VAL 0 )
+ ENDIF( HAVE_FILIO_H )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_FILIO_H ${VAL}\n\n" )
+
+ CHECK_FUNCTION_EXISTS( strnlen HAVE_STRNLEN )
+ IF( HAVE_STRNLEN )
+ SET( VAL 1 )
+ ELSE( HAVE_STRNLEN )
+ SET( VAL 0 )
+ ENDIF( HAVE_STRNLEN )
+ FILE( APPEND ${CONFIG_H} "#define HAVE_STRNLEN ${VAL}\n\n" )
+
+ ENDIF( WIN32 )
+
+ENDIF ( WROTE_CONFIG_H )
Deleted: gearbox/trunk/cmake/internal/CheckCompiler.cmake
===================================================================
--- gearbox/trunk/cmake/internal/CheckCompiler.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/internal/CheckCompiler.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -1,37 +0,0 @@
-#
-# If we're using gcc, make sure the version is OK.
-#
-IF ( ${CMAKE_C_COMPILER} MATCHES gcc )
-
- EXEC_PROGRAM ( ${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE gcc_version )
- MESSAGE ( STATUS "gcc version: ${gcc_version}")
-
- # Why doesn't this work?
- #STRING( REGEX MATCHALL "gcc\.*" VERSION_STRING ${CMAKE_C_COMPILER} )
-
- IF ( gcc_version MATCHES ".*4\\.[0-9]\\.[0-9]" )
- SET( GCC_VERSION_OK 1 )
- ENDIF ( gcc_version MATCHES ".*4\\.[0-9]\\.[0-9]")
-
- GBX_ASSERT ( GCC_VERSION_OK
- "Checking gcc version - failed. ${PROJECT_NAME} requires gcc v. 4.x"
- "Checking gcc version - ok"
- 1 )
-
- IF ( gcc_version MATCHES ".*4\\.0.*" )
- # gcc 4.0.x
- ENDIF ( gcc_version MATCHES ".*4\\.0.*" )
-
- IF ( gcc_version MATCHES ".*4\\.1.*" )
- # gcc 4.1.x
- # gcc-4.1 adds stack protection, which makes code robust to buffer-overrun attacks
- # (see: http://www.trl.ibm.com/projects/security/ssp/)
- # However for some reason this can result in the symbol '__stack_chk_fail_local' not being found.
- # So turn it off.
- # Tobi: it looks like stack protection is off by default from version gcc 4.1.2, so we don't need this any more.
- # Will keep it for now, it doesn't hurt.
- ADD_DEFINITIONS( -fno-stack-protector )
- ENDIF ( gcc_version MATCHES ".*4\\.1.*" )
-
-
-ENDIF ( ${CMAKE_C_COMPILER} MATCHES gcc )
Deleted: gearbox/trunk/cmake/internal/DependencyUtils.cmake
===================================================================
--- gearbox/trunk/cmake/internal/DependencyUtils.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/internal/DependencyUtils.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -1,181 +0,0 @@
-MACRO( GBX_MAKE_OPTION_NAME option_name module_type module_name )
-
- STRING ( COMPARE EQUAL ${module_type} "EXE" is_exe )
- STRING ( COMPARE EQUAL ${module_type} "LIB" is_lib )
- IF ( NOT is_exe AND NOT is_lib )
- MESSAGE ( FATAL_ERROR "In macro GBX_MAKE_OPTION_NAME, module_type must be either 'EXE' or 'LIB'" )
- ENDIF ( NOT is_exe AND NOT is_lib )
- IF ( is_exe AND is_lib )
- MESSAGE ( FATAL_ERROR "In macro GBX_MAKE_OPTION_NAME, module_type must be either 'EXE' or 'LIB'" )
- ENDIF ( is_exe AND is_lib )
-
- STRING( TOUPPER ${module_name} module_name_upper )
- IF ( is_exe )
- SET( option_name "ENABLE_${module_name_upper}" )
- ELSE ( is_exe )
- SET( option_name "ENABLE_LIB_${module_name_upper}" )
- ENDIF ( is_exe )
-
-ENDMACRO( GBX_MAKE_OPTION_NAME option_name module_name )
-
-#
-# GBX_REQUIRE_OPTION( cumulative_var [EXE | LIB] module_name default_option_value [option_name] [OPTION DESCRIPTION] )
-#
-# E.g.
-# Initialize a variable first
-# SET( BUILD TRUE )
-# Now set up and test option value
-# GBX_REQUIRE_OPTION ( BUILD EXE localiser ON )
-# This does the same thing
-# GBX_REQUIRE_OPTION ( BUILD EXE localiser ON BUILD_LOCALISER )
-#
-MACRO( GBX_REQUIRE_OPTION cumulative_var module_type module_name default_option_value )
-
- STRING ( COMPARE EQUAL ${module_type} "EXE" is_exe )
- STRING ( COMPARE EQUAL ${module_type} "LIB" is_lib )
- IF ( NOT is_exe AND NOT is_lib )
- MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_OPTION, module_type must be either 'EXE' or 'LIB'" )
- ENDIF ( NOT is_exe AND NOT is_lib )
- IF ( is_exe AND is_lib )
- MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_OPTION, module_type must be either 'EXE' or 'LIB'" )
- ENDIF ( is_exe AND is_lib )
-
- IF ( ${ARGC} GREATER 5 )
- SET( option_name ${ARGV6} )
- ELSE ( ${ARGC} GREATER 5 )
- STRING( TOUPPER ${module_name} module_name_upper )
- IF ( is_exe )
- SET( option_name "ENABLE_${module_name_upper}" )
- ELSE ( is_exe )
- SET( option_name "ENABLE_LIB_${module_name_upper}" )
- ENDIF ( is_exe )
- ENDIF ( ${ARGC} GREATER 5 )
-
- IF ( ${ARGC} GREATER 6 )
- SET( option_descr ${ARGV7} )
- ELSE ( ${ARGC} GREATER 6 )
- SET( option_descr "disabled by user, use ccmake to enable" )
- ENDIF ( ${ARGC} GREATER 6 )
-
- # debug
-# MESSAGE( STATUS
-# "GBX_REQUIRE_OPTION (CUM_VAR=${cumulative_var}, MOD_TYPE=${module_type}, MOD_NAME=${module_name}, default_option_value=${default_option_value}, OPT_NAME=${option_name}, OPT_DESC=${option_descr})" )
-
- # set up the option
- IF ( is_exe )
- OPTION( ${option_name} "Try to build ${module_name}" ${default_option_value} )
- ELSE ( is_exe )
- OPTION( ${option_name} "Try to build lib${module_name} library" ${default_option_value} )
- ENDIF ( is_exe )
-
- # must dereference both var and option names once (!) and IF will evaluate their values
- IF ( ${cumulative_var} AND NOT ${option_name} )
- SET( ${cumulative_var} FALSE )
- IF ( is_exe )
- GBX_NOT_ADD_EXECUTABLE( ${module_name} ${option_descr} )
- ELSE ( is_exe )
- GBX_NOT_ADD_LIBRARY( ${module_name} ${option_descr} )
- ENDIF ( is_exe )
- ENDIF ( ${cumulative_var} AND NOT ${option_name} )
-
-ENDMACRO( GBX_REQUIRE_OPTION cumulative_var module_type module_name default_option_value )
-
-#
-# GBX_REQUIRE_VAR ( cumulative_var [EXE | LIB] module_name test_var reason )
-#
-# E.g.
-# Initialize a variable first
-# SET( BUILD TRUE )
-# Now test the variable value
-# GBX_REQUIRE_VAR ( BUILD LIB HydroStuff GOOD_TO_GO "good-to-go is no good" )
-#
-MACRO( GBX_REQUIRE_VAR cumulative_var module_type module_name test_var reason )
-
- # debug
-# MESSAGE( STATUS "GBX_REQUIRE_VAR [ CUM_VAR=${cumulative_var}, MOD_TYPE=${module_type}, MOD_NAME=${module_name}, test_var=${${test_var}}, reason=${reason} ]" )
-
- STRING ( COMPARE EQUAL ${module_type} "EXE" is_exe )
- STRING ( COMPARE EQUAL ${module_type} "LIB" is_lib )
- IF ( NOT is_exe AND NOT is_lib )
- MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_VAR, module_type must be either 'EXE' or 'LIB'" )
- ENDIF ( NOT is_exe AND NOT is_lib )
- IF ( is_exe AND is_lib )
- MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_VAR, module_type must be either 'EXE' or 'LIB'" )
- ENDIF ( is_exe AND is_lib )
-
- # must dereference both var names once (!) and IF will evaluate their values
- IF ( ${cumulative_var} AND NOT ${test_var} )
- SET( ${cumulative_var} FALSE )
- IF ( is_exe )
- GBX_NOT_ADD_EXECUTABLE( ${module_name} ${reason} )
- ELSE ( is_exe )
- GBX_NOT_ADD_LIBRARY( ${module_name} ${reason} )
- ENDIF ( is_exe )
- ENDIF ( ${cumulative_var} AND NOT ${test_var} )
-
-ENDMACRO( GBX_REQUIRE_VAR cumulative_var module_type module_name test_var reason )
-
-#
-# GBX_REQUIRE_TARGET( cumulative_var [EXE | LIB] module_name target_name [reason] )
-#DEPS
-# E.g.
-# Initialize a variable first
-# SET( BUILD TRUE )
-# Now set up and test option value
-# GBX_REQUIRE_TARGET ( BUILD EXE localiser HydroStuff )
-#
-MACRO( GBX_REQUIRE_TARGET cumulative_var module_type module_name target_name )
-
- # debug
-# MESSAGE( STATUS "GBX_REQUIRE_TARGET [ CUM_VAR=${${cumulative_var}}, MOD_TYPE=${module_type}, MOD_NAME=${module_name}, target_name=${target_name} ]" )
-
- STRING ( COMPARE EQUAL ${module_type} "EXE" is_exe )
- STRING ( COMPARE EQUAL ${module_type} "LIB" is_lib )
- IF ( NOT is_exe AND NOT is_lib )
- MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_TARGET, module_type must be either 'EXE' or 'LIB'" )
- ENDIF ( NOT is_exe AND NOT is_lib )
- IF ( is_exe AND is_lib )
- MESSAGE ( FATAL_ERROR "In macro GBX_REQUIRE_TARGET, module_type must be either 'EXE' or 'LIB'" )
- ENDIF ( is_exe AND is_lib )
-
- IF ( ${ARGC} GREATER 5 )
- SET( reason ${ARGV6} )
- ELSE ( ${ARGC} GREATER 5 )
- SET( reason "lib${target_name} is not being built" )
- ENDIF ( ${ARGC} GREATER 5 )
-
- GET_TARGET_PROPERTY( target_location ${target_name} LOCATION )
-
- # must dereference both var and option names once (!) and IF will evaluate their values
- IF ( ${cumulative_var} AND NOT target_location )
- SET( ${cumulative_var} FALSE )
- GBX_MAKE_OPTION_NAME( option_name ${module_type} ${module_name} )
- IF ( is_exe )
- GBX_NOT_ADD_EXECUTABLE( ${module_name} ${reason} )
- SET( ${option_name} OFF CACHE BOOL "Try to build ${module_name}" FORCE )
- ELSE ( is_exe )
- GBX_NOT_ADD_LIBRARY( ${module_name} ${reason} )
- SET( ${option_name} OFF CACHE BOOL "Try to build lib${module_name} library" FORCE )
- ENDIF ( is_exe )
- ENDIF ( ${cumulative_var} AND NOT target_location )
-
-ENDMACRO( GBX_REQUIRE_TARGET cumulative_var module_type module_name target_name )
-
-
-#
-# GBX_REQUIRE_TARGETS( cumulative_var [EXE | LIB] module_name TARGET0 [TARGET1 TARGET2 ...] )
-#
-MACRO( GBX_REQUIRE_TARGETS cumulative_var module_type module_name )
-
- # debug
-# MESSAGE( STATUS "GBX_REQUIRE_TARGETS [ CUM_VAR=${${cumulative_var}}, MOD_TYPE=${module_type}, MOD_NAME=${module_name}, target_names=${ARGN} ]" )
-
- IF( ${ARGC} LESS 4 )
- MESSAGE( FATAL_ERROR "GBX_REQUIRE_TARGETS macro needs to at least one target name (${ARGC} params were given)." )
- ENDIF( ${ARGC} LESS 4 )
-
- FOREACH( trgt ${ARGN} )
- GBX_REQUIRE_TARGET( ${cumulative_var} ${module_type} ${module_name} ${trgt} )
- ENDFOREACH( trgt ${ARGN} )
-
-ENDMACRO( GBX_REQUIRE_TARGETS cumulative_var module_type module_name )
Modified: gearbox/trunk/cmake/internal/Setup.cmake
===================================================================
--- gearbox/trunk/cmake/internal/Setup.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/internal/Setup.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -11,30 +11,30 @@
#
# Process version number
#
-INCLUDE( ${GBX_CMAKE_DIR}/internal/SetupVersion.cmake )
+INCLUDE( ${GBX_CMAKE_DIR}/SetupVersion.cmake )
#
# Project directories, including installation
#
-INCLUDE( ${GBX_CMAKE_DIR}/internal/SetupDirectories.cmake )
+INCLUDE( ${GBX_CMAKE_DIR}/SetupDirectories.cmake )
#
# Determine OS, and make os-specefic choices
#
-INCLUDE( ${GBX_CMAKE_DIR}/internal/SetupOs.cmake )
+INCLUDE( ${GBX_CMAKE_DIR}/SetupOs.cmake )
#
# Set the build type (affects debugging symbols and optimization)
#
-INCLUDE( ${GBX_CMAKE_DIR}/internal/SetupBuildType.cmake )
+INCLUDE( ${GBX_CMAKE_DIR}/SetupBuildType.cmake )
#
# Include internal macro definitions
#
INCLUDE( ${GBX_CMAKE_DIR}/Assert.cmake )
-INCLUDE( ${GBX_CMAKE_DIR}/internal/TargetUtils.cmake )
-INCLUDE( ${GBX_CMAKE_DIR}/internal/DependencyUtils.cmake )
+INCLUDE( ${GBX_CMAKE_DIR}/TargetUtils.cmake )
+INCLUDE( ${GBX_CMAKE_DIR}/DependencyUtils.cmake )
#
# Defaults for big source code switches
@@ -45,7 +45,7 @@
#
# check compiler type and version
#
-INCLUDE( ${GBX_CMAKE_DIR}/internal/CheckCompiler.cmake )
+INCLUDE( ${GBX_CMAKE_DIR}/CheckCompiler.cmake )
#
# Defaults for big source code switches
@@ -56,17 +56,24 @@
#
# Look for low-level C headers, write defines to config.h
#
-INCLUDE( ${GBX_CMAKE_DIR}/internal/WriteConfigH.cmake )
+INCLUDE( ${GBX_CMAKE_DIR}/WriteConfigH.cmake )
#
# Installation preferences
#
-# CMake default is FALSE
-# SET( CMAKE_SKIP_BUILD_RPATH TRUE )
-# CMake default is FALSE
-# SET( CMAKE_BUILD_WITH_INSTALL_RPATH TRUE )
-SET( CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib )
+# CMake defaults
+# see: \http://www.cmake.org/Wiki/CMake_RPATH_handling
+#
+# use, i.e. don't skip the full RPATH for the build tree
+# SET(CMAKE_SKIP_BUILD_RPATH FALSE)
+# when building, don't use the install RPATH already
+# (but later on when installing)
+# SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+
+# the RPATH to be used when installing
+SET( CMAKE_INSTALL_RPATH ${GBX_LIB_INSTALL_DIR} )
+
# Enable testing by including the Dart module
# (must be done *before* entering source directories )
INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
Deleted: gearbox/trunk/cmake/internal/SetupBuildType.cmake
===================================================================
--- gearbox/trunk/cmake/internal/SetupBuildType.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/internal/SetupBuildType.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -1,18 +0,0 @@
-IF ( NOT CMAKE_BUILD_TYPE )
-
- IF ( NOT GBX_OS_WIN )
- # For gcc, RelWithDebInfo gives '-O2 -g'
- SET( CMAKE_BUILD_TYPE RelWithDebInfo )
- ELSE ( NOT GBX_OS_WIN )
- # windows... a temp hack: VCC does not seem to respect the cmake
- # setting and always defaults to debug, we have to match it here.
- SET( CMAKE_BUILD_TYPE Debug )
- ENDIF ( NOT GBX_OS_WIN )
-
- 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 )
Deleted: gearbox/trunk/cmake/internal/SetupDirectories.cmake
===================================================================
--- gearbox/trunk/cmake/internal/SetupDirectories.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/internal/SetupDirectories.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -1,38 +0,0 @@
-#
-# This CMake variable may be provided by the user on the command line
-# e.g. $ cmake -DGEARBOX_INSTALL=/home/user .
-#
-IF( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT )
-
- IF( DEFINED GEARBOX_INSTALL )
-
- MESSAGE( STATUS GEARBOX_INSTALL=${GEARBOX_INSTALL} )
-
- # using user-supplied installation directory
- # SET( CMAKE_INSTALL_PREFIX ${GEARBOX_INSTALL} )
- SET( CMAKE_INSTALL_PREFIX ${GEARBOX_INSTALL} CACHE PATH "Installation directory" FORCE )
-
- MESSAGE( STATUS CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} )
-
- ELSE( DEFINED GEARBOX_INSTALL )
- #
- # Default installation directory is OS-dependent.
- #
- IF ( NOT GBX_OS_WIN )
- SET( CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "Installation directory" FORCE )
- ELSE ( NOT GBX_OS_WIN )
- SET( CMAKE_INSTALL_PREFIX "C:\Program Files\Gearbox\Include" CACHE PATH "Installation directory" FORCE )
- ENDIF ( NOT GBX_OS_WIN )
-
- ENDIF( DEFINED GEARBOX_INSTALL )
-
-ENDIF( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT )
-
-MESSAGE( STATUS "Setting installation directory to ${CMAKE_INSTALL_PREFIX}" )
-
-#
-# It's sometimes useful to refer to the top level of the project.
-# CMake does not make it very easy.
-#
-SET( GBX_PROJECT_SOURCE_DIR ${${PROJECT_NAME}_SOURCE_DIR} )
-SET( GBX_PROJECT_BINARY_DIR ${${PROJECT_NAME}_BINARY_DIR} )
Deleted: gearbox/trunk/cmake/internal/SetupOs.cmake
===================================================================
--- gearbox/trunk/cmake/internal/SetupOs.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/internal/SetupOs.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -1,41 +0,0 @@
-#
-# Check the OS type.
-# Sets the 'GBX_OS_INCLUDES' variable, for system-wide Includes that must be set.
-#
-
-
-# CMake does not distinguish Linux from other Unices.
-STRING( REGEX MATCH Linux GBX_OS_LINUX ${CMAKE_SYSTEM_NAME})
-
-# Rename CMake's variable to something which makes more sense.
-IF ( QNXNTO )
- SET( GBX_OS_QNX TRUE BOOL INTERNAL )
-ENDIF ( QNXNTO )
-
-# In windows we just mirror CMake's own variable
-IF ( WIN32 )
- SET( GBX_OS_WIN TRUE BOOL INTERNAL )
-ENDIF ( WIN32 )
-
-# In MacOS X we just mirror CMake's own variable
-IF ( APPLE )
- SET( GBX_OS_MAC TRUE BOOL INTERNAL )
-ENDIF ( APPLE )
-
-
-# From now on, use our own OS flags
-
-IF ( GBX_OS_LINUX )
- MESSAGE ( STATUS "Running on Linux" )
-ENDIF ( GBX_OS_LINUX )
-
-IF ( GBX_OS_QNX )
- MESSAGE ( STATUS "Running on QNX" )
- ADD_DEFINITIONS( -shared -fexceptions )
-ENDIF ( GBX_OS_QNX )
-
-IF ( GBX_OS_WIN )
- # CMake seems not to set this property correctly for some reason
- SET( GBX_EXE_EXTENSION ".exe" )
- MESSAGE ( STATUS "Running on Windows" )
-ENDIF ( GBX_OS_WIN )
Deleted: gearbox/trunk/cmake/internal/SetupVersion.cmake
===================================================================
--- gearbox/trunk/cmake/internal/SetupVersion.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/internal/SetupVersion.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -1,10 +0,0 @@
-#
-# define the project version so we can have access to it from the code
-#
-
-# alexm: for gcc need to produce this in the Makefile: -DGEARBOX_VERSION=\"X.Y.Z\",
-# without escaping the quotes the compiler will strip them off.
-# alexb: it seems that you also need to escape the quotes for windoze??
-
-ADD_DEFINITIONS( "-DGEARBOX_VERSION=\\\"${GBX_PROJECT_VERSION}\\\"" )
-# ADD_DEFINITIONS( "-DCMAKE_INSTALL_PREFIX=\\\"${CMAKE_INSTALL_PREFIX}\\\"" )
Deleted: gearbox/trunk/cmake/internal/TargetUtils.cmake
===================================================================
--- gearbox/trunk/cmake/internal/TargetUtils.cmake 2008-03-19 08:12:47 UTC (rev 106)
+++ gearbox/trunk/cmake/internal/TargetUtils.cmake 2008-03-26 00:55:37 UTC (rev 107)
@@ -1,276 +0,0 @@
-#
-# Components should add themselves by calling 'GBX_ADD_EXECUTABLE'
-# instead of 'ADD_EXECUTABLE' in CMakeLists.txt.
-# Usage: GBX_ADD_EXECUTABLE( name src1 src2 src3 )
-#
-MACRO( GBX_ADD_EXECUTABLE name )
- ADD_EXECUTABLE( ${name} ${ARGN} )
- SET_TARGET_PROPERTIES( ${name} PROPERTIES
- INSTALL_RPATH "${INSTALL_RPATH};${CMAKE_INSTALL_PREFIX}/lib/gearbox"
- BUILD_WITH_INSTALL_RPATH TRUE )
- INSTALL( TARGETS ${name} RUNTIME DESTINATION bin )
- SET( templist ${COMPONENT_LIST} )
- LIST ( APPEND templist ${name} )
-# MESSAGE ( STATUS "DEBUG: ${templist}" )
- SET( COMPONENT_LIST ${templist} CACHE INTERNAL "Global list of components to build" FORCE )
- MESSAGE( STATUS "Planning to Build Executable: ${name}" )
-ENDMACRO( GBX_ADD_EXECUTABLE name )
-
-#
-# Components should add themselves by calling 'GBX_ADD_EXECUTABLE'
-# instead of 'ADD_LIBRARY' in CMakeLists.txt.
-# Usage: GBX_ADD_LIBRARY( name src1 src2 src3 )
-#
-MACRO( GBX_ADD_LIBRARY name )
- ADD_LIBRARY( ${name} ${ARGN} )
- SET_TARGET_PROPERTIES( ${name} PROPERTIES
- INSTALL_RPATH "${INSTALL_RPATH};${CMAKE_INSTALL_PREFIX}/lib/gearbox"
- BUILD_WITH_INSTALL_RPATH TRUE )
- INSTALL( TARGETS ${name} LIBRARY DESTINATION lib/gearbox )
- SET( templist ${LIBRARY_LIST} )
- LIST ( APPEND templist ${name} )
- SET( LIBRARY_LIST ${templist} CACHE INTERNAL "Global list of libraries to build" FORCE )
- MESSAGE( STATUS "Planning to Build Library : ${name}" )
-ENDMACRO( GBX_ADD_LIBRARY name )
-
-#
-# GBX_ADD_HEADERS( install_subdir FILE0 [FILE1 FILE2 ...] )
-#
-# Specialization of INSTALL(FILES ...) for GearBox project.
-# All files are installed into PREFIX/include/gearbox/${install_subdir}
-#
-MACRO( GBX_ADD_HEADERS install_subdir )
- INSTALL( FILES ${ARGN} DESTINATION include/gearbox/${install_subdir} )
-ENDMACRO( GBX_ADD_HEADERS install_subdir )
-
-#
-# GBX_ADD_EXAMPLE( install_subdir makefile.in makefile.out [FILE0 FILE1 FILE2 ...] )
-#
-# Specialisation of INSTALL(FILES ...) for GearBox project to to install examples.
-# All files are installed into PREFIX/share/gearbox/${install_subdir}.
-# makefile is passed through CONFIGURE_FILE to add in correct include and library
-# paths based on the install prefix.
-#
-MACRO( GBX_ADD_EXAMPLE install_subdir makefile.in makefile.out )
- CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/${makefile.in} ${CMAKE_CURRENT_BINARY_DIR}/${makefile.out} @ONLY)
- INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/${makefile.out} DESTINATION share/gearbox/${install_subdir} RENAME CMakeLists.txt )
- INSTALL( FILES ${ARGN} DESTINATION share/gearbox/${install_subdir} )
-ENDMACRO( GBX_ADD_EXAMPLE install_subdir makefile )
-
-#
-# GBX_ADD_PKGCONFIG( name cflags libflags [DEPENDENCY0 DEPENDENCY1 ...] )
-#
-# Creates a pkg-config file for library "name".
-# desc is a description of the library.
-# ext_deps is a list containing all the external libraries this one requires (pass by reference).
-# int_deps is a list containing all the internal libraries this library depends on (pass by reference).
-# cflags is appended to the "Cflags" value.
-# libflags is appended to the "Libs" value.
-# that should be linked with at the same time as linking to this library.
-#
-MACRO( GBX_ADD_PKGCONFIG name desc ext_deps int_deps cflags libflags )
- SET( PKG_NAME ${name} )
- SET( PKG_DESC ${desc} )
- ...
[truncated message content] |