| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8) # 2.8.5 needed for full URL support, 2.8.8 now needed for new Xcode support
- PROJECT(PolycodeDependencies)
- IF(NOT CMAKE_BUILD_TYPE)
- SET(CMAKE_BUILD_TYPE Release CACHE STRING
- "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
- FORCE)
- MESSAGE("No CMAKE_BUILD_TYPE specified, defaulting to ${CMAKE_BUILD_TYPE}")
- ENDIF(NOT CMAKE_BUILD_TYPE)
- IF(NOT POLYCODE_RELEASE_DIR)
- SET(POLYCODE_RELEASE_DIR ${PolycodeDependencies_SOURCE_DIR}/../Release/${CMAKE_SYSTEM_NAME}
- CACHE PATH "Choose the root directory that the Polycode release will be installed in.")
- MESSAGE("No POLYCODE_RELEASE_DIR specified, to ${POLYCODE_RELEASE_DIR}")
- ENDIF(NOT POLYCODE_RELEASE_DIR)
- IF(NOT POLYCODE_DEPS_DOWNLOAD_DIR)
- SET(POLYCODE_DEPS_DOWNLOAD_DIR ${PolycodeDependencies_SOURCE_DIR}/Downloads)
- MESSAGE("No POLYCODE_DEPS_DOWNLOAD_DIR specified, to ${POLYCODE_DEPS_DOWNLOAD_DIR}")
- ENDIF(NOT POLYCODE_DEPS_DOWNLOAD_DIR)
- # Install directories
- SET(POLYCODE_DEPS_CORE_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies)
- SET(POLYCODE_DEPS_MODULES_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies)
- SET(POLYCODE_DEPS_TOOLS_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies)
- # Some non-standard CMake modules
- SET(CMAKE_MODULE_PATH ${PolycodeDependencies_SOURCE_DIR}/../CMake)
- # Download and build all dependencies on Windows and Mac, for Linux recommend using prebuilt packages
- #IF(APPLE OR WIN32)
- SET(common_deps ON)
- #ELSE()
- # SET(common_deps OFF)
- #ENDIF()
- # Options for what components should be downloaded and built
- # glext.h is sometimes missing
- FIND_PATH(GLEXT_INCLUDE_DIR GL/glext.h)
- IF(GLEXT_INCLUDE_DIR)
- SET(internal_GLEXT OFF)
- ELSE(GLEXT_INCLUDE_DIR)
- SET(internal_GLEXT ${common_deps})
- ENDIF(GLEXT_INCLUDE_DIR)
- IF(MSVC)
- # wglext.h is needed on windows
- FIND_PATH(WGLEXT_INCLUDE_DIR GL/wglext.h)
- IF(WGLEXT_INCLUDE_DIR)
- SET(internal_WGLEXT OFF)
- ELSE(GLEXT_INCLUDE_DIR)
- SET(internal_WGLEXT ${common_deps})
- ENDIF(WGLEXT_INCLUDE_DIR)
- ELSE(MSVC)
- SET(internal_WGLEXT OFF)
- ENDIF(MSVC)
- #FIND_PACKAGE(PhysFS)
- #IF(PHYSFS_FOUND)
- # SET(internal_PHYSFS OFF)
- #ELSE(PHYSFS_FOUND)
- SET(internal_PHYSFS ON)
- #ENDIF(PHYSFS_FOUND)
- IF(APPLE)
- FIND_PACKAGE(OpenAL)
- IF(OPENAL_FOUND)
- SET(internal_OPENAL OFF)
- ELSE(OPENAL_FOUND)
- SET(internal_OPENAL ON)
- ENDIF(OPENAL_FOUND)
- ELSE()
- SET(internal_OPENAL ON)
- ENDIF(APPLE)
- #FIND_PACKAGE(Freetype)
- #IF(FREETYPE_FOUND)
- # SET(internal_FREETYPE OFF)
- #ELSE(FREETYPE_FOUND)
- SET(internal_FREETYPE ON)
- #ENDIF(FREETYPE_FOUND)
- #FIND_PACKAGE(PNG)
- #IF(PNG_FOUND)
- # SET(internal_PNG OFF)
- #ELSE(PNG_FOUND)
- SET(internal_PNG ON)
- #ENDIF(PNG_FOUND)
- #FIND_PACKAGE(VorbisFile)
- #IF(VORBISFILE_FOUND)
- # SET(internal_VORBISFILE OFF)
- #ELSE(VORBISFILE_FOUND)
- SET(internal_VORBISFILE ON)
- #ENDIF(VORBISFILE_FOUND)
- #FIND_PACKAGE(Lua51)
- #IF(LUA51_FOUND)
- # SET(internal_LUA OFF)
- #ELSE(LUA51_FOUND)
- SET(internal_LUA ON)
- #ENDIF(LUA51_FOUND)
- #FIND_PACKAGE(Box2D)
- #IF(BOX2D_FOUND)
- # SET(internal_BOX2D OFF)
- #ELSE(BOX2D_FOUND)
- SET(internal_BOX2D ON)
- #ENDIF(BOX2D_FOUND)
- #FIND_PACKAGE(Bullet)
- #IF(BULLET_FOUND)
- # SET(internal_BULLET OFF)
- #ELSE(BULLET_FOUND)
- SET(internal_BULLET ON)
- #ENDIF(BULLET_FOUND)
- #FIND_PACKAGE(Assimp)
- #IF(ASSIMP_FOUND)
- # SET(internal_ASSIMP OFF)
- #ELSE(ASSIMP_FOUND)
- SET(internal_ASSIMP ON)
- #ENDIF(ASSIMP_FOUND)
- SET(internal_LIBARCHIVE ON)
- OPTION(POLYCODE_DEPS_GLEXT "Download GL/glext.h header" ${internal_GLEXT})
- OPTION(POLYCODE_DEPS_WGLEXT "Download GL/wglext.h header" ${internal_WGLEXT})
- OPTION(POLYCODE_DEPS_PHYSFS "Download and build the PhysFS package" ${internal_PHYSFS})
- OPTION(POLYCODE_DEPS_OPENAL "Download and build the OpenAL package" ${internal_OPENAL})
- OPTION(POLYCODE_DEPS_FREETYPE "Download and build the Freetype2 package" ${internal_FREETYPE})
- OPTION(POLYCODE_DEPS_PNG "Download and build the PNG package" ${internal_PNG})
- OPTION(POLYCODE_DEPS_OGGVORBIS "Download and build the Ogg Vorbis packages" ${internal_VORBISFILE})
- OPTION(POLYCODE_DEPS_LUA51 "Download and build the Lua51 package" ${internal_LUA})
- OPTION(POLYCODE_DEPS_BOX2D "Download and build the Box2D package" ${internal_BOX2D})
- OPTION(POLYCODE_DEPS_BULLET "Download and build the Bullet package" ${internal_BULLET})
- OPTION(POLYCODE_DEPS_ASSIMP "Download and build the Assimp package" ${internal_ASSIMP})
- OPTION(POLYCODE_DEPS_LIBARCHIVE "Download and build the LibArchive package" ${internal_LIBARCHIVE})
- IF(POLYCODE_DEPS_PNG)
- INCLUDE(ExternalPNG)
- ENDIF(POLYCODE_DEPS_PNG)
- IF(POLYCODE_DEPS_PHYSFS)
- INCLUDE(ExternalPhysFS)
- ENDIF(POLYCODE_DEPS_PHYSFS)
- IF(POLYCODE_DEPS_OPENAL)
- INCLUDE(ExternalOpenAL)
- ENDIF(POLYCODE_DEPS_OPENAL)
- IF(POLYCODE_DEPS_FREETYPE)
- INCLUDE(ExternalFreetype)
- ENDIF(POLYCODE_DEPS_FREETYPE)
- IF(POLYCODE_DEPS_OGGVORBIS)
- INCLUDE(ExternalOggVorbis)
- ENDIF(POLYCODE_DEPS_OGGVORBIS)
- IF(POLYCODE_DEPS_LUA51)
- INCLUDE(ExternalLua51)
- ENDIF(POLYCODE_DEPS_LUA51)
- IF(POLYCODE_DEPS_BOX2D)
- INCLUDE(ExternalBox2D)
- ENDIF(POLYCODE_DEPS_BOX2D)
- IF(POLYCODE_DEPS_BULLET)
- INCLUDE(ExternalBullet)
- ENDIF(POLYCODE_DEPS_BULLET)
- IF(POLYCODE_DEPS_ASSIMP)
- INCLUDE(ExternalAssimp)
- ENDIF(POLYCODE_DEPS_ASSIMP)
- IF(POLYCODE_DEPS_LIBARCHIVE)
- INCLUDE(ExternalLibArchive)
- ENDIF(POLYCODE_DEPS_LIBARCHIVE)
- # Use SDL on non-Apple unixes
- #IF(UNIX AND NOT APPLE)
- # FIND_PACKAGE(SDL REQUIRED)
- #ENDIF(UNIX AND NOT APPLE)
- # Get missing GL headers for Windows
- IF(POLYCODE_DEPS_GLEXT)
- INCLUDE(ExternalGLExt)
- ENDIF(POLYCODE_DEPS_GLEXT)
- IF(POLYCODE_DEPS_WGLEXT)
- INCLUDE(ExternalWGLExt)
- ENDIF(POLYCODE_DEPS_WGLEXT)
|