CMake changes for Ticket 711 (SDL2 option)
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@5937 30fe4595-0a0c-4342-8851-515496e4dcbd
This commit is contained in:
parent
0d870cc38c
commit
1f5a228231
|
@ -1,4 +1,4 @@
|
|||
INCLUDE(../cmake/macros.cmake)
|
||||
|
||||
SD_INSTALL_FILES(DATA cmake FILES splitargn.cmake robot.def.in.cmake FindENET.cmake FindPLIB.cmake FindSOLID.cmake
|
||||
FindOGG.cmake FindVORBISFILE.cmake FindVORBIS.cmake FindSQLITE3.cmake)
|
||||
FindOGG.cmake FindVORBISFILE.cmake FindVORBIS.cmake FindSQLITE3.cmake FindSDL2.cmake)
|
||||
|
|
|
@ -0,0 +1,321 @@
|
|||
# Locate SDL2 library
|
||||
# This module defines
|
||||
# SDL2_LIBRARY, the name of the library to link against
|
||||
# SDL2_FOUND, if false, do not try to link to SDL2
|
||||
# SDL2_INCLUDE_DIR, where to find SDL.h#
|
||||
#
|
||||
# Note that the header path has changed from SDL2/SDL.h to just SDL.h
|
||||
# This needed to change because "proper" SDL convention
|
||||
# is #include "SDL.h", not <SDL2/SDL.h>. This is done for portability
|
||||
# reasons because not all systems place things in SDL2/ (see FreeBSD).
|
||||
|
||||
SET(SDL2_SEARCH_PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local
|
||||
/usr
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
)
|
||||
|
||||
FIND_PATH(SDL2_INCLUDE_DIR SDL.h
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES include/SDL2 include
|
||||
PATHS ${SDL2_SEARCH_PATHS}
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDL2_LIBRARY_TEMP
|
||||
NAMES SDL2
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS ${SDL2_SEARCH_PATHS}
|
||||
)
|
||||
|
||||
IF(NOT SDL2_BUILDING_LIBRARY)
|
||||
IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
|
||||
# Non-OS X framework versions expect you to also dynamically link to
|
||||
# SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms
|
||||
# seem to provide SDL2main for compatibility even though they don't
|
||||
# necessarily need it.
|
||||
FIND_LIBRARY(SDL2MAIN_LIBRARY
|
||||
NAMES SDL2main
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS ${SDL2_SEARCH_PATHS}
|
||||
)
|
||||
ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
|
||||
ENDIF(NOT SDL2_BUILDING_LIBRARY)
|
||||
|
||||
# SDL2 may require threads on your system.
|
||||
# The Apple build may not need an explicit flag because one of the
|
||||
# frameworks may already provide it.
|
||||
# But for non-OSX systems, I will use the CMake Threads package.
|
||||
IF(NOT APPLE)
|
||||
FIND_PACKAGE(Threads)
|
||||
ENDIF(NOT APPLE)
|
||||
|
||||
# MinGW needs an additional library, mwindows
|
||||
# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -lmwindows
|
||||
# (Actually on second look, I think it only needs one of the m* libraries.)
|
||||
IF(MINGW)
|
||||
SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
|
||||
ENDIF(MINGW)
|
||||
|
||||
IF(SDL2_LIBRARY_TEMP)
|
||||
# For SDL2main
|
||||
IF(NOT SDL2_BUILDING_LIBRARY)
|
||||
IF(SDL2MAIN_LIBRARY)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP})
|
||||
ENDIF(SDL2MAIN_LIBRARY)
|
||||
ENDIF(NOT SDL2_BUILDING_LIBRARY)
|
||||
|
||||
# For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
|
||||
# CMake doesn't display the -framework Cocoa string in the UI even
|
||||
# though it actually is there if I modify a pre-used variable.
|
||||
# I think it has something to do with the CACHE STRING.
|
||||
# So I use a temporary variable until the end so I can set the
|
||||
# "real" variable in one-shot.
|
||||
IF(APPLE)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
|
||||
ENDIF(APPLE)
|
||||
|
||||
# For threads, as mentioned Apple doesn't need this.
|
||||
# In fact, there seems to be a problem if I used the Threads package
|
||||
# and try using this line, so I'm just skipping it entirely for OS X.
|
||||
IF(NOT APPLE)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
|
||||
ENDIF(NOT APPLE)
|
||||
|
||||
# For MinGW library
|
||||
IF(MINGW)
|
||||
SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
|
||||
ENDIF(MINGW)
|
||||
|
||||
# Set the final string here so the GUI reflects the final state.
|
||||
SET(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found")
|
||||
# Set the temp variable to INTERNAL so it is not seen in the CMake GUI
|
||||
SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
|
||||
ENDIF(SDL2_LIBRARY_TEMP)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
|
||||
# Locate SDL2 library
|
||||
# This module defines
|
||||
# SDL2_LIBRARY, the name of the library to link against
|
||||
# SDL2_FOUND, if false, do not try to link to SDL2
|
||||
# SDL2_INCLUDE_DIR, where to find SDL.h#
|
||||
#
|
||||
# Note that the header path has changed from SDL2/SDL.h to just SDL.h
|
||||
# This needed to change because "proper" SDL convention
|
||||
# is #include "SDL.h", not <SDL2/SDL.h>. This is done for portability
|
||||
# reasons because not all systems place things in SDL2/ (see FreeBSD).
|
||||
|
||||
SET(SDL2_SEARCH_PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local
|
||||
/usr
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
)
|
||||
|
||||
FIND_PATH(SDL2_INCLUDE_DIR SDL.h
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES include/SDL2 include
|
||||
PATHS ${SDL2_SEARCH_PATHS}
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDL2_LIBRARY_TEMP
|
||||
NAMES SDL2
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS ${SDL2_SEARCH_PATHS}
|
||||
)
|
||||
|
||||
IF(NOT SDL2_BUILDING_LIBRARY)
|
||||
IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
|
||||
# Non-OS X framework versions expect you to also dynamically link to
|
||||
# SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms
|
||||
# seem to provide SDL2main for compatibility even though they don't
|
||||
# necessarily need it.
|
||||
FIND_LIBRARY(SDL2MAIN_LIBRARY
|
||||
NAMES SDL2main
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS ${SDL2_SEARCH_PATHS}
|
||||
)
|
||||
ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
|
||||
ENDIF(NOT SDL2_BUILDING_LIBRARY)
|
||||
|
||||
# SDL2 may require threads on your system.
|
||||
# The Apple build may not need an explicit flag because one of the
|
||||
# frameworks may already provide it.
|
||||
# But for non-OSX systems, I will use the CMake Threads package.
|
||||
IF(NOT APPLE)
|
||||
FIND_PACKAGE(Threads)
|
||||
ENDIF(NOT APPLE)
|
||||
|
||||
# MinGW needs an additional library, mwindows
|
||||
# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -lmwindows
|
||||
# (Actually on second look, I think it only needs one of the m* libraries.)
|
||||
IF(MINGW)
|
||||
SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
|
||||
ENDIF(MINGW)
|
||||
|
||||
IF(SDL2_LIBRARY_TEMP)
|
||||
# For SDL2main
|
||||
IF(NOT SDL2_BUILDING_LIBRARY)
|
||||
IF(SDL2MAIN_LIBRARY)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP})
|
||||
ENDIF(SDL2MAIN_LIBRARY)
|
||||
ENDIF(NOT SDL2_BUILDING_LIBRARY)
|
||||
|
||||
# For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
|
||||
# CMake doesn't display the -framework Cocoa string in the UI even
|
||||
# though it actually is there if I modify a pre-used variable.
|
||||
# I think it has something to do with the CACHE STRING.
|
||||
# So I use a temporary variable until the end so I can set the
|
||||
# "real" variable in one-shot.
|
||||
IF(APPLE)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
|
||||
ENDIF(APPLE)
|
||||
|
||||
# For threads, as mentioned Apple doesn't need this.
|
||||
# In fact, there seems to be a problem if I used the Threads package
|
||||
# and try using this line, so I'm just skipping it entirely for OS X.
|
||||
IF(NOT APPLE)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
|
||||
ENDIF(NOT APPLE)
|
||||
|
||||
# For MinGW library
|
||||
IF(MINGW)
|
||||
SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
|
||||
ENDIF(MINGW)
|
||||
|
||||
# Set the final string here so the GUI reflects the final state.
|
||||
SET(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found")
|
||||
# Set the temp variable to INTERNAL so it is not seen in the CMake GUI
|
||||
SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
|
||||
ENDIF(SDL2_LIBRARY_TEMP)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
|
||||
# Locate SDL2 library
|
||||
# This module defines
|
||||
# SDL2_LIBRARY, the name of the library to link against
|
||||
# SDL2_FOUND, if false, do not try to link to SDL2
|
||||
# SDL2_INCLUDE_DIR, where to find SDL.h#
|
||||
#
|
||||
# Note that the header path has changed from SDL2/SDL.h to just SDL.h
|
||||
# This needed to change because "proper" SDL convention
|
||||
# is #include "SDL.h", not <SDL2/SDL.h>. This is done for portability
|
||||
# reasons because not all systems place things in SDL2/ (see FreeBSD).
|
||||
|
||||
SET(SDL2_SEARCH_PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local
|
||||
/usr
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
)
|
||||
|
||||
FIND_PATH(SDL2_INCLUDE_DIR SDL.h
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES include/SDL2 include
|
||||
PATHS ${SDL2_SEARCH_PATHS}
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDL2_LIBRARY_TEMP
|
||||
NAMES SDL2
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS ${SDL2_SEARCH_PATHS}
|
||||
)
|
||||
|
||||
IF(NOT SDL2_BUILDING_LIBRARY)
|
||||
IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
|
||||
# Non-OS X framework versions expect you to also dynamically link to
|
||||
# SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms
|
||||
# seem to provide SDL2main for compatibility even though they don't
|
||||
# necessarily need it.
|
||||
FIND_LIBRARY(SDL2MAIN_LIBRARY
|
||||
NAMES SDL2main
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS ${SDL2_SEARCH_PATHS}
|
||||
)
|
||||
ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
|
||||
ENDIF(NOT SDL2_BUILDING_LIBRARY)
|
||||
|
||||
# SDL2 may require threads on your system.
|
||||
# The Apple build may not need an explicit flag because one of the
|
||||
# frameworks may already provide it.
|
||||
# But for non-OSX systems, I will use the CMake Threads package.
|
||||
IF(NOT APPLE)
|
||||
FIND_PACKAGE(Threads)
|
||||
ENDIF(NOT APPLE)
|
||||
|
||||
# MinGW needs an additional library, mwindows
|
||||
# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -lmwindows
|
||||
# (Actually on second look, I think it only needs one of the m* libraries.)
|
||||
IF(MINGW)
|
||||
SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
|
||||
ENDIF(MINGW)
|
||||
|
||||
IF(SDL2_LIBRARY_TEMP)
|
||||
# For SDL2main
|
||||
IF(NOT SDL2_BUILDING_LIBRARY)
|
||||
IF(SDL2MAIN_LIBRARY)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP})
|
||||
ENDIF(SDL2MAIN_LIBRARY)
|
||||
ENDIF(NOT SDL2_BUILDING_LIBRARY)
|
||||
|
||||
# For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
|
||||
# CMake doesn't display the -framework Cocoa string in the UI even
|
||||
# though it actually is there if I modify a pre-used variable.
|
||||
# I think it has something to do with the CACHE STRING.
|
||||
# So I use a temporary variable until the end so I can set the
|
||||
# "real" variable in one-shot.
|
||||
IF(APPLE)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
|
||||
ENDIF(APPLE)
|
||||
|
||||
# For threads, as mentioned Apple doesn't need this.
|
||||
# In fact, there seems to be a problem if I used the Threads package
|
||||
# and try using this line, so I'm just skipping it entirely for OS X.
|
||||
IF(NOT APPLE)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
|
||||
ENDIF(NOT APPLE)
|
||||
|
||||
# For MinGW library
|
||||
IF(MINGW)
|
||||
SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
|
||||
ENDIF(MINGW)
|
||||
|
||||
# Set the final string here so the GUI reflects the final state.
|
||||
SET(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found")
|
||||
# Set the temp variable to INTERNAL so it is not seen in the CMake GUI
|
||||
SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
|
||||
ENDIF(SDL2_LIBRARY_TEMP)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
|
|
@ -245,6 +245,20 @@ MACRO(CHECK_LIBRARIES)
|
|||
MESSAGE(STATUS "Looking for library SDL - NOT found")
|
||||
ENDIF(SDL_FOUND)
|
||||
|
||||
# SDL2
|
||||
IF(OPTION_SDL2)
|
||||
IF(NOT SDL2_FOUND)
|
||||
Find_Package(SDL2)
|
||||
ENDIF()
|
||||
|
||||
IF(SDL2_FOUND)
|
||||
SET(HAVE_LIBSDL2 1)
|
||||
MESSAGE(STATUS "Looking for library SDL2 - found")
|
||||
ELSE(SDL2_FOUND)
|
||||
MESSAGE(STATUS "Looking for library SDL2 - NOT found")
|
||||
ENDIF(SDL2_FOUND)
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
# OSG
|
||||
IF(OPTION_OSGGRAPH)
|
||||
|
||||
|
|
|
@ -88,11 +88,17 @@ ENDMACRO(_FIND_3RDPARTY_DEPENDENCY DEP_NAME INCLUDE_FILE INCLUDE_SUBDIRS LIBRARY
|
|||
MACRO(_FIND_3RDPARTY_DEPENDENCIES ROOT_DIR)
|
||||
|
||||
# SDL.
|
||||
_FIND_3RDPARTY_DEPENDENCY(SDLMAIN sdl_main.h "SDL;SDL2" sdlmain "${ROOT_DIR}" "")
|
||||
_FIND_3RDPARTY_DEPENDENCY(SDL sdl.h "SDL;SDL2" sdl "${ROOT_DIR}" "")
|
||||
IF(SDL_FOUND) # Dirty hack to make FindPackage(SDL) work later.
|
||||
SET(SDL_LIBRARY_TEMP ${SDL_LIBRARY} CACHE FILEPATH "")
|
||||
ENDIF(SDL_FOUND)
|
||||
IF(OPTION_SDL2)
|
||||
_FIND_3RDPARTY_DEPENDENCY(SDL2MAIN sdl_main.h "SDL2" "sdl2main" "${ROOT_DIR}" "")
|
||||
_FIND_3RDPARTY_DEPENDENCY(SDL2 sdl.h "SDL2" "sdl2" "${ROOT_DIR}" "")
|
||||
|
||||
#IF(SDL_FOUND) # Dirty hack to make FindPackage(SDL) work later.
|
||||
# SET(SDL_LIBRARY_TEMP ${SDL_LIBRARY} CACHE FILEPATH "")
|
||||
#ENDIF(SDL_FOUND)
|
||||
ELSE()
|
||||
_FIND_3RDPARTY_DEPENDENCY(SDLMAIN sdl_main.h "SDL" "sdlmain" "${ROOT_DIR}" "")
|
||||
_FIND_3RDPARTY_DEPENDENCY(SDL sdl.h "SDL" "sdl" "${ROOT_DIR}" "")
|
||||
ENDIF()
|
||||
|
||||
# PLib.
|
||||
_FIND_3RDPARTY_DEPENDENCY(PLIB plib/sg.h "" "sg;plibsg" ${ROOT_DIR} "")
|
||||
|
@ -307,8 +313,13 @@ MACRO(SD_INSTALL_CUSTOM_3RDPARTY TARGET_NAME)
|
|||
LIST(APPEND _THIRDPARTY_DLL_PATHNAMES "${_DLL_PATHNAME}")
|
||||
|
||||
|
||||
_FIND_3RDPARTY_DLL("${SDL_LIBRARY}" "SDL" ";lib" _DLL_PATHNAME)
|
||||
LIST(APPEND _THIRDPARTY_DLL_PATHNAMES "${_DLL_PATHNAME}")
|
||||
IF(OPTION_SDL2)
|
||||
_FIND_3RDPARTY_DLL("${SDL2_LIBRARY}" "SDL2" ";lib" _DLL_PATHNAME)
|
||||
LIST(APPEND _THIRDPARTY_DLL_PATHNAMES "${_DLL_PATHNAME}")
|
||||
ELSE()
|
||||
_FIND_3RDPARTY_DLL("${SDL_LIBRARY}" "SDL" ";lib" _DLL_PATHNAME)
|
||||
LIST(APPEND _THIRDPARTY_DLL_PATHNAMES "${_DLL_PATHNAME}")
|
||||
ENDIF()
|
||||
|
||||
IF(OPTION_3RDPARTY_EXPAT)
|
||||
|
||||
|
|
|
@ -95,7 +95,9 @@ MACRO(ADD_SD_COMPILE_OPTIONS)
|
|||
SET(OPTION_UNLOAD_SSGGRAPH true CACHE BOOL "If false, never unload ssggraph module (useful on some Linuxes to avoid XOrg crashes)")
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET(OPTION_OSGGRAPH false CACHE BOOL "Build OpenScenGraph-based WIP osggraph graphics module")
|
||||
SET(OPTION_OSGGRAPH false CACHE BOOL "Build OpenScenGraph-based WIP osggraph graphics module")
|
||||
|
||||
SET(OPTION_SDL2 false CACHE BOOL "Build with SDL2 instead lib SDL 1.2")
|
||||
|
||||
SET(OPTION_AUTOVERSION true CACHE BOOL "Enable automatic computation of the version from SVN source tree")
|
||||
|
||||
|
|
|
@ -154,6 +154,33 @@ MACRO(ADD_SDL_LIBRARY TARGET)
|
|||
|
||||
ENDMACRO(ADD_SDL_LIBRARY TARGET)
|
||||
|
||||
MACRO(ADD_SDL2_INCLUDEDIR)
|
||||
|
||||
FIND_PACKAGE(SDL2)
|
||||
|
||||
IF(SDL2_FOUND)
|
||||
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIR})
|
||||
ELSE(SDL2_FOUND)
|
||||
MESSAGE(FATAL_ERROR "Cannot find SDL2 header files")
|
||||
ENDIF(SDL2_FOUND)
|
||||
|
||||
ENDMACRO(ADD_SDL2_INCLUDEDIR)
|
||||
|
||||
MACRO(ADD_SDL2_LIBRARY TARGET)
|
||||
|
||||
FIND_PACKAGE(SDL2)
|
||||
|
||||
IF(SDL2_FOUND)
|
||||
IF(SDL2MAIN_LIBRARY)
|
||||
TARGET_LINK_LIBRARIES(${TARGET} ${SDL2MAIN_LIBRARY})
|
||||
ENDIF(SDL2MAIN_LIBRARY)
|
||||
TARGET_LINK_LIBRARIES(${TARGET} ${SDL2_LIBRARY})
|
||||
ELSE(SDL2_FOUND)
|
||||
MESSAGE(FATAL_ERROR "Cannot find SDL2 library")
|
||||
ENDIF(SDL2_FOUND)
|
||||
|
||||
ENDMACRO(ADD_SDL2_LIBRARY TARGET)
|
||||
|
||||
MACRO(ADD_OPENGL_INCLUDEDIR)
|
||||
|
||||
FIND_PACKAGE(OpenGL)
|
||||
|
|
|
@ -5,7 +5,11 @@ SET(ROBOT_INTERFACE WELCOME)
|
|||
SET(ROBOT_SOURCES ${ROBOT_NAME}.cpp)
|
||||
|
||||
ADD_SDLIB_INCLUDEDIR(portability tgfclient networking)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ROBOT_MODULE(NAME ${ROBOT_NAME} VERSION ${VERSION} SOVERSION 0.0.0
|
||||
INTERFACE ${ROBOT_INTERFACE}
|
||||
|
|
|
@ -4,7 +4,13 @@ INCLUDE(../../../cmake/macros.cmake)
|
|||
|
||||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDLIB_INCLUDEDIR(portability tgf math tgfclient)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
|
||||
SET(ROBOTTOOLS_SOURCES rtteammanager.cpp rttelem.cpp rttimeanalysis.cpp rttrack.cpp rtutil.cpp rthumandriver.cpp)
|
||||
|
|
|
@ -2,8 +2,11 @@ INCLUDE(../../../cmake/macros.cmake)
|
|||
|
||||
#PROJECT(tgf)
|
||||
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
ADD_EXPAT_INCLUDEDIR()
|
||||
|
||||
ADD_SDLIB_INCLUDEDIR(txml portability)
|
||||
|
@ -45,7 +48,11 @@ ENDIF(CMAKE_SKIP_RPATH OR CMAKE_SKIP_BUILD_RPATH)
|
|||
ADD_SDLIB_LIBRARY(tgf portability txml) # txml ignored if OPTION_3RDPARTY_EXPAT
|
||||
|
||||
ADD_DL_LIBRARY(tgf)
|
||||
ADD_SDL_LIBRARY(tgf)
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_LIBRARY(tgf)
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_LIBRARY(tgf)
|
||||
ENDIF(OPTION_SDL2)
|
||||
ADD_EXPAT_LIBRARY(tgf) # Ignored if not OPTION_3RDPARTY_EXPAT
|
||||
|
||||
IF(WIN32)
|
||||
|
|
|
@ -4,7 +4,11 @@ INCLUDE(../../../cmake/macros.cmake)
|
|||
|
||||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDLIB_INCLUDEDIR(tgf math portability)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
ADD_JPEG_INCLUDEDIR()
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
ADD_OPENAL_INCLUDEDIR()
|
||||
|
@ -75,7 +79,12 @@ IF(OGG_FOUND)
|
|||
ENDIF(OGG_FOUND)
|
||||
|
||||
ADD_PLIB_LIBRARY(tgfclient ul sg js)
|
||||
ADD_SDL_LIBRARY(tgfclient)
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_LIBRARY(tgfclient)
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_LIBRARY(tgfclient)
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
IF(WIN32)
|
||||
#joystick library
|
||||
|
|
|
@ -12,7 +12,12 @@ ENDIF(MSVC)
|
|||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDLIB_INCLUDEDIR(tgf tgfclient tgfdata math portability)
|
||||
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
|
||||
# Disable developer warning
|
||||
|
|
|
@ -38,7 +38,12 @@ ADD_INTERFACE_INCLUDEDIR()
|
|||
ADD_SDLIB_INCLUDEDIR(portability math tgf tgfclient robottools)
|
||||
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
IF(COMMAND CMAKE_POLICY)
|
||||
CMAKE_POLICY(SET CMP0003 NEW)
|
||||
|
@ -65,7 +70,13 @@ SD_ADD_LIBRARY(ssggraph MODULE ${SSGGRAPH_SOURCES} ${SSGGRAPH_HEADERS} ${SSGGRAP
|
|||
#SET_TARGET_PROPERTIES(ssggraph PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
|
||||
|
||||
ADD_PLIB_LIBRARY(ssggraph ul sg sl ssg ssgaux)
|
||||
ADD_SDL_LIBRARY(ssggraph)
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_LIBRARY(ssggraph)
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_LIBRARY(ssggraph)
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_OPENGL_LIBRARY(ssggraph)
|
||||
|
||||
ADD_SDLIB_LIBRARY(ssggraph portability tgf tgfclient robottools)
|
||||
|
|
|
@ -18,14 +18,25 @@ SD_ADD_LIBRARY(networking SHARED ${SD_NETWORK_SOURCES} ${SD_NETWORK_HEADERS})
|
|||
#SET_TARGET_PROPERTIES(networking PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
|
||||
|
||||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_SDLIB_INCLUDEDIR(networking portability tgf math)
|
||||
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
ADD_ENET_INCLUDEDIR()
|
||||
ADD_PLIB_LIBRARY(networking ul sg)
|
||||
ADD_ENET_LIBRARY(networking)
|
||||
ADD_SDL_LIBRARY(networking)
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_LIBRARY(networking)
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_LIBRARY(networking)
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
IF(WIN32)
|
||||
TARGET_LINK_LIBRARIES(networking Winmm ws2_32)
|
||||
|
|
|
@ -21,7 +21,12 @@ ADD_INTERFACE_INCLUDEDIR()
|
|||
ADD_SDLIB_INCLUDEDIR(math portability robottools tgf tgfclient tgfdata)
|
||||
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
# Disable developer warning
|
||||
IF (COMMAND CMAKE_POLICY)
|
||||
|
|
|
@ -21,7 +21,12 @@ ADD_INTERFACE_INCLUDEDIR()
|
|||
ADD_SDLIB_INCLUDEDIR(math portability robottools tgf tgfdata networking)
|
||||
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
IF(OPTION_3RDPARTY_SQLITE3)
|
||||
ADD_SQLITE3_INCLUDEDIR()
|
||||
|
|
|
@ -19,7 +19,13 @@ SET(_OTHER_SOURCES )
|
|||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDLIB_INCLUDEDIR(portability math tgf tgfclient robottools)
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_OPENAL_INCLUDEDIR()
|
||||
|
||||
IF(COMMAND CMAKE_POLICY)
|
||||
|
@ -46,7 +52,12 @@ SD_ADD_LIBRARY(snddefault MODULE ${_SOURCES} ${_HEADERS} ${_OTHER_SOURCES})
|
|||
#SET_TARGET_PROPERTIES(snddefault PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
|
||||
|
||||
ADD_PLIB_LIBRARY(snddefault ul sg sl ssg ssgaux)
|
||||
ADD_SDL_LIBRARY(snddefault)
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_LIBRARY(snddefault)
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_LIBRARY(snddefault)
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_SDLIB_LIBRARY(snddefault portability tgf tgfclient robottools)
|
||||
|
||||
|
|
|
@ -54,7 +54,13 @@ INCLUDE_DIRECTORIES(. ${MS} ${CS} ${RS})
|
|||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDLIB_INCLUDEDIR(math portability tgf tgfclient tgfdata networking)
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_ENET_INCLUDEDIR()
|
||||
|
||||
IF(WIN32)
|
||||
|
|
|
@ -7,7 +7,13 @@ SET(_HEADERS textonly.h)
|
|||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDLIB_INCLUDEDIR(math portability tgf tgfclient tgfdata networking)
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_ENET_INCLUDEDIR()
|
||||
|
||||
IF(WIN32)
|
||||
|
|
|
@ -1,52 +1,57 @@
|
|||
INCLUDE(../../../cmake/macros.cmake)
|
||||
|
||||
PROJECT(menuview)
|
||||
|
||||
SET(_TARGET_NAME ${SD_TOOLS_EXECPREFIX}menuview)
|
||||
|
||||
SET(_SOURCES main.cpp previewmenu.cpp)
|
||||
SET(_HEADERS previewmenu.h)
|
||||
|
||||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDLIB_INCLUDEDIR(robottools tgf tgfclient math portability)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
|
||||
#disable developer warning
|
||||
IF(COMMAND CMAKE_POLICY)
|
||||
CMAKE_POLICY(SET CMP0003 NEW)
|
||||
ENDIF(COMMAND CMAKE_POLICY)
|
||||
|
||||
IF(MSVC)
|
||||
# Ignore some run-time libs to avoid link time warnings and sometimes even crashes.
|
||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
"${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcmt.lib")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
"${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:libcmt.lib")
|
||||
ENDIF(MSVC)
|
||||
|
||||
# Note: Headers needed for having them available in IDEs.
|
||||
SD_ADD_EXECUTABLE(${_TARGET_NAME} ${_SOURCES} ${_HEADERS})
|
||||
|
||||
ADD_SDLIB_LIBRARY(${_TARGET_NAME} portability robottools tgf tgfclient)
|
||||
|
||||
IF(OPENGL_FOUND)
|
||||
TARGET_LINK_LIBRARIES(${_TARGET_NAME} ${OPENGL_LIBRARY})
|
||||
ENDIF(OPENGL_FOUND)
|
||||
|
||||
ADD_PNG_LIBRARY(${_TARGET_NAME})
|
||||
ADD_SDL_LIBRARY(${_TARGET_NAME})
|
||||
ADD_PLIB_LIBRARY(${_TARGET_NAME} sg ssg ul)
|
||||
ADD_DL_LIBRARY(${_TARGET_NAME})
|
||||
|
||||
# Needed when using the "MinGW Makefiles" CMake generator (but not with the "MSYS Makefiles" one !?)
|
||||
IF(MINGW)
|
||||
TARGET_LINK_LIBRARIES(${_TARGET_NAME} ${MINGW32_LIBRARY})
|
||||
ENDIF(MINGW)
|
||||
|
||||
IF(UNIX)
|
||||
SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
|
||||
ENDIF(UNIX)
|
||||
|
||||
SD_INSTALL_FILES(BIN TARGETS ${_TARGET_NAME})
|
||||
|
||||
INCLUDE(../../../cmake/macros.cmake)
|
||||
|
||||
PROJECT(menuview)
|
||||
|
||||
SET(_TARGET_NAME ${SD_TOOLS_EXECPREFIX}menuview)
|
||||
|
||||
SET(_SOURCES main.cpp previewmenu.cpp)
|
||||
SET(_HEADERS previewmenu.h)
|
||||
|
||||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDLIB_INCLUDEDIR(robottools tgf tgfclient math portability)
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
|
||||
#disable developer warning
|
||||
IF(COMMAND CMAKE_POLICY)
|
||||
CMAKE_POLICY(SET CMP0003 NEW)
|
||||
ENDIF(COMMAND CMAKE_POLICY)
|
||||
|
||||
IF(MSVC)
|
||||
# Ignore some run-time libs to avoid link time warnings and sometimes even crashes.
|
||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
"${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcmt.lib")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
"${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:libcmt.lib")
|
||||
ENDIF(MSVC)
|
||||
|
||||
# Note: Headers needed for having them available in IDEs.
|
||||
SD_ADD_EXECUTABLE(${_TARGET_NAME} ${_SOURCES} ${_HEADERS})
|
||||
|
||||
ADD_SDLIB_LIBRARY(${_TARGET_NAME} portability robottools tgf tgfclient)
|
||||
|
||||
IF(OPENGL_FOUND)
|
||||
TARGET_LINK_LIBRARIES(${_TARGET_NAME} ${OPENGL_LIBRARY})
|
||||
ENDIF(OPENGL_FOUND)
|
||||
|
||||
ADD_PNG_LIBRARY(${_TARGET_NAME})
|
||||
ADD_SDL_LIBRARY(${_TARGET_NAME})
|
||||
ADD_PLIB_LIBRARY(${_TARGET_NAME} sg ssg ul)
|
||||
ADD_DL_LIBRARY(${_TARGET_NAME})
|
||||
|
||||
# Needed when using the "MinGW Makefiles" CMake generator (but not with the "MSYS Makefiles" one !?)
|
||||
IF(MINGW)
|
||||
TARGET_LINK_LIBRARIES(${_TARGET_NAME} ${MINGW32_LIBRARY})
|
||||
ENDIF(MINGW)
|
||||
|
||||
IF(UNIX)
|
||||
SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
|
||||
ENDIF(UNIX)
|
||||
|
||||
SD_INSTALL_FILES(BIN TARGETS ${_TARGET_NAME})
|
||||
|
||||
|
|
|
@ -11,7 +11,13 @@ SET(_OTHER_SOURCES trackgen.xml)
|
|||
|
||||
ADD_INTERFACE_INCLUDEDIR()
|
||||
ADD_SDLIB_INCLUDEDIR(robottools tgf tgfclient math portability)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_INCLUDEDIR()
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_INCLUDEDIR()
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_PLIB_INCLUDEDIR()
|
||||
|
||||
#disable developer warning
|
||||
|
@ -37,7 +43,13 @@ IF(OPENGL_FOUND)
|
|||
ENDIF(OPENGL_FOUND)
|
||||
|
||||
ADD_PNG_LIBRARY(${_TARGET_NAME})
|
||||
ADD_SDL_LIBRARY(${_TARGET_NAME})
|
||||
|
||||
IF(OPTION_SDL2)
|
||||
ADD_SDL2_LIBRARY(${_TARGET_NAME})
|
||||
ELSE(OPTION_SDL2)
|
||||
ADD_SDL_LIBRARY(${_TARGET_NAME})
|
||||
ENDIF(OPTION_SDL2)
|
||||
|
||||
ADD_PLIB_LIBRARY(${_TARGET_NAME} sg ssg ul)
|
||||
ADD_DL_LIBRARY(${_TARGET_NAME})
|
||||
|
||||
|
|
Loading…
Reference in New Issue