| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- # Open Asset Import Library (assimp)
- # ----------------------------------------------------------------------
- # Copyright (c) 2006-2017, assimp team
- # All rights reserved.
- #
- # Redistribution and use of this software in source and binary forms,
- # with or without modification, are permitted provided that the
- # following conditions are met:
- #
- # * Redistributions of source code must retain the above
- # copyright notice, this list of conditions and the
- # following disclaimer.
- #
- # * Redistributions in binary form must reproduce the above
- # copyright notice, this list of conditions and the
- # following disclaimer in the documentation and/or other
- # materials provided with the distribution.
- #
- # * Neither the name of the assimp team, nor the names of its
- # contributors may be used to endorse or promote products
- # derived from this software without specific prior
- # written permission of the assimp team.
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #----------------------------------------------------------------------
- # Modified by Yao Wei Tjong for Urho3D
- PROJECT( Assimp )
- # Urho3D - only keep options that are relevant for building Assimp as static dependency lib for AssetImporter
- # All supported options ###############################################
- OPTION( ASSIMP_DOUBLE_PRECISION
- "Set to ON to enable double precision processing"
- OFF
- )
- OPTION( ASSIMP_NO_EXPORT
- "Disable Assimp's export functionality."
- OFF
- )
- if (WIN32)
- ADD_DEFINITIONS( -DWIN32_LEAN_AND_MEAN )
- endif()
- # Define here the needed parameters
- SET (ASSIMP_VERSION_MAJOR 4)
- SET (ASSIMP_VERSION_MINOR 1)
- SET (ASSIMP_VERSION_PATCH 0)
- SET (ASSIMP_VERSION ${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}.${ASSIMP_VERSION_PATCH})
- SET (ASSIMP_SOVERSION 4)
- SET (PROJECT_VERSION "${ASSIMP_VERSION}")
- SET( ASSIMP_PACKAGE_VERSION "0" CACHE STRING "the package-specific version used for uploading the sources" )
- # Needed for openddl_parser config, no use of c++11 at this moment
- ADD_DEFINITIONS( -DOPENDDL_NO_USE_CPP11 )
- # Get the current working branch
- SET (GIT_BRANCH modified-for-urho3d)
- # Get the latest abbreviated commit hash of the working branch
- SET (GIT_COMMIT_HASH 80799bd)
- IF(NOT GIT_COMMIT_HASH)
- SET(GIT_COMMIT_HASH 0)
- ENDIF(NOT GIT_COMMIT_HASH)
- IF(ASSIMP_DOUBLE_PRECISION)
- ADD_DEFINITIONS(-DASSIMP_DOUBLE_PRECISION)
- ENDIF(ASSIMP_DOUBLE_PRECISION)
- CONFIGURE_FILE(
- ${CMAKE_CURRENT_LIST_DIR}/revision.h.in
- ${CMAKE_CURRENT_BINARY_DIR}/revision.h
- )
- CONFIGURE_FILE(
- ${CMAKE_CURRENT_LIST_DIR}/include/assimp/config.h.in
- ${CMAKE_CURRENT_BINARY_DIR}/include/assimp/config.h
- )
- # Urho3D: pulled up from zlib's CMakeLists.txt
- CONFIGURE_FILE(
- ${CMAKE_CURRENT_SOURCE_DIR}/contrib/zlib/zconf.h.cmakein
- ${CMAKE_CURRENT_BINARY_DIR}/contrib/zlib/zconf.h @ONLY
- )
- INCLUDE_DIRECTORIES(
- ./
- include
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}/include
- )
- LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules" )
- IF ( ASSIMP_NO_EXPORT )
- ADD_DEFINITIONS( -DASSIMP_BUILD_NO_EXPORT)
- MESSAGE( STATUS "Build an import-only version of Assimp." )
- ENDIF( ASSIMP_NO_EXPORT )
- SET ( ASSIMP_BUILD_ARCHITECTURE "" CACHE STRING
- "describe the current architecture."
- )
- IF ( ASSIMP_BUILD_ARCHITECTURE STREQUAL "")
- ELSE ( ASSIMP_BUILD_ARCHITECTURE STREQUAL "")
- ADD_DEFINITIONS ( -D'ASSIMP_BUILD_ARCHITECTURE="${ASSIMP_BUILD_ARCHITECTURE}"' )
- ENDIF ( ASSIMP_BUILD_ARCHITECTURE STREQUAL "")
- # ${CMAKE_GENERATOR}
- SET ( ASSIMP_BUILD_COMPILER "" CACHE STRING
- "describe the current compiler."
- )
- IF ( ASSIMP_BUILD_COMPILER STREQUAL "")
- ELSE ( ASSIMP_BUILD_COMPILER STREQUAL "")
- ADD_DEFINITIONS ( -D'ASSIMP_BUILD_COMPILER="${ASSIMP_BUILD_COMPILER}"' )
- ENDIF ( ASSIMP_BUILD_COMPILER STREQUAL "")
- MARK_AS_ADVANCED ( ASSIMP_BUILD_ARCHITECTURE ASSIMP_BUILD_COMPILER )
- SET ( ASSIMP_BUILD_NONFREE_C4D_IMPORTER OFF CACHE BOOL
- "Build the C4D importer, which relies on the non-free Melange SDK."
- )
- IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
- IF ( MSVC )
- SET(C4D_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/contrib/Melange/includes")
- # pick the correct prebuilt library
- IF(MSVC14)
- SET(C4D_LIB_POSTFIX "_2015")
- ELSEIF(MSVC12)
- SET(C4D_LIB_POSTFIX "_2013")
- ELSEIF(MSVC11)
- SET(C4D_LIB_POSTFIX "_2012")
- ELSEIF(MSVC10)
- SET(C4D_LIB_POSTFIX "_2010")
- ELSE()
- MESSAGE( FATAL_ERROR
- "C4D is currently only supported with MSVC 10, 11, 12, 14"
- )
- ENDIF()
- SET(C4D_LIB_BASE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/contrib/Melange/libraries/win")
- SET(C4D_DEBUG_LIBRARIES
- "${C4D_LIB_BASE_PATH}/melangelib${C4D_LIB_POSTFIX}/melangelib_debug.lib"
- "${C4D_LIB_BASE_PATH}/jpeglib${C4D_LIB_POSTFIX}/jpeglib_debug.lib"
- )
- SET(C4D_RELEASE_LIBRARIES
- "${C4D_LIB_BASE_PATH}/melangelib${C4D_LIB_POSTFIX}/melangelib_release.lib"
- "${C4D_LIB_BASE_PATH}/jpeglib${C4D_LIB_POSTFIX}/jpeglib_release.lib"
- )
- # winsock and winmm are necessary dependencies of melange (this is undocumented, but true.)
- SET(C4D_EXTRA_LIBRARIES WSock32.lib Winmm.lib)
- ELSE ()
- MESSAGE( FATAL_ERROR
- "C4D is currently only available on Windows with melange SDK installed in contrib/Melange"
- )
- ENDIF ( MSVC )
- ELSE (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
- ADD_DEFINITIONS( -DASSIMP_BUILD_NO_C4D_IMPORTER )
- ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
- ADD_SUBDIRECTORY( code/ )
|