2010-02-28 10:04:35 +01:00
IF ( NOT DEFINED IN_SOURCETREE )
SET ( IN_SOURCETREE TRUE )
ENDIF ( NOT DEFINED IN_SOURCETREE )
IF ( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT )
IF ( WIN32 )
SET ( CMAKE_INSTALL_PREFIX "C:/Program files/speed-dreams-dev" CACHE PATH "Prefix prepended to install directories" FORCE )
2010-02-28 16:12:52 +01:00
ELSE ( )
2010-02-28 10:04:35 +01:00
SET ( CMAKE_INSTALL_PREFIX "/usr/local/dev" CACHE PATH "Prefix prepended to install directories" FORCE )
ENDIF ( )
ENDIF ( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT )
IF ( NOT SOURCE_DIR AND IN_SOURCETREE )
FIND_PATH ( SOURCE_CMAKE_PATH cmake/macros.cmake PATHS . .. ../.. ../../.. ../../../.. ../../../../.. ../../../../../.. ../../../../../../.. ../../../../../../../.. ${ CMAKE_SOURCE_DIR } NO_DEFAULT_PATH )
FIND_PATH ( SOURCE_CMAKE_PATH cmake/macros.cmake PATHS . .. ../.. ../../.. ../../../.. ../../../../.. ../../../../../.. ../../../../../../.. ../../../../../../../.. ${ CMAKE_SOURCE_DIR } )
GET_FILENAME_COMPONENT ( SOURCE_DIR ${ SOURCE_CMAKE_PATH } ABSOLUTE CACHE )
SET ( SOURCE_CMAKE_PATH "" )
ENDIF ( NOT SOURCE_DIR AND IN_SOURCETREE )
GET_FILENAME_COMPONENT ( CURRENT_LIST_FILE_PATH ${ CMAKE_CURRENT_LIST_FILE } PATH )
INCLUDE ( ${ CURRENT_LIST_FILE_PATH } /split_argn.cmake )
IF ( IN_SOURCETREE )
FIND_PATH ( CONFIGH_INCLUDE_DIR config.h PATHS ${ SOURCE_DIR } ${ CMAKE_BINARY_DIR } NO_DEFAULT_PATH )
FIND_PATH ( CONFIGH_INCLUDE_DIR config.h PATHS ${ SOURCE_DIR } ${ CMAKE_BINARY_DIR } )
IF ( CONFIGH_INCLUDE_DIR )
SET ( HAVE_CONFIG_H TRUE )
ELSE ( CONFIGH_INCLUDE_DIR )
SET ( HAVE_CONFIG_H FALSE )
ENDIF ( CONFIGH_INCLUDE_DIR )
ELSE ( IN_SOURCETREE )
SET ( HAVE_CONFIG_H FALSE )
ENDIF ( IN_SOURCETREE )
IF ( WIN32 )
2010-09-19 15:25:52 +02:00
SET ( SD_LOCALDIR "~/speed-dreams-dev.settings" CACHE DOC "Where the user settings files should go" )
2010-02-28 10:04:35 +01:00
ELSE ( WIN32 ) #UNIX
2010-09-19 15:25:52 +02:00
SET ( SD_LOCALDIR "~/.speed-dreams-dev" CACHE DOC "Where the user settings files should go" )
2010-02-28 10:04:35 +01:00
ENDIF ( WIN32 )
IF ( IN_SOURCETREE )
2010-09-17 00:32:58 +02:00
IF ( CMAKE_SIZEOF_VOID_P MATCHES 4 )
SET ( _DEFLIBDIR "lib" )
ELSE ( )
SET ( _DEFLIBDIR "lib64" )
ENDIF ( )
2010-02-28 10:04:35 +01:00
IF ( WIN32 )
2010-09-19 15:25:52 +02:00
SET ( SD_BINDIR bin CACHE PATH "Place where the executables should go" )
SET ( SD_DATADIR data CACHE PATH "Place where all the static data files should go" )
SET ( SD_LIBDIR ${ _DEFLIBDIR } CACHE PATH "Place where the libraries should go" )
SET ( SD_INCLUDEDIR include CACHE PATH "Place where the include files should go" )
2010-02-28 10:04:35 +01:00
ELSE ( WIN32 ) #UNIX
2010-09-19 15:25:52 +02:00
SET ( SD_BINDIR games CACHE PATH "Place where the executables should go" )
SET ( SD_DATADIR share/games/speed-dreams CACHE PATH "Place where all the static data files should go" )
SET ( SD_LIBDIR ${ _DEFLIBDIR } /games/speed-dreams CACHE PATH "Place where the libraries should go" )
SET ( SD_INCLUDEDIR include/speed-dreams CACHE PATH "Place where the include files should go" )
2010-02-28 10:04:35 +01:00
ENDIF ( WIN32 )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( SD_DATADIR ${ SD_DATADIR_ABS } )
SET ( SD_LIBDIR ${ SD_LIBDIR_ABS } )
SET ( SD_BINDIR ${ SD_BINDIR_ABS } )
SET ( SD_INCLUDEDIR ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
IF ( IS_ABSOLUTE ${ SD_DATADIR } )
GET_FILENAME_COMPONENT ( SD_DATADIR_ABS ${ SD_DATADIR } ABSOLUTE )
ELSE ( IS_ABSOLUTE ${ SD_DATADIR } )
GET_FILENAME_COMPONENT ( SD_DATADIR_ABS ${ CMAKE_INSTALL_PREFIX } / ${ SD_DATADIR } ABSOLUTE )
ENDIF ( IS_ABSOLUTE ${ SD_DATADIR } )
IF ( IS_ABSOLUTE ${ SD_LIBDIR } )
GET_FILENAME_COMPONENT ( SD_LIBDIR_ABS ${ SD_LIBDIR } ABSOLUTE )
ELSE ( IS_ABSOLUTE ${ SD_LIBDIR } )
GET_FILENAME_COMPONENT ( SD_LIBDIR_ABS ${ CMAKE_INSTALL_PREFIX } / ${ SD_LIBDIR } ABSOLUTE )
ENDIF ( IS_ABSOLUTE ${ SD_LIBDIR } )
IF ( IS_ABSOLUTE ${ SD_BINDIR } )
GET_FILENAME_COMPONENT ( SD_BINDIR_ABS ${ SD_BINDIR } ABSOLUTE )
ELSE ( IS_ABSOLUTE ${ SD_BINDIR } )
GET_FILENAME_COMPONENT ( SD_BINDIR_ABS ${ CMAKE_INSTALL_PREFIX } / ${ SD_BINDIR } ABSOLUTE )
ENDIF ( IS_ABSOLUTE ${ SD_BINDIR } )
IF ( IS_ABSOLUTE ${ SD_INCLUDEDIR } )
GET_FILENAME_COMPONENT ( SD_INCLUDEDIR_ABS ${ SD_INCLUDEDIR } ABSOLUTE )
ELSE ( IS_ABSOLUTE ${ SD_INCLUDEDIR } )
GET_FILENAME_COMPONENT ( SD_INCLUDEDIR_ABS ${ CMAKE_INSTALL_PREFIX } / ${ SD_INCLUDEDIR } ABSOLUTE )
ENDIF ( IS_ABSOLUTE ${ SD_INCLUDEDIR } )
STRING ( REGEX REPLACE "^(.*[^/])/*$" "\\1" SD_LOCALDIR_TMP ${ SD_LOCALDIR } )
SET ( SD_LOCALDIR ${ SD_LOCALDIR_TMP } )
2010-02-28 10:04:35 +01:00
SET ( CMAKE_MODULE_PATH ${ CMAKE_MODULE_PATH } ${ CURRENT_LIST_FILE_PATH } )
2010-09-19 15:25:52 +02:00
SET ( CMAKE_INSTALL_RPATH "${SD_LIBDIR_ABS}/lib" )
2010-02-28 10:04:35 +01:00
# Robot .def file generation for Windows
# ROBOTNAME : Name of the robot
# DEF_FILE : Target .def file path-name
# Other args : Robot DLL Interface description, as a list of names of exported symbols,
# but with keywords shortcuts :
# - if empty, assumed keyword "LEGACY_MIN"
# - if "LEGACY_MIN", means the smallest legacy scheme interface (TORCS style)
# with only "${NAME}" exported
# - if "LEGACY", means the complete legacy scheme interface,
# with "${NAME}" and "${NAME}Shut" exported
# - if "WELCOME", means the complete new scheme interface (Speed Dreams style),
# with "moduleWelcome", "moduleInitialize" and "moduleTerminate"
# exported
# - may be a list of above keywords for multi-scheme interface
# - may also be the raw list of symbols to export
MACRO ( GENERATE_ROBOT_DEF_FILE ROBOTNAME DEF_FILE )
# Build the real list of exported symbols from the given one (that may include shortcuts)
#MESSAGE(STATUS "Generating ${DEF_FILE} for ${ROBOTNAME} robot")
SET ( SYMBOLS ) # Initialize the list
FOREACH ( KEYSYM ${ ARGN } )
IF ( KEYSYM STREQUAL "LEGACY_MIN" )
LIST ( APPEND SYMBOLS ${ ROBOTNAME } )
ELSEIF ( KEYSYM STREQUAL "LEGACY" )
LIST ( APPEND SYMBOLS ${ ROBOTNAME } )
LIST ( APPEND SYMBOLS "${ROBOTNAME}Shut" )
ELSEIF ( KEYSYM STREQUAL "WELCOME" )
LIST ( APPEND SYMBOLS moduleWelcome moduleInitialize moduleTerminate )
ELSE ( KEYSYM STREQUAL "LEGACY_MIN" )
LIST ( APPEND SYMBOLS ${ KEYSYM } )
ENDIF ( KEYSYM STREQUAL "LEGACY_MIN" )
ENDFOREACH ( KEYSYM ${ ARGN } )
# Clean duplicates
LIST ( REMOVE_DUPLICATES SYMBOLS )
#MESSAGE(STATUS "Symbols: ${SYMBOLS}")
# Build an acceptable string for the .def file from this symbol list
SET ( ROBOTSYMBOLS "" )
FOREACH ( SYMBOL ${ SYMBOLS } )
SET ( ROBOTSYMBOLS "${ROBOTSYMBOLS}\n\t${SYMBOL}" )
ENDFOREACH ( SYMBOL ${ SYMBOLS } )
# Generate the .def file
IF ( IN_SOURCETREE )
CONFIGURE_FILE ( ${ SOURCE_DIR } /cmake/robot_def.cmake ${ DEF_FILE } )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
CONFIGURE_FILE ( ${ SD_DATADIR_ABS } /cmake/robot_def.cmake ${ DEF_FILE } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
ENDMACRO ( GENERATE_ROBOT_DEF_FILE ROBOTNAME DEF_FILE )
# Robot project definition (module build and install, without associated data)
# Args:
# NAME : Name of the robot
# INTERFACE : Robot Windows DLL Interface description (tells about exported symbols)
# See GENERATE_ROBOT_DEF_FILE macro.
# If not specified, defaults to "LEGACY_MIN" ; not used if MODULE used
# SOURCES : List of files to use as build sources if any ; not needed if MODULE used
# CLONENAMES : The names of the clones to generate
MACRO ( ROBOT_MODULE )
SET ( ROBOT_SYNTAX "NAME,1,1,HAS_ROBOTNAME,ROBOTNAME" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "INTERFACE,0,-1,HAS_INTERFACE,INTERFACE" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "SOURCES,0,-1,HAS_SOURCES,SOURCES" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "CLONENAMES,0,-1,HAS_CLONENAMES,CLONENAMES" )
SPLIT_ARGN ( ${ ROBOT_SYNTAX } ARGUMENTS ${ ARGN } )
IF ( NOT HAS_ROBOTNAME )
MESSAGE ( FATAL_ERROR "Cannot build a robot module with no specified name" )
ENDIF ( NOT HAS_ROBOTNAME )
IF ( NOT HAS_SOURCES )
MESSAGE ( FATAL_ERROR "Cannot build a robot module without sources / module to copy" )
ENDIF ( NOT HAS_SOURCES )
PROJECT ( "robot_${ROBOTNAME}" )
ADD_INTERFACE_INCLUDEDIR ( )
ADD_OSSPEC_INCLUDEDIR ( )
2010-09-19 15:25:52 +02:00
ADD_SDLIB_INCLUDEDIR ( learning math portability robottools tgf )
2010-02-28 10:04:35 +01:00
ADD_PLIB_INCLUDEDIR ( )
# Generate / add .def file for Windows
IF ( WIN32 )
IF ( NOT HAS_INTERFACE )
SET ( INTERFACE "LEGACY_MIN" )
ENDIF ( NOT HAS_INTERFACE )
SET ( ROBOT_DEF_FILE ${ CMAKE_CURRENT_BINARY_DIR } / ${ ROBOTNAME } _gen.def )
GENERATE_ROBOT_DEF_FILE ( ${ ROBOTNAME } ${ ROBOT_DEF_FILE } ${ INTERFACE } )
SET ( SOURCES ${ SOURCES } ${ ROBOT_DEF_FILE } )
ENDIF ( WIN32 )
#disable developer warning
if ( COMMAND cmake_policy )
cmake_policy ( SET CMP0003 NEW )
endif ( COMMAND cmake_policy )
2010-09-20 20:41:15 +02:00
IF ( WIN32 )
# Ignore some run-time libs to avoid link time warnings and sometimes even crashes.
SET ( CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt.lib" )
ENDIF ( WIN32 )
2010-02-28 10:04:35 +01:00
ADD_LIBRARY ( ${ ROBOTNAME } SHARED ${ SOURCES } )
IF ( UNIX )
SET_TARGET_PROPERTIES ( ${ ROBOTNAME } PROPERTIES PREFIX "" )
ENDIF ( UNIX )
ADD_PLIB_LIBRARY ( ${ ROBOTNAME } sg ssg )
2010-09-19 15:25:52 +02:00
ADD_SDLIB_LIBRARY ( ${ ROBOTNAME } robottools )
2010-02-28 10:04:35 +01:00
2010-09-19 15:25:52 +02:00
SD_INSTALL_FILES ( LIB drivers/ ${ ROBOTNAME } TARGETS ${ ROBOTNAME } )
2010-02-28 10:04:35 +01:00
IF ( HAS_CLONENAMES )
GET_TARGET_PROPERTY ( MODNAME ${ ROBOTNAME } LOCATION )
SET ( MODPREFIX "" )
SET ( MODSUFFIX ${ CMAKE_SHARED_LIBRARY_SUFFIX } )
FOREACH ( CLONENAME ${ CLONENAMES } )
SET ( CLONE_MODNAME ${ MODPREFIX } ${ CLONENAME } ${ MODSUFFIX } )
ADD_CUSTOM_COMMAND ( TARGET ${ ROBOTNAME } POST_BUILD
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y $ { M O D N A M E } $ { C L O N E _ M O D N A M E } )
2010-09-19 15:25:52 +02:00
SD_INSTALL_FILES ( LIB drivers/ ${ CLONENAME } FILES ${ CLONE_MODNAME } )
2010-02-28 10:04:35 +01:00
ENDFOREACH ( CLONENAME ${ CLONENAMES } )
ENDIF ( HAS_CLONENAMES )
ENDMACRO ( ROBOT_MODULE )
# Robot data installation
# Args:
# NAME : Name of the robot (may be a clone)
# SHIPPREFIX : Dir. prefix for source files/subdirs to install in the robot's data dir
# SHIPFILES : Extra (non default) files to install in the robot's data dir
# SHIPSUBDIRS : Data subdirectories to install in the robot's data dir
MACRO ( ROBOT_DATA )
SET ( ROBOT_SYNTAX "NAME,1,1,HAS_ROBOTNAME,ROBOTNAME" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "SHIPPREFIX,0,-1,HAS_SHIPPREFIX,SHIPPREFIX" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "SHIPFILES,0,-1,HAS_EXTRA_SHIP,EXTRA_SHIP" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "SHIPSUBDIRS,0,-1,HAS_SHIPSUBDIRS,SHIPSUBDIRS" )
SPLIT_ARGN ( ${ ROBOT_SYNTAX } ARGUMENTS ${ ARGN } )
IF ( NOT HAS_ROBOTNAME )
MESSAGE ( FATAL_ERROR "Cannot install data for a robot module with no specified name" )
ENDIF ( NOT HAS_ROBOTNAME )
SET ( REAL_SHIPFILES ) # Reset the list (remember, it's a CMakeLists.txt global variable :-()
2010-08-12 19:52:27 +02:00
IF ( HAS_EXTRA_SHIP )
2010-02-28 10:04:35 +01:00
IF ( HAS_SHIPPREFIX )
2010-08-12 19:52:27 +02:00
FOREACH ( SHIP_FILE ${ EXTRA_SHIP } )
2010-02-28 10:04:35 +01:00
LIST ( APPEND REAL_SHIPFILES ${ SHIPPREFIX } / ${ SHIP_FILE } )
2010-08-12 19:52:27 +02:00
ENDFOREACH ( SHIP_FILE ${ EXTRA_SHIP } )
2010-02-28 10:04:35 +01:00
ELSE ( HAS_SHIPPREFIX )
2010-08-12 19:52:27 +02:00
SET ( REAL_SHIPFILES ${ EXTRA_SHIP } )
2010-02-28 10:04:35 +01:00
ENDIF ( HAS_SHIPPREFIX )
2010-08-12 19:52:27 +02:00
ENDIF ( HAS_EXTRA_SHIP )
2010-02-28 10:04:35 +01:00
IF ( HAS_SHIPPREFIX )
LIST ( APPEND REAL_SHIPFILES ${ SHIPPREFIX } / ${ ROBOTNAME } .xml )
ELSE ( HAS_SHIPPREFIX )
LIST ( APPEND REAL_SHIPFILES ${ ROBOTNAME } .xml )
ENDIF ( HAS_SHIPPREFIX )
2010-08-14 23:19:06 +02:00
#MESSAGE(STATUS "Files to install for ${ROBOTNAME} robot: ${REAL_SHIPFILES}")
2010-09-19 15:25:52 +02:00
SD_INSTALL_FILES ( DATA drivers/ ${ ROBOTNAME } FILES ${ REAL_SHIPFILES } )
2010-02-28 10:04:35 +01:00
IF ( HAS_SHIPSUBDIRS )
IF ( HAS_SHIPPREFIX )
SET ( REAL_SHIPSUBDIRS ) # Reset the list (remember, it's a CMakeLists.txt global variable :-()
FOREACH ( SHIPSUBDIR ${ SHIPSUBDIRS } )
LIST ( APPEND REAL_SHIPSUBDIRS ${ SHIPPREFIX } / ${ SHIPSUBDIR } )
ENDFOREACH ( SHIPSUBDIR ${ SHIPSUBDIRS } )
ELSE ( HAS_SHIPPREFIX )
SET ( REAL_SHIPSUBDIRS ${ SHIPSUBDIRS } )
ENDIF ( HAS_SHIPPREFIX )
#MESSAGE(STATUS "Subdirs to install for ${ROBOTNAME} robot: ${REAL_SHIPSUBDIRS}")
2010-06-27 11:50:13 +02:00
INSTALL ( DIRECTORY ${ REAL_SHIPSUBDIRS }
2010-09-19 15:25:52 +02:00
D E S T I N A T I O N $ { S D _ D A T A D I R } / d r i v e r s / $ { R O B O T N A M E }
2010-08-28 15:21:45 +02:00
P A T T E R N " . s v n " E X C L U D E
P A T T E R N " * . x c f * " E X C L U D E )
2010-02-28 10:04:35 +01:00
ENDIF ( HAS_SHIPSUBDIRS )
ENDMACRO ( ROBOT_DATA )
# Robot project definition (module build and install, with associated data)
# Args:
# NAME : Name of the robot
# INTERFACE : Robot Windows DLL Interface description (tells about exported symbols)
# See GENERATE_ROBOT_DEF_FILE macro.
# If not specified, defaults to "LEGACY_MIN" ; not used if MODULE used
# SOURCES : List of files to use as build sources if any ; not needed if MODULE used
# SHIPPREFIX : Dir. prefix for source files/subdirs to install in the robot's data dir
# SHIPFILES : Extra (non default) files to install in the robot's data dir
# SHIPSUBDIRS : Data subdirectories to install in the robot's data dir
MACRO ( ROBOT )
SET ( ROBOT_SYNTAX "NAME,1,1,HAS_ROBOTNAME,ROBOTNAME" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "INTERFACE,0,-1,HAS_INTERFACE,INTERFACE" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "SOURCES,0,-1,HAS_SOURCES,SOURCES" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "SHIPPREFIX,0,-1,HAS_SHIPPREFIX,SHIPPREFIX" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "SHIP,0,-1,HAS_EXTRA_SHIP,EXTRA_SHIP" )
SET ( ROBOT_SYNTAX ${ ROBOT_SYNTAX } "SHIPSUBDIRS,0,-1,HAS_SHIPSUBDIRS,SHIPSUBDIRS" )
SPLIT_ARGN ( ${ ROBOT_SYNTAX } ARGUMENTS ${ ARGN } )
IF ( NOT HAS_ROBOTNAME )
MESSAGE ( FATAL_ERROR "Cannot build a robot with no specified name" )
ENDIF ( NOT HAS_ROBOTNAME )
IF ( NOT HAS_SOURCES )
MESSAGE ( FATAL_ERROR "Cannot build a robot without sources" )
ENDIF ( NOT HAS_SOURCES )
IF ( HAS_INTERFACE )
ROBOT_MODULE ( NAME ${ ROBOTNAME } INTERFACE ${ INTERFACE } SOURCES ${ SOURCES } )
ELSE ( HAS_INTERFACE )
ROBOT_MODULE ( NAME ${ ROBOTNAME } SOURCES ${ SOURCES } )
ENDIF ( HAS_INTERFACE )
IF ( HAS_SHIPPREFIX )
IF ( HAS_EXTRA_SHIP )
IF ( HAS_SHIPSUBDIRS )
ROBOT_DATA ( NAME ${ ROBOTNAME } SHIPPREFIX ${ SHIPPREFIX }
S H I P F I L E S $ { E X T R A _ S H I P } S H I P S U B D I R S $ { S H I P S U B D I R S } )
ELSE ( HAS_SHIPSUBDIRS )
ROBOT_DATA ( NAME ${ ROBOTNAME } SHIPPREFIX ${ SHIPPREFIX }
S H I P F I L E S $ { E X T R A _ S H I P } )
ENDIF ( HAS_SHIPSUBDIRS )
ELSE ( HAS_EXTRA_SHIP )
IF ( HAS_SHIPSUBDIRS )
ROBOT_DATA ( NAME ${ ROBOTNAME } SHIPPREFIX ${ SHIPPREFIX }
S H I P S U B D I R S $ { S H I P S U B D I R S } )
ELSE ( HAS_SHIPSUBDIRS )
ROBOT_DATA ( NAME ${ ROBOTNAME } SHIPPREFIX ${ SHIPPREFIX } )
ENDIF ( HAS_SHIPSUBDIRS )
ENDIF ( HAS_EXTRA_SHIP )
ELSE ( HAS_SHIPPREFIX )
IF ( HAS_EXTRA_SHIP )
IF ( HAS_SHIPSUBDIRS )
ROBOT_DATA ( NAME ${ ROBOTNAME }
S H I P F I L E S $ { E X T R A _ S H I P } S H I P S U B D I R S $ { S H I P S U B D I R S } )
ELSE ( HAS_SHIPSUBDIRS )
ROBOT_DATA ( NAME ${ ROBOTNAME }
S H I P F I L E S $ { E X T R A _ S H I P } )
ENDIF ( HAS_SHIPSUBDIRS )
ELSE ( HAS_EXTRA_SHIP )
IF ( HAS_SHIPSUBDIRS )
ROBOT_DATA ( NAME ${ ROBOTNAME }
S H I P S U B D I R S $ { S H I P S U B D I R S } )
ELSE ( HAS_SHIPSUBDIRS )
ROBOT_DATA ( NAME ${ ROBOTNAME } )
ENDIF ( HAS_SHIPSUBDIRS )
ENDIF ( HAS_EXTRA_SHIP )
ENDIF ( HAS_SHIPPREFIX )
ENDMACRO ( ROBOT )
MACRO ( ADD_INTERFACE_INCLUDEDIR )
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/interfaces )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
FIND_PATH ( INTERFACE_INCLUDE_DIR raceman.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( INTERFACE_INCLUDE_DIR raceman.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
IF ( INTERFACE_INCLUDE_DIR )
INCLUDE_DIRECTORIES ( ${ INTERFACE_INCLUDE_DIR } )
ELSE ( INTERFACE_INCLUDE_DIR )
MESSAGE ( FATAL_ERROR "Cannot find interface header files" )
ENDIF ( INTERFACE_INCLUDE_DIR )
ENDMACRO ( ADD_INTERFACE_INCLUDEDIR )
MACRO ( ADD_OSSPEC_INCLUDEDIR )
IF ( IN_SOURCETREE )
IF ( UNIX )
SET ( CANDIDATE_SPEC ${ SOURCE_DIR } /src/linux )
ELSEIF ( WIN32 )
SET ( CANDIDATE_SPEC ${ SOURCE_DIR } /src/windows )
ELSE ( UNIX )
SET ( CANDIDATE_SPEC ${ SOURCE_DIR } )
ENDIF ( UNIX )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( CANDIDATE_SPEC ${ SD_INCLUDEDIR } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
FIND_PATH ( OSSPEC_INCLUDE_DIR osspec.h PATHS ${ CANDIDATE_SPEC } /usr/include /usr/local/include NO_DEFAULT_PATH CACHE DOC "osspec header directory" )
FIND_PATH ( OSSPEC_INCLUDE_DIR osspec.h PATHS ${ CANDIDATE_SPEC } /usr/include /usr/local/include CACHE DOC "osspec header directory" )
IF ( OSSPEC_INCLUDE_DIR )
INCLUDE_DIRECTORIES ( ${ OSSPEC_INCLUDE_DIR } )
ELSE ( OSSPEC_INCLUDE_DIR )
MESSAGE ( FATAL_ERROR "Cannot find osspec header file" )
ENDIF ( OSSPEC_INCLUDE_DIR )
ENDMACRO ( ADD_OSSPEC_INCLUDEDIR )
2010-09-19 15:25:52 +02:00
MACRO ( ADD_SDLIB_INCLUDEDIR )
SET ( SDLIB_OPTIONAL FALSE )
FOREACH ( SDLIB_LIB ${ ARGN } )
IF ( ${ SDLIB_LIB } STREQUAL "OPTIONAL" )
SET ( SDLIB_OPTIONAL TRUE )
ENDIF ( ${ SDLIB_LIB } STREQUAL "OPTIONAL" )
ENDFOREACH ( SDLIB_LIB ${ ARGN } )
FOREACH ( SDLIB_LIB ${ ARGN } )
SET ( SDLIB_FOUND_LIB TRUE )
SET ( SDLIB_EXTRA_INCLUDEDIR "" )
IF ( SDLIB_LIB STREQUAL "client" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/client )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_CLIENT_INCLUDE_DIR client.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_CLIENT_INCLUDE_DIR client.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_CLIENT_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "confscreens" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/confscreens )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_CONFSCREENS_INCLUDE_DIR confscreens.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_CONFSCREENS_INCLUDE_DIR confscreens.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_CONFSCREENS_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "learning" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/learning )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_LEARNING_INCLUDE_DIR learn_debug.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include PATH_SUFFIXES "" learning NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_LEARNING_INCLUDE_DIR learn_debug.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include PATH_SUFFIXES "" learning )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_LEARNING_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "math" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/math )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_MATH_INCLUDE_DIR linalg_t.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include PATH_SUFFIXES "" math tmath NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_MATH_INCLUDE_DIR linalg_t.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include PATH_SUFFIXES "" math tmath )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_MATH_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "networking" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/modules/networking )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_NETWORKING_INCLUDE_DIR network.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_NETWORKING_INCLUDE_DIR network.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_NETWORKING_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "portability" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/portability )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_PORTABILITY_INCLUDE_DIR portability.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_PORTABILITY_INCLUDE_DIR portability.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_PORTABILITY_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "raceengineclient" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/raceengineclient )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_RACEENGINECLIENT_INCLUDE_DIR raceengineclient.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_RACEENGINECLIENT_INCLUDE_DIR raceengineclient.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_RACEENGINECLIENT_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "racescreens" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/racescreens )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_RACESCREENS_INCLUDE_DIR racescreens.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_RACESCREENS_INCLUDE_DIR racescreens.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_RACESCREENS_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "robottools" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/robottools )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_ROBOTTOOLS_INCLUDE_DIR robottools.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_ROBOTTOOLS_INCLUDE_DIR robottools.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_ROBOTTOOLS_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "tgf" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/tgf )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_TGF_INCLUDE_DIR tgf.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_TGF_INCLUDE_DIR tgf.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_TGF_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "tgfclient" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/tgfclient )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_TGFCLIENT_INCLUDE_DIR tgfclient.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_TGFCLIENT_INCLUDE_DIR tgfclient.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_TGFCLIENT_INCLUDE_DIR )
ELSEIF ( SDLIB_LIB STREQUAL "txml" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } /src/libs/txml )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( INCLUDE_CANDIDATE ${ SD_INCLUDEDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_PATH ( SDLIB_TXML_INCLUDE_DIR xml.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( SDLIB_TXML_INCLUDE_DIR xml.h PATHS ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
SET ( SDLIB_EXTRA_INCLUDEDIR SDLIB_TXML_INCLUDE_DIR )
ELSE ( SDLIB_LIB STREQUAL "client" )
SET ( SDLIB_FOUND_LIB FALSE )
IF ( NOT SDLIB_LIB STREQUAL "OPTIONAL" )
MESSAGE ( WARNING ": ${SDLIB_LIB} is not a Speed Dreams library" )
ENDIF ( NOT SDLIB_LIB STREQUAL "OPTIONAL" )
ENDIF ( SDLIB_LIB STREQUAL "client" )
IF ( SDLIB_FOUND_LIB )
IF ( ${ SDLIB_EXTRA_INCLUDEDIR } )
SET ( SDLIB_INCLUDE_DIRS ${ SDLIB_INCLUDE_DIRS } ${ ${SDLIB_EXTRA_INCLUDEDIR } } )
ELSE ( ${ SDLIB_EXTRA_INCLUDEDIR } )
IF ( NOT SDLIB_OPTIONAL AND NOT SDLIB_LIB STREQUAL "OPTIONAL" )
MESSAGE ( FATAL_ERROR "Cannot find ${SDLIB_LIB} library header files" )
ENDIF ( NOT SDLIB_OPTIONAL AND NOT SDLIB_LIB STREQUAL "OPTIONAL" )
ENDIF ( ${ SDLIB_EXTRA_INCLUDEDIR } )
ENDIF ( SDLIB_FOUND_LIB )
ENDFOREACH ( SDLIB_LIB ${ SDLIB_LIBS } )
INCLUDE_DIRECTORIES ( ${ SDLIB_INCLUDE_DIRS } )
ENDMACRO ( ADD_SDLIB_INCLUDEDIR )
MACRO ( ADD_SDLIB_LIBRARY TARGET )
SET ( SDLIB_OPTIONAL FALSE )
SET ( SDLIB_STATIC FALSE )
SET ( SDLIB_TARGET_SUFFIX "" )
FOREACH ( SDLIB_LIB ${ ARGN } )
IF ( ${ SDLIB_LIB } STREQUAL "OPTIONAL" )
SET ( SDLIB_OPTIONAL TRUE )
ENDIF ( ${ SDLIB_LIB } STREQUAL "OPTIONAL" )
IF ( ${ SDLIB_LIB } STREQUAL "STATIC" )
SET ( SDLIB_STATIC TRUE )
SET ( SDLIB_TARGET_SUFFIX "_static" )
ENDIF ( ${ SDLIB_LIB } STREQUAL "STATIC" )
ENDFOREACH ( SDLIB_LIB ${ ARGN } )
FOREACH ( SDLIB_LIB ${ ARGN } )
SET ( SDLIB_IGNORE TRUE )
2010-02-28 10:04:35 +01:00
IF ( NOT UNIX )
2010-09-19 15:25:52 +02:00
SET ( SDLIB_IGNORE FALSE )
ELSEIF ( NOT SDLIB_LIB STREQUAL "ssggraph" AND NOT SDLIB_LIB STREQUAL "track" )
SET ( SDLIB_IGNORE FALSE )
2010-02-28 10:04:35 +01:00
ENDIF ( NOT UNIX )
2010-09-19 15:25:52 +02:00
IF ( SDLIB_LIB STREQUAL "OPTIONAL" OR SDLIB_LIB STREQUAL "STATIC" )
SET ( SDLIB_IGNORE TRUE ) #Ignore: not a real target
ENDIF ( SDLIB_LIB STREQUAL "OPTIONAL" OR SDLIB_LIB STREQUAL "STATIC" )
2010-02-28 10:04:35 +01:00
2010-09-19 15:25:52 +02:00
IF ( NOT SDLIB_IGNORE )
SET ( SDLIB_FOUND_LIB TRUE )
SET ( SDLIB_EXTRA_LIBRARY "" )
2010-02-28 10:04:35 +01:00
#Use IF(TARGET ${TOCSLIB_LIB}) from CMake 2.6
2010-09-19 15:25:52 +02:00
GET_TARGET_PROPERTY ( SDLIB_TARGET_LOCATION ${ SDLIB_LIB } ${ SDLIB_TARGET_SUFFIX } LOCATION )
IF ( NOT SDLIB_TARGET_LOCATION STREQUAL "NOTFOUND" )
SET ( SDLIB_LIBRARIES ${ SDLIB_LIBRARIES } ${ SDLIB_LIB } ${ SDLIB_TARGET_SUFFIX } )
ELSE ( NOT SDLIB_TARGET_LOCATION STREQUAL "NOTFOUND" )
MESSAGE ( WARNING "Warning: didn't found target ${SDLIB_LIB}" )
IF ( SDLIB_LIB STREQUAL "client" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/libs/client )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_CLIENT_LIBRARY client PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_CLIENT_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "confscreens" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/libs/confscreens )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_CONFSCREENS_LIBRARY confscreens PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_CONFSCREENS_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "learning" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/libs/learning )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_LEARNING_LIBRARY learning PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_LEARNING_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "networking" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/modules/networking )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_NETWORKING_LIBRARY learning PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_NETWORKING_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "raceengineclient" OR SDLIB_LIB STREQUAL "raceengine" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/libs/raceengineclient )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_RACEENGINECLIENT_LIBRARY raceengineclient PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_RACEENGINECLIENT_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "racescreens" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/libs/racescreens )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_RACESCREENS_LIBRARY racescreens ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_RACESCREENS_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "robottools" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/libs/robottools )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_ROBOTTOOLS_LIBRARY robottools PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_ROBOTTOOLS_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "tgf" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/libs/tgf )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_TGF_LIBRARY tgf ${ SDLIB_TARGET_SUFFIX } PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib
2010-02-28 10:04:35 +01:00
P A T H _ S U F F I X E S " " l i b )
2010-09-19 15:25:52 +02:00
SET ( SDLIB_EXTRA_LIBRARY SDLIB_TGF_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "tgfclient" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/libs/tgfclient )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_TGFCLIENT_LIBRARY tgfclient PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_TGFCLIENT_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "txml" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/libs/txml )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_TXML_LIBRARY txml ${ SDLIB_TARGET_SUFFIX } PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib
2010-02-28 10:04:35 +01:00
P A T H _ S U F F I X E S " " l i b )
2010-09-19 15:25:52 +02:00
SET ( SDLIB_EXTRA_LIBRARY SDLIB_TXML_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "ssggraph" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/modules/graphic/ssggraph )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_SSGGRAPH_LIBRARY ssggraph PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_SSGGRAPH_LIBRARY )
ELSEIF ( SDLIB_LIB STREQUAL "track" )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
SET ( LIBRARY_CANDIDATE ${ SOURCE_DIR } /src/modules/track )
ELSE ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
SET ( LIBRARY_CANDIDATE ${ SD_LIBDIR_ABS } )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
FIND_LIBRARY ( SDLIB_TRACK_LIBRARY track PATHS ${ LIBRARY_CANDIDATE } /usr/lib /usr/local/lib PATH_SUFFIXES "" lib )
SET ( SDLIB_EXTRA_LIBRARY SDLIB_TRACK_LIBRARY )
ELSE ( SDLIB_LIB STREQUAL "client" )
SET ( SDLIB_FOUND_LIB FALSE )
IF ( NOT SDLIB_LIB STREQUAL "OPTIONAL" AND NOT SDLIB_LIB STREQUAL "STATIC" )
MESSAGE ( WARNING ": ${SDLIB_LIB} is not a Speed Dreams library" )
ENDIF ( NOT SDLIB_LIB STREQUAL "OPTIONAL" AND NOT SDLIB_LIB STREQUAL "STATIC" )
ENDIF ( SDLIB_LIB STREQUAL "client" )
IF ( SDLIB_FOUND_LIB )
IF ( ${ SDLIB_EXTRA_LIBRARY } )
SET ( SDLIB_LIBRARIES ${ SDLIB_LIBRARIES } ${ ${SDLIB_EXTRA_LIBRARY } } )
ELSE ( ${ SDLIB_EXTRA_LIBRARY } )
IF ( NOT SDLIB_OPTIONAL AND NOT SDLIB_LIB STREQUAL "OPTIONAL" AND NOT SDLIB_LIB STREQUAL "STATIC" )
MESSAGE ( FATAL_ERROR "Cannot find ${SDLIB_LIB} library shared object" )
ENDIF ( NOT SDLIB_OPTIONAL AND NOT SDLIB_LIB STREQUAL "OPTIONAL" AND NOT SDLIB_LIB STREQUAL "STATIC" )
ENDIF ( ${ SDLIB_EXTRA_LIBRARY } )
ENDIF ( SDLIB_FOUND_LIB )
ENDIF ( NOT SDLIB_TARGET_LOCATION STREQUAL "NOTFOUND" )
ENDIF ( NOT SDLIB_IGNORE )
ENDFOREACH ( SDLIB_LIB ${ SDLIB_LIBS } )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ SDLIB_LIBRARIES } )
ENDMACRO ( ADD_SDLIB_LIBRARY TARGET )
2010-02-28 10:04:35 +01:00
MACRO ( ADD_PLIB_INCLUDEDIR )
FIND_PACKAGE ( PLIB )
IF ( PLIB_FOUND )
INCLUDE_DIRECTORIES ( ${ PLIB_INCLUDE_DIR } )
ELSE ( PLIB_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find plib header files" )
ENDIF ( PLIB_FOUND )
ENDMACRO ( ADD_PLIB_INCLUDEDIR )
MACRO ( ADD_PLIB_LIBRARY TARGET )
FIND_PACKAGE ( PLIB )
IF ( NOT PLIB_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find plib" )
ENDIF ( NOT PLIB_FOUND )
IF ( NOT APPLE )
FOREACH ( PLIB_LIB ${ ARGN } )
IF ( PLIB_LIB STREQUAL "ul" )
SET ( PLIB_LIBRARIES ${ PLIB_LIBRARIES } ${ PLIB_UL_LIBRARY } )
ELSEIF ( PLIB_LIB STREQUAL "js" )
SET ( PLIB_LIBRARIES ${ PLIB_LIBRARIES } ${ PLIB_JS_LIBRARY } )
ELSEIF ( PLIB_LIB STREQUAL "sg" )
SET ( PLIB_LIBRARIES ${ PLIB_LIBRARIES } ${ PLIB_SG_LIBRARY } )
ELSEIF ( PLIB_LIB STREQUAL "sl" )
SET ( PLIB_LIBRARIES ${ PLIB_LIBRARIES } ${ PLIB_SL_LIBRARY } )
ELSEIF ( PLIB_LIB STREQUAL "sm" )
SET ( PLIB_LIBRARIES ${ PLIB_LIBRARIES } ${ PLIB_SM_LIBRARY } )
ELSEIF ( PLIB_LIB STREQUAL "ssg" )
SET ( PLIB_LIBRARIES ${ PLIB_LIBRARIES } ${ PLIB_SSG_LIBRARY } )
ELSEIF ( PLIB_LIB STREQUAL "ssgaux" )
SET ( PLIB_LIBRARIES ${ PLIB_LIBRARIES } ${ PLIB_SSGAUX_LIBRARY } )
ELSE ( PLIB_LIB STREQUAL "ul" )
MESSAGE ( WARNING "${PLIB_LIB} is not part of plib" )
ENDIF ( PLIB_LIB STREQUAL "ul" )
ENDFOREACH ( PLIB_LIB ${ ARGN } )
ENDIF ( NOT APPLE )
#Special case apple only uses one library
IF ( APPLE )
SET ( PLIB_LIBRARIES ${ PLIB_LIBRARIES } ${ PLIB_APPLE_LIBRARY } )
ENDIF ( APPLE )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ PLIB_LIBRARIES } )
ENDMACRO ( ADD_PLIB_LIBRARY TARGET )
MACRO ( ADD_SDL_INCLUDEDIR )
FIND_PACKAGE ( SDL )
IF ( SDL_FOUND )
INCLUDE_DIRECTORIES ( ${ SDL_INCLUDE_DIR } )
ELSE ( SDL_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find SDL header files" )
ENDIF ( SDL_FOUND )
ENDMACRO ( ADD_SDL_INCLUDEDIR )
MACRO ( ADD_SDL_LIBRARY TARGET )
FIND_PACKAGE ( SDL )
IF ( SDL_FOUND )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ SDL_LIBRARY } )
2010-08-09 22:09:12 +02:00
IF ( SDLMAIN_LIBRARY )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ SDLMAIN_LIBRARY } )
ENDIF ( SDLMAIN_LIBRARY )
2010-02-28 10:04:35 +01:00
ELSE ( SDL_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find SDL library" )
ENDIF ( SDL_FOUND )
ENDMACRO ( ADD_SDL_LIBRARY TARGET )
MACRO ( ADD_OPENGL_INCLUDEDIR )
FIND_PACKAGE ( OpenGL )
IF ( OPENGL_FOUND )
INCLUDE_DIRECTORIES ( ${ OPENGL_INCLUDE_DIR } )
ELSE ( OPENGL_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find OpenGL header files" )
ENDIF ( OPENGL_FOUND )
ENDMACRO ( ADD_OPENGL_INCLUDEDIR )
MACRO ( ADD_OPENGL_LIBRARY TARGET )
FIND_PACKAGE ( OpenGL )
IF ( OPENGL_FOUND )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ OPENGL_LIBRARIES } )
ELSE ( OPENGL_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find OpenGL libraries" )
ENDIF ( OPENGL_FOUND )
ENDMACRO ( ADD_OPENGL_LIBRARY TARGET )
MACRO ( ADD_OPENAL_INCLUDEDIR )
FIND_PACKAGE ( OpenAL )
IF ( OPENAL_FOUND )
INCLUDE_DIRECTORIES ( ${ OPENAL_INCLUDE_DIR } )
ELSE ( OPENAL_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find OpenAL header files" )
ENDIF ( OPENAL_FOUND )
ENDMACRO ( ADD_OPENAL_INCLUDEDIR )
MACRO ( ADD_OPENAL_LIBRARY TARGET )
FIND_PACKAGE ( OpenAL )
IF ( OPENAL_FOUND )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ OPENAL_LIBRARIES } )
ELSE ( OPENAL_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find OpenAL libraries" )
ENDIF ( OPENAL_FOUND )
ENDMACRO ( ADD_OPENAL_LIBRARY TARGET )
MACRO ( ADD_ENET_INCLUDEDIR )
FIND_PACKAGE ( ENET )
IF ( ENET_FOUND )
INCLUDE_DIRECTORIES ( ${ ENET_INCLUDE_DIR } )
ELSE ( ENET_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find ENET header files" )
ENDIF ( ENET_FOUND )
ENDMACRO ( ADD_ENET_INCLUDEDIR )
MACRO ( ADD_ENET_LIBRARY TARGET )
FIND_PACKAGE ( ENET )
IF ( ENET_FOUND )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ ENET_LIBRARY } )
ELSE ( ENET_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find ENET libraries" )
ENDIF ( ENET_FOUND )
ENDMACRO ( ADD_ENET_LIBRARY TARGET )
MACRO ( ADD_PNG_INCLUDEDIR )
FIND_PACKAGE ( PNG )
IF ( PNG_FOUND )
INCLUDE_DIRECTORIES ( ${ PNG_INCLUDE_DIR } )
ELSE ( PNG_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find PNG header files" )
ENDIF ( PNG_FOUND )
ENDMACRO ( ADD_PNG_INCLUDEDIR )
MACRO ( ADD_PNG_LIBRARY TARGET )
FIND_PACKAGE ( PNG )
IF ( PNG_FOUND )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ PNG_LIBRARIES } )
ELSE ( PNG_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find PNG libraries" )
ENDIF ( PNG_FOUND )
ENDMACRO ( ADD_PNG_LIBRARY TARGET )
MACRO ( ADD_JPEG_INCLUDEDIR )
FIND_PACKAGE ( JPEG )
IF ( JPEG_FOUND )
INCLUDE_DIRECTORIES ( ${ JPEG_INCLUDE_DIR } )
ELSE ( JPEG_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find JPEG header files" )
ENDIF ( JPEG_FOUND )
ENDMACRO ( ADD_JPEG_INCLUDEDIR )
MACRO ( ADD_JPEG_LIBRARY TARGET )
FIND_PACKAGE ( JPEG )
IF ( JPEG_FOUND )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ JPEG_LIBRARIES } )
ELSE ( JPEG_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find JPEG libraries" )
ENDIF ( JPEG_FOUND )
ENDMACRO ( ADD_JPEG_LIBRARY TARGET )
MACRO ( ADD_X11_INCLUDEDIR )
FIND_PACKAGE ( X11 )
IF ( X11_FOUND )
INCLUDE_DIRECTORIES ( ${ X11_INCLUDE_DIR } )
MESSAGE ( STATUS "INCLUDED ${X11_INCLUDE_DIR}" )
ELSE ( X11_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find X11 header files" )
ENDIF ( X11_FOUND )
ENDMACRO ( ADD_X11_INCLUDEDIR )
MACRO ( ADD_X11_LIBRARY TARGET )
FIND_PACKAGE ( X11 )
IF ( X11_FOUND )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ X11_LIBRARIES } )
ELSE ( X11_FOUND )
MESSAGE ( FATAL_ERROR "Cannot find X11 libraries" )
ENDIF ( X11_FOUND )
ENDMACRO ( ADD_X11_LIBRARY TARGET )
MACRO ( ADD_XRANDR_INCLUDEDIR )
FIND_PACKAGE ( X11 )
FIND_PATH ( X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h ${ X11_INC_SEARCH_PATH } )
IF ( X11_Xrandr_INCLUDE_PATH )
INCLUDE_DIRECTORIES ( ${ X11_Xrandr_INCLUDE_PATH } ${ X11_INCLUDE_DIR } )
SET ( HAVE_XRANDR TRUE )
ELSE ( X11_Xrandr_INCLUDE_PATH )
SET ( HAVE_XRANDR FALSE )
ENDIF ( X11_Xrandr_INCLUDE_PATH )
ENDMACRO ( ADD_XRANDR_INCLUDEDIR )
MACRO ( ADD_XRANDR_LIBRARY TARGET )
FIND_PACKAGE ( X11 )
FIND_LIBRARY ( X11_Xrandr_LIB Xrandr ${ X11_LIB_SEARCH_PATH } )
IF ( X11_Xrandr_LIB )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ X11_Xrandr_LIB } )
SET ( HAVE_XRANDR TRUE )
ELSE ( X11_Xrandr_LIB )
SET ( HAVE_XRANDR FALSE )
ENDIF ( X11_Xrandr_LIB )
ENDMACRO ( ADD_XRANDR_LIBRARY TARGET )
2010-08-09 17:23:08 +02:00
#Some unix compilers need libdl
MACRO ( ADD_DL_LIBRARY TARGET )
IF ( UNIX )
FIND_LIBRARY ( LIBDL_LIB dl "" )
IF ( LIBDL_LIB )
TARGET_LINK_LIBRARIES ( ${ TARGET } ${ LIBDL_LIB } )
ENDIF ( LIBDL_LIB )
MESSAGE ( STATUS LIBDL = ${ LIBDL_LIB } )
ENDIF ( UNIX )
ENDMACRO ( ADD_DL_LIBRARY TARGET )
2010-09-19 15:25:52 +02:00
MACRO ( ADD_SD_DEFINITIONS )
2010-02-28 10:04:35 +01:00
IF ( HAVE_CONFIG_H )
ADD_DEFINITIONS ( -DHAVE_CONFIG_H )
IF ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE ${ SOURCE_DIR } )
ELSE ( IN_SOURCETREE )
SET ( INCLUDE_CANDIDATE "" )
ENDIF ( IN_SOURCETREE )
FIND_PATH ( CONFIGH_INCLUDE_DIR config.h ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include NO_DEFAULT_PATH )
FIND_PATH ( CONFIGH_INCLUDE_DIR config.h ${ INCLUDE_CANDIDATE } /usr/include /usr/local/include )
IF ( CONFIGH_INCLUDE_DIR )
INCLUDE_DIRECTORIES ( ${ CONFIGH_INCLUDE_DIR } )
ELSE ( CONFIGH_INCLUDE_DIR )
MESSAGE ( FATAL_ERROR "Cannot find config.h header file" )
ENDIF ( CONFIGH_INCLUDE_DIR )
ENDIF ( HAVE_CONFIG_H )
ADD_DEFINITIONS ( -D_SVID_SOURCE -D_BSD_SOURCE -DSHM )
2010-08-14 21:29:07 +02:00
SET ( OPTION_DEBUG false CACHE BOOL "Enable traces into the console or log file" )
2010-09-19 15:25:52 +02:00
SET ( OPTION_TRACE_LEVEL "5" CACHE STRING "Trace level integer threshold, only if OPTION_DEBUG (traces with higher level are not logged ; 0=Fatal, 1=Error, 2=Warning, 3=Info, 4=Trace, 5=Debug, ...)" )
2010-02-28 10:04:35 +01:00
SET ( OPTION_PROFILER false CACHE BOOL "Enable profiler" )
2010-06-17 21:34:28 +02:00
SET ( OPTION_SCHEDULE_SPY false CACHE BOOL "Enable fine grained scheduling spy" )
2010-02-28 10:04:35 +01:00
#Put Linux spec here
IF ( UNIX )
SET ( OPTION_XRANDR true CACHE BOOL "XrandR" )
SET ( OPTION_GLEXTPROTOTYPES true CACHE BOOL "Enable prototypes in glext.h" )
ENDIF ( UNIX )
#Put Windows spec here
IF ( WIN32 )
#suppress meaningless warning for MSVC
ADD_DEFINITIONS ( -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS )
ENDIF ( WIN32 )
if ( OPTION_DEBUG )
2010-08-14 21:29:07 +02:00
ADD_DEFINITIONS ( -DDEBUG -DTRACE_OUT )
2010-02-28 10:04:35 +01:00
ENDIF ( OPTION_DEBUG )
2010-08-14 21:29:07 +02:00
if ( OPTION_TRACE_LEVEL )
ADD_DEFINITIONS ( -DTRACE_LEVEL= ${ OPTION_TRACE_LEVEL } )
ENDIF ( OPTION_TRACE_LEVEL )
2010-02-28 10:04:35 +01:00
IF ( OPTION_XRANDR )
ADD_DEFINITIONS ( -DUSE_RANDR_EXT )
ENDIF ( OPTION_XRANDR )
IF ( OPTION_PROFILER )
ADD_DEFINITIONS ( -DPROFILER )
ENDIF ( OPTION_PROFILER )
2010-06-17 21:34:28 +02:00
IF ( OPTION_SCHEDULE_SPY )
ADD_DEFINITIONS ( -DSCHEDULE_SPY )
ENDIF ( OPTION_SCHEDULE_SPY )
2010-02-28 10:04:35 +01:00
IF ( OPTION_GLEXTPROTOTYPES )
ADD_DEFINITIONS ( -DGL_GLEXT_PROTOTYPES )
ENDIF ( OPTION_GLEXTPROTOTYPES )
# Define for code that needs Torcs backward compatibility
2010-03-13 18:22:34 +01:00
ADD_DEFINITIONS ( -DSPEED_DREAMS )
2010-02-28 10:04:35 +01:00
2010-09-19 15:25:52 +02:00
ENDMACRO ( ADD_SD_DEFINITIONS )
2010-02-28 10:04:35 +01:00
2010-09-19 15:25:52 +02:00
MACRO ( SD_INSTALL_CAR carname )
2010-02-28 10:04:35 +01:00
SET ( files ${ carname } .xml ${ ARGN } )
FILE ( GLOB files_acc *.acc )
FILE ( GLOB files_rgb *.rgb )
FILE ( GLOB files_png *.png )
2010-08-13 21:07:16 +02:00
FILE ( GLOB files_jpg *.jpg )
2010-02-28 10:04:35 +01:00
FILE ( GLOB files_wav *.wav )
2010-08-13 21:07:16 +02:00
SET ( files ${ files } ${ files_acc } ${ files_rgb } ${ files_png } ${ files_jpg } ${ files_wav } )
2010-02-28 10:04:35 +01:00
2010-09-19 15:25:52 +02:00
SD_INSTALL_FILES ( DATA cars/ ${ carname } FILES ${ files } )
ENDMACRO ( SD_INSTALL_CAR carname )
2010-02-28 10:04:35 +01:00
2010-09-19 15:25:52 +02:00
MACRO ( SD_INSTALL_TRACK trackname category )
2010-02-28 10:04:35 +01:00
SET ( files ${ trackname } .xml ${ ARGN } )
FILE ( GLOB files_png *.png )
FILE ( GLOB files_rgb *.rgb )
FILE ( GLOB files_ac *.ac )
FILE ( GLOB files_acc *.acc )
SET ( files ${ files } ${ files_png } ${ files_rgb } ${ files_ac } ${ files_acc } )
2010-09-19 15:25:52 +02:00
SD_INSTALL_FILES ( DATA tracks/ ${ category } / ${ trackname } FILES ${ files } )
ENDMACRO ( SD_INSTALL_TRACK trackname category )
2010-02-28 10:04:35 +01:00
#Usage:
2010-09-19 15:25:52 +02:00
# SD_INSTALL_FILES(DATA drivers/bt FILES bt.xml logo.rgb)
2010-02-28 10:04:35 +01:00
# Installs the files quickrace.xml and endrace.xml in ${prefix}/share/games/speed-dreams/drivers/bt
2010-09-19 15:25:52 +02:00
# SD_INSTALL_FILES(DATA config/raceman USER config/raceman FILES quickrace.xml endrace.xml)
2010-02-28 10:04:35 +01:00
# Installs the files quickrace.xml and endrace.xml in ${prefix}/share/games/speed-dreams/drivers/bt
# and copies the file to the users home directory ~/.speed-dreams/config/raceman at startup.
2010-09-19 15:25:52 +02:00
# SD_INSTALL_FILES(LIB drivers/bt TARGETS bt.so)
2010-02-28 10:04:35 +01:00
# Installs the files bt.so in ${prefix}/lib/speed-dreams/drivers/bt
2010-09-19 15:25:52 +02:00
# SD_INSTALL_FILES(BIN TARGETS speed-dreams)
2010-02-28 10:04:35 +01:00
# Installs the speed-dreams target to the bin-directory
2010-09-19 15:25:52 +02:00
MACRO ( SD_INSTALL_FILES )
SET ( SD_INSTALL_FILES_SYNTAX "DATA,1,1,IS_DATA,DATA_PATH" )
SET ( SD_INSTALL_FILES_SYNTAX ${ SD_INSTALL_FILES_SYNTAX } "LIB,1,1,IS_LIB,LIB_PATH" )
SET ( SD_INSTALL_FILES_SYNTAX ${ SD_INSTALL_FILES_SYNTAX } "BIN,0,0,IS_BIN,BIN_PATH" )
SET ( SD_INSTALL_FILES_SYNTAX ${ SD_INSTALL_FILES_SYNTAX } "INCLUDE,0,1,IS_INCLUDE,INCLUDE_PATH" )
SET ( SD_INSTALL_FILES_SYNTAX ${ SD_INSTALL_FILES_SYNTAX } "USER,1,1,IS_USER,USER_PATH" )
SET ( SD_INSTALL_FILES_SYNTAX ${ SD_INSTALL_FILES_SYNTAX } "FILES,0,-1,HAS_FILES,FILES" )
SET ( SD_INSTALL_FILES_SYNTAX ${ SD_INSTALL_FILES_SYNTAX } "TARGETS,0,-1,HAS_TARGETS,TARGET_LIST" )
SPLIT_ARGN ( ${ SD_INSTALL_FILES_SYNTAX } ARGUMENTS ${ ARGN } )
2010-02-28 10:04:35 +01:00
IF ( NOT IS_DATA AND NOT IS_LIB AND NOT IS_BIN AND NOT IS_INCLUDE )
2010-09-19 15:25:52 +02:00
MESSAGE ( ERROR "Expected either LIB, DATA or BIN in SD_INSTALL_FILES" )
2010-02-28 10:04:35 +01:00
ENDIF ( NOT IS_DATA AND NOT IS_LIB AND NOT IS_BIN AND NOT IS_INCLUDE )
IF ( IS_LIB )
2010-09-19 15:25:52 +02:00
SET ( DEST1 ${ SD_LIBDIR } )
2010-02-28 10:04:35 +01:00
SET ( DEST2 ${ LIB_PATH } )
ELSEIF ( IS_DATA )
2010-09-19 15:25:52 +02:00
SET ( DEST1 ${ SD_DATADIR } )
2010-02-28 10:04:35 +01:00
SET ( DEST2 ${ DATA_PATH } )
ELSEIF ( IS_BIN )
2010-09-19 15:25:52 +02:00
SET ( DEST1 ${ SD_BINDIR } )
2010-02-28 10:04:35 +01:00
SET ( DEST2 "" )
ELSEIF ( IS_INCLUDE )
2010-09-19 15:25:52 +02:00
SET ( DEST1 ${ SD_INCLUDEDIR } )
2010-02-28 10:04:35 +01:00
SET ( DEST2 "${INCLUDE_PATH}" )
ELSE ( IS_LIB )
2010-09-19 15:25:52 +02:00
MESSAGE ( WARNING "SD_INSTALL_FILES called without DATA, LIB, BIN or INCLUDE command" )
2010-02-28 10:04:35 +01:00
ENDIF ( IS_LIB )
IF ( DEST2 STREQUAL "" OR DEST2 STREQUAL "." )
SET ( DEST2 "" )
SET ( DEST_ALL "${DEST1}" )
ELSE ( DEST2 STREQUAL "" OR DEST2 STREQUAL "." )
SET ( DEST_ALL "${DEST1}/${DEST2}" )
ENDIF ( DEST2 STREQUAL "" OR DEST2 STREQUAL "." )
#Install files
IF ( HAS_FILES )
INSTALL ( FILES ${ FILES } DESTINATION ${ DEST_ALL } )
ENDIF ( HAS_FILES )
IF ( HAS_TARGETS )
INSTALL ( TARGETS ${ TARGET_LIST } DESTINATION ${ DEST_ALL } )
ENDIF ( HAS_TARGETS )
#Loop through all the files which must be installed
IF ( IS_USER )
FOREACH ( XML_FILE ${ FILES } )
2010-09-27 23:06:35 +02:00
# Get the filename
2010-02-28 10:04:35 +01:00
GET_FILENAME_COMPONENT ( XMLFILENAME ${ XML_FILE } NAME )
2010-09-27 23:06:35 +02:00
# Execute xmlversion to register the file as to be installed / updated at run-time
# in the user settings folder.
2010-02-28 10:04:35 +01:00
IF ( WIN32 )
GET_TARGET_PROPERTY ( TXML_LIB txml LOCATION )
GET_TARGET_PROPERTY ( TGF_LIB tgf LOCATION )
2010-10-03 18:34:56 +02:00
FIND_PACKAGE ( SDL )
GET_FILENAME_COMPONENT ( SDL_LIBPATH ${ SDL_LIBRARY } PATH )
GET_FILENAME_COMPONENT ( SDL_LIBNAME ${ SDL_LIBRARY } NAME_WE )
SET ( SDL_LIB ${ SDL_LIBPATH } /../bin/ ${ CMAKE_SHARED_LIBRARY_PREFIX } ${ SDL_LIBNAME } ${ CMAKE_SHARED_LIBRARY_SUFFIX } )
2010-09-25 19:20:18 +02:00
INSTALL ( CODE
" FILE ( READ ${ CMAKE_BINARY_DIR } /xmlversion_loc.txt XMLVERSION_EXE )
STRING ( REPLACE \"$(OutDir)\" \"\${CMAKE_INSTALL_CONFIG_NAME}\" XMLVERSION_EXE \${XMLVERSION_EXE})
GET_FILENAME_COMPONENT ( XMLVERSION_DIR \${XMLVERSION_EXE} PATH )
SET ( TXML_LIB ${ TXML_LIB } )
STRING ( REPLACE \"$(OutDir)\" \"\${CMAKE_INSTALL_CONFIG_NAME}\" TXML_LIB \${TXML_LIB})
SET ( TGF_LIB ${ TGF_LIB } )
STRING ( REPLACE \"$(OutDir)\" \"\${CMAKE_INSTALL_CONFIG_NAME}\" TGF_LIB \${TGF_LIB})
2010-10-03 18:34:56 +02:00
FILE ( INSTALL DESTINATION \${XMLVERSION_DIR} TYPE FILE FILES \${TXML_LIB} \${TGF_LIB} \"${SDL_LIB}\")
2010-09-25 20:35:48 +02:00
SET ( SD_DATADIR_ABS \"${SD_DATADIR}\")
IF ( NOT IS_ABSOLUTE \${SD_DATADIR_ABS})
GET_FILENAME_COMPONENT ( SD_DATADIR_ABS \"\${CMAKE_INSTALL_PREFIX}/\${SD_DATADIR_ABS}\" ABSOLUTE )
2010-09-25 19:20:18 +02:00
ENDIF ( )
2010-09-27 23:06:35 +02:00
EXECUTE_PROCESS ( COMMAND \"\${XMLVERSION_EXE}\" \"\${SD_DATADIR_ABS}/version.xml\" \"${DATA_PATH}/${XMLFILENAME}\" \"${USER_PATH}/${XMLFILENAME}\" \"\${SD_DATADIR_ABS}\" RESULT_VARIABLE XMLVERSTATUS )
2010-09-25 19:20:18 +02:00
IF ( XMLVERSTATUS )
MESSAGE ( FATAL_ERROR \"ERROR: xmlversion failed\ " )
ENDIF ( XMLVERSTATUS ) " )
2010-02-28 10:04:35 +01:00
ELSE ( WIN32 )
2010-09-25 19:20:18 +02:00
INSTALL ( CODE
" FILE ( READ ${ CMAKE_BINARY_DIR } /xmlversion_loc.txt XMLVERSION_EXE )
2010-09-25 20:35:48 +02:00
SET ( SD_DATADIR_ABS \"${SD_DATADIR}\")
IF ( NOT IS_ABSOLUTE \${SD_DATADIR_ABS})
GET_FILENAME_COMPONENT ( SD_DATADIR_ABS \"\${CMAKE_INSTALL_PREFIX}/\${SD_DATADIR_ABS}\" ABSOLUTE )
2010-09-25 19:20:18 +02:00
ENDIF ( )
# Why this path correction here ? This needs a comment !
SET ( CUR_DESTDIR \"\$ENV{DESTDIR}\")
IF ( CUR_DESTDIR MATCHES \"[^/]\")
STRING ( REGEX REPLACE \"^(.*[^/])/*$\" \"\\\\1\" CUR_DESTDIR_CORR \"\${CUR_DESTDIR}\")
ELSE ( CUR_DESTDIR MATCHES \"[^/]\")
SET ( CUR_DESTDIR_CORR \"\")
ENDIF ( CUR_DESTDIR MATCHES \"[^/]\")
2010-09-27 23:06:35 +02:00
EXECUTE_PROCESS ( COMMAND \"\${XMLVERSION_EXE}\" \"\${CUR_DESTDIR_CORR}\${SD_DATADIR_ABS}/version.xml\" \"${DATA_PATH}/${XMLFILENAME}\" \"${USER_PATH}/${XMLFILENAME}\" \"\${CUR_DESTDIR_CORR}\${SD_DATADIR_ABS}\" RESULT_VARIABLE XMLVERSTATUS )
2010-09-25 19:20:18 +02:00
IF ( XMLVERSTATUS )
MESSAGE ( FATAL_ERROR \"ERROR: xmlversion failed\ " )
ENDIF ( XMLVERSTATUS ) " )
2010-02-28 10:04:35 +01:00
ENDIF ( WIN32 )
ENDFOREACH ( XML_FILE ${ FILES } )
ENDIF ( IS_USER )
2010-09-19 15:25:52 +02:00
ENDMACRO ( SD_INSTALL_FILES )
2010-02-28 10:04:35 +01:00
IF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
MACRO ( INSTALL_SD_CMAKE )
2010-09-25 19:20:18 +02:00
INSTALL ( CODE
" SET ( CUR_DESTDIR \"\$ENV{DESTDIR}\")
IF ( CUR_DESTDIR MATCHES \"[^/]\")
STRING ( REGEX REPLACE \"^(.*[^/])/*$\" \"\\\\1\" CUR_DESTDIR_CORR \"\${CUR_DESTDIR}\")
ELSE ( CUR_DESTDIR MATCHES \"[^/]\")
SET ( CUR_DESTDIR_CORR \"\")
ENDIF ( CUR_DESTDIR MATCHES \"[^/]\")
FILE ( MAKE_DIRECTORY \"\${CUR_DESTDIR_CORR}${SD_DATADIR_ABS}/cmake\")
FILE ( WRITE \"\${CUR_DESTDIR_CORR}${SD_DATADIR_ABS}/cmake/speed-dreams.cmake\"
\ " SET ( SD_DATADIR_ABS \\\"${SD_DATADIR_ABS}\\\")
SET ( SD_LOCALDIR \\\"${SD_LOCALDIR}\\\")
SET ( SD_LIBDIR_ABS \\\"${SD_LIBDIR_ABS}\\\")
SET ( SD_BINDIR_ABS \\\"${SD_BINDIR_ABS}\\\")
SET ( SD_INCLUDEDIR_ABS \\\"${SD_INCLUDEDIR_ABS}\\\")
SET ( IN_SOURCETREE FALSE ) \ \ n \ \ n \ " )
FILE ( READ \"${SOURCE_DIR}/cmake/macros.cmake\" SD_MACRO_CONTENT )
FILE ( APPEND \"\${CUR_DESTDIR_CORR}${SD_DATADIR_ABS}/cmake/speed-dreams.cmake\" \${SD_MACRO_CONTENT})")
2010-09-19 15:25:52 +02:00
ENDMACRO ( INSTALL_SD_CMAKE )
2010-02-28 10:04:35 +01:00
ENDIF ( IN_SOURCETREE )
2010-09-07 23:34:19 +02:00
# Generate clobber.sh/bat shell script (remove _any_ build system generated file)
2010-09-19 15:25:52 +02:00
MACRO ( SD_GENERATE_CLOBBER_SCRIPT )
2010-09-07 23:34:19 +02:00
IF ( IN_SOURCETREE )
IF ( WIN32 )
SET ( TGT_SCRIPT "${SOURCE_DIR}/clobber.bat" )
2010-09-25 19:20:18 +02:00
FILE ( WRITE "${TGT_SCRIPT}" "@echo off\n" )
FILE ( APPEND "${TGT_SCRIPT}" "rem CMake-generated script for in-source build tree total cleanup\n" )
FILE ( APPEND "${TGT_SCRIPT}" "rem (remove any build-system-generated file (+ .bak, *~, ... etc), \n" )
FILE ( APPEND "${TGT_SCRIPT}" "rem in case you want to get back to something like\n" )
FILE ( APPEND "${TGT_SCRIPT}" "rem right after a 'svn checkout' command).\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "rem Check if we are on top of a CMake-enabled SD source tree\n" )
FILE ( APPEND "${TGT_SCRIPT}" "if not exist CMakeLists.txt goto ERROR\n" )
FILE ( APPEND "${TGT_SCRIPT}" "if not exist credits.xml goto ERROR\n" )
FILE ( APPEND "${TGT_SCRIPT}" "if not exist cmake goto ERROR\n" )
FILE ( APPEND "${TGT_SCRIPT}" "if not exist data goto ERROR\n" )
FILE ( APPEND "${TGT_SCRIPT}" "if not exist src goto ERROR\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "echo Cleaning up in-source build tree ...\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "rem CMake generated files and dirs\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del CMakeCache.txt\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del config.h\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del CPackConfig.cmake\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del CPackSourceConfig.cmake\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del uninstall.cmake\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del doxygen_config\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del install_manifest.txt\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del speed-dreams.ncb\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del /ah speed-dreams.suo\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del speed-dreams.sln\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del version.h\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del xmlversion_loc.txt\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del /s /q *.vcproj*\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del /s /q cmake_install.cmake\n" )
FILE ( APPEND "${TGT_SCRIPT}" "for /f \" tokens=*\ " %%G in ('dir /b /ad /s CMakeFiles*') do rmdir /s /q %%G\n" )
FILE ( APPEND "${TGT_SCRIPT}" "for /f \" tokens=*\ " %%G in ('dir /b /ad /s *.dir') do rmdir /s /q %%G\n" )
FILE ( APPEND "${TGT_SCRIPT}" "for /f \" tokens=*\ " %%G in ('dir /b /ad /s Debug*') do rmdir /s /q %%G\n" )
FILE ( APPEND "${TGT_SCRIPT}" "for /f \" tokens=*\ " %%G in ('dir /b /ad /s Release*') do rmdir /s /q %%G\n" )
FILE ( APPEND "${TGT_SCRIPT}" "rmdir /s /q _CPack_Packages\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "rem Other useless files\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del /s /q *.*~\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del /s /q *.~*\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del /s /q *.bak\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del /s /q *.flc\n" )
FILE ( APPEND "${TGT_SCRIPT}" "del /s /q *.orig\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "echo Done.\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "goto END\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" ":ERROR\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "echo Bad current dir for that ; please run from the root folder of a CMake-enabled SD source tree.\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" ":END\n" )
2010-02-28 10:04:35 +01:00
2010-09-07 23:34:19 +02:00
ELSE ( WIN32 )
SET ( TGT_SCRIPT "${SOURCE_DIR}/clobber.sh" )
2010-09-25 19:20:18 +02:00
FILE ( WRITE "${TGT_SCRIPT}" "#!/bin/sh\n" )
FILE ( APPEND "${TGT_SCRIPT}" "# CMake-generated script for in-source build tree total cleanup\n" )
FILE ( APPEND "${TGT_SCRIPT}" "# (remove any build-system-generated file (+ .bak, *~, ... etc), \n" )
FILE ( APPEND "${TGT_SCRIPT}" "# in case you want to get back to something like\n" )
FILE ( APPEND "${TGT_SCRIPT}" "# right after a 'svn checkout' command).\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "# Check if we are on top of a CMake-enabled SD source tree\n" )
FILE ( APPEND "${TGT_SCRIPT}" "if [[ -f CMakeLists.txt && -f credits.xml && -d cmake && -d data && -d src ]] ; then\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" " echo \" Cleaning up in-source build tree ...\ "\n" )
FILE ( APPEND "${TGT_SCRIPT}" " \n" )
FILE ( APPEND "${TGT_SCRIPT}" " # CMake generated files and dirs\n" )
FILE ( APPEND "${TGT_SCRIPT}" " rm -f CMakeCache.txt config.h doxygen_config\n" )
FILE ( APPEND "${TGT_SCRIPT}" " rm -f CPackConfig.cmake CPackSourceConfig.cmake\n" )
FILE ( APPEND "${TGT_SCRIPT}" " rm -f uninstall.cmake\n" )
FILE ( APPEND "${TGT_SCRIPT}" " rm -f xmlversion_loc.txt install_manifest.txt version.h.txt\n" )
FILE ( APPEND "${TGT_SCRIPT}" " rm -fr _CPack_Packages\n" )
FILE ( APPEND "${TGT_SCRIPT}" " find . -type d -name \" CMakeFiles\ " -exec rm -fr {} \\;\n" )
FILE ( APPEND "${TGT_SCRIPT}" " find . -type f -name \" cmake_install.cmake\ " -delete\n" )
FILE ( APPEND "${TGT_SCRIPT}" " find . -type f -name \" Makefile\ " -delete\n" )
FILE ( APPEND "${TGT_SCRIPT}" "\n" )
FILE ( APPEND "${TGT_SCRIPT}" " # Other useless files\n" )
FILE ( APPEND "${TGT_SCRIPT}" " find . -type f -name \" *.rej\ " -delete\n" )
FILE ( APPEND "${TGT_SCRIPT}" " find . -type f -name \" *.orig\ " -delete\n" )
FILE ( APPEND "${TGT_SCRIPT}" " find . -type f -name \" *.flc\ " -delete\n" )
FILE ( APPEND "${TGT_SCRIPT}" " find . -type f -name \" *.bak\ " -delete\n" )
FILE ( APPEND "${TGT_SCRIPT}" " find . -type f -name \" *~\ " -delete\n" )
FILE ( APPEND "${TGT_SCRIPT}" " find . -type f -name \" *.~*\ " -delete\n" )
FILE ( APPEND "${TGT_SCRIPT}" " \n" )
FILE ( APPEND "${TGT_SCRIPT}" " echo \" Done.\ "\n" )
FILE ( APPEND "${TGT_SCRIPT}" " \n" )
FILE ( APPEND "${TGT_SCRIPT}" "else\n" )
FILE ( APPEND "${TGT_SCRIPT}" " echo \" Bad current dir for that ; please run from the root folder of a CMake-enabled SD source tree.\ "\n" )
FILE ( APPEND "${TGT_SCRIPT}" "fi\n" )
EXECUTE_PROCESS ( COMMAND chmod ugo+x ${ TGT_SCRIPT } )
2010-09-07 23:34:19 +02:00
ENDIF ( WIN32 )
ENDIF ( IN_SOURCETREE )
2010-09-19 15:25:52 +02:00
ENDMACRO ( SD_GENERATE_CLOBBER_SCRIPT )
2010-09-07 23:34:19 +02:00
2010-09-19 15:25:52 +02:00
ADD_SD_DEFINITIONS ( )