@ -1,89 +1,81 @@
# C M a k e F i l e f o r V V V V V V
# W r i t t e n b y E t h a n " f l i b i t i j i b i b o " L e e
CMAKE_MINIMUM_REQUIRED ( VERSION 2.8.12 )
cmake_minimum_required ( VERSION 2.8.12 )
# C M a k e O p t i o n s
OPTION ( ENABLE_WARNINGS "Enable compilation warnings" ON )
OPTION ( ENABLE_WERROR "Treat compilation warnings as errors" OFF )
option ( ENABLE_WARNINGS "Enable compilation warnings" ON )
option ( ENABLE_WERROR "Treat compilation warnings as errors" OFF )
SET ( CUSTOM_LEVEL_SUPPORT ENABLED CACHE STRING "Optionally disable playing and/or editing of custom levels" )
SET_PROPERTY ( CACHE CUSTOM_LEVEL_SUPPORT PROPERTY STRINGS ENABLED NO_EDITOR DISABLED )
option ( BUNDLE_DEPENDENCIES "Use bundled TinyXML-2, PhysicsFS, and UTF8-CPP (if disabled, TinyXML-2 and PhysicsFS will be dynamically linked, LodePNG and UTF8-CPP will still be statically linked)" ON )
SET ( STEAM OFF CACHE BOOL "Use the Steam API ")
SET ( GOG OFF CACHE BOOL "Use the GOG API" )
set ( CUSTOM_LEVEL_SUPPORT ENABLED CACHE STRING "Optionally disable playing and/or editing of custom levels ")
set_property ( CACHE CUSTOM_LEVEL_SUPPORT PROPERTY STRINGS ENABLED NO_EDITOR DISABLED )
SET ( OFFICIAL_BUILD OFF CACHE BOOL "Compile an official build of the game" )
option ( STEAM "Use the Steam API" OFF )
option ( GOG "Use the GOG API" OFF )
SET ( MAKEANDPLAY OFF CACHE BOOL "Compile a version of the game without the main campaign (provided for convenience; consider modifying MakeAndPlay.h instead" )
option ( OFFICIAL_BUILD "Compile an official build of the game" OFF )
IF ( OFFICIAL_BUILD AND NOT MAKEANDPLAY )
SET ( STEAM ON )
SET ( GOG ON )
ENDIF ( )
option ( MAKEANDPLAY "Compile a version of the game without the main campaign (provided for convenience; consider modifying MakeAndPlay.h instead" OFF )
IF ( MAKEANDPLAY )
ADD_DEFINITIONS ( -DMAKEANDPLAY )
ENDIF ( )
if ( OFFICIAL_BUILD AND NOT MAKEANDPLAY )
set ( STEAM ON )
set ( GOG ON )
endif ( )
if ( ${ CMAKE_VERSION } VERSION_LESS "3.1.3" )
message ( WARNING "Your CMake version is too old; set -std=c90 -std=c++98 yourself!" )
else ( )
set ( CMAKE_C_STANDARD 90 )
set ( CMAKE_C_EXTENSIONS OFF )
# S e t s t a n d a r d t o C + + 9 8 / C + + 0 3
SET ( CMAKE_CXX_STANDARD 98 )
SET ( CMAKE_CXX_EXTENSIONS OFF ) # p r e v e n t m i x i n g s t d l i b implementations ( dangerous! )
set ( CMAKE_CXX_STANDARD 98 )
set ( CMAKE_CXX_EXTENSIONS OFF )
en dif ( )
# A r c h i t e c t u r e F l a g s
IF ( APPLE )
if ( APPLE )
# W o w , A p p l e i s a h u g e j e r k t h e s e d a y s h u h ?
SET ( OSX_10_9_SDK_PATH /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk )
IF ( NOT CMAKE_OSX_SYSROOT )
IF ( IS_DIRECTORY ${ OSX_10_9_SDK_PATH } )
SET ( CMAKE_OSX_SYSROOT ${ OSX_10_9_SDK_PATH } )
ELSE ( )
MESSAGE ( WARNING "CMAKE_OSX_SYSROOT not set and macOS 10.9 SDK not found! Using default one." )
ENDIF ( )
ENDIF ( )
SET ( CMAKE_OSX_DEPLOYMENT_TARGET 10.9 )
LINK_DIRECTORIES ( /usr/local/lib )
ADD_COMPILE_OPTIONS ( -Werror=partial-availability )
ENDIF ( )
PROJECT ( VVVVVV )
IF ( APPLE )
MESSAGE ( STATUS "Using macOS SDK at ${CMAKE_OSX_SYSROOT}" )
ENDIF ( )
# C o m p i l e r F l a g s
ADD_DEFINITIONS ( -DPHYSFS_SUPPORTS_DEFAULT=0 -DPHYSFS_SUPPORTS_ZIP=1 )
set ( OSX_10_9_SDK_PATH /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk )
if ( NOT CMAKE_OSX_SYSROOT )
if ( IS_DIRECTORY ${ OSX_10_9_SDK_PATH } )
set ( CMAKE_OSX_SYSROOT ${ OSX_10_9_SDK_PATH } )
else ( )
message ( WARNING "CMAKE_OSX_SYSROOT not set and macOS 10.9 SDK not found! Using default one." )
endif ( )
endif ( )
set ( CMAKE_OSX_DEPLOYMENT_TARGET 10.9 )
link_directories ( /usr/local/lib )
add_compile_options ( -Werror=partial-availability )
endif ( )
# R P A T H
IF ( NOT WIN32 )
IF ( APPLE )
SET ( BIN_LIBROOT "osx" )
SET ( BIN_RPATH "@executable_path/osx" )
ELSEIF ( CMAKE_SIZEOF_VOID_P MATCHES "8" )
SET ( BIN_LIBROOT "lib64" )
SET ( BIN_RPATH "\$ORIGIN/lib64" )
ELSE ( )
SET ( BIN_LIBROOT "lib" )
SET ( BIN_RPATH "\$ORIGIN/lib" )
ENDIF ( )
SET ( CMAKE_SKIP_BUILD_RPATH TRUE )
SET ( CMAKE_BUILD_WITH_INSTALL_RPATH TRUE )
SET ( CMAKE_INSTALL_RPATH ${ BIN_RPATH } )
SET ( CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE )
ENDIF ( )
project ( VVVVVV )
# I n c l u d e D i r e c t o r i e s
INCLUDE_DIRECTORIES (
s r c
. . / t h i r d _ p a r t y / t i n y x m l 2
. . / t h i r d _ p a r t y / p h y s f s
. . / t h i r d _ p a r t y / l o d e p n g
. . / t h i r d _ p a r t y / u t f c p p / s o u r c e
)
if ( APPLE )
message ( STATUS "Using macOS SDK at ${CMAKE_OSX_SYSROOT}" )
endif ( )
# R P A T H
if ( NOT WIN32 )
if ( APPLE )
set ( BIN_LIBROOT "osx" )
set ( BIN_RPATH "@executable_path/osx" )
elseif ( CMAKE_SIZEOF_VOID_P MATCHES "8" )
set ( BIN_LIBROOT "lib64" )
set ( BIN_RPATH "\$ORIGIN/lib64" )
else ( )
set ( BIN_LIBROOT "lib" )
set ( BIN_RPATH "\$ORIGIN/lib" )
endif ( )
set ( CMAKE_SKIP_BUILD_RPATH TRUE )
set ( CMAKE_BUILD_WITH_INSTALL_RPATH TRUE )
set ( CMAKE_INSTALL_RPATH ${ BIN_RPATH } )
set ( CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE )
endif ( )
# S o u r c e L i s t s
SET ( VVV_SRC
set ( VVV_SRC
s r c / B i n a r y B l o b . c p p
s r c / B l o c k V . c p p
s r c / E n t . c p p
@ -116,25 +108,62 @@ SET(VVV_SRC
s r c / W a r p C l a s s . c p p
s r c / X M L U t i l s . c p p
s r c / m a i n . c p p
s r c / D e f e r C a l l b a c k s . c
s r c / G l i t c h r u n n e r M o d e . c
s r c / N e t w o r k . c
s r c / T h i r d P a r t y D e p s . c
s r c / X o s h i r o . c
)
IF ( NOT CUSTOM_LEVEL_SUPPORT STREQUAL "DISABLED" )
LIST ( APPEND VVV_SRC src/editor.cpp )
ENDIF ( )
IF ( STEAM )
LIST ( APPEND VVV_SRC src/SteamNetwork.c )
ADD_DEFINITIONS ( -DSTEAM_NETWORK )
ENDIF ( )
IF ( GOG )
LIST ( APPEND VVV_SRC src/GOGNetwork.c )
ADD_DEFINITIONS ( -DGOG_NETWORK )
ENDIF ( )
SET ( XML2_SRC
if ( NOT CUSTOM_LEVEL_SUPPORT STREQUAL "DISABLED" )
list ( APPEND VVV_SRC src/editor.cpp )
endif ( )
if ( STEAM )
list ( APPEND VVV_SRC src/SteamNetwork.c )
endif ( )
if ( GOG )
list ( APPEND VVV_SRC src/GOGNetwork.c )
endif ( )
# E x e c u t a b l e i n f o r m a t i o n
if ( WIN32 )
add_executable ( VVVVVV WIN32 ${ VVV_SRC } icon.rc )
else ( )
add_executable ( VVVVVV ${ VVV_SRC } )
endif ( )
# I n c l u d e D i r e c t o r i e s
if ( BUNDLE_DEPENDENCIES )
target_include_directories (
V V V V V V P R I V A T E
s r c
. . / t h i r d _ p a r t y / t i n y x m l 2
. . / t h i r d _ p a r t y / p h y s f s
. . / t h i r d _ p a r t y / l o d e p n g
. . / t h i r d _ p a r t y / u t f c p p / s o u r c e
)
else ( )
target_include_directories (
V V V V V V P R I V A T E
s r c
. . / t h i r d _ p a r t y / l o d e p n g
)
endif ( )
if ( MAKEANDPLAY )
target_compile_definitions ( VVVVVV PRIVATE -DMAKEANDPLAY )
endif ( )
if ( STEAM )
target_compile_definitions ( VVVVVV PRIVATE -DSTEAM_NETWORK )
endif ( )
if ( GOG )
target_compile_definitions ( VVVVVV PRIVATE -DGOG_NETWORK )
endif ( )
set ( XML2_SRC
. . / t h i r d _ p a r t y / t i n y x m l 2 / t i n y x m l 2 . c p p
)
SET ( PFS_SRC
set ( PFS_SRC
. . / t h i r d _ p a r t y / p h y s f s / p h y s f s . c
. . / t h i r d _ p a r t y / p h y s f s / p h y s f s _ a r c h i v e r _ d i r . c
. . / t h i r d _ p a r t y / p h y s f s / p h y s f s _ a r c h i v e r _ u n p a c k e d . c
@ -146,32 +175,25 @@ SET(PFS_SRC
. . / t h i r d _ p a r t y / p h y s f s / p h y s f s _ p l a t f o r m _ w i n d o w s . c
. . / t h i r d _ p a r t y / p h y s f s / p h y s f s _ p l a t f o r m _ h a i k u . c p p
)
IF ( APPLE )
if ( APPLE )
# A r e y o u n o t i c i n g a p a t t e r n w i t h t h i s A p p l e c r a p y e t ?
SET ( PFS_SRC ${ PFS_SRC } ../third_party/physfs/physfs_platform_apple.m )
ENDIF ( )
SET ( PNG_SRC ../third_party/lodepng/lodepng.c )
# E x e c u t a b l e i n f o r m a t i o n
IF ( WIN32 )
ADD_EXECUTABLE ( VVVVVV WIN32 ${ VVV_SRC } )
ELSE ( )
ADD_EXECUTABLE ( VVVVVV ${ VVV_SRC } )
ENDIF ( )
set ( PFS_SRC ${ PFS_SRC } ../third_party/physfs/physfs_platform_apple.m )
endif ( )
set ( PNG_SRC ../third_party/lodepng/lodepng.c )
IF ( NOT OFFICIAL_BUILD )
if ( NOT OFFICIAL_BUILD )
# A d d i n t e r i m c o m m i t h a s h a n d i t s d a t e t o t h e b u i l d
# F I N D _ P A C K A G E s e t s G I T _ F O U N D a n d G I T _ E X E C U T A B L E
FIND_PACKAGE ( Git )
# f i n d _ p a c k a g e s e t s G I T _ F O U N D a n d G I T _ E X E C U T A B L E
find_package ( Git )
IF ( GIT_FOUND )
if ( GIT_FOUND )
# T h e s e f i l e n a m e s h a v e t o b e q u a l i f i e d , b e c a u s e w h e n w e r u n
# t h e C M a k e s c r i p t , i t s w o r k d i r g e t s s e t t o t h e b u i l d f o l d e r
SET ( VERSION_INPUT_FILE ${ CMAKE_CURRENT_SOURCE_DIR } /src/Version.h.in )
SET ( VERSION_OUTPUT_FILE ${ CMAKE_CURRENT_SOURCE_DIR } /src/Version.h.out )
set ( VERSION_INPUT_FILE ${ CMAKE_CURRENT_SOURCE_DIR } /src/Version.h.in )
set ( VERSION_OUTPUT_FILE ${ CMAKE_CURRENT_SOURCE_DIR } /src/Version.h.out )
ADD_CUSTOM_TARGET (
add_custom_target (
G e n e r a t e V e r s i o n A L L
# T h i s B Y P R O D U C T S l i n e i s r e q u i r e d f o r t h i s t o b e r a n e v e r y t i m e
B Y P R O D U C T S $ { V E R S I O N _ O U T P U T _ F I L E }
@ -184,100 +206,130 @@ IF(NOT OFFICIAL_BUILD)
- P $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / v e r s i o n . c m a k e
)
ADD_DEPENDENCIES ( VVVVVV GenerateVersion )
add_dependencies ( VVVVVV GenerateVersion )
# T h i s l e t s V e r s i o n . h k n o w t h a t V e r s i o n . h . o u t e x i s t s
ADD_DEFINITIONS ( -DVERSION_H_OUT_EXISTS )
ENDIF ( )
ENDIF ( )
add_definitions ( -DVERSION_H_OUT_EXISTS )
endif ( )
endif ( )
# B u i l d o p t i o n s
IF ( ENABLE_WARNINGS )
if ( ENABLE_WARNINGS )
# T h e w e i r d s y n t a x i s d u e t o C M a k e g e n e r a t o r e x p r e s s i o n s .
# S a v e s q u i t e a f e w l i n e s a n d b o i l e r p l a t e a t t h e p r i c e o f r e a d a b i l i t y .
TARGET_COMPILE_OPTIONS ( VVVVVV PRIVATE
target_compile_options ( VVVVVV PRIVATE
$ < $ < O R : $ < C X X _ C O M P I L E R _ I D : G N U > , $ < C X X _ C O M P I L E R _ I D : C l a n g > , $ < C X X _ C O M P I L E R _ I D : A p p l e C l a n g > > :
- W a l l $ < $ < B O O L : $ { E N A B L E _ W E R R O R } > : - W e r r o r > >
- W a l l - W p e d a n t i c $ < $ < B O O L : $ { E N A B L E _ W E R R O R } > : - W e r r o r > >
$ < $ < C X X _ C O M P I L E R _ I D : MSVC > :
/ W 4 $ < $ < B O O L : $ { E N A B L E _ W E R R O R } > : / W X > > )
ENDIF ( )
IF ( CUSTOM_LEVEL_SUPPORT STREQUAL "NO_EDITOR" )
ADD_DEFINITIONS ( -DNO_EDITOR )
ELSEIF ( CUSTOM_LEVEL_SUPPORT STREQUAL "DISABLED" )
ADD_DEFINITIONS ( -DNO_CUSTOM_LEVELS -DNO_EDITOR )
ENDIF ( )
IF ( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
SET ( SUPPORTS_IMPLICIT_FALLTHROUGH 1 )
ELSEIF ( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
IF ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0 )
SET ( SUPPORTS_IMPLICIT_FALLTHROUGH 1 )
ELSE ( )
SET ( SUPPORTS_IMPLICIT_FALLTHROUGH 0 )
ENDIF ( )
ELSE ( )
SET ( SUPPORTS_IMPLICIT_FALLTHROUGH 0 )
ENDIF ( )
IF ( SUPPORTS_IMPLICIT_FALLTHROUGH )
TARGET_COMPILE_OPTIONS ( VVVVVV PRIVATE -Werror=implicit-fallthrough )
ENDIF ( )
IF ( MSVC )
endif ( )
if ( CUSTOM_LEVEL_SUPPORT STREQUAL "NO_EDITOR" )
add_definitions ( -DNO_EDITOR )
elseif ( CUSTOM_LEVEL_SUPPORT STREQUAL "DISABLED" )
add_definitions ( -DNO_CUSTOM_LEVELS -DNO_EDITOR )
endif ( )
if ( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
set ( SUPPORTS_IMPLICIT_FALLTHROUGH TRUE )
elseif ( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
if ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0 )
set ( SUPPORTS_IMPLICIT_FALLTHROUGH TRUE )
else ( )
set ( SUPPORTS_IMPLICIT_FALLTHROUGH FALSE )
endif ( )
else ( )
set ( SUPPORTS_IMPLICIT_FALLTHROUGH FALSE )
endif ( )
if ( SUPPORTS_IMPLICIT_FALLTHROUGH )
target_compile_options ( VVVVVV PRIVATE -Werror=implicit-fallthrough )
endif ( )
if ( MSVC )
# D i s a b l e MSVC w a r n i n g s a b o u t i m p l i c i t c o n v e r s i o n
TARGET_COMPILE_OPTIONS ( VVVVVV PRIVATE /wd4244 )
ENDIF ( )
target_compile_options ( VVVVVV PRIVATE /wd4244 )
endif ( )
SET_PROPERTY ( TARGET VVVVVV PROPERTY CXX_STANDARD 98 )
SET_PROPERTY ( TARGET VVVVVV PROPERTY CXX_EXTENSIONS FALSE )
if ( MSVC )
# D i s a b l e e x c e p t i o n s
string ( REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc" )
# D i s a b l e R T T I
string ( REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-" )
else ( )
# D i s a b l e e x c e p t i o n s
string ( REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions" )
# D i s a b l e R T T I
string ( REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti" )
endif ( )
# L i b r a r y i n f o r m a t i o n
ADD_LIBRARY ( tinyxml2-static STATIC ${ XML2_SRC } )
ADD_LIBRARY ( physfs-static STATIC ${ PFS_SRC } ${ PFSP_SRC } )
ADD_LIBRARY ( lodepng-static STATIC ${ PNG_SRC } )
# U n f o r t u n a t e l y , i t d o e s n ' t s e e m l i k e d i s t r o s p a c k a g e L o d e P N G
add_library ( lodepng-static STATIC ${ PNG_SRC } )
TARGET_COMPILE_DEFINITIONS ( lodepng-static PRIVATE
target_compile_definitions ( lodepng-static PRIVATE
- D L O D E P N G _ N O _ C O M P I L E _ A L L O C A T O R S
- D L O D E P N G _ N O _ C O M P I L E _ D I S K
- D L O D E P N G _ N O _ C O M P I L E _ E N C O D E R
)
# S t a t i c D e p e n d e n c i e s
TARGET_LINK_LIBRARIES ( VVVVVV physfs-static tinyxml2-static lodepng-static )
if ( BUNDLE_DEPENDENCIES )
add_library ( tinyxml2-static STATIC ${ XML2_SRC } )
add_library ( physfs-static STATIC ${ PFS_SRC } )
target_compile_definitions ( physfs-static PRIVATE
- D P H Y S F S _ S U P P O R T S _ D E F A U L T = 0 - D P H Y S F S _ S U P P O R T S _ Z I P = 1
)
# P h y s F S n e e d s s o m e e x t e n s i o n s . . .
if ( ${ CMAKE_VERSION } VERSION_GREATER "3.1.3"
O R $ { C M A K E _ V E R S I O N } V E R S I O N _ E Q U A L " 3 . 1 . 3 " )
set_property ( TARGET physfs-static PROPERTY C_EXTENSIONS ON )
endif ( )
target_link_libraries ( VVVVVV physfs-static tinyxml2-static lodepng-static )
else ( )
find_package ( utf8cpp CONFIG )
target_link_libraries ( VVVVVV physfs tinyxml2 utf8cpp lodepng-static )
endif ( )
# S D L 2 Dependency ( Detection pulled from FAudio )
if ( DEFINED SDL2_INCLUDE_DIRS AND DEFINED SDL2_LIBRARIES )
if ( DEFINED SDL2_INCLUDE_DIRS AND DEFINED SDL2_LIBRARIES )
message ( STATUS "Using pre-defined SDL2 variables SDL2_INCLUDE_DIRS and SDL2_LIBRARIES" )
target_include_directories ( VVVVVV SYSTEM PUBLIC "$<BUILD_INTERFACE:${SDL2_INCLUDE_DIRS}>" )
target_include_directories ( VVVVVV SYSTEM PRIVATE "$<BUILD_INTERFACE:${SDL2_INCLUDE_DIRS}>" )
target_link_libraries ( VVVVVV ${ SDL2_LIBRARIES } )
else ( )
# O n l y t r y t o a u t o d e t e c t i f b o t h S D L 2 v a r i a b l e s a r e n ' t e x p l i c i t l y s e t
find_package ( SDL2 CONFIG )
if ( TARGET SDL2::SDL2 )
if ( TARGET SDL2::SDL2 )
message ( STATUS "Using TARGET SDL2::SDL2" )
target_link_libraries ( VVVVVV SDL2::SDL2 SDL2_mixer )
elseif ( TARGET SDL2 )
elseif ( TARGET SDL2 )
message ( STATUS "Using TARGET SDL2" )
target_link_libraries ( VVVVVV SDL2 SDL2_mixer )
else ( )
message ( STATUS "No TARGET SDL2::SDL2, or SDL2, using variables" )
find_path ( SDL2_MIXER_INCLUDE_DIRS NAMES SDL_mixer.h PATH_SUFFIXES SDL2 )
target_include_directories ( VVVVVV SYSTEM PUBLIC "$<BUILD_INTERFACE:${SDL2_INCLUDE_DIRS}>" ${ SDL2_MIXER_INCLUDE_DIRS } )
target_include_directories ( VVVVVV SYSTEM PRIVATE "$<BUILD_INTERFACE:${SDL2_INCLUDE_DIRS}>" ${ SDL2_MIXER_INCLUDE_DIRS } )
target_link_libraries ( VVVVVV ${ SDL2_LIBRARIES } SDL2_mixer )
endif ( )
endif ( )
# Y e s , m o r e A p p l e C r a p
IF ( APPLE )
FIND_LIBRARY ( FOUNDATION NAMES Foundation )
FIND_LIBRARY ( IOKIT NAMES IOKit )
TARGET_LINK_LIBRARIES ( VVVVVV objc ${ IOKIT } ${ FOUNDATION } )
ENDIF ( )
if ( APPLE )
find_library ( FOUNDATION NAMES Foundation )
find_library ( IOKIT NAMES IOKit )
target_link_libraries ( VVVVVV objc ${ IOKIT } ${ FOUNDATION } )
endif ( )
# B u t h e y , a l s o s o m e H a i k u c r a p
IF ( HAIKU )
FIND_LIBRARY ( BE_LIBRARY be )
FIND_LIBRARY ( ROOT_LIBRARY root )
TARGET_LINK_LIBRARIES ( VVVVVV ${ BE_LIBRARY } ${ ROOT_LIBRARY } )
ENDIF ( )
if ( HAIKU )
find_library ( BE_LIBRARY be )
find_library ( ROOT_LIBRARY root )
target_link_libraries ( VVVVVV ${ BE_LIBRARY } ${ ROOT_LIBRARY } )
endif ( )