2011-12-04 18:04:02 -05:00
# root CMakeLists for the SuperTuxKart project
# Always edit 'CMakeLists.in.txt' and not 'CMakeLists.txt', the latter is automatically generated
2011-07-24 10:29:16 -04:00
cmake_minimum_required ( VERSION 2.8.1 )
2012-02-02 11:15:28 -05:00
include ( CheckCXXSourceCompiles )
2011-07-24 10:29:16 -04:00
project ( SuperTuxKart )
#set(CMAKE_VERBOSE_MAKEFILE TRUE)
set ( STK_SOURCE_DIR "src" )
set ( CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin" )
2011-09-05 20:15:06 -04:00
set ( PROJECT_VERSION "0.7.3" )
2011-07-24 14:40:20 -04:00
# Tweakable values
2011-08-01 15:18:49 -04:00
if ( CMAKE_BUILD_TYPE MATCHES "Debug" )
set ( DEBUG ON )
2011-10-22 14:20:51 -04:00
else ( )
2011-08-01 15:18:49 -04:00
set ( DEBUG OFF )
2011-10-22 14:20:51 -04:00
endif ( )
2011-08-01 15:18:49 -04:00
2012-01-01 16:19:13 -05:00
option ( USE_WIIUSE "Support for wiimote input devices" OFF )
2011-07-24 14:40:20 -04:00
option ( USE_FRIBIDI "Support for right-to-left languages" ON )
2011-08-01 15:18:49 -04:00
option ( FONT_TOOL "Compile font tool" OFF )
2011-07-24 14:40:20 -04:00
set ( IRRLICHT_DIR "/path/to/irrlicht" CACHE STRING "Path to Irrlicht" )
2011-07-24 10:29:16 -04:00
# Build the Bullet physics library
add_subdirectory ( "${STK_SOURCE_DIR}/bullet" )
# Build the ENet UDP network library
add_subdirectory ( "${STK_SOURCE_DIR}/enet" )
2012-01-01 16:19:13 -05:00
# Build the Wiiuse library
if ( USE_WIIUSE )
add_subdirectory ( "${STK_SOURCE_DIR}/wiiuse" )
endif ( )
2011-07-24 14:40:20 -04:00
# Set include paths
2011-07-24 10:29:16 -04:00
include_directories ( "${STK_SOURCE_DIR}" )
include_directories ( "${STK_SOURCE_DIR}/enet/include" )
include_directories ( "${STK_SOURCE_DIR}/bullet/src" )
2012-01-01 16:19:13 -05:00
if ( USE_WIIUSE )
include_directories ( "${STK_SOURCE_DIR}/wiiuse" )
endif ( )
2011-07-24 14:40:20 -04:00
2011-08-29 14:17:45 -04:00
if ( APPLE )
# We could use smarter detection of the frameworks but supporting a single official setup makes things easy...
include_directories ( "/Library/Frameworks/IrrFramework.framework/Versions/A/Headers/" )
include_directories ( "/Library/Frameworks/fribidi.framework/Headers" )
include_directories ( "/Library/Frameworks/Ogg.framework/Headers" )
include_directories ( "/Library/Frameworks/Vorbis.framework/Headers" )
include_directories ( "/usr/local/include" )
include_directories ( "/usr/include" )
find_library ( Ogg /Library/Frameworks/Ogg.framework )
find_library ( Vorbis /Library/Frameworks/Vorbis.framework )
endif ( )
2011-07-24 14:40:20 -04:00
# Set lib paths
if ( APPLE )
2011-08-29 14:17:45 -04:00
# nothing to add
2011-07-24 14:40:20 -04:00
elseif ( UNIX )
link_directories ( "${IRRLICHT_DIR}/lib/Linux" )
elseif ( MSVC )
link_directories ( "${IRRLICHT_DIR}/lib/Win32-visualstudio" )
else ( )
link_directories ( "${IRRLICHT_DIR}/lib/Win32-gcc" )
endif ( )
2011-07-24 10:29:16 -04:00
link_directories ( "${STK_SOURCE_DIR}/bullet" )
2012-01-01 16:19:13 -05:00
if ( USE_WIIUSE )
link_directories ( "${STK_SOURCE_DIR}/wiiuse" )
endif ( )
2011-08-01 15:18:49 -04:00
# OpenGL
2011-08-29 14:17:45 -04:00
if ( APPLE )
find_library ( OpenGL /System/Library/Frameworks/OpenGL.framework /System/Library/Frameworks/AGL.framework )
2011-08-01 15:18:49 -04:00
else ( )
2011-08-29 14:17:45 -04:00
find_package ( OpenGL )
if ( OPENGL_FOUND )
message ( "-- OpenGL found (include dirs: ${OPENGL_INCLUDE_DIR})" )
include_directories ( ${ OPENGL_INCLUDE_DIR } )
else ( )
message ( FATAL_ERROR "OpenGL not found." )
endif ( )
if ( UNIX )
# X11, stk requires xf86vm
find_package ( X11 )
if ( X11_FOUND )
message ( "-- X11 libs found" )
else ( )
message ( FATAL_ERROR "X11 not found." )
endif ( )
endif ( )
2011-07-24 14:40:20 -04:00
endif ( )
2011-08-01 15:18:49 -04:00
# OpenAL
2011-08-29 14:17:45 -04:00
if ( APPLE )
find_library ( OpenAL /Library/Frameworks/OpenAL.framework )
2011-08-01 15:18:49 -04:00
else ( )
2011-08-29 14:17:45 -04:00
find_package ( OpenAL )
if ( OPENAL_FOUND )
message ( "-- OpenAL found (include dirs: ${OPENAL_INCLUDE_DIR})" )
include_directories ( ${ OPENAL_INCLUDE_DIR } )
else ( )
message ( FATAL_ERROR "OpenAL not found." )
endif ( )
2011-08-01 15:18:49 -04:00
endif ( )
# Check if we finally got irrlicht
2011-08-29 14:17:45 -04:00
if ( APPLE )
find_library ( Irrlicht /Library/Frameworks/IrrFramework.framework )
2011-08-01 15:18:49 -04:00
else ( )
2011-08-29 14:17:45 -04:00
find_path ( HAVE_IRRLICHT irrlicht.h PATHS ${ IRRLICHT_DIR } ${ IRRLICHT_DIR } /include /usr/include/irrlicht/ /usr/local/include/irrlicht/ )
if ( HAVE_IRRLICHT )
message ( "-- Irrlicht found (in ${HAVE_IRRLICHT}/irrlicht.h)" )
2011-10-24 19:56:55 -04:00
include_directories ( ${ HAVE_IRRLICHT } )
2012-02-02 11:15:28 -05:00
find_library ( IRRLICHT_LIB /usr/lib /usr/local/lib ${ IRRLICHT_DIR } /lib/Linux )
set ( CMAKE_REQUIRED_INCLUDES ${ HAVE_IRRLICHT } )
#set(CMAKE_REQUIRED_FLAGS -L${IRRLICHT_DIR}/lib/Linux)
set ( CMAKE_REQUIRED_LIBRARIES ${ IRRLICHT_LIB } )
CHECK_CXX_SOURCE_COMPILES ( " #include <IrrCompileConfig.h>
i n t main ( int argc, char** argv ) {
#if IRRLICHT_VERSION_MAJOR > 1 || (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR >= 8)
/ / o k
#else
#error Your irrlicht is too old
#endif
} " I R R L I C H T _ R E C E N T _ E N O U G H )
if ( IRRLICHT_RECENT_ENOUGH )
# OK
else ( )
message ( FATAL_ERROR "\n -- This irrlicht is too old, please use irrlicht 1.8 (SVN)" )
endif ( )
2011-08-29 14:17:45 -04:00
else ( )
message ( FATAL_ERROR "\n -- Irrlicht not found (can't locate irrlicht.h)\n Use -DIRRLICHT_DIR=/path/to/irrlicht" )
endif ( )
2011-08-01 15:18:49 -04:00
endif ( )
include_directories ( ${ HAVE_IRRLICHT } )
# CURL
find_package ( CURL )
if ( CURL_FOUND )
include_directories ( ${ CURL_INCLUDE_DIRS } )
else ( )
message ( FATAL_ERROR "-- libcURL not found, please install it." )
endif ( )
2011-10-20 22:07:12 -04:00
# Fribidi
if ( USE_FRIBIDI )
FIND_PATH ( FRIBIDI_INCLUDE_DIR fribidi/fribidi.h
/ u s r / l o c a l / i n c l u d e
/ u s r / i n c l u d e
)
SET ( FRIBIDI_NAMES ${ FRIBIDI_NAMES } fribidi libfribidi )
FIND_LIBRARY ( FRIBIDI_LIBRARY
N A M E S $ { F R I B I D I _ N A M E S }
P A T H S / u s r / l i b / u s r / l o c a l / l i b
)
IF ( FRIBIDI_LIBRARY AND FRIBIDI_INCLUDE_DIR )
message ( "-- Fribidi found" )
else ( )
message ( FATAL_ERROR "Fribidi not found. Either install fribidi or disable bidi support with -DUSE_FRIBIDI=0 (if you don't use a right-to-left language then you don't need this)." )
endif ( )
endif ( )
2011-08-01 15:18:49 -04:00
# Set some compiler options
if ( UNIX )
add_definitions ( -Wall )
endif ( )
2011-07-24 14:40:20 -04:00
add_definitions ( -DHAVE_OGGVORBIS ) # TODO: remove this switch
if ( DEBUG )
add_definitions ( -DDEBUG )
else ( )
add_definitions ( -DNDEBUG )
2011-10-20 21:14:46 -04:00
add_definitions ( -O2 )
2011-07-24 10:29:16 -04:00
endif ( )
2011-08-01 15:18:49 -04:00
find_package ( Freetype )
2011-09-05 20:15:06 -04:00
if ( FONT_TOOL )
if ( FREETYPE_FOUND )
message ( "-- Freetype found" )
find_package ( X11 )
include_directories ( ${ FREETYPE_INCLUDE_DIRS } )
add_executable ( font_tool
2011-11-22 13:36:58 -05:00
t o o l s / f o n t _ t o o l / C F o n t T o o l . c p p
t o o l s / f o n t _ t o o l / C F o n t T o o l . h
t o o l s / f o n t _ t o o l / C V e c t o r F o n t T o o l . h
t o o l s / f o n t _ t o o l / m a i n . c p p
2011-09-05 20:15:06 -04:00
)
target_link_libraries ( font_tool ${ FREETYPE_LIBRARIES } )
target_link_libraries ( font_tool ${ X11_Xft_LIB } )
target_link_libraries ( font_tool ${ OPENGL_LIBRARIES } )
target_link_libraries ( font_tool Irrlicht )
else ( )
message ( "-- Freetype was not found, the font tool won't be built (only useful for developers)" )
endif ( )
2011-08-01 15:18:49 -04:00
else ( )
2011-09-05 20:15:06 -04:00
message ( "-- Font tool deactivated, the font tool won't be built (only useful for developers)" )
2011-08-01 15:18:49 -04:00
endif ( )
2011-07-24 10:29:16 -04:00
2012-02-02 11:15:28 -05:00
set ( SRCS ${ SRCS } src/input/binding.cpp src/input/input.hpp src/input/input_device.cpp src/input/wiimote_manager.cpp src/input/input_manager.hpp src/input/device_manager.hpp src/input/binding.hpp src/input/input_manager.cpp src/input/wiimote_manager.hpp src/input/device_manager.cpp src/input/input_device.hpp src/main_loop.hpp src/tracks/track.cpp src/tracks/ambient_light_sphere.hpp src/tracks/check_sphere.cpp src/tracks/lod_node_loader.hpp src/tracks/bezier_curve.hpp src/tracks/track_object_manager.cpp src/tracks/quad_set.hpp src/tracks/quad_graph.hpp src/tracks/check_lap.hpp src/tracks/track_sector.cpp src/tracks/lod_node_loader.cpp src/tracks/graph_node.cpp src/tracks/check_manager.hpp src/tracks/terrain_info.cpp src/tracks/check_lap.cpp src/tracks/check_line.cpp src/tracks/check_sphere.hpp src/tracks/terrain_info.hpp src/tracks/graph_node.hpp src/tracks/track_object_manager.hpp src/tracks/track_sector.hpp src/tracks/quad.hpp src/tracks/track_object.cpp src/tracks/quad_set.cpp src/tracks/check_structure.cpp src/tracks/quad_graph.cpp src/tracks/check_structure.hpp src/tracks/bezier_curve.cpp src/tracks/check_manager.cpp src/tracks/track_manager.hpp src/tracks/track_object.hpp src/tracks/track.hpp src/tracks/check_line.hpp src/tracks/ambient_light_sphere.cpp src/tracks/track_manager.cpp src/tracks/quad.cpp src/tutorial/tutorial_manager.cpp src/tutorial/tutorial_manager.hpp src/tutorial/tutorial.cpp src/tutorial/tutorial.hpp src/tutorial/tutorial_data.cpp src/tutorial/tutorial_data.hpp src/addons/request.hpp src/addons/request.cpp src/addons/news_manager.hpp src/addons/dummy_network_http.hpp src/addons/zip.hpp src/addons/inetwork_http.hpp src/addons/addons_manager.hpp src/addons/news_manager.cpp src/addons/zip.cpp src/addons/addons_manager.cpp src/addons/network_http.hpp src/addons/network_http.cpp src/addons/addon.hpp src/addons/addon.cpp src/main.cpp src/utils/random_generator.hpp src/utils/ptr_vector.hpp src/utils/vec3.hpp src/utils/no_copy.hpp src/utils/translation.cpp src/utils/vec3.cpp src/utils/leak_check.hpp src/utils/translation.hpp src/utils/random_generator.cpp src/utils/time.hpp src/utils/utf8/checked.h src/utils/utf8/core.h src/utils/utf8/unchecked.h src/utils/string_utils.hpp src/utils/profiler.cpp src/utils/synchronised.hpp src/utils/aligned_array.hpp src/utils/string_utils.cpp src/utils/utf8.h src/utils/profiler.hpp src/utils/leak_check.cpp src/utils/constants.cpp src/utils/constants.hpp src/tinygettext/po_parser.cpp src/tinygettext/stk_file_system.cpp src/tinygettext/dictionary_manager.cpp src/tinygettext/file_system.hpp src/tinygettext/log_stream.hpp src/tinygettext/plural_forms.cpp src/tinygettext/dictionary.hpp src/tinygettext/dictionary.cpp src/tinygettext/iconv.cpp src/tinygettext/iconv.hpp src/tinygettext/log.cpp src/tinygettext/stk_file_system.hpp src/tinygettext/tinygettext.hpp src/tinygettext/tinygettext.cpp src/tinygettext/language.hpp src/tinygettext/language.cpp src/tinygettext/plural_forms.hpp src/tinygettext/dictionary_manager.hpp src/tinygettext/log.hpp src/tinygettext/po_parser.hpp src/states_screens/grand_prix_lose.hpp src/states_screens/kart_selection.hpp src/states_screens/options_screen_players.hpp src/states_screens/help_screen_3.hpp src/states_screens/help_screen_2.cpp src/states_screens/state_manager.cpp src/states_screens/arenas_screen.cpp src/states_screens/help_screen_1.hpp src/states_screens/help_screen_4.cpp src/states_screens/minimal_race_gui.cpp src/states_screens/help_screen_4.hpp src/states_screens/race_gui.hpp src/states_screens/grand_prix_win.hpp src/states_screens/credits.cpp src/states_screens/story_mode_lobby.cpp src/states_screens/options_screen_video.hpp src/states_screens/tutorial_screen.cpp src/states_screens/grand_prix_lose.cpp src/states_screens/race_setup_screen.hpp src/states_screens/state_manager.hpp src/states_screens/feature_unlocked.hpp src/states_screens/tracks_screen.cpp src/states_screens/options_screen_input.hpp src/states_screens/story_mode_lobby.hpp src/states_screens/minimal_race_gui.hpp src/states_screens/tutorial_screen.hpp src/states_screens/addo
2011-08-29 14:17:45 -04:00
if ( APPLE )
# icon files to copy in the bundle
set ( OSX_ICON_FILES ${ PROJECT_SOURCE_DIR } /src/ide/Xcode/stk.icns )
set_source_files_properties ( ${ OSX_ICON_FILES } PROPERTIES MACOSX_PACKAGE_LOCATION Resources )
set ( SRCS ${ SRCS } ${ OSX_ICON_FILES } )
# build the executable and create an app bundle
add_executable ( supertuxkart MACOSX_BUNDLE ${ SRCS } )
target_link_libraries ( supertuxkart
b u l l e t d y n a m i c s
b u l l e t c o l l i s i o n
b u l l e t m a t h
e n e t
$ { C U R L _ L I B R A R I E S }
# We could use smarter detection of the frameworks but supporting a single official setup makes things easy...
/ L i b r a r y / F r a m e w o r k s / I r r F r a m e w o r k . f r a m e w o r k
/ L i b r a r y / F r a m e w o r k s / O g g . f r a m e w o r k
/ L i b r a r y / F r a m e w o r k s / O p e n A L . f r a m e w o r k
/ L i b r a r y / F r a m e w o r k s / V o r b i s . f r a m e w o r k
2011-10-21 21:01:22 -04:00
# TODO: allow linking against frameworks from a SDK.
2011-08-29 14:17:45 -04:00
/ S y s t e m / L i b r a r y / F r a m e w o r k s / A G L . f r a m e w o r k
/ S y s t e m / L i b r a r y / F r a m e w o r k s / I O K i t . f r a m e w o r k
/ S y s t e m / L i b r a r y / F r a m e w o r k s / Q u i c k T i m e . f r a m e w o r k
/ S y s t e m / L i b r a r y / F r a m e w o r k s / C a r b o n . f r a m e w o r k
/ S y s t e m / L i b r a r y / F r a m e w o r k s / A u d i o U n i t . f r a m e w o r k
/ S y s t e m / L i b r a r y / F r a m e w o r k s / C o c o a . f r a m e w o r k
/ S y s t e m / L i b r a r y / F r a m e w o r k s / O p e n G L . f r a m e w o r k )
# configure CMake to use a custom Info.plist
set_target_properties ( supertuxkart PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${ PROJECT_SOURCE_DIR } /src/ide/Xcode/SuperTuxKart-Info.plist )
2011-08-29 14:30:19 -04:00
add_definitions ( `ln -sf ${ PROJECT_SOURCE_DIR } /data ${ CMAKE_BINARY_DIR } /bin/supertuxkart.app/Contents/Resources` )
2011-08-29 14:17:45 -04:00
else ( )
2011-11-14 18:27:31 -05:00
2011-11-14 18:52:50 -05:00
add_definitions ( -DSUPERTUXKART_DATADIR=\ "${CMAKE_INSTALL_PREFIX}/share/games/supertuxkart\" )
2011-11-14 18:27:31 -05:00
2011-08-29 14:17:45 -04:00
# Build the final executable
add_executable ( supertuxkart ${ SRCS } )
target_link_libraries ( supertuxkart
I r r l i c h t
b u l l e t d y n a m i c s
b u l l e t c o l l i s i o n
b u l l e t m a t h
e n e t
2011-11-18 15:58:36 -05:00
p t h r e a d
2011-08-29 14:17:45 -04:00
$ { C U R L _ L I B R A R I E S }
$ { O P E N G L _ L I B R A R I E S }
$ { O P E N A L _ L I B R A R Y }
v o r b i s f i l e )
endif ( )
2011-07-24 10:29:16 -04:00
2011-07-24 14:40:20 -04:00
if ( USE_FRIBIDI )
2011-08-29 14:17:45 -04:00
if ( APPLE )
2011-10-21 21:02:35 -04:00
target_link_libraries ( supertuxkart /Library/Frameworks/fribidi.framework )
2011-08-29 14:17:45 -04:00
else ( )
target_link_libraries ( supertuxkart fribidi )
endif ( )
2011-10-18 18:59:36 -04:00
add_definitions ( -DENABLE_BIDI=1 )
2011-07-24 14:40:20 -04:00
endif ( )
2011-10-18 18:59:36 -04:00
2012-01-01 16:19:13 -05:00
if ( USE_WIIUSE )
target_link_libraries ( supertuxkart wiiuse bluetooth )
add_definitions ( -DENABLE_WIIUSE )
endif ( )
2011-08-01 15:18:49 -04:00
if ( UNIX AND NOT APPLE )
2011-10-21 21:02:35 -04:00
target_link_libraries ( supertuxkart Xxf86vm )
2011-07-24 14:40:20 -04:00
elseif ( APPLE )
2011-08-29 14:17:45 -04:00
# We could use smarter detection of the frameworks but supporting a single official setup makes things easy...
target_link_libraries ( supertuxkart /Library/Frameworks/IrrFramework.framework )
target_link_libraries ( supertuxkart /Library/Frameworks/Ogg.framework )
target_link_libraries ( supertuxkart /Library/Frameworks/OpenAL.framework )
target_link_libraries ( supertuxkart /Library/Frameworks/Vorbis.framework )
target_link_libraries ( supertuxkart /System/Library/Frameworks/AGL.framework )
target_link_libraries ( supertuxkart /System/Library/Frameworks/IOKit.framework )
target_link_libraries ( supertuxkart /System/Library/Frameworks/QuickTime.framework )
target_link_libraries ( supertuxkart /System/Library/Frameworks/Carbon.framework )
target_link_libraries ( supertuxkart /System/Library/Frameworks/AudioUnit.framework )
target_link_libraries ( supertuxkart /System/Library/Frameworks/Cocoa.framework )
target_link_libraries ( supertuxkart /System/Library/Frameworks/OpenGL.framework )
2011-07-24 14:40:20 -04:00
endif ( )
2011-09-05 20:15:06 -04:00
2011-10-21 20:36:30 -04:00
# ==== Make dist target ====
2011-09-05 20:15:06 -04:00
add_custom_target ( dist
C O M M A N D r m - r f $ { C M A K E _ B I N A R Y _ D I R } / S u p e r T u x K a r t - $ { P R O J E C T _ V E R S I O N } & & r m - f $ { C M A K E _ B I N A R Y _ D I R } / S u p e r T u x K a r t - $ { P R O J E C T _ V E R S I O N } . t a r . b z 2
& & e c h o " E x p o r t i n g . . . "
& & s v n e x p o r t $ { P R O J E C T _ S O U R C E _ D I R } $ { C M A K E _ B I N A R Y _ D I R } / S u p e r T u x K a r t - $ { P R O J E C T _ V E R S I O N }
& & e c h o " C o m p r e s s i n g . . . "
& & c d $ { C M A K E _ B I N A R Y _ D I R }
& & t a r - c j f $ { C M A K E _ B I N A R Y _ D I R } / S u p e r T u x K a r t - $ { P R O J E C T _ V E R S I O N } . t a r . b z 2 . / S u p e r T u x K a r t - $ { P R O J E C T _ V E R S I O N }
& & e c h o " D o n e , c l e a n i n g u p "
& & r m - r f $ { C M A K E _ B I N A R Y _ D I R } / S u p e r T u x K a r t - $ { P R O J E C T _ V E R S I O N }
W O R K I N G _ D I R E C T O R Y $ { C M A K E _ S O U R C E _ D I R } )
2011-10-21 20:36:30 -04:00
# ==== Install target ====
MACRO ( installfilemacro filepath )
set ( source_regex "(.*)/data/(.*)" )
set ( svn_regex "(.*).svn(.*)" )
string ( REGEX MATCH "${svn_regex}" is_svn_dir "${curr}" )
if ( is_svn_dir )
# don't install SVN files
else ( )
string ( REGEX MATCH "${source_regex}" source_path "${curr}" )
if ( source_path )
string ( REGEX REPLACE "${source_regex}" "\\2" after_source "${source_path}" )
get_filename_component ( install_location ${ after_source } PATH )
install ( FILES ${ filepath } DESTINATION "share/games/supertuxkart/data/${install_location}" )
endif ( source_path )
endif ( )
ENDMACRO ( installfilemacro )
FILE ( GLOB_RECURSE datafiles "${CMAKE_CURRENT_SOURCE_DIR}/data/*" )
foreach ( curr ${ datafiles } )
installfilemacro ( ${ curr } )
endforeach ( )
2011-10-22 14:20:51 -04:00
install ( TARGETS supertuxkart RUNTIME DESTINATION games BUNDLE DESTINATION . )
2011-10-21 20:36:30 -04:00
install ( FILES data/supertuxkart.desktop DESTINATION share/applications )
install ( FILES data/supertuxkart_32.xpm data/supertuxkart_64.xpm DESTINATION share/pixmaps )
2011-10-20 22:07:12 -04:00
2011-10-21 21:01:22 -04:00
add_custom_target ( GenerateDesktopFile
C O M M A N D s e d ' s \ #PREFIX\#${CMAKE_INSTALL_PREFIX}\#' ${CMAKE_CURRENT_SOURCE_DIR}/data/supertuxkart_desktop.template | sed 's\#VERSION\#${PROJECT_VERSION}\#' > ${CMAKE_CURRENT_SOURCE_DIR}/data/supertuxkart.desktop
W O R K I N G _ D I R E C T O R Y $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } )
ADD_DEPENDENCIES ( supertuxkart GenerateDesktopFile )