This commit is contained in:
2025-11-24 14:19:51 +05:30
commit f5c1412b28
6734 changed files with 1527575 additions and 0 deletions

View File

@ -0,0 +1,110 @@
#This file includes the global macros for the RakNet CMake files
#
# This file was taken from RakNet 4.082.
# Please see licenses/RakNet license.txt for the underlying license and related copyright.
#
#
# Modified work: Copyright (c) 2017-2019, SLikeSoft UG (haftungsbeschränkt)
#
# This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
# license found in the license.txt file in the root directory of this source tree.
#
MACRO(STANDARDSUBPROJECT PROJECTNAME)#Many of the projects just need the cpp files compiled and the header added to the project, this avoids repeating code
project(${PROJECTNAME})
FILE(GLOB ALL_CPP_SRCS *.cpp)
FILE(GLOB ALL_HEADER_SRCS *.h)
include_directories(${SLIKENET_HEADER_FILES} ./)
FIXCOMPILEOPTIONS()
add_executable(${PROJECTNAME} ${ALL_CPP_SRCS} ${ALL_HEADER_SRCS})
target_link_libraries(${PROJECTNAME} ${SLIKENET_COMMON_LIBS})
set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP Samples)
ENDMACRO(STANDARDSUBPROJECT)
MACRO(STANDARDSUBPROJECTWITHOPTIONS PROJECTNAME EXTRAINCLUDES EXTRASOURCES EXTRALIBS)#Same as STANDARDSUBPROJECT but allows options changing
project(${PROJECTNAME})
FILE(GLOB ALL_CPP_SRCS *.cpp)
FILE(GLOB ALL_HEADER_SRCS *.h)
FIXCOMPILEOPTIONS()
include_directories(${SLIKENET_HEADER_FILES} ./ ${EXTRAINCLUDES})
add_executable(${PROJECTNAME} ${ALL_CPP_SRCS} ${ALL_HEADER_SRCS} ${EXTRASOURCES})
target_link_libraries(${PROJECTNAME} ${SLIKENET_COMMON_LIBS} ${EXTRALIBS})
set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP Samples)
ENDMACRO(STANDARDSUBPROJECTWITHOPTIONS)
MACRO(STANDARDSUBPROJECTWITHOPTIONSSET PROJECTNAME)#Same as STANDARDSUBPROJECT but allows options changing, Items are passed by setting them for times when passing variable to the macro doesn't work
project(${PROJECTNAME})
FILE(GLOB ALL_CPP_SRCS *.cpp)
FILE(GLOB ALL_HEADER_SRCS *.h)
FIXCOMPILEOPTIONS()
include_directories(${SLIKENET_HEADER_FILES} ./ ${EXTRAINCLUDES})
add_executable(${PROJECTNAME} ${ALL_CPP_SRCS} ${ALL_HEADER_SRCS} ${EXTRASOURCES})
target_link_libraries(${PROJECTNAME} ${SLIKENET_COMMON_LIBS} ${EXTRALIBS})
set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP Samples)
ENDMACRO(STANDARDSUBPROJECTWITHOPTIONSSET)
MACRO(STANDARDCSUBPROJECT PROJECTNAME)#Same as STANDARDSUBPROJECT but for C files
project(${PROJECTNAME})
FILE(GLOB ALL_C_SRCS *.c)
FILE(GLOB ALL_HEADER_SRCS *.h)
include_directories(${SLIKENET_HEADER_FILES} ./)
FIXCOMPILEOPTIONS()
add_executable(${PROJECTNAME} ${ALL_C_SRCS} ${ALL_HEADER_SRCS})
target_link_libraries(${PROJECTNAME} ${SLIKENET_COMMON_LIBS})
set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP Samples)
ENDMACRO(STANDARDCSUBPROJECT)
MACRO(GETCURRENTFOLDER)#Gets the current foldername without the path
string(REGEX REPLACE
".+/(.?)"
"\\1"
current_folder "${CMAKE_CURRENT_SOURCE_DIR}")
ENDMACRO(GETCURRENTFOLDER)
MACRO(VSUBFOLDER PROJECTNAME FOLDERNAME)#A macro interface for adding solution folders with a patched cmake
set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP ${FOLDERNAME})
ENDMACRO(VSUBFOLDER)
MACRO(STANDARDNOTFOUNDMESSAGE NAME PLIBRARIES PINCLUDES EXTRA_INFORMATION)#If the libraries are not found, what to display
message(STATUS "${NAME} was not found, paths were set to:\nLibrary: ${PLIBRARIES}\nInclude: ${PINCLUDES}\n${EXTRA_INFORMATION}The project will not compile unless installed to those locations.\nAs an alternative you can install the libraries and rerun cmake\n and see if the autosearch finds them")
ENDMACRO(STANDARDNOTFOUNDMESSAGE)
MACRO(ADDCPPDEF DEF)#Currently replaces CXX flags with a define for WIN32 projects, may be changed
IF(WIN32)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D ${DEF}")
ENDIF()
ENDMACRO(ADDCPPDEF)
MACRO(FIXCOMPILEOPTIONS)#Fix added compile options that may cause problems, also fix warnings
IF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles")
IF(WIN32 AND NOT UNIX)
STRING(REGEX REPLACE "/Z[0-9a-zA-Z]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
STRING(REGEX REPLACE "/Z[0-9a-zA-Z]+" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
ADDCPPDEF(_CRT_SECURE_NO_DEPRECATE)
ADDCPPDEF(_CRT_NONSTDC_NO_DEPRECATE)
SET(CMAKE_CXX_WARNING_LEVEL 0)
IF(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
STRING(REGEX REPLACE "/W[0-4]" "/W0" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
ELSE(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0")
ENDIF(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")# -nowarn 4018 -nowarn 4305 -nowarn 4244")
ENDIF(WIN32 AND NOT UNIX)
ENDIF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles")
ENDMACRO(FIXCOMPILEOPTIONS)
MACRO(FIXLINKOPTIONS)#Fix added link options that may cause problems
IF(WIN32 AND NOT UNIX)
IF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles")
STRING(REGEX REPLACE "/STACK:[0-9]+" "" CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
STRING(REGEX REPLACE "/STACK:[0-9]+" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
STRING(REGEX REPLACE "/machine:[0-9a-zA-Z]+" "" CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
STRING(REGEX REPLACE "/machine:[0-9a-zA-Z]+" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
ENDIF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles")
ENDIF(WIN32 AND NOT UNIX)
ENDMACRO(FIXLINKOPTIONS)
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindMacros.txt)#The macros for setting variables and performing finds

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,103 @@
# - Locate FMOD library
# This module defines
# FMODEX_LIBRARY, the library to link against
# FMODEX_FOUND, if false, do not try to link to FMOD
# FMODEX_INCLUDE_DIR, where to find headers.
#
#
# This file was taken from RakNet 4.082.
# Please see licenses/RakNet license.txt for the underlying license and related copyright.
#
#
#
# Modified work: Copyright (c) 2016, SLikeSoft UG (haftungsbeschränkt)
#
# This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
# license found in the license.txt file in the root directory of this source tree.
#
IF(FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR)
# in cache already
SET(FMODEX_FIND_QUIETLY TRUE)
ENDIF(FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR)
FIND_PATH(FMODEX_INCLUDE_DIR
fmod.h
PATHS
$ENV{FMODEX_DIR}/include
/usr/local/include
/usr/include
/sw/include
/opt/local/include
/opt/csw/include
/opt/include
/usr/local/include/fmodex
/usr/include/fmodex
/sw/include/fmodex
/opt/local/include/fmodex
/opt/csw/include/fmodex
/opt/include/fmodex
"${PROGRAMFILESX86}/FMOD SoundSystem/FMOD Programmers API Win32/api/inc"
PATH_SUFFIXES fmod fmod3
)
set(WINLIBNAME " ")
set(WINLIBEXT " ")
IF(WIN32 AND NOT UNIX)
IF (MSVC)
set(WINLIBNAME fmodex_vc)
set(WINLIBEXT "lib")
ENDIF(MSVC)
IF(CMAKE_GENERATOR MATCHES "Borland Makefiles")
set(WINLIBNAME fmodex_bc)
set(WINLIBEXT "lib")
ENDIF()
IF(CMAKE_GENERATOR MATCHES "MinGW Makefiles")
set(WINLIBNAME libfmodex)
set(WINLIBEXT "a")
ENDIF()
ENDIF(WIN32 AND NOT UNIX)
set(LINUXLIBS libfmodex)
IF(UNIX AND NOT WIN32)
set(LINUXADDLIBS "")
set (PASTVERSIONS 4.44.59 4.44.58 4.44.57 4.44.56 4.44.55 4.44.54 4.44.53 4.44.52 4.44.51 4.44.50 4.44.49 4.44.48 4.44.47 4.44.46 4.44.45 4.44.44 4.44.43 4.44.42 4.44.41 4.44.40 4.44.39 4.44.38 4.44.37 4.44.36 4.44.35 4.44.34 4.44.33 4.44.32 4.44.31 4.44.30 4.44.29 4.44.28 4.44.27 4.44.26 4.44.25 4.44.24 4.44.23 4.44.22 4.44.21 4.44.20 4.44.19 4.44.18 4.44.17 4.44.16 4.44.15 4.44.14 4.44.13 4.44.12 4.44.11 4.44.10 4.44.09 4.44.08 4.44.07 4.44.06 4.44.06 4.44.05 4.44.04 4.44.03 4.44.02 4.44.01 4.44.00 4.42.22 4.42.21 4.42.20 4.42.19 4.42.18 4.42.17 4.42.16 4.42.15 4.42.14 4.42.13 4.42.12 4.42.11 4.42.10 4.42.09 4.42.08 4.42.07 4.42.06 4.42.05 4.42.04 4.42.03 4.42.02 4.42.01 4.42.00 4.40.30 4.40.29 4.40.28 4.40.27 4.40.26 4.40.25 4.40.24 4.40.23 4.40.23 4.40.22 4.40.21 4.40.20 4.40.19 4.40.18 4.40.17 4.40.16 4.40.15 4.40.14 4.40.13 4.40.12 4.40.11 4.40.10 4.40.09 4.40.08 4.40.07 4.40.06 4.40.05 4.40.04 4.40.03 4.40.02 4.40.01 4.40.00 4.38.24 4.38.23 4.38.22 4.38.21 4.38.20 4.38.19 4.38.18 4.38.17 4.38.16 4.38.15 4.38.14 4.38.13 4.38.12 4.38.11 4.38.10 4.38.09 4.38.08 4.38.07 4.38.06 4.38.05 4.38.04 4.38.03 4.38.02 4.38.01 4.38.00 4.36.23 4.36.22 4.36.21 4.36.20 4.36.19 4.36.18 4.36.17 4.36.16 4.36.15 4.36.14 4.36.13 4.36.12 4.36.11 4.36.10 4.36.09 4.36.08 4.36.07 4.36.06 4.36.05 4.36.04 4.36.03 4.36.02 4.36.01 4.36.00 4.34.05 4.30.22 4.28.08 4.28.07 4.28.06 4.28.05 4.28.04 4.28.03 4.28.02 4.28.01 4.28.00 4.27.10 4.27.09 4.27.08 4.27.07 4.27.06 4.27.05 4.27.04 4.27.03 4.27.02 4.27.01 4.27.00 4.25.00 4.23.00 4.21.00 4.19.00 4.17.00 4.15.00 4.13.00 4.11.00 4.09.07 4.09.06 4.09.05 4.09.04 4.09.03 4.09.02 4.09.01 4.08.00 4.07.25 4.07.24 4.07.23 4.07.22 4.07.21 4.07.20 4.07.19 4.07.18 4.07.17 4.07.16 4.07.15 4.07.14 4.07.13 4.07.12 4.07.11 4.07.10 4.07.09 4.07.08 4.07.07 4.07.06 4.07.05 4.07.04 4.07.03 4.07.02 4.07.01 4.07.00 4.06.00 4.04.53 4.04.51 4.04.49 4.04.47 4.04.45 4.04.43 4.04.41 4.04.39 4.04.37 4.04.35 4.04.33 4.04.31 4.04.29 4.04.28 4.04.27 4.04.26 4.04.25 4.04.24 4.04.23 4.04.21 4.04.20 4.04.19 4.04.18 4.04.17 4.04.16 4.04.15 4.04.14 4.04.13 4.04.12 4.04.11 4.04.10 4.04.08 4.04.06 4.04.04 4.04.02 4.04.00 4.03.10 4.03.09 4.03.08 4.03.07 4.03.06 4.03.05 4.03.04 4.03.03 4.03.02 4.03.01 4.03.00 4.02.10 4.02.09 4.02.08 4.02.07 4.02.06 4.02.05 4.02.04 4.02.03 4.02.02 4.02.01 4.02.00 4.01.07 4.01.06 4.01.05 4.01.04 4.01.03 4.01.02 4.01.01 4.01.00 4.00.37 4.00.36 4.00.35 4.00.34 4.00.33 4.00.32 4.00.31 4.00.30 4.00.29 4.00.28 4.00.27 4.00.26 4.00.25 4.00.24 4.00.23 4.00.22 4.00.21 4.00.20 4.00.19 4.00.18 4.00.17 4.00.16 4.00.14 4.00.13 4.00.12 4.00.11 4.00.10 4.00.09 4.00.08 4.00.07 4.00.06 4.00.05 4.00.04 4.00.03 4.00.02 4.00.01)
#add existing supported versions
FOREACH (CURRENTVERSION ${PASTVERSIONS})
set(LINUXADDLIBS ${LINUXADDLIBS} libfmodex-${CURRENTVERSION}.so)
ENDFOREACH(CURRENTVERSION)
set(LINUXLIBS ${LINUXLIBS} ${LINUXADDLIBS})
ENDIF(UNIX AND NOT WIN32)
FIND_LIBRARY(FMODEX_LIBRARY
NAMES ${LINUXLIBS} ${WINLIBNAME}
PATHS
$ENV{FMODEX_DIR}/lib
/usr/local/lib
/usr/lib
/usr/local/X11R6/lib
/usr/X11R6/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
"${PROGRAMFILESX86}/FMOD SoundSystem/FMOD Programmers API Win32/api/lib"
/usr/freeware/lib64
)
IF(FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR)
SET(FMODEX_FOUND "YES")
IF(NOT FMODEX_FIND_QUIETLY)
MESSAGE(STATUS "Found FMOD EX: ${FMODEX_LIBRARY}")
ENDIF(NOT FMODEX_FIND_QUIETLY)
ELSE(FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR)
IF(NOT FMODEX_FIND_QUIETLY)
MESSAGE(STATUS "Warning: Unable to find FMOD EX!")
ENDIF(NOT FMODEX_FIND_QUIETLY)
ENDIF(FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR)

View File

@ -0,0 +1,77 @@
# - Try to find irrKlang
# Once done this will define
#
# IRRKLANG_FOUND - system has irrKlang
# IRRKLANG_INCLUDE_DIRS - the irrKlang include directory
# IRRKLANG_LIBRARIES - Link these to use irrKlang
# IRRKLANG_DEFINITIONS - Compiler switches required for using irrKlang
#
# Copyright (c) 2006 Andreas Schneider <mail@cynapses.org>
#
# Redistribution and use is allowed according to the terms of the New
# BSD license.
# For details see the accompanying FindIrrlicht CMake License.txt in the license directory
# in the root of the source tree.
#
if (IRRKLANG_LIBRARIES AND IRRKLANG_INCLUDE_DIRS)
# in cache already
set(IRRKLANG_FOUND TRUE)
else (IRRKLANG_LIBRARIES AND IRRKLANG_INCLUDE_DIRS)
find_path(IRRKLANG_INCLUDE_DIR
NAMES
irrKlang.h
PATHS
/usr/include
/usr/include/irrklang
/usr/local/include
/usr/local/include/irrklang
/opt/local/include
/sw/include
)
find_library(IRRKLANG_LIBRARY
NAMES
IrrKlang
PATHS
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
)
if (IRRKLANG_LIBRARY)
set(IRRKLANG_FOUND TRUE)
endif (IRRKLANG_LIBRARY)
set(IRRKLANG_INCLUDE_DIRS
${IRRKLANG_INCLUDE_DIR}
)
if (IRRKLANG_FOUND)
set(IRRKLANG_LIBRARIES
${IRRKLANG_LIBRARIES}
${IRRKLANG_LIBRARY}
)
endif (IRRKLANG_FOUND)
if (IRRKLANG_INCLUDE_DIRS AND IRRKLANG_LIBRARIES)
set(IRRKLANG_FOUND TRUE)
endif (IRRKLANG_INCLUDE_DIRS AND IRRKLANG_LIBRARIES)
if (IRRKLANG_FOUND)
if (NOT IRRKLANG_FIND_QUIETLY)
message(STATUS "Found irrKlang: ${IRRKLANG_LIBRARIES}")
endif (NOT IRRKLANG_FIND_QUIETLY)
else (IRRKLANG_FOUND)
if (IRRKLANG_FIND_REQUIRED)
message(FATAL_ERROR "Could not find irrKlang")
endif (IRRKLANG_FIND_REQUIRED)
endif (IRRKLANG_FOUND)
# show the IRRKLANG_INCLUDE_DIRS and IRRKLANG_LIBRARIES variables only in the advanced view
mark_as_advanced(IRRKLANG_INCLUDE_DIRS IRRKLANG_LIBRARIES)
endif (IRRKLANG_LIBRARIES AND IRRKLANG_INCLUDE_DIRS)

View File

@ -0,0 +1,77 @@
# - Try to find Irrlicht
# Once done this will define
#
# IRRLICHT_FOUND - system has Irrlicht
# IRRLICHT_INCLUDE_DIRS - the Irrlicht include directory
# IRRLICHT_LIBRARIES - Link these to use Irrlicht
# IRRLICHT_DEFINITIONS - Compiler switches required for using Irrlicht
#
# Copyright (c) 2006 Andreas Schneider <mail@cynapses.org>
#
# Redistribution and use is allowed according to the terms of the New
# BSD license.
# For details see the accompanying FindIrrlicht CMake License.txt in the license directory
# in the root of the source tree.
#
if (IRRLICHT_LIBRARIES AND IRRLICHT_INCLUDE_DIRS)
# in cache already
set(IRRLICHT_FOUND TRUE)
else (IRRLICHT_LIBRARIES AND IRRLICHT_INCLUDE_DIRS)
find_path(IRRLICHT_INCLUDE_DIR
NAMES
irrlicht.h
PATHS
/usr/include
/usr/include/irrlicht
/usr/local/include
/usr/local/include/irrlicht
/opt/local/include
/sw/include
)
find_library(IRRLICHT_LIBRARY
NAMES
Irrlicht
PATHS
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
)
if (IRRLICHT_LIBRARY)
set(IRRLICHT_FOUND TRUE)
endif (IRRLICHT_LIBRARY)
set(IRRLICHT_INCLUDE_DIRS
${IRRLICHT_INCLUDE_DIR}
)
if (IRRLICHT_FOUND)
set(IRRLICHT_LIBRARIES
${IRRLICHT_LIBRARIES}
${IRRLICHT_LIBRARY}
)
endif (IRRLICHT_FOUND)
if (IRRLICHT_INCLUDE_DIRS AND IRRLICHT_LIBRARIES)
set(IRRLICHT_FOUND TRUE)
endif (IRRLICHT_INCLUDE_DIRS AND IRRLICHT_LIBRARIES)
if (IRRLICHT_FOUND)
if (NOT IRRLICHT_FIND_QUIETLY)
message(STATUS "Found Irrlicht: ${IRRLICHT_LIBRARIES}")
endif (NOT IRRLICHT_FIND_QUIETLY)
else (IRRLICHT_FOUND)
if (IRRLICHT_FIND_REQUIRED)
message(FATAL_ERROR "Could not find Irrlicht")
endif (IRRLICHT_FIND_REQUIRED)
endif (IRRLICHT_FOUND)
# show the IRRLICHT_INCLUDE_DIRS and IRRLICHT_LIBRARIES variables only in the advanced view
mark_as_advanced(IRRLICHT_INCLUDE_DIRS IRRLICHT_LIBRARIES)
endif (IRRLICHT_LIBRARIES AND IRRLICHT_INCLUDE_DIRS)

View File

@ -0,0 +1,224 @@
#
# This file was taken from RakNet 4.082.
# Please see licenses/RakNet license.txt for the underlying license and related copyright.
#
#
# Modified work: Copyright (c) 2019, SLikeSoft UG (haftungsbeschr<68>nkt)
#
# This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
# license found in the license.txt file in the root directory of this source tree.
#
MACRO(FINDMYSQL)#A macro interface for finding a dependency
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindMySQL.cmake)
IF(NOT MYSQL_FOUND)
IF(WIN32)
set(MYSQL_LIBRARIES "${PROGRAMFILESX86}/MySQL/MySQL Server 5.1/lib/opt/libmysql.lib")
set(MYSQL_INCLUDE_DIR "${PROGRAMFILESX86}/MySQL/MySQL Server 5.1/include")
STANDARDNOTFOUNDMESSAGE("MySQL" "${MYSQL_LIBRARIES}" "${MYSQL_INCLUDE_DIR}" "Assuming 5.1 install\n" "USEMYSQL")
ELSE(WIN32)
set(MYSQL_LIBRARIES "/usr/lib/libmysqlclient.so")
set(MYSQL_INCLUDE_DIR "/usr/include/mysql")
STANDARDNOTFOUNDMESSAGE("MySQL" "${MYSQL_LIBRARIES}" "${MYSQL_INCLUDE_DIR}" "" "USEMYSQL")
ENDIF(WIN32)
ENDIF(NOT MYSQL_FOUND)
ENDMACRO(FINDMYSQL)
MACRO(FINDPOSTGRE)#A macro interface for finding a dependency
IF (WIN32)
set(CUSTOMPROGRAMFILES "D:/Program Files")
ELSE(WIN32)
set(CUSTOMPROGRAMFILES "")
ENDIF(WIN32)
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindPostgreSQL.cmake)
IF(NOT POSTGRESQL_FOUND)
IF(WIN32)
set(POSTGRESQL_LIBRARIES "${PROGRAMFILESX86}/PostgreSQL/8.4/lib/libpq.lib")
set(POSTGRESQL_INCLUDE_DIR "${PROGRAMFILESX86}/PostgreSQL/8.4/include")
STANDARDNOTFOUNDMESSAGE("PostgreSQL" "${POSTGRESQL_LIBRARIES}" "${POSTGRESQL_INCLUDE_DIR}" "Assuming 8.4 install\n" "USEPOSTGRESQL")
ELSE(WIN32)
set(POSTGRESQL_LIBRARIES "/usr/lib/libpq.so")
set(POSTGRESQL_INCLUDE_DIR "/usr/include/postgresql")
STANDARDNOTFOUNDMESSAGE("PostgreSQL" "${POSTGRESQL_LIBRARIES}" "${POSTGRESQL_INCLUDE_DIR}" "" "USEPOSTGRESQL")
ENDIF(WIN32)
ENDIF(NOT POSTGRESQL_FOUND)
ENDMACRO(FINDPOSTGRE)
MACRO(FINDPORTAUDIO)#A macro interface for finding a dependency
IF(WIN32)
set(PORTAUDIO_INCLUDE_DIR ${portaudio_SOURCE_DIR}/pa_common)
set(PORTAUDIO_LIBRARIES LibPortAudioV18_1)
set(PORTAUDIO_FOUND TRUE)
ELSE(WIN32)
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindPortAudio.cmake)
ENDIF(WIN32)
IF(NOT PORTAUDIO_FOUND)
IF(NOT WIN32)
set(PORTAUDIO_INCLUDE_DIR "/usr/include")
set(PORTAUDIO_LIBRARIES "/usr/lib/libportaudio.so")
ENDIF(NOT WIN32)
STANDARDNOTFOUNDMESSAGE("PortAudio" "${PORTAUDIO_LIBRARIES}" "${PORTAUDIO_INCLUDE_DIR}" "" "USEPORTAUDIO")
ENDIF(NOT PORTAUDIO_FOUND)
ENDMACRO(FINDPORTAUDIO)
MACRO(FINDSPEEX)#A macro interface for finding a dependency
IF(WIN32)
set(SPEEX_INCLUDE_DIRS ${speex_SOURCE_DIR}/include)
set(SPEEX_LIBRARIES LibSpeex)
set(SPEEX_FOUND TRUE)
ELSE(WIN32)
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindSpeex.cmake)
FINDSPEEXDSP()
ENDIF(WIN32)
IF(NOT SPEEX_FOUND)
IF(NOT WIN32)
set(SPEEX_INCLUDE_DIRS "/usr/include")
set(SPEEX_LIBRARIES "/usr/lib/libspeex.so")
ENDIF(NOT WIN32)
STANDARDNOTFOUNDMESSAGE("Speex" "${SPEEX_LIBRARIES}" "${SPEEX_INCLUDE_DIRS}" "" "USESPEEX")
ELSE(NOT SPEEX_FOUND)
set(SPEEX_INCLUDE_DIRS ${SPEEX_INCLUDE_DIRS} ${SPEEXDSP_INCLUDE_DIRS})
set(SPEEX_LIBRARIES ${SPEEX_LIBRARIES} ${SPEEXDSP_LIBRARIES})
ENDIF(NOT SPEEX_FOUND)
ENDMACRO(FINDSPEEX)
MACRO(FINDBOOST)#A macro interface for finding a dependency
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindBoost.cmake)
IF(NOT Boost_FOUND)
IF(WIN32)
set(Boost_INCLUDE_DIRS "${PROGRAMFILESX86}/boost/boost_1_35")
set(Boost_LIBRARIES "")
STANDARDNOTFOUNDMESSAGE("BOOST" "${Boost_LIBRARIES}" "${Boost_INCLUDE_DIRS}" "Assuming 1.35 install" "USEBOOST")
ELSE(WIN32)
set(Boost_INCLUDE_DIRS "/usr/include")
set(Boost_LIBRARIES "")
STANDARDNOTFOUNDMESSAGE("BOOST" "${Boost_LIBRARIES}" "${Boost_INCLUDE_DIRS}" "" "USEBOOST")
ENDIF(WIN32)
ENDIF(NOT Boost_FOUND)
ENDMACRO(FINDBOOST)
MACRO(FINDSPEEXDSP)#A macro interface for finding a dependency
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindSpeexDSP.cmake)
IF(NOT SPEEXDSP_FOUND)
set(SPEEXDSP_INCLUDE_DIRS "/usr/include")
set(SPEEXDSP_LIBRARIES "/usr/lib/libspeexdsp.so")
STANDARDNOTFOUNDMESSAGE("SpeexDSP" "${SPEEXDSP_LIBRARIES}" "${SPEEXDSP_INCLUDE_DIRS}" "" "USESPEEX")
ENDIF(NOT SPEEXDSP_FOUND)
ENDMACRO(FINDSPEEXDSP)
MACRO(FINDDSOUND)
IF(WIN32 AND NOT UNIX)
IF("$ENV{DXSDK_DIR}" STREQUAL "")
set (DSOUND_INCLUDE_DIR "C:/Program Files/Microsoft DirectX SDK (November 2008)/")
set (DSOUND_LIBRARIES "C:/Program Files/Microsoft DirectX SDK (November 2008)/Dsound.lib" "C:/Program Files/Microsoft DirectX SDK (November 2008)/Dxguid.lib" "C:/Program Files/Microsoft DirectX SDK (November 2008)/Dxerr.lib")
message(STATUS "*You need to install the Direct X 9 SDK")
STANDARDNOTFOUNDMESSAGE("Direct Sound SDK" "${DSOUND_LIBRARIES}" "${DSOUND_INCLUDE_DIR}" "" "USEDSOUND")
ELSE("$ENV{DXSDK_DIR}" STREQUAL "")
set (DSOUND_INCLUDE_DIR $ENV{DXSDK_DIR}include)
set (DSOUND_LIBRARIES $ENV{DXSDK_DIR}lib/x86/Dsound.lib $ENV{DXSDK_DIR}lib/x86/Dxguid.lib $ENV{DXSDK_DIR}lib/x86/Dxerr.lib)
ENDIF("$ENV{DXSDK_DIR}" STREQUAL "")
ENDIF(WIN32 AND NOT UNIX)
ENDMACRO(FINDDSOUND)
MACRO(FINDD3D)
IF(WIN32 AND NOT UNIX)
IF("$ENV{DXSDK_DIR}" STREQUAL "")
set (D3D_INCLUDE_DIR "C:/Program Files/Microsoft DirectX SDK (November 2008)/")
set (D3D_LIBRARIES "C:/Program Files/Microsoft DirectX SDK (November 2008)/d3d9.lib" "C:/Program Files/Microsoft DirectX SDK (November 2008)/d3dx9.lib")
message(STATUS "*You need to install the Direct X 9 SDK")
STANDARDNOTFOUNDMESSAGE("Direct X 9 SDK" "${D3D_LIBRARIES}" "${D3D_INCLUDE_DIR}" "" "USEDX3D9")
ELSE("$ENV{DXSDK_DIR}" STREQUAL "")
set (D3D_INCLUDE_DIR $ENV{DXSDK_DIR}include)
set (D3D_LIBRARIES "$ENV{DXSDK_DIR}lib/x86/d3d9.lib" "$ENV{DXSDK_DIR}lib/x86/d3dx9.lib")
ENDIF("$ENV{DXSDK_DIR}" STREQUAL "")
ENDIF(WIN32 AND NOT UNIX)
ENDMACRO(FINDD3D)
MACRO(FINDSCALEGFX)
IF(WIN32 AND NOT UNIX)
set (SCALEGFX_INCLUDE_DIR "$ENV{GFXSDK}/Include" "$ENV{GFXSDK}/Src/GRenderer" "$ENV{GFXSDK}/Src/GKernel" "$ENV{GFXSDK}/Src/GFxXML")
set (SCALEGFX_LIBRARIES optimized "$ENV{GFXSDK}/Lib/Win32/Msvc80/Release/libgrenderer_d3d9.lib" optimized "$ENV{GFXSDK}/Lib/Win32/Msvc80/Release/libgfx.lib" optimized "$ENV{GFXSDK}/3rdParty/jpeg-6b/Lib/Win32/Msvc80/Release/libjpeg.lib" optimized "$ENV{GFXSDK}/3rdParty/zlib-1.2.3/Lib/Win32/Msvc80/Release/zlib.lib")
set (SCALEGFX_DEBUG_LIBRARIES debug "$ENV{GFXSDK}/Lib/Win32/Msvc80/Debug/libgrenderer_d3d9.lib" debug "$ENV{GFXSDK}/Lib/Win32/Msvc80/Debug/libgfx.lib" debug "$ENV{GFXSDK}/3rdParty/jpeg-6b/Lib/Win32/Msvc80/Debug/libjpeg.lib" debug "$ENV{GFXSDK}/3rdParty/zlib-1.2.3/Lib/Win32/Msvc80/Debug/zlib.lib")
ELSE(WIN32 AND NOT UNIX)
message(STATUS "Scaleform is not supported for the linux build, please do not enable it\n")
ENDIF(WIN32 AND NOT UNIX)
ENDMACRO(FINDSCALEGFX)
MACRO(FINDFMODEX)#A macro interface for finding a dependency
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindFMODEx.cmake)
IF(NOT FMODEX_FOUND)
IF(WIN32)
set(FMODEX_LIBRARY "${PROGRAMFILESX86}/FMOD SoundSystem/FMOD Programmers API Win32/api/lib/${WINLIBNAME}.${WINLIBEXT}")
set(FMODEX_INCLUDE_DIR "${PROGRAMFILESX86}/FMOD SoundSystem/FMOD Programmers API Win32/api/inc")
ELSE(WIN32)
set(FMODEX_LIBRARY "/usr/local/lib/libfmodex-4.28.08.so")
set(FMODEX_INCLUDE_DIR "/usr/local/include/fmodex")
ENDIF(WIN32)
STANDARDNOTFOUNDMESSAGE("FMOD EX" "${FMODEX_LIBRARY}" "${FMODEX_INCLUDE_DIR}" "" "USEFMOD")
ENDIF(NOT FMODEX_FOUND)
ENDMACRO(FINDFMODEX)
MACRO(FINDIRRLICHT)
IF(WIN32 AND NOT UNIX)
message(STATUS "You are building with the Irrlicht option enabled,\n if irrlicht include location is not C:/irrlicht-1.6/include\n change IRRLICHT_INCLUDE_DIR with the GUI or -D command line option.\n NOTE: YOU MUST USE VERSION 1.6 for this demo.")
set(IRRLICHT_INCLUDE_DIR "C:/irrlicht-1.6/include" CACHE PATH "The Irrlicht unzip location")
ELSE(WIN32 AND NOT UNIX)
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindIrrlicht.cmake)
IF(NOT IRRLICHT_FOUND)
set(IRRLICHT_INCLUDE_DIR "/usr/include/irrlicht")
set(IRRLICHT_LIBRARIES "/usr/local/lib/libIrrlicht.so")
STANDARDNOTFOUNDMESSAGE("Irrlicht" "${IRRLICHT_LIBRARIES}" "${IRRLICHT_INCLUDE_DIR}" "" "USEIRRLICHT")
ENDIF(NOT IRRLICHT_FOUND)
ENDIF(WIN32 AND NOT UNIX)
ENDMACRO(FINDIRRLICHT)
MACRO(FINDIRRKLANG)
IF(WIN32 AND NOT UNIX)
#currently not needed a space is here for future use
ELSE(WIN32 AND NOT UNIX)
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/FindIrrKlang.cmake)
IF(NOT IRRKLANG_FOUND)
set(IRRKLANG_INCLUDE_DIR "/usr/include/irrklang")
set(IRRKLANG_LIBRARIES "/usr/local/lib/libIrrKlang.so")
STANDARDNOTFOUNDMESSAGE("irrKlang" "${IRRKLANG_LIBRARIES}" "${IRRKLANG_INCLUDE_DIR}" "" "USEIRRKLANG")
ENDIF(NOT IRRKLANG_FOUND)
ENDIF(WIN32 AND NOT UNIX)
ENDMACRO(FINDIRRKLANG)
MACRO(FINDOGRE3D)#A macro interface for finding a dependency
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/Ogre3D/FindOGRE.cmake)
IF(NOT OGRE_FOUND)
IF(WIN32)
FILE(GLOB OGRE_LIBRARIES "C:/OgreSDK/lib/*.lib")
set(OGRE_INCLUDE_DIR "C:/OgreSDK/include")
#set(OGRE_LIB_DIR "C:/OgreSDK/lib/")
ELSE(WIN32)
set(OGRE_LIBRARIES "/usr/lib/libOgreMain.so")
set(OGRE_INCLUDE_DIR "/usr/include/OGRE/")
ENDIF(WIN32)
STANDARDNOTFOUNDMESSAGE("Ogre 3d" "${OGRE_LIBRARIES}" "${OGRE_INCLUDE_DIR}" "" "USEOGRE3D")
ENDIF(NOT OGRE_FOUND)
ENDMACRO(FINDOGRE3D)
MACRO(FINDOIS)#A macro interface for finding a dependency
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/Ogre3D/FindOIS.cmake)
IF(NOT OIS_FOUND)
IF(WIN32)
set(OIS_LIBRARIES "")
set(OIS_INCLUDE_DIR "")
ELSE(WIN32)
set(OIS_LIBRARIES "/usr/lib/libOIS.so")
set(OIS_INCLUDE_DIR "/usr/include/OIS")
ENDIF(WIN32)
STANDARDNOTFOUNDMESSAGE("OIS" "${OIS_LIBRARIES}" "${OIS_INCLUDE_DIR}" "" "USEIOS")
ENDIF(NOT OIS_FOUND)
ENDMACRO(FINDOIS)
MACRO(STANDARDNOTFOUNDMESSAGE NAME PLIBRARIES PINCLUDES EXTRA_INFORMATION DISABLENAME)#If the libraries are not found, what to display
IF (WIN32)
message(STATUS "${NAME} was not found, paths were set to:\nLibrary: ${PLIBRARIES}\nInclude: ${PINCLUDES}\n${EXTRA_INFORMATION}Some projects will not compile unless installed to those locations.\nAs an alternative you can install the libraries and rerun cmake and see if the autosearch finds them.\nYou may disable any or all dependencies by setting the proper variable.\nThis dependency can be disabled with -D${DISABLENAME}=FALSE.\nAll dependencies can be disabled by the command line option -DDISABLEDEPENDENCIES=TRUE or setting it in the GUI.")
ELSE(WIN32)
message(STATUS "${NAME} was not found, paths were set to:\nLibrary: ${PLIBRARIES}\nInclude: ${PINCLUDES}\n${EXTRA_INFORMATION}\nSome projects will not compile unless installed to those locations. As an alternative you can install the libraries and rerun cmake and see if the autosearch finds them. You may disable any or all dependencies by setting the proper variable. This dependency can be disabled with -D${DISABLENAME}=FALSE. All dependencies can be disabled by the command line option -DDISABLEDEPENDENCIES=TRUE or setting it in the GUI.")
ENDIF(WIN32)
ENDMACRO(STANDARDNOTFOUNDMESSAGE)

View File

@ -0,0 +1,56 @@
# - Find MySQL
# Find the MySQL includes and client library
# This module defines
# MYSQL_INCLUDE_DIR, where to find mysql.h
# MYSQL_LIBRARIES, the libraries needed to use MySQL.
# MYSQL_FOUND, If false, do not try to use MySQL.
#
# Copyright (c) 2006, Jaroslaw Staniek, <js@iidea.pl>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
# Note: The referenced COPYING-CMAKE-SCRIPTS file was not present in the RakNet
# repository. We also failed to get in touch with the copyright holder by mail
# to clarify the situation. To the best of our knowledge the referenced license
# is the Modified BSD License.
if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
set(MYSQL_FOUND TRUE)
else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
find_path(MYSQL_INCLUDE_DIR mysql.h
/usr/include/mysql
/usr/local/include/mysql
$ENV{ProgramFiles}/MySQL/*/include
${PROGRAMFILESX86}/MySQL/*/include
$ENV{SystemDrive}/MySQL/*/include
)
if(WIN32 AND MSVC)
find_library(MYSQL_LIBRARIES NAMES libmysql
PATHS
$ENV{ProgramFiles}/MySQL/*/lib/opt
${PROGRAMFILESX86}/MySQL/*/lib/opt
$ENV{SystemDrive}/MySQL/*/lib/opt
)
else(WIN32 AND MSVC)
find_library(MYSQL_LIBRARIES NAMES mysqlclient
PATHS
/usr/lib/mysql
/usr/local/lib/mysql
)
endif(WIN32 AND MSVC)
if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
set(MYSQL_FOUND TRUE)
message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}")
else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
set(MYSQL_FOUND FALSE)
message(STATUS "MySQL not found.")
endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES)
endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)

View File

@ -0,0 +1,41 @@
# Try to find PortAudio
# Once done, this will define
#
# PORTAUDIO_FOUND - system has PortAudio
# PORTAUDIO_INCLUDE_DIR - the PortAudio include directories
# PORTAUDIO_LIBRARIES - link these to use PortAudio
#
#
# This file was taken from RakNet 4.082.
# Please see licenses/RakNet license.txt for the underlying license and related copyright.
#
#
#
# Modified work: Copyright (c) 2016, SLikeSoft UG (haftungsbeschränkt)
#
# This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
# license found in the license.txt file in the root directory of this source tree.
#
if(PORTAUDIO_INCLUDE_DIR AND PORTAUDIO_LIBRARIES)
set(PORTAUDIO_FIND_QUIETLY TRUE)
endif(PORTAUDIO_INCLUDE_DIR AND PORTAUDIO_LIBRARIES)
# include dir
find_path(PORTAUDIO_INCLUDE_DIR portaudio.h
/usr/include/
)
# Finally the library itself.
find_library(libPortAudio NAMES portaudio)
find_library(libPortAudioCpp NAMES portaudiocpp)
set(PORTAUDIO_LIBRARIES ${libPortAudio} ${libPortAudioCpp})
# Handle the QUIETLY and REQUIRED arguments and set PORTAUDIO_FOUND to TRUE if
# all listed variables are TRUE.
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PortAudio DEFAULT_MSG PORTAUDIO_LIBRARIES PORTAUDIO_INCLUDE_DIR)
mark_as_advanced(PORTAUDIO_LIBRARIES PORTAUDIO_INCLUDE_DIR)

View File

@ -0,0 +1,58 @@
# - Find PostgreSQL
# Find the PostgreSQL includes and client library
# This module defines
# POSTGRESQL_INCLUDE_DIR, where to find POSTGRESQL.h
# POSTGRESQL_LIBRARIES, the libraries needed to use POSTGRESQL.
# POSTGRESQL_FOUND, If false, do not try to use PostgreSQL.
#
# Copyright (c) 2006, Jaroslaw Staniek, <js@iidea.pl>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
# Note: The referenced COPYING-CMAKE-SCRIPTS file was not present in the RakNet
# repository. We also failed to get in touch with the copyright holder by mail
# to clarify the situation. To the best of our knowledge the referenced license
# is the Modified BSD License.
if(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)
set(POSTGRESQL_FOUND TRUE)
else(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)
find_path(POSTGRESQL_INCLUDE_DIR libpq-fe.h
/usr/include/pgsql
/usr/local/include/pgsql
/usr/include/postgresql
$ENV{ProgramFiles}/PostgreSQL/*/include
${PROGRAMFILESX86}/PostgreSQL/*/include
$ENV{SystemDrive}/PostgreSQL/*/include
${CUSTOMPROGRAMFILES}/PostgreSQL/*/include
)
find_library(POSTGRESQL_LIBRARIES NAMES pq libpq
PATHS
/usr/lib
/usr/local/lib
/usr/lib/postgresql
$ENV{ProgramFiles}/PostgreSQL/*/lib/ms
${PROGRAMFILESX86}/PostgreSQL/*/lib/ms
$ENV{SystemDrive}/PostgreSQL/*/lib/ms
${CUSTOMPROGRAMFILES}/PostgreSQL/*/lib/ms
$ENV{ProgramFiles}/PostgreSQL/*/lib
${PROGRAMFILESX86}/PostgreSQL/*/lib
$ENV{SystemDrive}/PostgreSQL/*/lib
${CUSTOMPROGRAMFILES}/PostgreSQL/*/lib
)
if(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)
set(POSTGRESQL_FOUND TRUE)
message(STATUS "Found PostgreSQL: ${POSTGRESQL_INCLUDE_DIR}, ${POSTGRESQL_LIBRARIES}")
else(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)
set(POSTGRESQL_FOUND FALSE)
message(STATUS "PostgreSQL not found.")
endif(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)
mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES)
endif(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)

View File

@ -0,0 +1,84 @@
# - Try to find Speex
# Once done this will define
#
# SPEEX_FOUND - system has Speex
# SPEEX_INCLUDE_DIRS - the Speex include directory
# SPEEX_LIBRARIES - Link these to use Speex
# SPEEX_DEFINITIONS - Compiler switches required for using Speex
#
# Copyright (c) 2006 Andreas Schneider <mail@cynapses.org>
#
# Redistribution and use is allowed according to the terms of the New
# BSD license.
# For details see the accompanying FindIrrlicht CMake License.txt in the license directory
# in the root of the source tree.
#
if (SPEEX_LIBRARIES AND SPEEX_INCLUDE_DIRS)
# in cache already
set(SPEEX_FOUND TRUE)
else (SPEEX_LIBRARIES AND SPEEX_INCLUDE_DIRS)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
include(UsePkgConfig)
pkgconfig(speex _SpeexIncDir _SpeexLinkDir _SpeexLinkFlags _SpeexCflags)
set(SPEEX_DEFINITIONS ${_SpeexCflags})
find_path(SPEEX_INCLUDE_DIR
NAMES
speex/speex.h
PATHS
${_SpeexIncDir}
/usr/include
/usr/local/include
/opt/local/include
/sw/include
)
find_library(SPEEX_LIBRARY
NAMES
speex
PATHS
${_SpeexLinkDir}
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
)
if (SPEEX_LIBRARY)
set(SPEEX_FOUND TRUE)
endif (SPEEX_LIBRARY)
set(SPEEX_INCLUDE_DIRS
${SPEEX_INCLUDE_DIR}
)
if (SPEEX_FOUND)
set(SPEEX_LIBRARIES
${SPEEX_LIBRARIES}
${SPEEX_LIBRARY}
)
endif (SPEEX_FOUND)
if (SPEEX_INCLUDE_DIRS AND SPEEX_LIBRARIES)
set(SPEEX_FOUND TRUE)
endif (SPEEX_INCLUDE_DIRS AND SPEEX_LIBRARIES)
if (SPEEX_FOUND)
if (NOT Speex_FIND_QUIETLY)
message(STATUS "Found Speex: ${SPEEX_LIBRARIES}")
endif (NOT Speex_FIND_QUIETLY)
else (SPEEX_FOUND)
if (Speex_FIND_REQUIRED)
message(FATAL_ERROR "Could not find Speex")
endif (Speex_FIND_REQUIRED)
endif (SPEEX_FOUND)
# show the SPEEX_INCLUDE_DIRS and SPEEX_LIBRARIES variables only in the advanced view
mark_as_advanced(SPEEX_INCLUDE_DIRS SPEEX_LIBRARIES)
endif (SPEEX_LIBRARIES AND SPEEX_INCLUDE_DIRS)

View File

@ -0,0 +1,87 @@
# - Try to find Speex
# Once done this will define
#
# SPEEXDSP_FOUND - system has Speex
# SPEEXDSP_INCLUDE_DIRS - the SpeexDSP include directory
# SPEEXDSP_LIBRARIES - Link these to use Speex
# SPEEXDSP_DEFINITIONS - Compiler switches required for using Speex
#
# Copyright (c) 2006 Andreas Schneider <mail@cynapses.org>
#
# Redistribution and use is allowed according to the terms of the New
# BSD license.
# For details see the accompanying FindIrrlicht CMake License.txt in the license directory
# in the root of the source tree.
#
#This has been modified from the original
if (SPEEXDSP_LIBRARIES AND SPEEXDSP_INCLUDE_DIRS)
# in cache already
set(SPEEXDSP_FOUND TRUE)
else (SPEEXDSP_LIBRARIES AND SPEEXDSP_INCLUDE_DIRS)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
include(UsePkgConfig)
pkgconfig(speex _SpeexDSPIncDir _SpeexDSPLinkDir _SpeexDSPLinkFlags _SpeexDSPCflags)
set(SPEEXDSP_DEFINITIONS ${_SpeexDSPCflags})
find_path(SPEEXDSP_INCLUDE_DIR
NAMES
speex/speex_preprocess.h
PATHS
${_SpeexDSPIncDir}
/usr/include
/usr/local/include
/opt/local/include
/sw/include
)
find_library(SPEEXDSP_LIBRARY
NAMES
speexdsp
PATHS
${_SpeexDSPLinkDir}
/usr/lib
/usr/local/lib
/opt/local/lib
/sw/lib
)
if (SPEEXDSP_LIBRARY)
set(SPEEXDSP_FOUND TRUE)
endif (SPEEXDSP_LIBRARY)
set(SPEEXDSP_INCLUDE_DIRS
${SPEEXDSP_INCLUDE_DIR}
)
if (SPEEXDSP_FOUND)
set(SPEEXDSP_LIBRARIES
${SPEEXDSP_LIBRARIES}
${SPEEXDSP_LIBRARY}
)
endif (SPEEXDSP_FOUND)
if (SPEEXDSP_INCLUDE_DIRS AND SPEEXDSP_LIBRARIES)
set(SPEEXDSP_FOUND TRUE)
endif (SPEEXDSP_INCLUDE_DIRS AND SPEEXDSP_LIBRARIES)
if (SPEEXDSP_FOUND)
if (NOT SPEEXDSP_FIND_QUIETLY)
message(STATUS "Found SpeexDSP: ${SPEEXDSP_LIBRARIES}")
endif (NOT SPEEXDSP_FIND_QUIETLY)
else (SPEEXDSP_FOUND)
if (SPEEXDSP_FIND_REQUIRED)
message(FATAL_ERROR "Could not find SpeexDSP")
endif (SPEEXDSP_FIND_REQUIRED)
endif (SPEEXDSP_FOUND)
# show the SPEEXDSP_INCLUDE_DIRS and SPEEXDSP_LIBRARIES variables only in the advanced view
mark_as_advanced(SPEEXDSP_INCLUDE_DIRS SPEEXDSP_LIBRARIES)
endif (SPEEXDSP_LIBRARIES AND SPEEXDSP_INCLUDE_DIRS)

View File

@ -0,0 +1,513 @@
# This file was taken from RakNet 4.082.
# Please see licenses/RakNet license.txt for the underlying license and related copyright.
#
#
# Modified work: Copyright (c) 2019, SLikeSoft UG (haftungsbeschränkt)
#
# This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
# license found in the license.txt file in the root directory of this source tree.
#
#This has been modified fron the original
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/Ogre3D/PreprocessorUtils.cmake)
include(${SLikeNet_SOURCE_DIR}/CmakeIncludes/Ogre3D/FindPkgMacros.cmake)
#-------------------------------------------------------------------
# This file is part of the CMake build system for OGRE
# (Object-oriented Graphics Rendering Engine)
# For the latest info, see http://www.ogre3d.org/
#
# The contents of this file are placed in the public domain. Feel
# free to make use of it in any way you like.
#-------------------------------------------------------------------
#
# This file was taken from RakNet 4.082 without any modifications.
# Please see licenses/RakNet license.txt for the underlying license and related copyright.
#
# - Try to find OGRE
# If you have multiple versions of Ogre installed, use the CMake or
# the environment variable OGRE_HOME to point to the path where the
# desired Ogre version can be found.
# By default this script will look for a dynamic Ogre build. If you
# need to link against static Ogre libraries, set the CMake variable
# OGRE_STATIC to TRUE.
#
# Once done, this will define
#
# OGRE_FOUND - system has OGRE
# OGRE_INCLUDE_DIRS - the OGRE include directories
# OGRE_LIBRARIES - link these to use the OGRE core
#
# Additionally this script searches for the following optional
# parts of the Ogre package:
# Plugin_BSPSceneManager, Plugin_CgProgramManager,
# Plugin_OctreeSceneManager, Plugin_OctreeZone,
# Plugin_ParticleFX, Plugin_PCZSceneManager,
# RenderSystem_GL, RenderSystem_Direct3D9, RenderSystem_Direct3D10,
# Paging, Terrain
#
# For each of these components, the following variables are defined:
#
# OGRE_${COMPONENT}_FOUND - ${COMPONENT} is available
# OGRE_${COMPONENT}_INCLUDE_DIRS - additional include directories for ${COMPONENT}
# OGRE_${COMPONENT}_LIBRARIES - link these to use ${COMPONENT}
#
# Finally, the following variables are defined:
#
# OGRE_PLUGIN_DIR_REL - The directory where the release versions of
# the OGRE plugins are located
# OGRE_PLUGIN_DIR_DBG - The directory where the debug versions of
# the OGRE plugins are located
# OGRE_MEDIA_DIR - The directory where the OGRE sample media is
# located, if available
#include(FindPkgMacros)
#include(PreprocessorUtils)
IF (UNIX)
FIND_PACKAGE(PkgConfig)
PKG_SEARCH_MODULE(OGRE OGRE)
SET(OGRE_LIB_DIR ${OGRE_LIBDIR})
ENDIF (UNIX)
findpkg_begin(OGRE)
# Get path, convert backslashes as ${ENV_${var}}
getenv_path(OGRE_HOME)
getenv_path(OGRE_SDK)
getenv_path(OGRE_SOURCE)
getenv_path(OGRE_BUILD)
getenv_path(PROGRAMFILES)
# Determine whether to search for a dynamic or static build
if (OGRE_STATIC)
set(OGRE_LIB_SUFFIX "Static")
else ()
set(OGRE_LIB_SUFFIX "")
endif ()
set(OGRE_LIBRARY_NAMES "OgreMain${OGRE_LIB_SUFFIX}")
get_debug_names(OGRE_LIBRARY_NAMES)
# construct search paths from environmental hints and
# OS specific guesses
if (WIN32)
set(OGRE_PREFIX_GUESSES
${ENV_PROGRAMFILES}/OGRE
C:/OgreSDK
)
elseif (UNIX)
set(OGRE_PREFIX_GUESSES
/opt/ogre
/opt/OGRE
/usr/lib/
/usr/lib/ogre
/usr/lib/OGRE
/usr/local/lib/ogre
/usr/local/lib/OGRE
$ENV{HOME}/ogre
$ENV{HOME}/OGRE
)
endif ()
set(OGRE_PREFIX_PATH
${OGRE_HOME} ${ENV_OGRE_HOME} ${ENV_OGRE_SDK}
${OGRE_PREFIX_GUESSES}
)
create_search_paths(OGRE)
# If both OGRE_BUILD and OGRE_SOURCE are set, prepare to find Ogre in a build dir
set(OGRE_PREFIX_SOURCE ${OGRE_SOURCE} ${ENV_OGRE_SOURCE})
set(OGRE_PREFIX_BUILD ${OGRE_BUILD} ${ENV_OGRE_BUILD})
if (OGRE_PREFIX_SOURCE AND OGRE_PREFIX_BUILD)
foreach(dir ${OGRE_PREFIX_SOURCE})
set(OGRE_INC_SEARCH_PATH ${dir}/OgreMain/include ${dir}/Dependencies/include ${dir}/iPhoneDependencies/include ${OGRE_INC_SEARCH_PATH})
set(OGRE_LIB_SEARCH_PATH ${dir}/lib ${dir}/Dependencies/lib ${dir}/iPhoneDependencies/lib ${OGRE_LIB_SEARCH_PATH})
endforeach(dir)
foreach(dir ${OGRE_PREFIX_BUILD})
set(OGRE_INC_SEARCH_PATH ${dir}/include ${OGRE_INC_SEARCH_PATH})
set(OGRE_LIB_SEARCH_PATH ${dir}/lib ${OGRE_LIB_SEARCH_PATH})
endforeach(dir)
else()
set(OGRE_PREFIX_SOURCE "NOTFOUND")
set(OGRE_PREFIX_BUILD "NOTFOUND")
endif ()
# redo search if any of the environmental hints changed
set(OGRE_COMPONENTS Paging Terrain
Plugin_BSPSceneManager Plugin_CgProgramManager Plugin_OctreeSceneManager
Plugin_OctreeZone Plugin_PCZSceneManager Plugin_ParticleFX
RenderSystem_Direct3D10 RenderSystem_Direct3D9 RenderSystem_GL RenderSystem_GLES)
set(OGRE_RESET_VARS
OGRE_CONFIG_INCLUDE_DIR OGRE_INCLUDE_DIR
OGRE_LIBRARY_FWK OGRE_LIBRARY_REL OGRE_LIBRARY_DBG
OGRE_PLUGIN_DIR_DBG OGRE_PLUGIN_DIR_REL OGRE_MEDIA_DIR)
foreach (comp ${OGRE_COMPONENTS})
set(OGRE_RESET_VARS ${OGRE_RESET_VARS}
OGRE_${comp}_INCLUDE_DIR OGRE_${comp}_LIBRARY_FWK
OGRE_${comp}_LIBRARY_DBG OGRE_${comp}_LIBRARY_REL
)
endforeach (comp)
set(OGRE_PREFIX_WATCH ${OGRE_PREFIX_PATH} ${OGRE_PREFIX_SOURCE} ${OGRE_PREFIX_BUILD})
clear_if_changed(OGRE_PREFIX_WATCH ${OGRE_RESET_VARS})
# try to locate Ogre via pkg-config
use_pkgconfig(OGRE_PKGC "OGRE${OGRE_LIB_SUFFIX}")
# try to find framework on OSX
findpkg_framework(OGRE)
# locate Ogre include files
find_path(OGRE_CONFIG_INCLUDE_DIR NAMES OgreConfig.h HINTS ${OGRE_INC_SEARCH_PATH} ${OGRE_FRAMEWORK_INCLUDES} ${OGRE_PKGC_INCLUDE_DIRS} PATH_SUFFIXES "OGRE")
find_path(OGRE_INCLUDE_DIR NAMES OgreRoot.h HINTS ${OGRE_CONFIG_INCLUDE_DIR} ${OGRE_INC_SEARCH_PATH} ${OGRE_FRAMEWORK_INCLUDES} ${OGRE_PKGC_INCLUDE_DIRS} PATH_SUFFIXES "OGRE")
set(OGRE_INCOMPATIBLE FALSE)
if (OGRE_INCLUDE_DIR AND OGRE_CONFIG_INCLUDE_DIR)
# determine Ogre version
file(READ ${OGRE_INCLUDE_DIR}/OgrePrerequisites.h OGRE_TEMP_VERSION_CONTENT)
get_preprocessor_entry(OGRE_TEMP_VERSION_CONTENT OGRE_VERSION_MAJOR OGRE_VERSION_MAJOR)
get_preprocessor_entry(OGRE_TEMP_VERSION_CONTENT OGRE_VERSION_MINOR OGRE_VERSION_MINOR)
get_preprocessor_entry(OGRE_TEMP_VERSION_CONTENT OGRE_VERSION_PATCH OGRE_VERSION_PATCH)
get_preprocessor_entry(OGRE_TEMP_VERSION_CONTENT OGRE_VERSION_NAME OGRE_VERSION_NAME)
set(OGRE_VERSION "${OGRE_VERSION_MAJOR}.${OGRE_VERSION_MINOR}.${OGRE_VERSION_PATCH}")
pkg_message(OGRE "Found Ogre ${OGRE_VERSION_NAME} (${OGRE_VERSION})")
# determine configuration settings
set(OGRE_CONFIG_HEADERS
${OGRE_CONFIG_INCLUDE_DIR}/OgreBuildSettings.h
${OGRE_CONFIG_INCLUDE_DIR}/config.h
${OGRE_CONFIG_INCLUDE_DIR}/OgreConfig.h
)
foreach(CFG_FILE ${OGRE_CONFIG_HEADERS})
if (EXISTS ${CFG_FILE})
set(OGRE_CONFIG_HEADER ${CFG_FILE})
break()
endif()
endforeach()
if (OGRE_CONFIG_HEADER)
file(READ ${OGRE_CONFIG_HEADER} OGRE_TEMP_CONFIG_CONTENT)
has_preprocessor_entry(OGRE_TEMP_CONFIG_CONTENT OGRE_STATIC_LIB OGRE_CONFIG_STATIC)
get_preprocessor_entry(OGRE_TEMP_CONFIG_CONTENT OGRE_THREAD_SUPPORT OGRE_CONFIG_THREADS)
get_preprocessor_entry(OGRE_TEMP_CONFIG_CONTENT OGRE_THREAD_PROVIDER OGRE_CONFIG_THREAD_PROVIDER)
get_preprocessor_entry(OGRE_TEMP_CONFIG_CONTENT OGRE_NO_FREEIMAGE OGRE_CONFIG_FREEIMAGE)
if (OGRE_CONFIG_STATIC AND OGRE_STATIC)
elseif (OGRE_CONFIG_STATIC OR OGRE_STATIC)
pkg_message(OGRE "Build type (static, dynamic) does not match the requested one.")
set(OGRE_INCOMPATIBLE TRUE)
endif ()
else ()
pkg_message(OGRE "Could not determine Ogre build configuration.")
set(OGRE_INCOMPATIBLE TRUE)
endif ()
else ()
set(OGRE_INCOMPATIBLE FALSE)
endif ()
find_library(OGRE_LIBRARY_REL NAMES ${OGRE_LIBRARY_NAMES} HINTS ${OGRE_LIB_SEARCH_PATH} ${OGRE_PKGC_LIBRARY_DIRS} ${OGRE_FRAMEWORK_SEARCH_PATH} PATH_SUFFIXES "" "release" "relwithdebinfo" "minsizerel")
#find_file(OGRE_LIB_DIR RenderSystem_GL.so HINTS ${OGRE_LIB_SEARCH_PATH} ${OGRE_PKGC_LIBRARY_DIRS} ${OGRE_FRAMEWORK_SEARCH_PATH} PATH_SUFFIXES "" "release" "relwithdebinfo" #"minsizerel")
find_library(OGRE_LIBRARY_DBG NAMES ${OGRE_LIBRARY_NAMES_DBG} HINTS ${OGRE_LIB_SEARCH_PATH} ${OGRE_PKGC_LIBRARY_DIRS} ${OGRE_FRAMEWORK_SEARCH_PATH} PATH_SUFFIXES "" "debug")
#find_file(OGRE_LIBD_DIR RenderSystem_GL.so HINTS ${OGRE_LIB_SEARCH_PATH} ${OGRE_PKGC_LIBRARY_DIRS} ${OGRE_FRAMEWORK_SEARCH_PATH} PATH_SUFFIXES "" "debug")
make_library_set(OGRE_LIBRARY)
if(APPLE)
set(OGRE_LIBRARY_DBG ${OGRE_LIB_SEARCH_PATH})
endif()
if (OGRE_INCOMPATIBLE)
set(OGRE_LIBRARY "NOTFOUND")
endif ()
set(OGRE_INCLUDE_DIR ${OGRE_CONFIG_INCLUDE_DIR} ${OGRE_INCLUDE_DIR})
list(REMOVE_DUPLICATES OGRE_INCLUDE_DIR)
findpkg_finish(OGRE)
add_parent_dir(OGRE_INCLUDE_DIRS OGRE_INCLUDE_DIR)
mark_as_advanced(OGRE_CONFIG_INCLUDE_DIR OGRE_MEDIA_DIR OGRE_PLUGIN_DIR_REL OGRE_PLUGIN_DIR_DBG)
if (NOT OGRE_FOUND)
return()
endif ()
# look for required Ogre dependencies in case of static build and/or threading
if (OGRE_STATIC)
set(OGRE_DEPS_FOUND TRUE)
find_package(Cg QUIET)
find_package(DirectX QUIET)
find_package(FreeImage QUIET)
find_package(Freetype QUIET)
find_package(OpenGL QUIET)
find_package(OpenGLES QUIET)
find_package(ZLIB QUIET)
find_package(ZZip QUIET)
if (UNIX AND NOT APPLE)
find_package(X11 QUIET)
find_library(XAW_LIBRARY NAMES Xaw Xaw7 PATHS ${DEP_LIB_SEARCH_DIR} ${X11_LIB_SEARCH_PATH})
if (NOT XAW_LIBRARY OR NOT X11_Xt_FOUND)
set(X11_FOUND FALSE)
endif ()
endif ()
if (APPLE)
find_package(Cocoa QUIET)
find_package(Carbon QUIET)
if (NOT Cocoa_FOUND OR NOT Carbon_FOUND)
set(OGRE_DEPS_FOUND FALSE)
endif ()
endif ()
set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${OGRE_LIBRARY_FWK} ${ZZip_LIBRARIES} ${ZLIB_LIBRARIES}
${FreeImage_LIBRARIES} ${FREETYPE_LIBRARIES}
${X11_LIBRARIES} ${X11_Xt_LIBRARIES} ${XAW_LIBRARY} ${X11_Xrandr_LIB}
${Cocoa_LIBRARIES} ${Carbon_LIBRARIES})
if (NOT ZLIB_FOUND OR NOT ZZip_FOUND)
set(OGRE_DEPS_FOUND FALSE)
endif ()
if (NOT FreeImage_FOUND AND NOT OGRE_CONFIG_FREEIMAGE)
set(OGRE_DEPS_FOUND FALSE)
endif ()
if (NOT FREETYPE_FOUND)
set(OGRE_DEPS_FOUND FALSE)
endif ()
if (UNIX AND NOT APPLE)
if (NOT X11_FOUND)
set(OGRE_DEPS_FOUND FALSE)
endif ()
endif ()
if (OGRE_CONFIG_THREADS)
if (OGRE_CONFIG_THREAD_PROVIDER EQUAL 1)
find_package(Boost COMPONENTS thread QUIET)
if (NOT Boost_THREAD_FOUND)
set(OGRE_DEPS_FOUND FALSE)
else ()
set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${Boost_LIBRARIES})
endif ()
elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 2)
find_package(POCO QUIET)
if (NOT POCO_FOUND)
set(OGRE_DEPS_FOUND FALSE)
else ()
set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${POCO_LIBRARIES})
endif ()
elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 3)
find_package(TBB QUIET)
if (NOT TBB_FOUND)
set(OGRE_DEPS_FOUND FALSE)
else ()
set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${TBB_LIBRARIES})
endif ()
endif ()
endif ()
if (NOT OGRE_DEPS_FOUND)
pkg_message(OGRE "Could not find all required dependencies for the Ogre package.")
set(OGRE_FOUND FALSE)
endif ()
endif ()
if (NOT OGRE_FOUND)
return()
endif ()
get_filename_component(OGRE_LIBRARY_DIR_REL "${OGRE_LIBRARY_REL}" PATH)
get_filename_component(OGRE_LIBRARY_DIR_DBG "${OGRE_LIBRARY_DBG}" PATH)
set(OGRE_LIBRARY_DIRS ${OGRE_LIBRARY_DIR_REL} ${OGRE_LIBRARY_DIR_DBG} /usr/lib/OGRE/ /usr/lib/debug/usr/lib/OGRE/)
# look for Paging component
findpkg_begin(OGRE_Paging)
find_path(OGRE_Paging_INCLUDE_DIR NAMES OgrePaging.h HINTS ${OGRE_INCLUDE_DIRS} ${OGRE_PREFIX_SOURCE} PATH_SUFFIXES Paging OGRE/Paging Components/Paging/include)
set(OGRE_Paging_LIBRARY_NAMES "OgrePaging${OGRE_LIB_SUFFIX}")
get_debug_names(OGRE_Paging_LIBRARY_NAMES)
find_library(OGRE_Paging_LIBRARY_REL NAMES ${OGRE_Paging_LIBRARY_NAMES} HINTS ${OGRE_LIBRARY_DIR_REL} PATH_SUFFIXES "" "release" "relwithdebinfo" "minsizerel")
find_library(OGRE_Paging_LIBRARY_DBG NAMES ${OGRE_Paging_LIBRARY_NAMES_DBG} HINTS ${OGRE_LIBRARY_DIR_DBG} PATH_SUFFIXES "" "debug")
set(OGRE_Paging_LIBRARY_FWK ${OGRE_LIBRARY_FWK})
make_library_set(OGRE_Paging_LIBRARY)
findpkg_finish(OGRE_Paging)
# look for Terrain component
findpkg_begin(OGRE_Terrain)
find_path(OGRE_Terrain_INCLUDE_DIR NAMES OgreTerrain.h HINTS ${OGRE_INCLUDE_DIRS} ${OGRE_PREFIX_SOURCE} PATH_SUFFIXES Terrain OGRE/Terrain Components/Terrain/include)
set(OGRE_Terrain_LIBRARY_NAMES "OgreTerrain${OGRE_LIB_SUFFIX}")
get_debug_names(OGRE_Terrain_LIBRARY_NAMES)
find_library(OGRE_Terrain_LIBRARY_REL NAMES ${OGRE_Terrain_LIBRARY_NAMES} HINTS ${OGRE_LIBRARY_DIR_REL} PATH_SUFFIXES "" "release" "relwithdebinfo" "minsizerel")
find_library(OGRE_Terrain_LIBRARY_DBG NAMES ${OGRE_Terrain_LIBRARY_NAMES_DBG} HINTS ${OGRE_LIBRARY_DIR_DBG} PATH_SUFFIXES "" "debug")
make_library_set(OGRE_Terrain_LIBRARY)
findpkg_finish(OGRE_Terrain)
# look for Property component
findpkg_begin(OGRE_Property)
find_path(OGRE_Property_INCLUDE_DIR NAMES OgreProperty.h HINTS ${OGRE_INCLUDE_DIRS} ${OGRE_PREFIX_SOURCE} PATH_SUFFIXES Property OGRE/Property Components/Property/include)
set(OGRE_Property_LIBRARY_NAMES "OgreProperty${OGRE_LIB_SUFFIX}")
get_debug_names(OGRE_Property_LIBRARY_NAMES)
find_library(OGRE_Property_LIBRARY_REL NAMES ${OGRE_Property_LIBRARY_NAMES} HINTS ${OGRE_LIBRARY_DIR_REL} PATH_SUFFIXES "" "release" "relwithdebinfo" "minsizerel")
find_library(OGRE_Property_LIBRARY_DBG NAMES ${OGRE_Property_LIBRARY_NAMES_DBG} HINTS ${OGRE_LIBRARY_DIR_DBG} PATH_SUFFIXES "" "debug")
make_library_set(OGRE_Property_LIBRARY)
findpkg_finish(OGRE_Property)
# look for RTShaderSystem component
findpkg_begin(OGRE_RTShaderSystem)
find_path(OGRE_RTShaderSystem_INCLUDE_DIR NAMES OgreRTShaderSystem.h HINTS ${OGRE_INCLUDE_DIRS} ${OGRE_PREFIX_SOURCE} PATH_SUFFIXES RTShaderSystem OGRE/RTShaderSystem Components/RTShaderSystem/include)
set(OGRE_RTShaderSystem_LIBRARY_NAMES "OgreRTShaderSystem${OGRE_LIB_SUFFIX}")
get_debug_names(OGRE_RTShaderSystem_LIBRARY_NAMES)
find_library(OGRE_RTShaderSystem_LIBRARY_REL NAMES ${OGRE_RTShaderSystem_LIBRARY_NAMES} HINTS ${OGRE_LIBRARY_DIR_REL} PATH_SUFFIXES "" "release" "relwithdebinfo" "minsizerel")
find_library(OGRE_RTShaderSystem_LIBRARY_DBG NAMES ${OGRE_RTShaderSystem_LIBRARY_NAMES_DBG} HINTS ${OGRE_LIBRARY_DIR_DBG} PATH_SUFFIXES "" "debug")
make_library_set(OGRE_RTShaderSystem_LIBRARY)
findpkg_finish(OGRE_RTShaderSystem)
#########################################################
# Find Ogre plugins
#########################################################
macro(ogre_find_plugin PLUGIN HEADER)
# On Unix, the plugins might have no prefix
if (CMAKE_FIND_LIBRARY_PREFIXES)
set(TMP_CMAKE_LIB_PREFIX ${CMAKE_FIND_LIBRARY_PREFIXES})
set(CMAKE_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES} "")
endif()
# strip RenderSystem_ or Plugin_ prefix from plugin name
string(REPLACE "RenderSystem_" "" PLUGIN_TEMP ${PLUGIN})
string(REPLACE "Plugin_" "" PLUGIN_NAME ${PLUGIN_TEMP})
# header files for plugins are not usually needed, but find them anyway if they are present
set(OGRE_PLUGIN_PATH_SUFFIXES
PlugIns PlugIns/${PLUGIN_NAME} Plugins Plugins/${PLUGIN_NAME} ${PLUGIN}
RenderSystems RenderSystems/${PLUGIN_NAME} ${ARGN})
find_path(OGRE_${PLUGIN}_INCLUDE_DIR NAMES ${HEADER}
HINTS ${OGRE_INCLUDE_DIRS} ${OGRE_PREFIX_SOURCE}
PATH_SUFFIXES ${OGRE_PLUGIN_PATH_SUFFIXES})
# find link libraries for plugins
set(OGRE_${PLUGIN}_LIBRARY_NAMES "${PLUGIN}${OGRE_LIB_SUFFIX}")
get_debug_names(OGRE_${PLUGIN}_LIBRARY_NAMES)
set(OGRE_${PLUGIN}_LIBRARY_FWK ${OGRE_LIBRARY_FWK})
find_library(OGRE_${PLUGIN}_LIBRARY_REL NAMES ${OGRE_${PLUGIN}_LIBRARY_NAMES}
HINTS ${OGRE_LIBRARY_DIRS} PATH_SUFFIXES "" OGRE opt release release/opt relwithdebinfo relwithdebinfo/opt minsizerel minsizerel/opt)
find_library(OGRE_${PLUGIN}_LIBRARY_DBG NAMES ${OGRE_${PLUGIN}_LIBRARY_NAMES_DBG}
HINTS ${OGRE_LIBRARY_DIRS} PATH_SUFFIXES "" OGRE opt debug debug/opt)
make_library_set(OGRE_${PLUGIN}_LIBRARY)
if (OGRE_${PLUGIN}_LIBRARY OR OGRE_${PLUGIN}_INCLUDE_DIR)
set(OGRE_${PLUGIN}_FOUND TRUE)
if (OGRE_${PLUGIN}_INCLUDE_DIR)
set(OGRE_${PLUGIN}_INCLUDE_DIRS ${OGRE_${PLUGIN}_INCLUDE_DIR})
endif()
set(OGRE_${PLUGIN}_LIBRARIES ${OGRE_${PLUGIN}_LIBRARY})
endif ()
mark_as_advanced(OGRE_${PLUGIN}_INCLUDE_DIR OGRE_${PLUGIN}_LIBRARY_REL OGRE_${PLUGIN}_LIBRARY_DBG OGRE_${PLUGIN}_LIBRARY_FWK)
# look for plugin dirs
if (OGRE_${PLUGIN}_FOUND)
if (NOT OGRE_PLUGIN_DIR_REL OR NOT OGRE_PLUGIN_DIR_DBG)
if (WIN32)
set(OGRE_PLUGIN_SEARCH_PATH_REL
${OGRE_LIBRARY_DIR_REL}/..
${OGRE_LIBRARY_DIR_REL}/../..
/usr/lib/OGRE/
)
set(OGRE_PLUGIN_SEARCH_PATH_DBG
${OGRE_LIBRARY_DIR_DBG}/..
${OGRE_LIBRARY_DIR_DBG}/../..
/usr/lib/debug/usr/lib/OGRE/
)
find_path(OGRE_PLUGIN_DIR_REL NAMES "${PLUGIN}.dll" "${PLUGIN}.so" HINTS ${OGRE_PLUGIN_SEARCH_PATH_REL}
PATH_SUFFIXES "" bin bin/release bin/relwithdebinfo bin/minsizerel)
find_path(OGRE_PLUGIN_DIR_DBG NAMES "${PLUGIN}_d.dll" "${PLUGIN}.so" HINTS ${OGRE_PLUGIN_SEARCH_PATH_DBG}
PATH_SUFFIXES "" bin bin/debug)
elseif (UNIX)
get_filename_component(OGRE_PLUGIN_DIR_TMP ${OGRE_${PLUGIN}_LIBRARY_REL} PATH)
set(OGRE_PLUGIN_DIR_REL ${OGRE_PLUGIN_DIR_TMP} CACHE STRING "Ogre plugin dir (release)")
get_filename_component(OGRE_PLUGIN_DIR_TMP ${OGRE_${PLUGIN}_LIBRARY_DBG} PATH)
set(OGRE_PLUGIN_DIR_DBG ${OGRE_PLUGIN_DIR_TMP} CACHE STRING "Ogre plugin dir (debug)")
endif ()
endif ()
endif ()
if (TMP_CMAKE_LIB_PREFIX)
set(CMAKE_FIND_LIBRARY_PREFIXES ${TMP_CMAKE_LIB_PREFIX})
endif ()
endmacro(ogre_find_plugin)
ogre_find_plugin(Plugin_PCZSceneManager OgrePCZSceneManager.h PCZ PlugIns/PCZSceneManager/include)
ogre_find_plugin(Plugin_OctreeZone OgreOctreeZone.h PCZ PlugIns/OctreeZone/include)
ogre_find_plugin(Plugin_BSPSceneManager OgreBspSceneManager.h PlugIns/BSPSceneManager/include)
ogre_find_plugin(Plugin_CgProgramManager OgreCgProgram.h PlugIns/CgProgramManager/include)
ogre_find_plugin(Plugin_OctreeSceneManager OgreOctreeSceneManager.h PlugIns/OctreeSceneManager/include)
ogre_find_plugin(Plugin_ParticleFX OgreParticleFXPrerequisites.h PlugIns/ParticleFX/include)
ogre_find_plugin(RenderSystem_GL OgreGLRenderSystem.h RenderSystems/GL/include)
ogre_find_plugin(RenderSystem_GLES OgreGLESRenderSystem.h RenderSystems/GLES/include)
ogre_find_plugin(RenderSystem_Direct3D9 OgreD3D9RenderSystem.h RenderSystems/Direct3D9/include)
ogre_find_plugin(RenderSystem_Direct3D10 OgreD3D10RenderSystem.h RenderSystems/Direct3D10/include)
ogre_find_plugin(RenderSystem_Direct3D11 OgreD3D11RenderSystem.h RenderSystems/Direct3D11/include)
if (OGRE_STATIC)
# check if dependencies for plugins are met
if (NOT DirectX_FOUND)
set(OGRE_RenderSystem_Direct3D9_FOUND FALSE)
endif ()
if (NOT DirectX_D3D10_FOUND)
set(OGRE_RenderSystem_Direct3D10_FOUND FALSE)
endif ()
if (NOT DirectX_D3D11_FOUND)
set(OGRE_RenderSystem_Direct3D11_FOUND FALSE)
endif ()
if (NOT OPENGL_FOUND)
set(OGRE_RenderSystem_GL_FOUND FALSE)
endif ()
if (NOT OPENGLES_FOUND AND NOT OPENGLES2_FOUND)
set(OGRE_RenderSystem_GLES_FOUND FALSE)
endif ()
if (NOT Cg_FOUND)
set(OGRE_Plugin_CgProgramManager_FOUND FALSE)
endif ()
set(OGRE_RenderSystem_Direct3D9_LIBRARIES ${OGRE_RenderSystem_Direct3D9_LIBRARIES}
${DirectX_LIBRARIES}
)
set(OGRE_RenderSystem_Direct3D10_LIBRARIES ${OGRE_RenderSystem_Direct3D10_LIBRARIES}
${DirectX_D3D10_LIBRARIES}
)
set(OGRE_RenderSystem_Direct3D11_LIBRARIES ${OGRE_RenderSystem_Direct3D11_LIBRARIES}
${DirectX_D3D11_LIBRARIES}
)
set(OGRE_RenderSystem_GL_LIBRARIES ${OGRE_RenderSystem_GL_LIBRARIES}
${OPENGL_LIBRARIES}
)
set(OGRE_RenderSystem_GLES_LIBRARIES ${OGRE_RenderSystem_GLES_LIBRARIES}
${OPENGLES_LIBRARIES}
)
set(OGRE_Plugin_CgProgramManager_LIBRARIES ${OGRE_Plugin_CgProgramManager_LIBRARIES}
${Cg_LIBRARIES}
)
endif ()
# look for the media directory
set(OGRE_MEDIA_SEARCH_PATH
${OGRE_LIBRARY_DIR_REL}/..
${OGRE_LIBRARY_DIR_DBG}/..
${OGRE_LIBRARY_DIR_REL}/../..
${OGRE_LIBRARY_DIR_DBG}/../..
${OGRE_PREFIX_SOURCE}
)
set(OGRE_MEDIA_SEARCH_SUFFIX
Media
media
share/OGRE/media
Samples/Media
)
clear_if_changed(OGRE_PREFIX_WATCH OGRE_MEDIA_DIR)
find_path(OGRE_MEDIA_DIR NAMES packs/OgreCore.zip HINTS ${OGRE_MEDIA_SEARCH_PATH}
PATHS ${OGRE_PREFIX_PATH} PATH_SUFFIXES ${OGRE_MEDIA_SEARCH_SUFFIX})

View File

@ -0,0 +1,73 @@
#This has been modified fron the original
include(${RakNet_SOURCE_DIR}/CmakeIncludes/Ogre3D/PreprocessorUtils.cmake)
include(${RakNet_SOURCE_DIR}/CmakeIncludes/Ogre3D/FindPkgMacros.cmake)
#-------------------------------------------------------------------
# This file is part of the CMake build system for OGRE
# (Object-oriented Graphics Rendering Engine)
# For the latest info, see http://www.ogre3d.org/
#
# The contents of this file are placed in the public domain. Feel
# free to make use of it in any way you like.
#-------------------------------------------------------------------
#
# This file was taken from RakNet 4.082 without any modifications.
# Please see licenses/RakNet license.txt for the underlying license and related copyright.
#
# - Try to find OIS
# Once done, this will define
#
# OIS_FOUND - system has OIS
# OIS_INCLUDE_DIRS - the OIS include directories
# OIS_LIBRARIES - link these to use OIS
#include(FindPkgMacros)
findpkg_begin(OIS)
# Get path, convert backslashes as ${ENV_${var}}
getenv_path(OIS_HOME)
getenv_path(OGRE_HOME)
getenv_path(OGRE_SOURCE)
# construct search paths
set(OIS_PREFIX_PATH ${OIS_HOME} ${ENV_OIS_HOME}
${OGRE_SOURCE}/iPhoneDependencies ${ENV_OGRE_SOURCE}/iPhoneDependencies
${OGRE_SOURCE}/Dependencies ${ENV_OGRE_SOURCE}/Dependencies
${OGRE_HOME} ${ENV_OGRE_HOME})
create_search_paths(OIS)
# redo search if prefix path changed
clear_if_changed(OIS_PREFIX_PATH
OIS_LIBRARY_FWK
OIS_LIBRARY_REL
OIS_LIBRARY_DBG
OIS_INCLUDE_DIR
)
set(OIS_LIBRARY_NAMES OIS)
get_debug_names(OIS_LIBRARY_NAMES)
use_pkgconfig(OIS_PKGC OIS)
# For OIS, prefer static library over framework (important when referencing OIS source build)
set(CMAKE_FIND_FRAMEWORK "LAST")
findpkg_framework(OIS)
if (OIS_HOME)
# OIS uses the 'includes' path for its headers in the source release, not 'include'
set(OIS_INC_SEARCH_PATH ${OIS_INC_SEARCH_PATH} ${OIS_HOME}/includes)
endif()
if (APPLE AND OIS_HOME)
# OIS source build on Mac stores libs in a different location
# Also this is for static build
set(OIS_LIB_SEARCH_PATH ${OIS_LIB_SEARCH_PATH} ${OIS_HOME}/Mac/XCode-2.2/build)
endif()
find_path(OIS_INCLUDE_DIR NAMES OIS.h HINTS ${OIS_INC_SEARCH_PATH} ${OIS_PKGC_INCLUDE_DIRS} PATH_SUFFIXES OIS)
find_library(OIS_LIBRARY_REL NAMES ${OIS_LIBRARY_NAMES} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
find_library(OIS_LIBRARY_DBG NAMES ${OIS_LIBRARY_NAMES_DBG} HINTS ${OIS_LIB_SEARCH_PATH} ${OIS_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
make_library_set(OIS_LIBRARY)
findpkg_finish(OIS)
# Reset framework finding
set(CMAKE_FIND_FRAMEWORK "FIRST")

View File

@ -0,0 +1,142 @@
#-------------------------------------------------------------------
# This file is part of the CMake build system for OGRE
# (Object-oriented Graphics Rendering Engine)
# For the latest info, see http://www.ogre3d.org/
#
# The contents of this file are placed in the public domain. Feel
# free to make use of it in any way you like.
#-------------------------------------------------------------------
##################################################################
# Provides some common functionality for the FindPackage modules
##################################################################
# Begin processing of package
macro(findpkg_begin PREFIX)
if (NOT ${PREFIX}_FIND_QUIETLY)
message(STATUS "Looking for ${PREFIX}...")
endif ()
endmacro(findpkg_begin)
# Display a status message unless FIND_QUIETLY is set
macro(pkg_message PREFIX)
if (NOT ${PREFIX}_FIND_QUIETLY)
message(STATUS ${ARGN})
endif ()
endmacro(pkg_message)
# Get environment variable, define it as ENV_$var and make sure backslashes are converted to forward slashes
macro(getenv_path VAR)
set(ENV_${VAR} $ENV{${VAR}})
# replace won't work if var is blank
if (ENV_${VAR})
string( REGEX REPLACE "\\\\" "/" ENV_${VAR} ${ENV_${VAR}} )
endif ()
endmacro(getenv_path)
# Construct search paths for includes and libraries from a PREFIX_PATH
macro(create_search_paths PREFIX)
foreach(dir ${${PREFIX}_PREFIX_PATH})
set(${PREFIX}_INC_SEARCH_PATH ${${PREFIX}_INC_SEARCH_PATH}
${dir}/include ${dir}/include/${PREFIX} ${dir}/Headers)
set(${PREFIX}_LIB_SEARCH_PATH ${${PREFIX}_LIB_SEARCH_PATH}
${dir}/lib ${dir}/lib/${PREFIX} ${dir}/Libs)
endforeach(dir)
set(${PREFIX}_FRAMEWORK_SEARCH_PATH ${${PREFIX}_PREFIX_PATH})
endmacro(create_search_paths)
# clear cache variables if a certain variable changed
macro(clear_if_changed TESTVAR)
# test against internal check variable
if (NOT "${${TESTVAR}}" STREQUAL "${${TESTVAR}_INT_CHECK}")
message(STATUS "${TESTVAR} changed.")
foreach(var ${ARGN})
set(${var} "NOTFOUND" CACHE STRING "x" FORCE)
endforeach(var)
endif ()
set(${TESTVAR}_INT_CHECK ${${TESTVAR}} CACHE INTERNAL "x" FORCE)
endmacro(clear_if_changed)
# Try to get some hints from pkg-config, if available
macro(use_pkgconfig PREFIX PKGNAME)
find_package(PkgConfig)
if (PKG_CONFIG_FOUND)
pkg_check_modules(${PREFIX} ${PKGNAME})
endif ()
endmacro (use_pkgconfig)
# Couple a set of release AND debug libraries (or frameworks)
macro(make_library_set PREFIX)
if (${PREFIX}_FWK)
set(${PREFIX} ${${PREFIX}_FWK})
elseif (${PREFIX}_REL AND ${PREFIX}_DBG)
set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG})
elseif (${PREFIX}_REL)
set(${PREFIX} ${${PREFIX}_REL})
elseif (${PREFIX}_DBG)
set(${PREFIX} ${${PREFIX}_DBG})
endif ()
endmacro(make_library_set)
# Generate debug names from given release names
macro(get_debug_names PREFIX)
foreach(i ${${PREFIX}})
set(${PREFIX}_DBG ${${PREFIX}_DBG} ${i}d ${i}D ${i}_d ${i}_D ${i}_debug ${i})
endforeach(i)
endmacro(get_debug_names)
# Add the parent dir from DIR to VAR
macro(add_parent_dir VAR DIR)
get_filename_component(${DIR}_TEMP "${${DIR}}/.." ABSOLUTE)
set(${VAR} ${${VAR}} ${${DIR}_TEMP})
endmacro(add_parent_dir)
# Do the final processing for the package find.
macro(findpkg_finish PREFIX)
# skip if already processed during this run
if (NOT ${PREFIX}_FOUND)
if (${PREFIX}_INCLUDE_DIR AND ${PREFIX}_LIBRARY)
set(${PREFIX}_FOUND TRUE)
set(${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIR})
set(${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARY})
if (NOT ${PREFIX}_FIND_QUIETLY)
message(STATUS "Found ${PREFIX}: ${${PREFIX}_LIBRARIES}")
endif ()
else ()
if (NOT ${PREFIX}_FIND_QUIETLY)
message(STATUS "Could not locate ${PREFIX}")
endif ()
if (${PREFIX}_FIND_REQUIRED)
message(FATAL_ERROR "Required library ${PREFIX} not found! Install the library (including dev packages) and try again. If the library is already installed, set the missing variables manually in cmake.")
endif ()
endif ()
mark_as_advanced(${PREFIX}_INCLUDE_DIR ${PREFIX}_LIBRARY ${PREFIX}_LIBRARY_REL ${PREFIX}_LIBRARY_DBG ${PREFIX}_LIBRARY_FWK)
endif ()
endmacro(findpkg_finish)
# Slightly customised framework finder
MACRO(findpkg_framework fwk)
IF(APPLE)
SET(${fwk}_FRAMEWORK_PATH
${${fwk}_FRAMEWORK_SEARCH_PATH}
${CMAKE_FRAMEWORK_PATH}
~/Library/Frameworks
/Library/Frameworks
/System/Library/Frameworks
/Network/Library/Frameworks
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks/
)
FOREACH(dir ${${fwk}_FRAMEWORK_PATH})
SET(fwkpath ${dir}/${fwk}.framework)
IF(EXISTS ${fwkpath})
SET(${fwk}_FRAMEWORK_INCLUDES ${${fwk}_FRAMEWORK_INCLUDES}
${fwkpath}/Headers ${fwkpath}/PrivateHeaders)
if (NOT ${fwk}_LIBRARY_FWK)
SET(${fwk}_LIBRARY_FWK "-framework ${fwk}")
endif ()
ENDIF(EXISTS ${fwkpath})
ENDFOREACH(dir)
ENDIF(APPLE)
ENDMACRO(findpkg_framework)

View File

@ -0,0 +1,60 @@
#-------------------------------------------------------------------
# This file is part of the CMake build system for OGRE
# (Object-oriented Graphics Rendering Engine)
# For the latest info, see http://www.ogre3d.org/
#
# The contents of this file are placed in the public domain. Feel
# free to make use of it in any way you like.
#-------------------------------------------------------------------
macro(get_preprocessor_entry CONTENTS KEYWORD VARIABLE)
string(REGEX MATCH
"# *define +${KEYWORD} +((\"([^\n]*)\")|([^ \n]*))"
PREPROC_TEMP_VAR
${${CONTENTS}}
)
if (CMAKE_MATCH_3)
set(${VARIABLE} ${CMAKE_MATCH_3})
else ()
set(${VARIABLE} ${CMAKE_MATCH_4})
endif ()
endmacro()
macro(has_preprocessor_entry CONTENTS KEYWORD VARIABLE)
string(REGEX MATCH
"\n *# *define +(${KEYWORD})"
PREPROC_TEMP_VAR
${${CONTENTS}}
)
if (CMAKE_MATCH_1)
set(${VARIABLE} TRUE)
else ()
set(${VARIABLE} FALSE)
endif ()
endmacro()
macro(replace_preprocessor_entry VARIABLE KEYWORD NEW_VALUE)
string(REGEX REPLACE
"(// *)?# *define +${KEYWORD} +[^ \n]*"
"#define ${KEYWORD} ${NEW_VALUE}"
${VARIABLE}_TEMP
${${VARIABLE}}
)
set(${VARIABLE} ${${VARIABLE}_TEMP})
endmacro()
macro(set_preprocessor_entry VARIABLE KEYWORD ENABLE)
if (${ENABLE})
set(TMP_REPLACE_STR "#define ${KEYWORD}")
else ()
set(TMP_REPLACE_STR "// #define ${KEYWORD}")
endif ()
string(REGEX REPLACE
"(// *)?# *define +${KEYWORD} *\n"
${TMP_REPLACE_STR}
${VARIABLE}_TEMP
${${VARIABLE}}
)
set(${VARIABLE} ${${VARIABLE}_TEMP})
endmacro()