Init
This commit is contained in:
110
CmakeIncludes/CmakeMacros.txt
Normal file
110
CmakeIncludes/CmakeMacros.txt
Normal 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
|
||||
1249
CmakeIncludes/FindBoost.cmake
Normal file
1249
CmakeIncludes/FindBoost.cmake
Normal file
File diff suppressed because it is too large
Load Diff
103
CmakeIncludes/FindFMODEx.cmake
Normal file
103
CmakeIncludes/FindFMODEx.cmake
Normal 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)
|
||||
77
CmakeIncludes/FindIrrKlang.cmake
Normal file
77
CmakeIncludes/FindIrrKlang.cmake
Normal 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)
|
||||
77
CmakeIncludes/FindIrrlicht.cmake
Normal file
77
CmakeIncludes/FindIrrlicht.cmake
Normal 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)
|
||||
224
CmakeIncludes/FindMacros.txt
Normal file
224
CmakeIncludes/FindMacros.txt
Normal 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)
|
||||
56
CmakeIncludes/FindMySQL.cmake
Normal file
56
CmakeIncludes/FindMySQL.cmake
Normal 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)
|
||||
41
CmakeIncludes/FindPortAudio.cmake
Normal file
41
CmakeIncludes/FindPortAudio.cmake
Normal 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)
|
||||
58
CmakeIncludes/FindPostgreSQL.cmake
Normal file
58
CmakeIncludes/FindPostgreSQL.cmake
Normal 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)
|
||||
84
CmakeIncludes/FindSpeex.cmake
Normal file
84
CmakeIncludes/FindSpeex.cmake
Normal 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)
|
||||
87
CmakeIncludes/FindSpeexDSP.cmake
Normal file
87
CmakeIncludes/FindSpeexDSP.cmake
Normal 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)
|
||||
|
||||
513
CmakeIncludes/Ogre3D/FindOGRE.cmake
Normal file
513
CmakeIncludes/Ogre3D/FindOGRE.cmake
Normal 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})
|
||||
|
||||
73
CmakeIncludes/Ogre3D/FindOIS.cmake
Normal file
73
CmakeIncludes/Ogre3D/FindOIS.cmake
Normal 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")
|
||||
142
CmakeIncludes/Ogre3D/FindPkgMacros.cmake
Normal file
142
CmakeIncludes/Ogre3D/FindPkgMacros.cmake
Normal 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)
|
||||
60
CmakeIncludes/Ogre3D/PreprocessorUtils.cmake
Normal file
60
CmakeIncludes/Ogre3D/PreprocessorUtils.cmake
Normal 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()
|
||||
|
||||
Reference in New Issue
Block a user