Browse Source

Refactored: Reformat CMake files to conform to editor config

Richard 10 năm trước cách đây
mục cha
commit
1d96486437

+ 3 - 3
AssimpConfig.cmake.in

@@ -7,10 +7,10 @@
 # Compute paths
 get_filename_component(FOOBAR_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
 if(EXISTS "${FOOBAR_CMAKE_DIR}/CMakeCache.txt")
-   # In build tree
-   include("${FOOBAR_CMAKE_DIR}/FooBarBuildTreeSettings.cmake")
+  # In build tree
+  include("${FOOBAR_CMAKE_DIR}/FooBarBuildTreeSettings.cmake")
 else()
-   set(FOOBAR_INCLUDE_DIRS "${FOOBAR_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@")
+  set(FOOBAR_INCLUDE_DIRS "${FOOBAR_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@")
 endif()
 
 # Our library dependencies (contains definitions for IMPORTED targets)

+ 164 - 164
CMakeLists.txt

@@ -4,8 +4,8 @@ PROJECT( Assimp )
 
 option(BUILD_SHARED_LIBS "Build package with shared libraries." ON)
 if(NOT BUILD_SHARED_LIBS)
-        #set(CMAKE_EXE_LINKER_FLAGS "-static")
-    set(LINK_SEARCH_START_STATIC TRUE)
+  #set(CMAKE_EXE_LINKER_FLAGS "-static")
+  set(LINK_SEARCH_START_STATIC TRUE)
 endif(NOT BUILD_SHARED_LIBS)
 
 # Define here the needed parameters
@@ -23,27 +23,27 @@ add_definitions( -DOPENDDL_NO_USE_CPP11 )
 
 # Get the current working branch
 execute_process(
-    COMMAND git rev-parse --abbrev-ref HEAD
-    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-    OUTPUT_VARIABLE GIT_BRANCH
-    OUTPUT_STRIP_TRAILING_WHITESPACE
+  COMMAND git rev-parse --abbrev-ref HEAD
+  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+  OUTPUT_VARIABLE GIT_BRANCH
+  OUTPUT_STRIP_TRAILING_WHITESPACE
 )
 
 # Get the latest abbreviated commit hash of the working branch
 execute_process(
-    COMMAND git log -1 --format=%h
-    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-    OUTPUT_VARIABLE GIT_COMMIT_HASH
-    OUTPUT_STRIP_TRAILING_WHITESPACE
+  COMMAND git log -1 --format=%h
+  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+  OUTPUT_VARIABLE GIT_COMMIT_HASH
+  OUTPUT_STRIP_TRAILING_WHITESPACE
 )
 
 if(NOT GIT_COMMIT_HASH)
-    set(GIT_COMMIT_HASH 0)
+  set(GIT_COMMIT_HASH 0)
 endif(NOT GIT_COMMIT_HASH)
 
 configure_file(
-    ${CMAKE_CURRENT_SOURCE_DIR}/revision.h.in
-    ${CMAKE_CURRENT_BINARY_DIR}/revision.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/revision.h.in
+  ${CMAKE_CURRENT_BINARY_DIR}/revision.h
 )
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
@@ -59,16 +59,16 @@ option(ASSIMP_ANDROID_JNIIOSYSTEM "Android JNI IOSystem support is active" OFF)
 
 # Workaround to be able to deal with compiler bug "Too many sections" with mingw.
 if( CMAKE_COMPILER_IS_MINGW )
-    ADD_DEFINITIONS(-DASSIMP_BUILD_NO_IFC_IMPORTER )
+  ADD_DEFINITIONS(-DASSIMP_BUILD_NO_IFC_IMPORTER )
 endif()
 
 if((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND NOT CMAKE_COMPILER_IS_MINGW)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") # this is a very important switch and some libraries seem now to have it....
-    # hide all not-exported symbols
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall" )
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") # this is a very important switch and some libraries seem now to have it....
+  # hide all not-exported symbols
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall" )
 elseif(MSVC)
-    # enable multi-core compilation with MSVC
-    add_definitions(/MP)
+  # enable multi-core compilation with MSVC
+  add_definitions(/MP)
 endif()
 
 INCLUDE (FindPkgConfig)
@@ -81,51 +81,51 @@ INCLUDE (PrecompiledHeader)
 # source tree. During an out-of-source build, however, do not litter this
 # directory, since that is probably what the user wanted to avoid.
 IF ( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
-    SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/lib" )
-    SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/lib" )
-    SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/bin" )
+  SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/lib" )
+  SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/lib" )
+  SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/bin" )
 ENDIF ( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
 
 # Cache these to allow the user to override them manually.
 SET( ASSIMP_LIB_INSTALL_DIR "lib" CACHE PATH
-    "Path the built library files are installed to." )
+  "Path the built library files are installed to." )
 SET( ASSIMP_INCLUDE_INSTALL_DIR "include" CACHE PATH
-    "Path the header files are installed to." )
+  "Path the header files are installed to." )
 SET( ASSIMP_BIN_INSTALL_DIR "bin" CACHE PATH
-    "Path the tool executables are installed to." )
+  "Path the tool executables are installed to." )
 
 SET(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "Debug Postfitx for lib, samples and tools")
 
 # Only generate this target if no higher-level project already has
 IF (NOT TARGET uninstall)
-    # add make uninstall capability
-    configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)
-    add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+  # add make uninstall capability
+  configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)
+  add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
 ENDIF()
 
 # Globally enable Boost resp. the Boost workaround – it is also needed by the
 # tools which include the Assimp headers.
 option ( ASSIMP_ENABLE_BOOST_WORKAROUND
-    "If a simple implementation of the used Boost functions is used. Slightly reduces functionality, but enables builds without Boost available."
-    ON
+  "If a simple implementation of the used Boost functions is used. Slightly reduces functionality, but enables builds without Boost available."
+  ON
 )
 IF ( ASSIMP_ENABLE_BOOST_WORKAROUND )
-    INCLUDE_DIRECTORIES( code/BoostWorkaround )
-    ADD_DEFINITIONS( -DASSIMP_BUILD_BOOST_WORKAROUND )
-    MESSAGE( STATUS "Building a non-boost version of Assimp." )
+  INCLUDE_DIRECTORIES( code/BoostWorkaround )
+  ADD_DEFINITIONS( -DASSIMP_BUILD_BOOST_WORKAROUND )
+  MESSAGE( STATUS "Building a non-boost version of Assimp." )
 ELSE ( ASSIMP_ENABLE_BOOST_WORKAROUND )
-    SET( Boost_DETAILED_FAILURE_MSG ON )
-    SET( Boost_ADDITIONAL_VERSIONS "1.47" "1.47.0" "1.48.0" "1.48" "1.49" "1.49.0" "1.50" "1.50.0" "1.51" "1.51.0" "1.52.0" "1.53.0" "1.54.0" "1.55" "1.55.0" "1.56" "1.56.0" "1.57" "1.57.0" "1.58" "1.58.0" )
-    FIND_PACKAGE( Boost )
-    IF ( NOT Boost_FOUND )
-        MESSAGE( FATAL_ERROR
-            "Boost libraries (http://www.boost.org/) not found. "
-            "You can build a non-boost version of Assimp with slightly reduced "
+  SET( Boost_DETAILED_FAILURE_MSG ON )
+  SET( Boost_ADDITIONAL_VERSIONS "1.47" "1.47.0" "1.48.0" "1.48" "1.49" "1.49.0" "1.50" "1.50.0" "1.51" "1.51.0" "1.52.0" "1.53.0" "1.54.0" "1.55" "1.55.0" "1.56" "1.56.0" "1.57" "1.57.0" "1.58" "1.58.0" )
+  FIND_PACKAGE( Boost )
+  IF ( NOT Boost_FOUND )
+    MESSAGE( FATAL_ERROR
+      "Boost libraries (http://www.boost.org/) not found. "
+      "You can build a non-boost version of Assimp with slightly reduced "
       "functionality by specifying -DASSIMP_ENABLE_BOOST_WORKAROUND=ON."
-        )
-    ENDIF ( NOT Boost_FOUND )
+    )
+  ENDIF ( NOT Boost_FOUND )
 
-    INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIRS} )
+  INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIRS} )
 ENDIF ( ASSIMP_ENABLE_BOOST_WORKAROUND )
 
 # cmake configuration files
@@ -134,8 +134,8 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config-version.cmake.in" "${C
 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake"             "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake" DESTINATION "${ASSIMP_LIB_INSTALL_DIR}/cmake/assimp-${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}" COMPONENT ${LIBASSIMP-DEV_COMPONENT})
 
 option ( ASSIMP_NO_EXPORT
-    "Disable Assimp's export functionality."
-    OFF
+  "Disable Assimp's export functionality."
+  OFF
 )
 
 if( CMAKE_COMPILER_IS_GNUCXX )
@@ -146,134 +146,134 @@ endif( CMAKE_COMPILER_IS_GNUCXX )
 # Search for zlib
 find_package(ZLIB)
 if( NOT ZLIB_FOUND )
-    message(STATUS "compiling zlib from souces")
-    include(CheckIncludeFile)
-    include(CheckTypeSize)
-    include(CheckFunctionExists)
-    # compile from sources
-    add_subdirectory(contrib/zlib)
-    set(ZLIB_FOUND 1)
-    set(ZLIB_LIBRARIES zlibstatic)
-    set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/contrib/zlib ${CMAKE_CURRENT_BINARY_DIR}/contrib/zlib)
+  message(STATUS "compiling zlib from souces")
+  include(CheckIncludeFile)
+  include(CheckTypeSize)
+  include(CheckFunctionExists)
+  # compile from sources
+  add_subdirectory(contrib/zlib)
+  set(ZLIB_FOUND 1)
+  set(ZLIB_LIBRARIES zlibstatic)
+  set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/contrib/zlib ${CMAKE_CURRENT_BINARY_DIR}/contrib/zlib)
 else(NOT ZLIB_FOUND)
-    ADD_DEFINITIONS(-DASSIMP_BUILD_NO_OWN_ZLIB)
-    set(ZLIB_LIBRARIES_LINKED -lz)
+  ADD_DEFINITIONS(-DASSIMP_BUILD_NO_OWN_ZLIB)
+  set(ZLIB_LIBRARIES_LINKED -lz)
 endif(NOT ZLIB_FOUND)
 INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
 
 # Search for unzip
 if (PKG_CONFIG_FOUND)
-    PKG_CHECK_MODULES(UNZIP minizip)
+  PKG_CHECK_MODULES(UNZIP minizip)
 endif (PKG_CONFIG_FOUND)
 
 IF ( ASSIMP_NO_EXPORT )
-    ADD_DEFINITIONS( -DASSIMP_BUILD_NO_EXPORT)
-    MESSAGE( STATUS "Build an import-only version of Assimp." )
+  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."
+  "describe the current architecture."
 )
 IF    ( ASSIMP_BUILD_ARCHITECTURE STREQUAL "")
 ELSE  ( ASSIMP_BUILD_ARCHITECTURE STREQUAL "")
-    ADD_DEFINITIONS ( -D'ASSIMP_BUILD_ARCHITECTURE="${ASSIMP_BUILD_ARCHITECTURE}"' )
+  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."
+  "describe the current compiler."
 )
 IF    ( ASSIMP_BUILD_COMPILER STREQUAL "")
 ELSE  ( ASSIMP_BUILD_COMPILER STREQUAL "")
-    ADD_DEFINITIONS ( -D'ASSIMP_BUILD_COMPILER="${ASSIMP_BUILD_COMPILER}"' )
+  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." 
+  "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/_melange/includes")
-        
-        # pick the correct prebuilt library
-        IF(MSVC11)
-            SET(C4D_LIB_POSTFIX "_2012md")
-        ELSEIF(MSVC10)
-            SET(C4D_LIB_POSTFIX "_2010md")
-        ELSEIF(MSVC90)
-            SET(C4D_LIB_POSTFIX "_2008md")
-        ELSE()
-            MESSAGE( FATAL_ERROR 
-                "C4D is currently only supported with MSVC 9, 10, 11"
-            )
-        ENDIF()
-        
-        IF(CMAKE_CL_64)
-            SET(C4D_LIB_ARCH_POSTFIX "_x64")
-        ELSE()
-            SET(C4D_LIB_ARCH_POSTFIX "")
-        ENDIF()
-        
-        SET(C4D_LIB_BASE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/contrib/Melange/_melange/lib/WIN")
-        
-        SET(C4D_DEBUG_LIBRARY "${C4D_LIB_BASE_PATH}/debug/_melange_lib${C4D_LIB_ARCH_POSTFIX}${C4D_LIB_POSTFIX}.lib")
-        SET(C4D_RELEASE_LIBRARY "${C4D_LIB_BASE_PATH}/release/_melange_lib${C4D_LIB_ARCH_POSTFIX}${C4D_LIB_POSTFIX}.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 )
+  IF ( MSVC )
+    SET(C4D_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/contrib/Melange/_melange/includes")
+
+    # pick the correct prebuilt library
+    IF(MSVC11)
+      SET(C4D_LIB_POSTFIX "_2012md")
+    ELSEIF(MSVC10)
+      SET(C4D_LIB_POSTFIX "_2010md")
+    ELSEIF(MSVC90)
+      SET(C4D_LIB_POSTFIX "_2008md")
+    ELSE()
+      MESSAGE( FATAL_ERROR 
+        "C4D is currently only supported with MSVC 9, 10, 11"
+      )
+    ENDIF()
+      
+    IF(CMAKE_CL_64)
+      SET(C4D_LIB_ARCH_POSTFIX "_x64")
+    ELSE()
+      SET(C4D_LIB_ARCH_POSTFIX "")
+    ENDIF()
+    
+    SET(C4D_LIB_BASE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/contrib/Melange/_melange/lib/WIN")
+    
+    SET(C4D_DEBUG_LIBRARY "${C4D_LIB_BASE_PATH}/debug/_melange_lib${C4D_LIB_ARCH_POSTFIX}${C4D_LIB_POSTFIX}.lib")
+    SET(C4D_RELEASE_LIBRARY "${C4D_LIB_BASE_PATH}/release/_melange_lib${C4D_LIB_ARCH_POSTFIX}${C4D_LIB_POSTFIX}.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 )
+  ADD_DEFINITIONS( -DASSIMP_BUILD_NO_C4D_IMPORTER )
 ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
 
 
 
 ADD_SUBDIRECTORY( code/ )
 option ( ASSIMP_BUILD_ASSIMP_TOOLS
-    "If the supplementary tools for Assimp are built in addition to the library."
-    ON
+  "If the supplementary tools for Assimp are built in addition to the library."
+  ON
 )
 IF ( ASSIMP_BUILD_ASSIMP_TOOLS )
-    IF ( WIN32 )
-        ADD_SUBDIRECTORY( tools/assimp_view/ )
-    ENDIF ( WIN32 )
-    ADD_SUBDIRECTORY( tools/assimp_cmd/ )
+  IF ( WIN32 )
+    ADD_SUBDIRECTORY( tools/assimp_view/ )
+  ENDIF ( WIN32 )
+  ADD_SUBDIRECTORY( tools/assimp_cmd/ )
 ENDIF ( ASSIMP_BUILD_ASSIMP_TOOLS )
 
 option ( ASSIMP_BUILD_SAMPLES
-    "If the official samples are built as well (needs Glut)."
-    OFF
+  "If the official samples are built as well (needs Glut)."
+  OFF
 )
 
 IF ( ASSIMP_BUILD_SAMPLES)
-    IF ( WIN32 )
-        ADD_SUBDIRECTORY( samples/SimpleTexturedOpenGL/ )
-    ENDIF ( WIN32 )
-    ADD_SUBDIRECTORY( samples/SimpleOpenGL/ )
+  IF ( WIN32 )
+    ADD_SUBDIRECTORY( samples/SimpleTexturedOpenGL/ )
+  ENDIF ( WIN32 )
+  ADD_SUBDIRECTORY( samples/SimpleOpenGL/ )
 ENDIF ( ASSIMP_BUILD_SAMPLES )
 
 option ( ASSIMP_BUILD_TESTS
-    "If the test suite for Assimp is built in addition to the library."
-    ON
+  "If the test suite for Assimp is built in addition to the library."
+  ON
 )
 
 IF ( ASSIMP_BUILD_TESTS )
-    ADD_SUBDIRECTORY( test/ )
+  ADD_SUBDIRECTORY( test/ )
 ENDIF ( ASSIMP_BUILD_TESTS )
 
 IF(MSVC)
-    option ( ASSIMP_INSTALL_PDB
-        "Install MSVC debug files."
-        ON
-    )
+  option ( ASSIMP_INSTALL_PDB
+    "Install MSVC debug files."
+    ON
+  )
 ENDIF(MSVC)
 
 # Generate a pkg-config .pc for the Assimp library.
@@ -281,50 +281,50 @@ CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/assimp.pc.in" "${PROJECT_BINARY_DIR}/assi
 INSTALL( FILES "${PROJECT_BINARY_DIR}/assimp.pc" DESTINATION ${ASSIMP_LIB_INSTALL_DIR}/pkgconfig/ COMPONENT ${LIBASSIMP-DEV_COMPONENT})
 
 if(CMAKE_CPACK_COMMAND AND UNIX AND ASSIMP_OPT_BUILD_PACKAGES)
-    # Packing information
-    set(CPACK_PACKAGE_NAME                    "assimp{ASSIMP_VERSION_MAJOR}")
-    set(CPACK_PACKAGE_CONTACT "" CACHE STRING "Package maintainer and PGP signer.")
-    set(CPACK_PACKAGE_VENDOR                  "http://assimp.sourceforge.net/")
-    set(CPACK_PACKAGE_DISPLAY_NAME            "Assimp ${ASSIMP_VERSION}")
-    set(CPACK_PACKAGE_DESCRIPTION_SUMMARY     " - Open Asset Import Library ${ASSIMP_VERSION}")
-    set(CPACK_PACKAGE_VERSION                 "${ASSIMP_VERSION}.${ASSIMP_PACKAGE_VERSION}" )
-    set(CPACK_PACKAGE_VERSION_MAJOR           "${ASSIMP_VERSION_MAJOR}")
-    set(CPACK_PACKAGE_VERSION_MINOR           "${ASSIMP_VERSION_MINOR}")
-    set(CPACK_PACKAGE_VERSION_PATCH           "${ASSIMP_VERSION_PATCH}")
-    set(CPACK_PACKAGE_INSTALL_DIRECTORY       "assimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}")
-    set(CPACK_RESOURCE_FILE_LICENSE           "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
-
-    string(TOUPPER ${LIBASSIMP_COMPONENT}     "LIBASSIMP_COMPONENT_UPPER")
-    string(TOUPPER ${LIBASSIMP-DEV_COMPONENT} "LIBASSIMP-DEV_COMPONENT_UPPER")
-
-    set(CPACK_COMPONENT_ASSIMP-BIN_DISPLAY_NAME                       "tools")
-    set(CPACK_COMPONENT_ASSIMP-BIN_DEPENDS                            "${LIBASSIMP_COMPONENT}" )
-    set(CPACK_COMPONENT_${LIBASSIMP_COMPONENT_UPPER}_DISPLAY_NAME     "libraries")
-    set(CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT_UPPER}_DISPLAY_NAME "common headers and installs")
-    set(CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT_UPPER}_DEPENDS $    "{LIBASSIMP_COMPONENT}" )
-    set(CPACK_COMPONENT_ASSIMP-DEV_DISPLAY_NAME                       "${CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT}_DISPLAY_NAME}" )
-    set(CPACK_COMPONENT_ASSIMP-DEV_DEPENDS                            "${LIBASSIMP-DEV_COMPONENT}" )
-    set(CPACK_DEBIAN_BUILD_DEPENDS debhelper cmake libboost-dev libboost-thread-dev libboost-math-dev zlib1g-dev pkg-config)
-
-    # debian
-    set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
-    set(CPACK_DEBIAN_CMAKE_OPTIONS    "-DBUILD_ASSIMP_SAMPLES:BOOL=${ASSIMP_BUILD_SAMPLES}")
-    set(CPACK_DEBIAN_PACKAGE_SECTION  "libs" )
-    set(CPACK_DEBIAN_PACKAGE_DEPENDS  "${CPACK_COMPONENTS_ALL}")
-    set(CPACK_DEBIAN_PACKAGE_SUGGESTS)
-    set(CPACK_DEBIAN_PACKAGE_NAME     "assimp")
-    set(CPACK_DEBIAN_PACKAGE_REMOVE_SOURCE_FILES contrib/cppunit-1.12.1 contrib/cppunit_note.txt contrib/zlib workspaces test doc obj samples packaging)
-    set(CPACK_DEBIAN_PACKAGE_SOURCE_COPY svn export --force)
-    set(CPACK_DEBIAN_CHANGELOG)
-    execute_process(COMMAND lsb_release -is
-        OUTPUT_VARIABLE _lsb_distribution OUTPUT_STRIP_TRAILING_WHITESPACE
-        RESULT_VARIABLE _lsb_release_failed)
-    set(CPACK_DEBIAN_DISTRIBUTION_NAME ${_lsb_distribution} CACHE STRING "Name of the distrubiton")
-    string(TOLOWER ${CPACK_DEBIAN_DISTRIBUTION_NAME} CPACK_DEBIAN_DISTRIBUTION_NAME)
-    if( ${CPACK_DEBIAN_DISTRIBUTION_NAME} STREQUAL "ubuntu" )
-        set(CPACK_DEBIAN_DISTRIBUTION_RELEASES lucid maverick natty oneiric precise CACHE STRING "Release code-names of the distrubiton release")
-    endif()
-    set(DPUT_HOST "" CACHE STRING "PPA repository to upload the debian sources")
-    include(CPack)
-    include(DebSourcePPA)
+  # Packing information
+  set(CPACK_PACKAGE_NAME                    "assimp{ASSIMP_VERSION_MAJOR}")
+  set(CPACK_PACKAGE_CONTACT "" CACHE STRING "Package maintainer and PGP signer.")
+  set(CPACK_PACKAGE_VENDOR                  "http://assimp.sourceforge.net/")
+  set(CPACK_PACKAGE_DISPLAY_NAME            "Assimp ${ASSIMP_VERSION}")
+  set(CPACK_PACKAGE_DESCRIPTION_SUMMARY     " - Open Asset Import Library ${ASSIMP_VERSION}")
+  set(CPACK_PACKAGE_VERSION                 "${ASSIMP_VERSION}.${ASSIMP_PACKAGE_VERSION}" )
+  set(CPACK_PACKAGE_VERSION_MAJOR           "${ASSIMP_VERSION_MAJOR}")
+  set(CPACK_PACKAGE_VERSION_MINOR           "${ASSIMP_VERSION_MINOR}")
+  set(CPACK_PACKAGE_VERSION_PATCH           "${ASSIMP_VERSION_PATCH}")
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY       "assimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}")
+  set(CPACK_RESOURCE_FILE_LICENSE           "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
+
+  string(TOUPPER ${LIBASSIMP_COMPONENT}     "LIBASSIMP_COMPONENT_UPPER")
+  string(TOUPPER ${LIBASSIMP-DEV_COMPONENT} "LIBASSIMP-DEV_COMPONENT_UPPER")
+
+  set(CPACK_COMPONENT_ASSIMP-BIN_DISPLAY_NAME                       "tools")
+  set(CPACK_COMPONENT_ASSIMP-BIN_DEPENDS                            "${LIBASSIMP_COMPONENT}" )
+  set(CPACK_COMPONENT_${LIBASSIMP_COMPONENT_UPPER}_DISPLAY_NAME     "libraries")
+  set(CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT_UPPER}_DISPLAY_NAME "common headers and installs")
+  set(CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT_UPPER}_DEPENDS $    "{LIBASSIMP_COMPONENT}" )
+  set(CPACK_COMPONENT_ASSIMP-DEV_DISPLAY_NAME                       "${CPACK_COMPONENT_${LIBASSIMP-DEV_COMPONENT}_DISPLAY_NAME}" )
+  set(CPACK_COMPONENT_ASSIMP-DEV_DEPENDS                            "${LIBASSIMP-DEV_COMPONENT}" )
+  set(CPACK_DEBIAN_BUILD_DEPENDS debhelper cmake libboost-dev libboost-thread-dev libboost-math-dev zlib1g-dev pkg-config)
+
+  # debian
+  set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
+  set(CPACK_DEBIAN_CMAKE_OPTIONS    "-DBUILD_ASSIMP_SAMPLES:BOOL=${ASSIMP_BUILD_SAMPLES}")
+  set(CPACK_DEBIAN_PACKAGE_SECTION  "libs" )
+  set(CPACK_DEBIAN_PACKAGE_DEPENDS  "${CPACK_COMPONENTS_ALL}")
+  set(CPACK_DEBIAN_PACKAGE_SUGGESTS)
+  set(CPACK_DEBIAN_PACKAGE_NAME     "assimp")
+  set(CPACK_DEBIAN_PACKAGE_REMOVE_SOURCE_FILES contrib/cppunit-1.12.1 contrib/cppunit_note.txt contrib/zlib workspaces test doc obj samples packaging)
+  set(CPACK_DEBIAN_PACKAGE_SOURCE_COPY svn export --force)
+  set(CPACK_DEBIAN_CHANGELOG)
+  execute_process(COMMAND lsb_release -is
+    OUTPUT_VARIABLE _lsb_distribution OUTPUT_STRIP_TRAILING_WHITESPACE
+    RESULT_VARIABLE _lsb_release_failed)
+  set(CPACK_DEBIAN_DISTRIBUTION_NAME ${_lsb_distribution} CACHE STRING "Name of the distrubiton")
+  string(TOLOWER ${CPACK_DEBIAN_DISTRIBUTION_NAME} CPACK_DEBIAN_DISTRIBUTION_NAME)
+  if( ${CPACK_DEBIAN_DISTRIBUTION_NAME} STREQUAL "ubuntu" )
+    set(CPACK_DEBIAN_DISTRIBUTION_RELEASES lucid maverick natty oneiric precise CACHE STRING "Release code-names of the distrubiton release")
+  endif()
+  set(DPUT_HOST "" CACHE STRING "PPA repository to upload the debian sources")
+  include(CPack)
+  include(DebSourcePPA)
 endif()

+ 44 - 44
cmake-modules/AddGTest.cmake

@@ -2,30 +2,30 @@ find_package(Threads REQUIRED)
 include(ExternalProject)
 
 if(MSYS OR MINGW)
-	set(DISABLE_PTHREADS ON)
+  set(DISABLE_PTHREADS ON)
 else()
-	set(DISABLE_PTHREADS OFF)
+  set(DISABLE_PTHREADS OFF)
 endif()
 
 if (MSVC)
-	set(RELEASE_LIB_DIR ReleaseLibs)
-	set(DEBUG_LIB_DIR DebugLibs)
+  set(RELEASE_LIB_DIR ReleaseLibs)
+  set(DEBUG_LIB_DIR DebugLibs)
 else()
-	set(RELEASE_LIB_DIR "")
-	set(DEBUG_LIB_DIR "")
+  set(RELEASE_LIB_DIR "")
+  set(DEBUG_LIB_DIR "")
 endif()
 
 set(GTEST_CMAKE_ARGS
-	"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
-	"-Dgtest_force_shared_crt=ON"
-	"-Dgtest_disable_pthreads:BOOL=${DISABLE_PTHREADS}")
+  "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
+  "-Dgtest_force_shared_crt=ON"
+  "-Dgtest_disable_pthreads:BOOL=${DISABLE_PTHREADS}")
 set(GTEST_RELEASE_LIB_DIR "")
 set(GTEST_DEBUGLIB_DIR "")
 if (MSVC)
-	set(GTEST_CMAKE_ARGS ${GTEST_CMAKE_ARGS}
-		"-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=${DEBUG_LIB_DIR}"
-		"-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=${RELEASE_LIB_DIR}")
-	set(GTEST_LIB_DIR)
+  set(GTEST_CMAKE_ARGS ${GTEST_CMAKE_ARGS}
+    "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=${DEBUG_LIB_DIR}"
+    "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=${RELEASE_LIB_DIR}")
+  set(GTEST_LIB_DIR)
 endif()
 
 set(GTEST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/gtest")
@@ -33,40 +33,40 @@ set(GTEST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/gtest")
 # try to find git - if found, setup gtest
 find_package(Git)
 if(NOT GIT_FOUND)
-	set(AddGTest_FOUND false CACHE BOOL "Was gtest setup correctly?")
+  set(AddGTest_FOUND false CACHE BOOL "Was gtest setup correctly?")
 else(NOT GIT_FOUND)
-	set(AddGTest_FOUND true CACHE BOOL "Was gtest setup correctly?")
-	
-	ExternalProject_Add(gtest
-		GIT_REPOSITORY https://chromium.googlesource.com/external/googletest
-		TIMEOUT 10
-		PREFIX "${GTEST_PREFIX}"
-		CMAKE_ARGS "${GTEST_CMAKE_ARGS}"
-		LOG_DOWNLOAD ON
-		LOG_CONFIGURE ON
-		LOG_BUILD ON
-		# Disable install
-		INSTALL_COMMAND ""
-	)
+  set(AddGTest_FOUND true CACHE BOOL "Was gtest setup correctly?")
 
-	set(LIB_PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}")
-	set(LIB_SUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX}")
-	set(GTEST_LOCATION "${GTEST_PREFIX}/src/gtest-build")
-	set(GTEST_DEBUG_LIBRARIES
-		"${GTEST_LOCATION}/${DEBUG_LIB_DIR}/${LIB_PREFIX}gtest${LIB_SUFFIX}"
-		"${CMAKE_THREAD_LIBS_INIT}")
-	SET(GTEST_RELEASE_LIBRARIES
-		"${GTEST_LOCATION}/${RELEASE_LIB_DIR}/${LIB_PREFIX}gtest${LIB_SUFFIX}"
-		"${CMAKE_THREAD_LIBS_INIT}")
+  ExternalProject_Add(gtest
+    GIT_REPOSITORY https://chromium.googlesource.com/external/googletest
+    TIMEOUT 10
+    PREFIX "${GTEST_PREFIX}"
+    CMAKE_ARGS "${GTEST_CMAKE_ARGS}"
+    LOG_DOWNLOAD ON
+    LOG_CONFIGURE ON
+    LOG_BUILD ON
+    # Disable install
+    INSTALL_COMMAND ""
+  )
 
-	if(MSVC_VERSION EQUAL 1700)
-	  add_definitions(-D_VARIADIC_MAX=10)
-	endif()
+  set(LIB_PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}")
+  set(LIB_SUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX}")
+  set(GTEST_LOCATION "${GTEST_PREFIX}/src/gtest-build")
+  set(GTEST_DEBUG_LIBRARIES
+    "${GTEST_LOCATION}/${DEBUG_LIB_DIR}/${LIB_PREFIX}gtest${LIB_SUFFIX}"
+    "${CMAKE_THREAD_LIBS_INIT}")
+  SET(GTEST_RELEASE_LIBRARIES
+    "${GTEST_LOCATION}/${RELEASE_LIB_DIR}/${LIB_PREFIX}gtest${LIB_SUFFIX}"
+    "${CMAKE_THREAD_LIBS_INIT}")
 
-	ExternalProject_Get_Property(gtest source_dir)
-	include_directories(${source_dir}/include)
-	include_directories(${source_dir}/gtest/include)
+  if(MSVC_VERSION EQUAL 1700)
+    add_definitions(-D_VARIADIC_MAX=10)
+  endif()
 
-	ExternalProject_Get_Property(gtest binary_dir)
-	link_directories(${binary_dir})
+  ExternalProject_Get_Property(gtest source_dir)
+  include_directories(${source_dir}/include)
+  include_directories(${source_dir}/gtest/include)
+
+  ExternalProject_Get_Property(gtest binary_dir)
+  link_directories(${binary_dir})
 endif(NOT GIT_FOUND)

+ 347 - 347
cmake-modules/DebSourcePPA.cmake

@@ -1,347 +1,347 @@
-## Debian Source Package Generator
-#
-# Copyright (c) 2010 Daniel Pfeifer <[email protected]>
-# Many modifications by Rosen Diankov <[email protected]>
-#
-# Creates source debian files and manages library dependencies
-#
-# Features:
-# 
-# - Automatically generates symbols and run-time dependencies from the build dependencies
-# - Custom copy of source directory via CPACK_DEBIAN_PACKAGE_SOURCE_COPY
-# - Simultaneous output of multiple debian source packages for each distribution
-# - Can specificy distribution-specific dependencies by suffixing DEPENDS with _${DISTRO_NAME}, for example: CPACK_DEBIAN_PACKAGE_DEPENDS_LUCID, CPACK_COMPONENT_MYCOMP0_DEPENDS_LUCID
-#
-# Usage:
-#
-# set(CPACK_DEBIAN_BUILD_DEPENDS debhelper cmake)
-# set(CPACK_DEBIAN_PACKAGE_PRIORITY optional)
-# set(CPACK_DEBIAN_PACKAGE_SECTION devel)
-# set(CPACK_DEBIAN_CMAKE_OPTIONS "-DMYOPTION=myvalue")
-# set(CPACK_DEBIAN_PACKAGE_DEPENDS mycomp0 mycomp1 some_ubuntu_package)
-# set(CPACK_DEBIAN_PACKAGE_DEPENDS_UBUNTU_LUCID mycomp0 mycomp1 lucid_specific_package)
-# set(CPACK_DEBIAN_PACKAGE_NAME mypackage)
-# set(CPACK_DEBIAN_PACKAGE_REMOVE_SOURCE_FILES unnecessary_file unnecessary_dir/file0)
-# set(CPACK_DEBIAN_PACKAGE_SOURCE_COPY svn export --force) # if using subversion
-# set(CPACK_DEBIAN_DISTRIBUTION_NAME ubuntu)
-# set(CPACK_DEBIAN_DISTRIBUTION_RELEASES karmic lucid maverick natty)
-# set(CPACK_DEBIAN_CHANGELOG "  * Extra change log lines")
-# set(CPACK_DEBIAN_PACKAGE_SUGGESTS "ipython")
-# set(CPACK_COMPONENT_X_RECOMMENDS "recommended-package")
-##
-
-find_program(DEBUILD_EXECUTABLE debuild)
-find_program(DPUT_EXECUTABLE dput)
-
-if(NOT DEBUILD_EXECUTABLE OR NOT DPUT_EXECUTABLE)
-  return()
-endif(NOT DEBUILD_EXECUTABLE OR NOT DPUT_EXECUTABLE)
-
-# DEBIAN/control
-# debian policy enforce lower case for package name
-# Package: (mandatory)
-IF(NOT CPACK_DEBIAN_PACKAGE_NAME)
-  STRING(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_NAME)
-
-# Section: (recommended)
-IF(NOT CPACK_DEBIAN_PACKAGE_SECTION)
-  SET(CPACK_DEBIAN_PACKAGE_SECTION "devel")
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_SECTION)
-
-# Priority: (recommended)
-IF(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
-  SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
-
-file(STRINGS ${CPACK_PACKAGE_DESCRIPTION_FILE} DESC_LINES)
-foreach(LINE ${DESC_LINES})
-  set(DEB_LONG_DESCRIPTION "${DEB_LONG_DESCRIPTION} ${LINE}\n")
-endforeach(LINE ${DESC_LINES})
-
-file(REMOVE_RECURSE "${CMAKE_BINARY_DIR}/Debian")
-file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/Debian")
-set(DEBIAN_SOURCE_ORIG_DIR "${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
-
-if( CPACK_DEBIAN_PACKAGE_SOURCE_COPY )
-  execute_process(COMMAND ${CPACK_DEBIAN_PACKAGE_SOURCE_COPY} "${CMAKE_SOURCE_DIR}" "${DEBIAN_SOURCE_ORIG_DIR}.orig")
-else()
-  execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR} "${DEBIAN_SOURCE_ORIG_DIR}.orig")
-  execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${DEBIAN_SOURCE_ORIG_DIR}.orig/.git")
-  execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${DEBIAN_SOURCE_ORIG_DIR}.orig/.svn")
-endif()
-
-# remove unnecessary folders
-foreach(REMOVE_DIR ${CPACK_DEBIAN_PACKAGE_REMOVE_SOURCE_FILES})
-  file(REMOVE_RECURSE ${DEBIAN_SOURCE_ORIG_DIR}.orig/${REMOVE_DIR})
-endforeach()
-
-# create the original source tar
-execute_process(COMMAND ${CMAKE_COMMAND} -E tar czf "${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz" "${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.orig" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/Debian)
-
-set(DEB_SOURCE_CHANGES)
-foreach(RELEASE ${CPACK_DEBIAN_DISTRIBUTION_RELEASES})
-  set(DEBIAN_SOURCE_DIR "${DEBIAN_SOURCE_ORIG_DIR}-${CPACK_DEBIAN_DISTRIBUTION_NAME}1~${RELEASE}1")
-  set(RELEASE_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_DISTRIBUTION_NAME}1~${RELEASE}1")
-  string(TOUPPER ${RELEASE} RELEASE_UPPER)
-  string(TOUPPER ${CPACK_DEBIAN_DISTRIBUTION_NAME} DISTRIBUTION_NAME_UPPER)
-  file(MAKE_DIRECTORY ${DEBIAN_SOURCE_DIR}/debian)
-  ##############################################################################
-  # debian/control
-  set(DEBIAN_CONTROL ${DEBIAN_SOURCE_DIR}/debian/control)
-  file(WRITE ${DEBIAN_CONTROL}
-    "Source: ${CPACK_DEBIAN_PACKAGE_NAME}\n"
-    "Section: ${CPACK_DEBIAN_PACKAGE_SECTION}\n"
-    "Priority: ${CPACK_DEBIAN_PACKAGE_PRIORITY}\n"
-    "DM-Upload-Allowed: yes\n"
-    "Maintainer: ${CPACK_PACKAGE_CONTACT}\n"
-    "Build-Depends: "
-    )
-
-  if( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-    foreach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-      file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-    endforeach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-  else( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-    if( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
-      foreach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
-        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-      endforeach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
-    else( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
-      foreach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS})
-        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-      endforeach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS})
-    endif( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
-  endif( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-
-    
-  file(APPEND ${DEBIAN_CONTROL} "\n"
-    "Standards-Version: 3.8.4\n"
-    "Homepage: ${CPACK_PACKAGE_VENDOR}\n"
-    "\n"
-    "Package: ${CPACK_DEBIAN_PACKAGE_NAME}\n"
-    "Architecture: any\n"
-    "Depends: "
-    )
-
-  if( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-    foreach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-      file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-    endforeach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-  else( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-    if( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
-      foreach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
-        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
-    else( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
-      foreach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS})
-        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS})
-    endif( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
-  endif( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-
-  file(APPEND ${DEBIAN_CONTROL} "\nRecommends: ")
-  if( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-    foreach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-      file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-    endforeach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-  else( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-    if( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
-      foreach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}})
-        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}})
-    else( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
-      foreach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS})
-        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS})
-    endif( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
-  endif( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-
-  file(APPEND ${DEBIAN_CONTROL} "\nSuggests: ")
-  if( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-    foreach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-      file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-    endforeach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-  else( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-    if( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
-      foreach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}})
-        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}})
-    else( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
-      foreach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS})
-        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
-      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS})
-    endif( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
-  endif( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-  
-  file(APPEND ${DEBIAN_CONTROL} "\n"
-    "Description: ${CPACK_PACKAGE_DISPLAY_NAME} ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}\n"
-    "${DEB_LONG_DESCRIPTION}"
-    )
-
-  foreach(COMPONENT ${CPACK_COMPONENTS_ALL})
-    string(TOUPPER ${COMPONENT} UPPER_COMPONENT)
-    set(DEPENDS "\${shlibs:Depends}")
-    if( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-      foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-        set(DEPENDS "${DEPENDS}, ${DEP}")
-      endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-    else( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-      if( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
-        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
-          set(DEPENDS "${DEPENDS}, ${DEP}")
-        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
-      else( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
-        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS})
-          set(DEPENDS "${DEPENDS}, ${DEP}")
-        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS})
-      endif( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
-    endif( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-
-    set(RECOMMENDS)
-    if( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-      foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-        set(RECOMMENDS "${RECOMMENDS} ${DEP}, ")
-      endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-    else( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-      if( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
-        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}})
-          set(RECOMMENDS "${RECOMMENDS} ${DEP}, ")
-        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}})
-      else( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
-        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS})
-          set(RECOMMENDS "${RECOMMENDS} ${DEP}, ")
-        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS})
-      endif( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
-    endif( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-
-    set(SUGGESTS)
-    if( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-      foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-        set(SUGGESTS "${SUGGESTS} ${DEP}, ")
-      endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
-    else( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-      if( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
-        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}})
-          set(SUGGESTS "${SUGGESTS} ${DEP}, ")
-        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}})
-      else( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
-        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS})
-          set(SUGGESTS "${SUGGESTS} ${DEP}, ")
-        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS})
-      endif( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
-    endif( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
-
-    file(APPEND ${DEBIAN_CONTROL} "\n"
-      "Package: ${COMPONENT}\n"
-      "Architecture: any\n"
-      "Depends: ${DEPENDS}\n"
-      "Recommends: ${RECOMMENDS}\n"
-      "Suggests: ${SUGGESTS}\n"
-      "Description: ${CPACK_PACKAGE_DISPLAY_NAME} ${CPACK_COMPONENT_${UPPER_COMPONENT}_DISPLAY_NAME}\n"
-      "${DEB_LONG_DESCRIPTION}"
-      " .\n"
-      " ${CPACK_COMPONENT_${UPPER_COMPONENT}_DESCRIPTION}\n"
-      )
-  endforeach(COMPONENT ${CPACK_COMPONENTS_ALL})
-
-  ##############################################################################
-  # debian/copyright
-  set(DEBIAN_COPYRIGHT ${DEBIAN_SOURCE_DIR}/debian/copyright)
-  execute_process(COMMAND ${CMAKE_COMMAND} -E
-    copy ${CPACK_RESOURCE_FILE_LICENSE} ${DEBIAN_COPYRIGHT}
-    )
-
-  ##############################################################################
-  # debian/rules
-  set(DEBIAN_RULES ${DEBIAN_SOURCE_DIR}/debian/rules)
-  file(WRITE ${DEBIAN_RULES}
-    "#!/usr/bin/make -f\n"
-    "\n"
-    "BUILDDIR = build_dir\n"
-    "\n"
-    "build:\n"
-    "	mkdir $(BUILDDIR)\n"
-    "	cd $(BUILDDIR); cmake -DCMAKE_BUILD_TYPE=Release ${CPACK_DEBIAN_CMAKE_OPTIONS} -DCMAKE_INSTALL_PREFIX=/usr ..\n"
-    "	$(MAKE) -C $(BUILDDIR) preinstall\n"
-    "	touch build\n"
-    "\n"
-    "binary: binary-indep binary-arch\n"
-    "\n"
-    "binary-indep: build\n"
-    "\n"
-    "binary-arch: build\n"
-    "	cd $(BUILDDIR); cmake -DCOMPONENT=Unspecified -DCMAKE_INSTALL_PREFIX=../debian/tmp/usr -P cmake_install.cmake\n"
-    "	mkdir -p debian/tmp/DEBIAN\n"
-    "	dpkg-gensymbols -p${CPACK_DEBIAN_PACKAGE_NAME}\n"
-    )
-
-  foreach(COMPONENT ${CPACK_COMPONENTS_ALL})
-    set(PATH debian/${COMPONENT})
-    file(APPEND ${DEBIAN_RULES}
-      "	cd $(BUILDDIR); cmake -DCOMPONENT=${COMPONENT} -DCMAKE_INSTALL_PREFIX=../${PATH}/usr -P cmake_install.cmake\n"
-      "	mkdir -p ${PATH}/DEBIAN\n"
-      "	dpkg-gensymbols -p${COMPONENT} -P${PATH}\n"
-      )
-  endforeach(COMPONENT ${CPACK_COMPONENTS_ALL})
-
-  file(APPEND ${DEBIAN_RULES}
-    "	dh_shlibdeps\n"
-    "	dh_strip\n" # for reducing size
-    "	dpkg-gencontrol -p${CPACK_DEBIAN_PACKAGE_NAME}\n"
-    "	dpkg --build debian/tmp ..\n"
-    )
-
-  foreach(COMPONENT ${CPACK_COMPONENTS_ALL})
-    set(PATH debian/${COMPONENT})
-    file(APPEND ${DEBIAN_RULES}
-      "	dpkg-gencontrol -p${COMPONENT} -P${PATH} -Tdebian/${COMPONENT}.substvars\n"
-      "	dpkg --build ${PATH} ..\n"
-      )
-  endforeach(COMPONENT ${CPACK_COMPONENTS_ALL})
-
-  file(APPEND ${DEBIAN_RULES}
-    "\n"
-    "clean:\n"
-    "	rm -f build\n"
-    "	rm -rf $(BUILDDIR)\n"
-    "\n"
-    ".PHONY: binary binary-arch binary-indep clean\n"
-    )
-
-  execute_process(COMMAND chmod +x ${DEBIAN_RULES})
-
-  ##############################################################################
-  # debian/compat
-  file(WRITE ${DEBIAN_SOURCE_DIR}/debian/compat "7")
-
-  ##############################################################################
-  # debian/source/format
-  file(WRITE ${DEBIAN_SOURCE_DIR}/debian/source/format "3.0 (quilt)")
-
-  ##############################################################################
-  # debian/changelog
-  set(DEBIAN_CHANGELOG ${DEBIAN_SOURCE_DIR}/debian/changelog)
-  execute_process(COMMAND date -R  OUTPUT_VARIABLE DATE_TIME)
-  file(WRITE ${DEBIAN_CHANGELOG}
-    "${CPACK_DEBIAN_PACKAGE_NAME} (${RELEASE_PACKAGE_VERSION}) ${RELEASE}; urgency=medium\n\n"
-    "  * Package built with CMake\n\n"
-    "${CPACK_DEBIAN_CHANGELOG}"
-    " -- ${CPACK_PACKAGE_CONTACT}  ${DATE_TIME}"
-    )
-
-  ##############################################################################
-  # debuild -S
-  if( DEB_SOURCE_CHANGES )
-    set(DEBUILD_OPTIONS "-sd")
-  else()
-    set(DEBUILD_OPTIONS "-sa")
-  endif()
-  set(SOURCE_CHANGES_FILE "${CPACK_DEBIAN_PACKAGE_NAME}_${RELEASE_PACKAGE_VERSION}_source.changes")
-  set(DEB_SOURCE_CHANGES ${DEB_SOURCE_CHANGES} "${SOURCE_CHANGES_FILE}")
-  add_custom_command(OUTPUT "${SOURCE_CHANGES_FILE}" COMMAND ${DEBUILD_EXECUTABLE} -S ${DEBUILD_OPTIONS} WORKING_DIRECTORY ${DEBIAN_SOURCE_DIR})
-endforeach(RELEASE ${CPACK_DEBIAN_DISTRIBUTION_RELEASES})
-
-##############################################################################
-# dput ppa:your-lp-id/ppa <source.changes>
-add_custom_target(dput ${DPUT_EXECUTABLE} ${DPUT_HOST} ${DEB_SOURCE_CHANGES} DEPENDS ${DEB_SOURCE_CHANGES} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/Debian)
+## Debian Source Package Generator
+#
+# Copyright (c) 2010 Daniel Pfeifer <[email protected]>
+# Many modifications by Rosen Diankov <[email protected]>
+#
+# Creates source debian files and manages library dependencies
+#
+# Features:
+# 
+# - Automatically generates symbols and run-time dependencies from the build dependencies
+# - Custom copy of source directory via CPACK_DEBIAN_PACKAGE_SOURCE_COPY
+# - Simultaneous output of multiple debian source packages for each distribution
+# - Can specificy distribution-specific dependencies by suffixing DEPENDS with _${DISTRO_NAME}, for example: CPACK_DEBIAN_PACKAGE_DEPENDS_LUCID, CPACK_COMPONENT_MYCOMP0_DEPENDS_LUCID
+#
+# Usage:
+#
+# set(CPACK_DEBIAN_BUILD_DEPENDS debhelper cmake)
+# set(CPACK_DEBIAN_PACKAGE_PRIORITY optional)
+# set(CPACK_DEBIAN_PACKAGE_SECTION devel)
+# set(CPACK_DEBIAN_CMAKE_OPTIONS "-DMYOPTION=myvalue")
+# set(CPACK_DEBIAN_PACKAGE_DEPENDS mycomp0 mycomp1 some_ubuntu_package)
+# set(CPACK_DEBIAN_PACKAGE_DEPENDS_UBUNTU_LUCID mycomp0 mycomp1 lucid_specific_package)
+# set(CPACK_DEBIAN_PACKAGE_NAME mypackage)
+# set(CPACK_DEBIAN_PACKAGE_REMOVE_SOURCE_FILES unnecessary_file unnecessary_dir/file0)
+# set(CPACK_DEBIAN_PACKAGE_SOURCE_COPY svn export --force) # if using subversion
+# set(CPACK_DEBIAN_DISTRIBUTION_NAME ubuntu)
+# set(CPACK_DEBIAN_DISTRIBUTION_RELEASES karmic lucid maverick natty)
+# set(CPACK_DEBIAN_CHANGELOG "  * Extra change log lines")
+# set(CPACK_DEBIAN_PACKAGE_SUGGESTS "ipython")
+# set(CPACK_COMPONENT_X_RECOMMENDS "recommended-package")
+##
+
+find_program(DEBUILD_EXECUTABLE debuild)
+find_program(DPUT_EXECUTABLE dput)
+
+if(NOT DEBUILD_EXECUTABLE OR NOT DPUT_EXECUTABLE)
+  return()
+endif(NOT DEBUILD_EXECUTABLE OR NOT DPUT_EXECUTABLE)
+
+# DEBIAN/control
+# debian policy enforce lower case for package name
+# Package: (mandatory)
+IF(NOT CPACK_DEBIAN_PACKAGE_NAME)
+  STRING(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
+ENDIF(NOT CPACK_DEBIAN_PACKAGE_NAME)
+
+# Section: (recommended)
+IF(NOT CPACK_DEBIAN_PACKAGE_SECTION)
+  SET(CPACK_DEBIAN_PACKAGE_SECTION "devel")
+ENDIF(NOT CPACK_DEBIAN_PACKAGE_SECTION)
+
+# Priority: (recommended)
+IF(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
+  SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
+ENDIF(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
+
+file(STRINGS ${CPACK_PACKAGE_DESCRIPTION_FILE} DESC_LINES)
+foreach(LINE ${DESC_LINES})
+  set(DEB_LONG_DESCRIPTION "${DEB_LONG_DESCRIPTION} ${LINE}\n")
+endforeach(LINE ${DESC_LINES})
+
+file(REMOVE_RECURSE "${CMAKE_BINARY_DIR}/Debian")
+file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/Debian")
+set(DEBIAN_SOURCE_ORIG_DIR "${CMAKE_BINARY_DIR}/Debian/${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
+
+if( CPACK_DEBIAN_PACKAGE_SOURCE_COPY )
+  execute_process(COMMAND ${CPACK_DEBIAN_PACKAGE_SOURCE_COPY} "${CMAKE_SOURCE_DIR}" "${DEBIAN_SOURCE_ORIG_DIR}.orig")
+else()
+  execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR} "${DEBIAN_SOURCE_ORIG_DIR}.orig")
+  execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${DEBIAN_SOURCE_ORIG_DIR}.orig/.git")
+  execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory "${DEBIAN_SOURCE_ORIG_DIR}.orig/.svn")
+endif()
+
+# remove unnecessary folders
+foreach(REMOVE_DIR ${CPACK_DEBIAN_PACKAGE_REMOVE_SOURCE_FILES})
+  file(REMOVE_RECURSE ${DEBIAN_SOURCE_ORIG_DIR}.orig/${REMOVE_DIR})
+endforeach()
+
+# create the original source tar
+execute_process(COMMAND ${CMAKE_COMMAND} -E tar czf "${CPACK_DEBIAN_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}.orig.tar.gz" "${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.orig" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/Debian)
+
+set(DEB_SOURCE_CHANGES)
+foreach(RELEASE ${CPACK_DEBIAN_DISTRIBUTION_RELEASES})
+  set(DEBIAN_SOURCE_DIR "${DEBIAN_SOURCE_ORIG_DIR}-${CPACK_DEBIAN_DISTRIBUTION_NAME}1~${RELEASE}1")
+  set(RELEASE_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_DISTRIBUTION_NAME}1~${RELEASE}1")
+  string(TOUPPER ${RELEASE} RELEASE_UPPER)
+  string(TOUPPER ${CPACK_DEBIAN_DISTRIBUTION_NAME} DISTRIBUTION_NAME_UPPER)
+  file(MAKE_DIRECTORY ${DEBIAN_SOURCE_DIR}/debian)
+  ##############################################################################
+  # debian/control
+  set(DEBIAN_CONTROL ${DEBIAN_SOURCE_DIR}/debian/control)
+  file(WRITE ${DEBIAN_CONTROL}
+    "Source: ${CPACK_DEBIAN_PACKAGE_NAME}\n"
+    "Section: ${CPACK_DEBIAN_PACKAGE_SECTION}\n"
+    "Priority: ${CPACK_DEBIAN_PACKAGE_PRIORITY}\n"
+    "DM-Upload-Allowed: yes\n"
+    "Maintainer: ${CPACK_PACKAGE_CONTACT}\n"
+    "Build-Depends: "
+    )
+
+  if( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+    foreach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+      file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+    endforeach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+  else( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+    if( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
+      foreach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
+        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+      endforeach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
+    else( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
+      foreach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS})
+        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+      endforeach(DEP ${CPACK_DEBIAN_BUILD_DEPENDS})
+    endif( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
+  endif( CPACK_DEBIAN_BUILD_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+
+    
+  file(APPEND ${DEBIAN_CONTROL} "\n"
+    "Standards-Version: 3.8.4\n"
+    "Homepage: ${CPACK_PACKAGE_VENDOR}\n"
+    "\n"
+    "Package: ${CPACK_DEBIAN_PACKAGE_NAME}\n"
+    "Architecture: any\n"
+    "Depends: "
+    )
+
+  if( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+    foreach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+      file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+    endforeach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+  else( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+    if( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
+      foreach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
+        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
+    else( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
+      foreach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS})
+        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_DEPENDS})
+    endif( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
+  endif( CPACK_DEBIAN_PACKAGE_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+
+  file(APPEND ${DEBIAN_CONTROL} "\nRecommends: ")
+  if( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+    foreach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+      file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+    endforeach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+  else( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+    if( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
+      foreach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}})
+        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}})
+    else( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
+      foreach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS})
+        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_RECOMMENDS})
+    endif( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
+  endif( CPACK_DEBIAN_PACKAGE_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+
+  file(APPEND ${DEBIAN_CONTROL} "\nSuggests: ")
+  if( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+    foreach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+      file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+    endforeach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+  else( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+    if( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
+      foreach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}})
+        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}})
+    else( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
+      foreach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS})
+        file(APPEND ${DEBIAN_CONTROL} "${DEP}, ")
+      endforeach(DEP ${CPACK_DEBIAN_PACKAGE_SUGGESTS})
+    endif( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
+  endif( CPACK_DEBIAN_PACKAGE_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+  
+  file(APPEND ${DEBIAN_CONTROL} "\n"
+    "Description: ${CPACK_PACKAGE_DISPLAY_NAME} ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}\n"
+    "${DEB_LONG_DESCRIPTION}"
+    )
+
+  foreach(COMPONENT ${CPACK_COMPONENTS_ALL})
+    string(TOUPPER ${COMPONENT} UPPER_COMPONENT)
+    set(DEPENDS "\${shlibs:Depends}")
+    if( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+      foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+        set(DEPENDS "${DEPENDS}, ${DEP}")
+      endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+    else( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+      if( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
+        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
+          set(DEPENDS "${DEPENDS}, ${DEP}")
+        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}})
+      else( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
+        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS})
+          set(DEPENDS "${DEPENDS}, ${DEP}")
+        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS})
+      endif( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER} )
+    endif( CPACK_COMPONENT_${UPPER_COMPONENT}_DEPENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+
+    set(RECOMMENDS)
+    if( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+      foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+        set(RECOMMENDS "${RECOMMENDS} ${DEP}, ")
+      endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+    else( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+      if( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
+        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}})
+          set(RECOMMENDS "${RECOMMENDS} ${DEP}, ")
+        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}})
+      else( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
+        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS})
+          set(RECOMMENDS "${RECOMMENDS} ${DEP}, ")
+        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS})
+      endif( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER} )
+    endif( CPACK_COMPONENT_${UPPER_COMPONENT}_RECOMMENDS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+
+    set(SUGGESTS)
+    if( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+      foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+        set(SUGGESTS "${SUGGESTS} ${DEP}, ")
+      endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER}})
+    else( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+      if( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
+        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}})
+          set(SUGGESTS "${SUGGESTS} ${DEP}, ")
+        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}})
+      else( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
+        foreach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS})
+          set(SUGGESTS "${SUGGESTS} ${DEP}, ")
+        endforeach(DEP ${CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS})
+      endif( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER} )
+    endif( CPACK_COMPONENT_${UPPER_COMPONENT}_SUGGESTS_${DISTRIBUTION_NAME_UPPER}_${RELEASE_UPPER} )
+
+    file(APPEND ${DEBIAN_CONTROL} "\n"
+      "Package: ${COMPONENT}\n"
+      "Architecture: any\n"
+      "Depends: ${DEPENDS}\n"
+      "Recommends: ${RECOMMENDS}\n"
+      "Suggests: ${SUGGESTS}\n"
+      "Description: ${CPACK_PACKAGE_DISPLAY_NAME} ${CPACK_COMPONENT_${UPPER_COMPONENT}_DISPLAY_NAME}\n"
+      "${DEB_LONG_DESCRIPTION}"
+      " .\n"
+      " ${CPACK_COMPONENT_${UPPER_COMPONENT}_DESCRIPTION}\n"
+      )
+  endforeach(COMPONENT ${CPACK_COMPONENTS_ALL})
+
+  ##############################################################################
+  # debian/copyright
+  set(DEBIAN_COPYRIGHT ${DEBIAN_SOURCE_DIR}/debian/copyright)
+  execute_process(COMMAND ${CMAKE_COMMAND} -E
+    copy ${CPACK_RESOURCE_FILE_LICENSE} ${DEBIAN_COPYRIGHT}
+    )
+
+  ##############################################################################
+  # debian/rules
+  set(DEBIAN_RULES ${DEBIAN_SOURCE_DIR}/debian/rules)
+  file(WRITE ${DEBIAN_RULES}
+    "#!/usr/bin/make -f\n"
+    "\n"
+    "BUILDDIR = build_dir\n"
+    "\n"
+    "build:\n"
+    "	mkdir $(BUILDDIR)\n"
+    "	cd $(BUILDDIR); cmake -DCMAKE_BUILD_TYPE=Release ${CPACK_DEBIAN_CMAKE_OPTIONS} -DCMAKE_INSTALL_PREFIX=/usr ..\n"
+    "	$(MAKE) -C $(BUILDDIR) preinstall\n"
+    "	touch build\n"
+    "\n"
+    "binary: binary-indep binary-arch\n"
+    "\n"
+    "binary-indep: build\n"
+    "\n"
+    "binary-arch: build\n"
+    "	cd $(BUILDDIR); cmake -DCOMPONENT=Unspecified -DCMAKE_INSTALL_PREFIX=../debian/tmp/usr -P cmake_install.cmake\n"
+    "	mkdir -p debian/tmp/DEBIAN\n"
+    "	dpkg-gensymbols -p${CPACK_DEBIAN_PACKAGE_NAME}\n"
+    )
+
+  foreach(COMPONENT ${CPACK_COMPONENTS_ALL})
+    set(PATH debian/${COMPONENT})
+    file(APPEND ${DEBIAN_RULES}
+      "	cd $(BUILDDIR); cmake -DCOMPONENT=${COMPONENT} -DCMAKE_INSTALL_PREFIX=../${PATH}/usr -P cmake_install.cmake\n"
+      "	mkdir -p ${PATH}/DEBIAN\n"
+      "	dpkg-gensymbols -p${COMPONENT} -P${PATH}\n"
+      )
+  endforeach(COMPONENT ${CPACK_COMPONENTS_ALL})
+
+  file(APPEND ${DEBIAN_RULES}
+    "	dh_shlibdeps\n"
+    "	dh_strip\n" # for reducing size
+    "	dpkg-gencontrol -p${CPACK_DEBIAN_PACKAGE_NAME}\n"
+    "	dpkg --build debian/tmp ..\n"
+    )
+
+  foreach(COMPONENT ${CPACK_COMPONENTS_ALL})
+    set(PATH debian/${COMPONENT})
+    file(APPEND ${DEBIAN_RULES}
+      "	dpkg-gencontrol -p${COMPONENT} -P${PATH} -Tdebian/${COMPONENT}.substvars\n"
+      "	dpkg --build ${PATH} ..\n"
+      )
+  endforeach(COMPONENT ${CPACK_COMPONENTS_ALL})
+
+  file(APPEND ${DEBIAN_RULES}
+    "\n"
+    "clean:\n"
+    "	rm -f build\n"
+    "	rm -rf $(BUILDDIR)\n"
+    "\n"
+    ".PHONY: binary binary-arch binary-indep clean\n"
+    )
+
+  execute_process(COMMAND chmod +x ${DEBIAN_RULES})
+
+  ##############################################################################
+  # debian/compat
+  file(WRITE ${DEBIAN_SOURCE_DIR}/debian/compat "7")
+
+  ##############################################################################
+  # debian/source/format
+  file(WRITE ${DEBIAN_SOURCE_DIR}/debian/source/format "3.0 (quilt)")
+
+  ##############################################################################
+  # debian/changelog
+  set(DEBIAN_CHANGELOG ${DEBIAN_SOURCE_DIR}/debian/changelog)
+  execute_process(COMMAND date -R  OUTPUT_VARIABLE DATE_TIME)
+  file(WRITE ${DEBIAN_CHANGELOG}
+    "${CPACK_DEBIAN_PACKAGE_NAME} (${RELEASE_PACKAGE_VERSION}) ${RELEASE}; urgency=medium\n\n"
+    "  * Package built with CMake\n\n"
+    "${CPACK_DEBIAN_CHANGELOG}"
+    " -- ${CPACK_PACKAGE_CONTACT}  ${DATE_TIME}"
+    )
+
+  ##############################################################################
+  # debuild -S
+  if( DEB_SOURCE_CHANGES )
+    set(DEBUILD_OPTIONS "-sd")
+  else()
+    set(DEBUILD_OPTIONS "-sa")
+  endif()
+  set(SOURCE_CHANGES_FILE "${CPACK_DEBIAN_PACKAGE_NAME}_${RELEASE_PACKAGE_VERSION}_source.changes")
+  set(DEB_SOURCE_CHANGES ${DEB_SOURCE_CHANGES} "${SOURCE_CHANGES_FILE}")
+  add_custom_command(OUTPUT "${SOURCE_CHANGES_FILE}" COMMAND ${DEBUILD_EXECUTABLE} -S ${DEBUILD_OPTIONS} WORKING_DIRECTORY ${DEBIAN_SOURCE_DIR})
+endforeach(RELEASE ${CPACK_DEBIAN_DISTRIBUTION_RELEASES})
+
+##############################################################################
+# dput ppa:your-lp-id/ppa <source.changes>
+add_custom_target(dput ${DPUT_EXECUTABLE} ${DPUT_HOST} ${DEB_SOURCE_CHANGES} DEPENDS ${DEB_SOURCE_CHANGES} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/Debian)

+ 100 - 100
cmake-modules/FindDirectX.cmake

@@ -1,100 +1,100 @@
-#-------------------------------------------------------------------
-# 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.
-#-------------------------------------------------------------------
-
-# -----------------------------------------------------------------------------
-# Find DirectX SDK
-# Define:
-# DirectX_FOUND
-# DirectX_INCLUDE_DIR
-# DirectX_LIBRARY
-# DirectX_ROOT_DIR
-
-if(WIN32) # The only platform it makes sense to check for DirectX SDK
-  include(FindPkgMacros)
-  findpkg_begin(DirectX)
-  
-  # Get path, convert backslashes as ${ENV_DXSDK_DIR}
-  getenv_path(DXSDK_DIR)
-  getenv_path(DIRECTX_HOME)
-  getenv_path(DIRECTX_ROOT)
-  getenv_path(DIRECTX_BASE)
-  
-  # construct search paths
-  set(DirectX_PREFIX_PATH 
-    "${DXSDK_DIR}" "${ENV_DXSDK_DIR}"
-    "${DIRECTX_HOME}" "${ENV_DIRECTX_HOME}"
-    "${DIRECTX_ROOT}" "${ENV_DIRECTX_ROOT}"
-    "${DIRECTX_BASE}" "${ENV_DIRECTX_BASE}"
-    "C:/apps_x86/Microsoft DirectX SDK*"
-    "C:/Program Files (x86)/Microsoft DirectX SDK*"
-    "C:/apps/Microsoft DirectX SDK*"
-    "C:/Program Files/Microsoft DirectX SDK*"
-	"$ENV{ProgramFiles}/Microsoft DirectX SDK*"
-  )
-  create_search_paths(DirectX)
-  # redo search if prefix path changed
-  clear_if_changed(DirectX_PREFIX_PATH
-    DirectX_LIBRARY
-	DirectX_INCLUDE_DIR
-  )
-  
-  find_path(DirectX_INCLUDE_DIR NAMES d3d9.h HINTS ${DirectX_INC_SEARCH_PATH})
-  # dlls are in DirectX_ROOT_DIR/Developer Runtime/x64|x86
-  # lib files are in DirectX_ROOT_DIR/Lib/x64|x86
-  if(CMAKE_CL_64)
-    set(DirectX_LIBPATH_SUFFIX "x64")
-  else(CMAKE_CL_64)
-    set(DirectX_LIBPATH_SUFFIX "x86")
-  endif(CMAKE_CL_64)
-  find_library(DirectX_LIBRARY NAMES d3d9 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-  find_library(DirectX_D3DX9_LIBRARY NAMES d3dx9 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-  find_library(DirectX_DXERR_LIBRARY NAMES DxErr HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-  find_library(DirectX_DXGUID_LIBRARY NAMES dxguid HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-  
-
-  # look for dxgi (needed by both 10 and 11)
-  find_library(DirectX_DXGI_LIBRARY NAMES dxgi HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-  
-  # look for d3dcompiler (needed by 11)
-  find_library(DirectX_D3DCOMPILER_LIBRARY NAMES d3dcompiler HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-
-  findpkg_finish(DirectX)
-  set(DirectX_LIBRARIES ${DirectX_LIBRARIES} 
-    ${DirectX_D3DX9_LIBRARY}
-    ${DirectX_DXERR_LIBRARY}
-    ${DirectX_DXGUID_LIBRARY}
-  )
-  
-  mark_as_advanced(DirectX_D3DX9_LIBRARY DirectX_DXERR_LIBRARY DirectX_DXGUID_LIBRARY
-    DirectX_DXGI_LIBRARY DirectX_D3DCOMPILER_LIBRARY)
-  
-
-  # look for D3D11 components
-  if (DirectX_FOUND)
-    find_path(DirectX_D3D11_INCLUDE_DIR NAMES D3D11Shader.h HINTS ${DirectX_INC_SEARCH_PATH})
-	get_filename_component(DirectX_LIBRARY_DIR "${DirectX_LIBRARY}" PATH)
-	message(STATUS "DX lib dir: ${DirectX_LIBRARY_DIR}")
-    find_library(DirectX_D3D11_LIBRARY NAMES d3d11 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-    find_library(DirectX_D3DX11_LIBRARY NAMES d3dx11 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})	
-	if (DirectX_D3D11_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
-	  set(DirectX_D3D11_FOUND TRUE)
-	  set(DirectX_D3D11_INCLUDE_DIR ${DirectX_D3D11_INCLUDE_DIR})
-	  set(DirectX_D3D11_LIBRARIES ${DirectX_D3D11_LIBRARIES}
-	    ${DirectX_D3D11_LIBRARY}
-	    ${DirectX_D3DX11_LIBRARY}
-	    ${DirectX_DXGI_LIBRARY}
-        ${DirectX_DXERR_LIBRARY}
-        ${DirectX_DXGUID_LIBRARY}
-        ${DirectX_D3DCOMPILER_LIBRARY}        	  
-      )	
-    endif ()
-	mark_as_advanced(DirectX_D3D11_INCLUDE_DIR DirectX_D3D11_LIBRARY DirectX_D3DX11_LIBRARY)
-  endif ()
-  
-endif(WIN32)
+#-------------------------------------------------------------------
+# 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.
+#-------------------------------------------------------------------
+
+# -----------------------------------------------------------------------------
+# Find DirectX SDK
+# Define:
+# DirectX_FOUND
+# DirectX_INCLUDE_DIR
+# DirectX_LIBRARY
+# DirectX_ROOT_DIR
+
+if(WIN32) # The only platform it makes sense to check for DirectX SDK
+  include(FindPkgMacros)
+  findpkg_begin(DirectX)
+
+  # Get path, convert backslashes as ${ENV_DXSDK_DIR}
+  getenv_path(DXSDK_DIR)
+  getenv_path(DIRECTX_HOME)
+  getenv_path(DIRECTX_ROOT)
+  getenv_path(DIRECTX_BASE)
+
+  # construct search paths
+  set(DirectX_PREFIX_PATH 
+    "${DXSDK_DIR}" "${ENV_DXSDK_DIR}"
+    "${DIRECTX_HOME}" "${ENV_DIRECTX_HOME}"
+    "${DIRECTX_ROOT}" "${ENV_DIRECTX_ROOT}"
+    "${DIRECTX_BASE}" "${ENV_DIRECTX_BASE}"
+    "C:/apps_x86/Microsoft DirectX SDK*"
+    "C:/Program Files (x86)/Microsoft DirectX SDK*"
+    "C:/apps/Microsoft DirectX SDK*"
+    "C:/Program Files/Microsoft DirectX SDK*"
+    "$ENV{ProgramFiles}/Microsoft DirectX SDK*"
+  )
+  create_search_paths(DirectX)
+  # redo search if prefix path changed
+  clear_if_changed(DirectX_PREFIX_PATH
+    DirectX_LIBRARY
+    DirectX_INCLUDE_DIR
+  )
+
+  find_path(DirectX_INCLUDE_DIR NAMES d3d9.h HINTS ${DirectX_INC_SEARCH_PATH})
+  # dlls are in DirectX_ROOT_DIR/Developer Runtime/x64|x86
+  # lib files are in DirectX_ROOT_DIR/Lib/x64|x86
+  if(CMAKE_CL_64)
+    set(DirectX_LIBPATH_SUFFIX "x64")
+  else(CMAKE_CL_64)
+    set(DirectX_LIBPATH_SUFFIX "x86")
+  endif(CMAKE_CL_64)
+  find_library(DirectX_LIBRARY NAMES d3d9 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
+  find_library(DirectX_D3DX9_LIBRARY NAMES d3dx9 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
+  find_library(DirectX_DXERR_LIBRARY NAMES DxErr HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
+  find_library(DirectX_DXGUID_LIBRARY NAMES dxguid HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
+
+
+  # look for dxgi (needed by both 10 and 11)
+  find_library(DirectX_DXGI_LIBRARY NAMES dxgi HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
+
+  # look for d3dcompiler (needed by 11)
+  find_library(DirectX_D3DCOMPILER_LIBRARY NAMES d3dcompiler HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
+
+  findpkg_finish(DirectX)
+  set(DirectX_LIBRARIES ${DirectX_LIBRARIES} 
+    ${DirectX_D3DX9_LIBRARY}
+    ${DirectX_DXERR_LIBRARY}
+    ${DirectX_DXGUID_LIBRARY}
+  )
+
+  mark_as_advanced(DirectX_D3DX9_LIBRARY DirectX_DXERR_LIBRARY DirectX_DXGUID_LIBRARY
+    DirectX_DXGI_LIBRARY DirectX_D3DCOMPILER_LIBRARY)
+
+
+  # look for D3D11 components
+  if (DirectX_FOUND)
+    find_path(DirectX_D3D11_INCLUDE_DIR NAMES D3D11Shader.h HINTS ${DirectX_INC_SEARCH_PATH})
+      get_filename_component(DirectX_LIBRARY_DIR "${DirectX_LIBRARY}" PATH)
+      message(STATUS "DX lib dir: ${DirectX_LIBRARY_DIR}")
+    find_library(DirectX_D3D11_LIBRARY NAMES d3d11 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
+    find_library(DirectX_D3DX11_LIBRARY NAMES d3dx11 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})	
+    if (DirectX_D3D11_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
+      set(DirectX_D3D11_FOUND TRUE)
+      set(DirectX_D3D11_INCLUDE_DIR ${DirectX_D3D11_INCLUDE_DIR})
+      set(DirectX_D3D11_LIBRARIES ${DirectX_D3D11_LIBRARIES}
+	${DirectX_D3D11_LIBRARY}
+	${DirectX_D3DX11_LIBRARY}
+	${DirectX_DXGI_LIBRARY}
+	${DirectX_DXERR_LIBRARY}
+	${DirectX_DXGUID_LIBRARY}
+	${DirectX_D3DCOMPILER_LIBRARY}        	  
+      )	
+    endif ()
+    mark_as_advanced(DirectX_D3D11_INCLUDE_DIR DirectX_D3D11_LIBRARY DirectX_D3DX11_LIBRARY)
+  endif ()
+
+endif(WIN32)

+ 142 - 142
cmake-modules/FindPkgMacros.cmake

@@ -1,142 +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)
+#-------------------------------------------------------------------
+# 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)

+ 48 - 48
cmake-modules/FindZLIB.cmake

@@ -1,48 +1,48 @@
-#-------------------------------------------------------------------
-# 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.
-#-------------------------------------------------------------------
-
-# - Try to find ZLIB
-# Once done, this will define
-#
-#  ZLIB_FOUND - system has ZLIB
-#  ZLIB_INCLUDE_DIRS - the ZLIB include directories 
-#  ZLIB_LIBRARIES - link these to use ZLIB
-
-include(FindPkgMacros)
-findpkg_begin(ZLIB)
-
-# Get path, convert backslashes as ${ENV_${var}}
-getenv_path(ZLIB_HOME)
-
-# construct search paths
-set(ZLIB_PREFIX_PATH ${ZLIB_HOME} ${ENV_ZLIB_HOME})
-create_search_paths(ZLIB)
-# redo search if prefix path changed
-clear_if_changed(ZLIB_PREFIX_PATH
-  ZLIB_LIBRARY_FWK
-  ZLIB_LIBRARY_REL
-  ZLIB_LIBRARY_DBG
-  ZLIB_INCLUDE_DIR
-)
-
-set(ZLIB_LIBRARY_NAMES z zlib zdll)
-get_debug_names(ZLIB_LIBRARY_NAMES)
-
-use_pkgconfig(ZLIB_PKGC zzip-zlib-config)
-
-findpkg_framework(ZLIB)
-
-find_path(ZLIB_INCLUDE_DIR NAMES zlib.h HINTS ${ZLIB_INC_SEARCH_PATH} ${ZLIB_PKGC_INCLUDE_DIRS})
-find_library(ZLIB_LIBRARY_REL NAMES ${ZLIB_LIBRARY_NAMES} HINTS ${ZLIB_LIB_SEARCH_PATH} ${ZLIB_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
-find_library(ZLIB_LIBRARY_DBG NAMES ${ZLIB_LIBRARY_NAMES_DBG} HINTS ${ZLIB_LIB_SEARCH_PATH} ${ZLIB_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
-
-make_library_set(ZLIB_LIBRARY)
-
-findpkg_finish(ZLIB)
-
+#-------------------------------------------------------------------
+# 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.
+#-------------------------------------------------------------------
+
+# - Try to find ZLIB
+# Once done, this will define
+#
+#  ZLIB_FOUND - system has ZLIB
+#  ZLIB_INCLUDE_DIRS - the ZLIB include directories 
+#  ZLIB_LIBRARIES - link these to use ZLIB
+
+include(FindPkgMacros)
+findpkg_begin(ZLIB)
+
+# Get path, convert backslashes as ${ENV_${var}}
+getenv_path(ZLIB_HOME)
+
+# construct search paths
+set(ZLIB_PREFIX_PATH ${ZLIB_HOME} ${ENV_ZLIB_HOME})
+create_search_paths(ZLIB)
+# redo search if prefix path changed
+clear_if_changed(ZLIB_PREFIX_PATH
+  ZLIB_LIBRARY_FWK
+  ZLIB_LIBRARY_REL
+  ZLIB_LIBRARY_DBG
+  ZLIB_INCLUDE_DIR
+)
+
+set(ZLIB_LIBRARY_NAMES z zlib zdll)
+get_debug_names(ZLIB_LIBRARY_NAMES)
+
+use_pkgconfig(ZLIB_PKGC zzip-zlib-config)
+
+findpkg_framework(ZLIB)
+
+find_path(ZLIB_INCLUDE_DIR NAMES zlib.h HINTS ${ZLIB_INC_SEARCH_PATH} ${ZLIB_PKGC_INCLUDE_DIRS})
+find_library(ZLIB_LIBRARY_REL NAMES ${ZLIB_LIBRARY_NAMES} HINTS ${ZLIB_LIB_SEARCH_PATH} ${ZLIB_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
+find_library(ZLIB_LIBRARY_DBG NAMES ${ZLIB_LIBRARY_NAMES_DBG} HINTS ${ZLIB_LIB_SEARCH_PATH} ${ZLIB_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
+
+make_library_set(ZLIB_LIBRARY)
+
+findpkg_finish(ZLIB)
+

+ 13 - 13
cmake-modules/Findassimp.cmake

@@ -1,25 +1,25 @@
 FIND_PATH(
-	assimp_INCLUDE_DIRS
-	NAMES postprocess.h scene.h version.h config.h cimport.h
-	PATHS /usr/local/include/
+  assimp_INCLUDE_DIRS
+  NAMES postprocess.h scene.h version.h config.h cimport.h
+  PATHS /usr/local/include/
 )
 
 FIND_LIBRARY(
-	assimp_LIBRARIES
-	NAMES assimp
-	PATHS /usr/local/lib/
+  assimp_LIBRARIES
+  NAMES assimp
+  PATHS /usr/local/lib/
 )
 
 IF (assimp_INCLUDE_DIRS AND assimp_LIBRARIES)
-    SET(assimp_FOUND TRUE)
+  SET(assimp_FOUND TRUE)
 ENDIF (assimp_INCLUDE_DIRS AND assimp_LIBRARIES)
 
 IF (assimp_FOUND)
-    IF (NOT assimp_FIND_QUIETLY)
-        MESSAGE(STATUS "Found asset importer library: ${assimp_LIBRARIES}")
-    ENDIF (NOT assimp_FIND_QUIETLY)
+  IF (NOT assimp_FIND_QUIETLY)
+    MESSAGE(STATUS "Found asset importer library: ${assimp_LIBRARIES}")
+  ENDIF (NOT assimp_FIND_QUIETLY)
 ELSE (assimp_FOUND)
-    IF (assimp_FIND_REQUIRED)
-        MESSAGE(FATAL_ERROR "Could not find asset importer library")
-    ENDIF (assimp_FIND_REQUIRED)
+  IF (assimp_FIND_REQUIRED)
+    MESSAGE(FATAL_ERROR "Could not find asset importer library")
+  ENDIF (assimp_FIND_REQUIRED)
 ENDIF (assimp_FOUND)

+ 15 - 15
cmake-modules/PrecompiledHeader.cmake

@@ -5,21 +5,21 @@ MACRO(ADD_MSVC_PRECOMPILED_HEADER PrecompiledHeader PrecompiledSource SourcesVar
     SET(Sources ${${SourcesVar}})
 
     SET_SOURCE_FILES_PROPERTIES(${PrecompiledSource}
-                                PROPERTIES COMPILE_FLAGS "/Yc\"${PrecompiledHeader}\" /Fp\"${PrecompiledBinary}\""
-                                           OBJECT_OUTPUTS "${PrecompiledBinary}")
-										   
-	# Do not consider .c files
-	foreach(fname ${Sources}) 
-		GET_FILENAME_COMPONENT(fext ${fname} EXT)
-		if(fext STREQUAL ".cpp")
-			SET_SOURCE_FILES_PROPERTIES(${fname}
-                                PROPERTIES COMPILE_FLAGS "/Yu\"${PrecompiledBinary}\" /FI\"${PrecompiledBinary}\" /Fp\"${PrecompiledBinary}\""
-                                           OBJECT_DEPENDS "${PrecompiledBinary}")     
-		endif(fext STREQUAL ".cpp")
-	endforeach(fname) 
-										   
+      PROPERTIES COMPILE_FLAGS "/Yc\"${PrecompiledHeader}\" /Fp\"${PrecompiledBinary}\""
+      OBJECT_OUTPUTS "${PrecompiledBinary}")
+
+    # Do not consider .c files
+    foreach(fname ${Sources}) 
+      GET_FILENAME_COMPONENT(fext ${fname} EXT)
+      if(fext STREQUAL ".cpp")
+	SET_SOURCE_FILES_PROPERTIES(${fname}
+	  PROPERTIES COMPILE_FLAGS "/Yu\"${PrecompiledBinary}\" /FI\"${PrecompiledBinary}\" /Fp\"${PrecompiledBinary}\""
+          OBJECT_DEPENDS "${PrecompiledBinary}")     
+      endif(fext STREQUAL ".cpp")
+    endforeach(fname) 
+
   ENDIF(MSVC)
   # Add precompiled header to SourcesVar
   LIST(APPEND ${SourcesVar} ${PrecompiledSource})
-	
-ENDMACRO(ADD_MSVC_PRECOMPILED_HEADER)
+
+ENDMACRO(ADD_MSVC_PRECOMPILED_HEADER)

+ 781 - 781
code/CMakeLists.txt

@@ -1,781 +1,781 @@
-# Listing and grouping of all the source files.
-# 1) Set the file lists for each component
-# 2) Create a Source Group for each component, for IDE project orginization
-# 3) Add libassimp using the file lists (eliminates duplication of file names between
-#    source groups and library command)
-#
-cmake_minimum_required( VERSION 2.6 )
-SET( HEADER_PATH ../include/assimp )
-
-SET( COMPILER_HEADERS
-    ${HEADER_PATH}/Compiler/pushpack1.h
-    ${HEADER_PATH}/Compiler/poppack1.h
-    ${HEADER_PATH}/Compiler/pstdint.h
-)
-SOURCE_GROUP( Compiler FILES ${COMPILER_HEADERS})
-
-SET( PUBLIC_HEADERS
-    ${HEADER_PATH}/anim.h
-    ${HEADER_PATH}/ai_assert.h
-    ${HEADER_PATH}/camera.h
-    ${HEADER_PATH}/color4.h
-    ${HEADER_PATH}/color4.inl
-    ${HEADER_PATH}/config.h
-    ${HEADER_PATH}/defs.h
-    ${HEADER_PATH}/cfileio.h
-    ${HEADER_PATH}/light.h
-    ${HEADER_PATH}/material.h
-    ${HEADER_PATH}/material.inl
-    ${HEADER_PATH}/matrix3x3.h
-    ${HEADER_PATH}/matrix3x3.inl
-    ${HEADER_PATH}/matrix4x4.h
-    ${HEADER_PATH}/matrix4x4.inl
-    ${HEADER_PATH}/mesh.h
-    ${HEADER_PATH}/postprocess.h
-    ${HEADER_PATH}/quaternion.h
-    ${HEADER_PATH}/quaternion.inl
-    ${HEADER_PATH}/scene.h
-    ${HEADER_PATH}/metadata.h
-    ${HEADER_PATH}/texture.h
-    ${HEADER_PATH}/types.h
-    ${HEADER_PATH}/vector2.h
-    ${HEADER_PATH}/vector2.inl
-    ${HEADER_PATH}/vector3.h
-    ${HEADER_PATH}/vector3.inl
-    ${HEADER_PATH}/version.h
-    ${HEADER_PATH}/cimport.h
-    ${HEADER_PATH}/importerdesc.h
-    ${HEADER_PATH}/Importer.hpp
-    ${HEADER_PATH}/DefaultLogger.hpp
-    ${HEADER_PATH}/ProgressHandler.hpp
-    ${HEADER_PATH}/IOStream.hpp
-    ${HEADER_PATH}/IOSystem.hpp
-    ${HEADER_PATH}/Logger.hpp
-    ${HEADER_PATH}/LogStream.hpp
-    ${HEADER_PATH}/NullLogger.hpp
-    ${HEADER_PATH}/cexport.h
-    ${HEADER_PATH}/Exporter.hpp
-)
-
-SET( Core_SRCS
-    Assimp.cpp
-)
-
-SET( Boost_SRCS
-    BoostWorkaround/boost/math/common_factor_rt.hpp
-    BoostWorkaround/boost/foreach.hpp
-    BoostWorkaround/boost/format.hpp
-    BoostWorkaround/boost/scoped_array.hpp
-    BoostWorkaround/boost/scoped_ptr.hpp
-    BoostWorkaround/boost/shared_array.hpp
-    BoostWorkaround/boost/shared_ptr.hpp
-    BoostWorkaround/boost/make_shared.hpp
-    BoostWorkaround/boost/static_assert.hpp
-    BoostWorkaround/boost/tuple/tuple.hpp
-)
-SOURCE_GROUP(Boost FILES ${Boost_SRCS})
-
-SET( Logging_SRCS
-    ${HEADER_PATH}/DefaultLogger.hpp
-    ${HEADER_PATH}/LogStream.hpp
-    ${HEADER_PATH}/Logger.hpp
-    ${HEADER_PATH}/NullLogger.hpp
-    Win32DebugLogStream.h
-    DefaultLogger.cpp
-    FileLogStream.h
-    StdOStreamLogStream.h
-)
-SOURCE_GROUP(Logging FILES ${Logging_SRCS})
-
-SET( Common_SRCS
-    fast_atof.h
-    qnan.h
-    BaseImporter.cpp
-    BaseImporter.h
-    BaseProcess.cpp
-    BaseProcess.h
-    Importer.h
-    ScenePrivate.h
-    PostStepRegistry.cpp
-    ImporterRegistry.cpp
-    ByteSwapper.h
-    DefaultProgressHandler.h
-    DefaultIOStream.cpp
-    DefaultIOStream.h
-    DefaultIOSystem.cpp
-    DefaultIOSystem.h
-    CInterfaceIOWrapper.h
-    Hash.h
-    Importer.cpp
-    IFF.h
-    MemoryIOWrapper.h
-    ParsingUtils.h
-    StreamReader.h
-    StreamWriter.h
-    StringComparison.h
-    SGSpatialSort.cpp
-    SGSpatialSort.h
-    VertexTriangleAdjacency.cpp
-    VertexTriangleAdjacency.h
-    GenericProperty.h
-    SpatialSort.cpp
-    SpatialSort.h
-    SceneCombiner.cpp
-    SceneCombiner.h
-    ScenePreprocessor.cpp
-    ScenePreprocessor.h
-    SkeletonMeshBuilder.cpp
-    SkeletonMeshBuilder.h
-    SplitByBoneCountProcess.cpp
-    SplitByBoneCountProcess.h
-    SmoothingGroups.h
-    StandardShapes.cpp
-    StandardShapes.h
-    TargetAnimation.cpp
-    TargetAnimation.h
-    RemoveComments.cpp
-    RemoveComments.h
-    Subdivision.cpp
-    Subdivision.h
-    Vertex.h
-    LineSplitter.h
-    TinyFormatter.h
-    Profiler.h
-    LogAux.h
-    Bitmap.cpp
-    Bitmap.h
-    XMLTools.h
-    Version.cpp
-)
-SOURCE_GROUP(Common FILES ${Common_SRCS})
-
-IF ( ASSIMP_BUILD_NONFREE_C4D_IMPORTER )
-    SET( C4D_SRCS
-        C4DImporter.cpp
-        C4DImporter.h
-    )
-    SOURCE_GROUP( C4D FILES ${C4D_SRCS})
-ENDIF ( ASSIMP_BUILD_NONFREE_C4D_IMPORTER )
-
-# macro to add the CMake Option ADD_ASSIMP_IMPORTER_<name> which enables compile of loader
-# this way selective loaders can be compiled (reduces filesize + compile time)
-MACRO(ADD_ASSIMP_IMPORTER name)
-    OPTION(ASSIMP_BUILD_${name}_IMPORTER "build the ${name} importer" TRUE)
-    IF(ASSIMP_BUILD_${name}_IMPORTER)
-        LIST(APPEND ASSIMP_LOADER_SRCS ${ARGN})
-        SET(ASSIMP_IMPORTERS_ENABLED "${ASSIMP_IMPORTERS_ENABLED} ${name}")
-        SET(${name}_SRCS ${ARGN})
-        SOURCE_GROUP(${name} FILES ${ARGN})
-    ELSE()
-        SET(${name}_SRC "")
-        SET(ASSIMP_IMPORTERS_DISABLED "${ASSIMP_IMPORTERS_DISABLED} ${name}")
-        add_definitions(-DASSIMP_BUILD_NO_${name}_IMPORTER)
-    ENDIF()
-ENDMACRO()
-
-SET(ASSIMP_LOADER_SRCS "")
-SET(ASSIMP_IMPORTERS_ENABLED "") # list of enabled importers
-SET(ASSIMP_IMPORTERS_DISABLED "") # disabled list (used to print)
-
-ADD_ASSIMP_IMPORTER(3DS
-    3DSConverter.cpp
-    3DSHelper.h
-    3DSLoader.cpp
-    3DSLoader.h
-    3DSExporter.h
-    3DSExporter.cpp
-)
-
-ADD_ASSIMP_IMPORTER(AC
-    ACLoader.cpp
-    ACLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(ASE
-    ASELoader.cpp
-    ASELoader.h
-    ASEParser.cpp
-    ASEParser.h
-)
-
-ADD_ASSIMP_IMPORTER(ASSBIN
-    AssbinExporter.h
-    AssbinExporter.cpp
-    AssbinLoader.h
-    AssbinLoader.cpp
-)
-
-ADD_ASSIMP_IMPORTER(ASSXML
-    AssxmlExporter.h
-    AssxmlExporter.cpp
-)
-
-ADD_ASSIMP_IMPORTER(B3D
-    B3DImporter.cpp
-    B3DImporter.h
-)
-
-ADD_ASSIMP_IMPORTER(BVH
-    BVHLoader.cpp
-    BVHLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(COLLADA
-    ColladaHelper.h
-    ColladaLoader.cpp
-    ColladaLoader.h
-    ColladaParser.cpp
-    ColladaParser.h
-    ColladaExporter.h
-    ColladaExporter.cpp
-)
-
-ADD_ASSIMP_IMPORTER(DXF
-    DXFLoader.cpp
-    DXFLoader.h
-    DXFHelper.h
-)
-
-ADD_ASSIMP_IMPORTER(CSM
-    CSMLoader.cpp
-    CSMLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(HMP
-    HMPFileData.h
-    HMPLoader.cpp
-    HMPLoader.h
-    HalfLifeFileData.h
-)
-
-#FIXME: allow to set IRRMESH by option
-ADD_ASSIMP_IMPORTER(IRR
-    IRRLoader.cpp
-    IRRLoader.h
-    IRRMeshLoader.cpp
-    IRRMeshLoader.h
-    IRRShared.cpp
-    IRRShared.h
-)
-
-ADD_ASSIMP_IMPORTER(LWO
-    LWOAnimation.cpp
-    LWOAnimation.h
-    LWOBLoader.cpp
-    LWOFileData.h
-    LWOLoader.cpp
-    LWOLoader.h
-    LWOMaterial.cpp
-)
-
-ADD_ASSIMP_IMPORTER(LWS
-    LWSLoader.cpp
-    LWSLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(MD2
-    MD2FileData.h
-    MD2Loader.cpp
-    MD2Loader.h
-    MD2NormalTable.h
-)
-
-ADD_ASSIMP_IMPORTER(MD3
-    MD3FileData.h
-    MD3Loader.cpp
-    MD3Loader.h
-)
-
-ADD_ASSIMP_IMPORTER(MD5
-    MD5Loader.cpp
-    MD5Loader.h
-    MD5Parser.cpp
-    MD5Parser.h
-)
-
-ADD_ASSIMP_IMPORTER(MDC
-    MDCFileData.h
-    MDCLoader.cpp
-    MDCLoader.h
-    MDCNormalTable.h
-)
-
-ADD_ASSIMP_IMPORTER(MDL
-    MDLDefaultColorMap.h
-    MDLFileData.h
-    MDLLoader.cpp
-    MDLLoader.h
-    MDLMaterialLoader.cpp
-)
-
-SET( MaterialSystem_SRCS
-    MaterialSystem.cpp
-    MaterialSystem.h
-)
-SOURCE_GROUP( MaterialSystem FILES ${MaterialSystem_SRCS})
-
-ADD_ASSIMP_IMPORTER(NFF
-    NFFLoader.cpp
-    NFFLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(NDO
-    NDOLoader.cpp
-    NDOLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(OFF
-    OFFLoader.cpp
-    OFFLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(OBJ
-    ObjFileData.h
-    ObjFileImporter.cpp
-    ObjFileImporter.h
-    ObjFileMtlImporter.cpp
-    ObjFileMtlImporter.h
-    ObjFileParser.cpp
-    ObjFileParser.h
-    ObjTools.h
-
-    ObjExporter.h
-    ObjExporter.cpp
-)
-
-ADD_ASSIMP_IMPORTER(OGRE
-    OgreImporter.h
-    OgreStructs.h
-    OgreParsingUtils.h
-    OgreBinarySerializer.h
-    OgreXmlSerializer.h
-    OgreImporter.cpp
-    OgreStructs.cpp
-    OgreBinarySerializer.cpp
-    OgreXmlSerializer.cpp
-    OgreMaterial.cpp
-)
-
-ADD_ASSIMP_IMPORTER(OPENGEX
-    OpenGEXImporter.cpp
-    OpenGEXImporter.h
-    OpenGEXStructs.h
-)
-
-ADD_ASSIMP_IMPORTER(PLY
-    PlyLoader.cpp
-    PlyLoader.h
-    PlyParser.cpp
-    PlyParser.h
-    PlyExporter.cpp
-    PlyExporter.h
-)
-
-ADD_ASSIMP_IMPORTER(MS3D
-    MS3DLoader.cpp
-    MS3DLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(COB
-    COBLoader.cpp
-    COBLoader.h
-    COBScene.h
-)
-
-ADD_ASSIMP_IMPORTER(BLEND
-    BlenderLoader.cpp
-    BlenderLoader.h
-    BlenderDNA.cpp
-    BlenderDNA.h
-    BlenderDNA.inl
-    BlenderScene.cpp
-    BlenderScene.h
-    BlenderSceneGen.h
-    BlenderIntermediate.h
-    BlenderModifier.h
-    BlenderModifier.cpp
-    BlenderBMesh.h
-    BlenderBMesh.cpp
-    BlenderTessellator.h
-    BlenderTessellator.cpp
-)
-
-ADD_ASSIMP_IMPORTER(IFC
-    IFCLoader.cpp
-    IFCLoader.h
-    IFCReaderGen.cpp
-    IFCReaderGen.h
-    IFCUtil.h
-    IFCUtil.cpp
-    IFCGeometry.cpp
-    IFCMaterial.cpp
-    IFCProfile.cpp
-    IFCCurve.cpp
-    IFCBoolean.cpp
-    IFCOpenings.cpp
-    STEPFile.h
-    STEPFileReader.h
-    STEPFileReader.cpp
-    STEPFileEncoding.cpp
-    STEPFileEncoding.h
-)
-
-ADD_ASSIMP_IMPORTER(XGL
-    XGLLoader.cpp
-    XGLLoader.h
-)
-
-
-ADD_ASSIMP_IMPORTER(FBX
-    FBXImporter.cpp
-    FBXCompileConfig.h
-    FBXImporter.h
-    FBXParser.cpp
-    FBXParser.h
-    FBXTokenizer.cpp
-    FBXTokenizer.h
-    FBXImportSettings.h
-    FBXConverter.h
-    FBXConverter.cpp
-    FBXUtil.h
-    FBXUtil.cpp
-    FBXDocument.h
-    FBXDocument.cpp
-    FBXProperties.h
-    FBXProperties.cpp
-    FBXMeshGeometry.cpp
-    FBXMaterial.cpp
-    FBXModel.cpp
-    FBXAnimation.cpp
-    FBXNodeAttribute.cpp
-    FBXDeformer.cpp
-    FBXBinaryTokenizer.cpp
-    FBXDocumentUtil.cpp
-)
-
-SET( PostProcessing_SRCS
-    CalcTangentsProcess.cpp
-    CalcTangentsProcess.h
-    ComputeUVMappingProcess.cpp
-    ComputeUVMappingProcess.h
-    ConvertToLHProcess.cpp
-    ConvertToLHProcess.h
-    FindDegenerates.cpp
-    FindDegenerates.h
-    FindInstancesProcess.cpp
-    FindInstancesProcess.h
-    FindInvalidDataProcess.cpp
-    FindInvalidDataProcess.h
-    FixNormalsStep.cpp
-    FixNormalsStep.h
-    GenFaceNormalsProcess.cpp
-    GenFaceNormalsProcess.h
-    GenVertexNormalsProcess.cpp
-    GenVertexNormalsProcess.h
-    PretransformVertices.cpp
-    PretransformVertices.h
-    ImproveCacheLocality.cpp
-    ImproveCacheLocality.h
-    JoinVerticesProcess.cpp
-    JoinVerticesProcess.h
-    LimitBoneWeightsProcess.cpp
-    LimitBoneWeightsProcess.h
-    RemoveRedundantMaterials.cpp
-    RemoveRedundantMaterials.h
-    RemoveVCProcess.cpp
-    RemoveVCProcess.h
-    SortByPTypeProcess.cpp
-    SortByPTypeProcess.h
-    SplitLargeMeshes.cpp
-    SplitLargeMeshes.h
-    TextureTransform.cpp
-    TextureTransform.h
-    TriangulateProcess.cpp
-    TriangulateProcess.h
-    ValidateDataStructure.cpp
-    ValidateDataStructure.h
-    OptimizeGraph.cpp
-    OptimizeGraph.h
-    OptimizeMeshes.cpp
-    OptimizeMeshes.h
-    DeboneProcess.cpp
-    DeboneProcess.h
-    ProcessHelper.h
-    ProcessHelper.cpp
-    PolyTools.h
-    MakeVerboseFormat.cpp
-    MakeVerboseFormat.h
-)
-SOURCE_GROUP( PostProcessing FILES ${PostProcessing_SRCS})
-
-ADD_ASSIMP_IMPORTER(Q3D
-    Q3DLoader.cpp
-    Q3DLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(Q3BSP
-    Q3BSPFileData.h
-    Q3BSPFileParser.h
-    Q3BSPFileParser.cpp
-    Q3BSPFileImporter.h
-    Q3BSPFileImporter.cpp
-    Q3BSPZipArchive.h
-    Q3BSPZipArchive.cpp
-)
-
-ADD_ASSIMP_IMPORTER(RAW
-    RawLoader.cpp
-    RawLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(SMD
-    SMDLoader.cpp
-    SMDLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(STL
-    STLLoader.cpp
-    STLLoader.h
-    STLExporter.h
-    STLExporter.cpp
-)
-
-ADD_ASSIMP_IMPORTER(TERRAGEN
-    TerragenLoader.cpp
-    TerragenLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(3D
-    UnrealLoader.cpp
-    UnrealLoader.h
-)
-
-ADD_ASSIMP_IMPORTER(X
-    XFileHelper.h
-    XFileImporter.cpp
-    XFileImporter.h
-    XFileParser.cpp
-    XFileParser.h
-    XFileExporter.h
-    XFileExporter.cpp
-)
-
-SET( Step_SRCS
-    StepExporter.h
-    StepExporter.cpp
-)
-SOURCE_GROUP( Step FILES ${Step_SRCS})
-
-SET( Exporter_SRCS
-    Exporter.cpp
-    AssimpCExport.cpp
-    BlobIOSystem.h
-)
-SOURCE_GROUP( Exporter FILES ${Exporter_SRCS})
-
-SET( Extra_SRCS
-    MD4FileData.h
-)
-SOURCE_GROUP( Extra FILES ${Extra_SRCS})
-
-SET( IrrXML_SRCS
-    irrXMLWrapper.h
-    ../contrib/irrXML/CXMLReaderImpl.h
-    ../contrib/irrXML/heapsort.h
-    ../contrib/irrXML/irrArray.h
-    ../contrib/irrXML/irrString.h
-    ../contrib/irrXML/irrTypes.h
-    ../contrib/irrXML/irrXML.cpp
-    ../contrib/irrXML/irrXML.h
-)
-SOURCE_GROUP( IrrXML FILES ${IrrXML_SRCS})
-
-SET( ConvertUTF_SRCS
-    ../contrib/ConvertUTF/ConvertUTF.h
-    ../contrib/ConvertUTF/ConvertUTF.c
-)
-SOURCE_GROUP( ConvertUTF FILES ${ConvertUTF_SRCS})
-
-SET( Clipper_SRCS
-    ../contrib/clipper/clipper.hpp
-    ../contrib/clipper/clipper.cpp
-)
-SOURCE_GROUP( Clipper FILES ${Clipper_SRCS})
-
-
-SET( Poly2Tri_SRCS
-    ../contrib/poly2tri/poly2tri/common/shapes.cc
-    ../contrib/poly2tri/poly2tri/common/shapes.h
-    ../contrib/poly2tri/poly2tri/common/utils.h
-    ../contrib/poly2tri/poly2tri/sweep/advancing_front.h
-    ../contrib/poly2tri/poly2tri/sweep/advancing_front.cc
-    ../contrib/poly2tri/poly2tri/sweep/cdt.cc
-    ../contrib/poly2tri/poly2tri/sweep/cdt.h
-    ../contrib/poly2tri/poly2tri/sweep/sweep.cc
-    ../contrib/poly2tri/poly2tri/sweep/sweep.h
-    ../contrib/poly2tri/poly2tri/sweep/sweep_context.cc
-    ../contrib/poly2tri/poly2tri/sweep/sweep_context.h
-)
-SOURCE_GROUP( Poly2Tri FILES ${Poly2Tri_SRCS})
-
-SET( unzip_SRCS
-    ../contrib/unzip/crypt.h
-    ../contrib/unzip/ioapi.c
-    ../contrib/unzip/ioapi.h
-    ../contrib/unzip/unzip.c
-    ../contrib/unzip/unzip.h
-)
-SOURCE_GROUP( unzip FILES ${unzip_SRCS})
-
-SET ( openddl_parser_SRCS
-    ../contrib/openddlparser/code/OpenDDLParser.cpp
-    ../contrib/openddlparser/code/DDLNode.cpp
-    ../contrib/openddlparser/code/Value.cpp
-    ../contrib/openddlparser/include/openddlparser/OpenDDLParser.h
-    ../contrib/openddlparser/include/openddlparser/OpenDDLParserUtils.h
-    ../contrib/openddlparser/include/openddlparser/OpenDDLCommon.h
-    ../contrib/openddlparser/include/openddlparser/DDLNode.h
-    ../contrib/openddlparser/include/openddlparser/Value.h
-)
-SOURCE_GROUP( openddl_parser FILES ${openddl_parser_SRCS})
-
-# VC2010 fixes
-if(MSVC10)
-    option( VC10_STDINT_FIX "Fix for VC10 Compiler regarding pstdint.h redefinition errors" OFF )
-    if( VC10_STDINT_FIX )
-        ADD_DEFINITIONS( -D_STDINT )
-    endif( VC10_STDINT_FIX )
-endif(MSVC10)
-
-ADD_DEFINITIONS( -DASSIMP_BUILD_DLL_EXPORT )
-
-if ( MSVC )
-    ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
-    ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
-endif ( MSVC )
-
-if (UNZIP_FOUND)
-    SET (unzip_compile_SRCS "")
-else (UNZIP_FOUND)
-    SET (unzip_compile_SRCS ${unzip_SRCS})
-endif (UNZIP_FOUND)
-
-MESSAGE(STATUS "Enabled formats:${ASSIMP_IMPORTERS_ENABLED}")
-MESSAGE(STATUS "Disabled formats:${ASSIMP_IMPORTERS_DISABLED}")
-
-SET( assimp_src
-    # Assimp Files
-    ${Core_SRCS}
-    ${Common_SRCS}
-    ${Logging_SRCS}
-    ${Exporter_SRCS}
-    ${PostProcessing_SRCS}
-    ${MaterialSystem_SRCS}
-    ${Step_SRCS}
-
-    # Model Support
-    ${ASSIMP_LOADER_SRCS}
-
-    # Third-party libraries
-    ${IrrXML_SRCS}
-    ${ConvertUTF_SRCS}
-    ${unzip_compile_SRCS}
-    ${Poly2Tri_SRCS}
-    ${Clipper_SRCS}
-    ${openddl_parser_SRCS}
-    # Necessary to show the headers in the project when using the VC++ generator:
-    ${Boost_SRCS}
-
-    ${PUBLIC_HEADERS}
-    ${COMPILER_HEADERS}
-
-)
-add_definitions( -DOPENDDLPARSER_BUILD )
-
-INCLUDE_DIRECTORIES( 
-    ../contrib/openddlparser/include
-)
-
-IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
-    SET( assimp_src ${assimp_src} ${C4D_SRCS})
-    INCLUDE_DIRECTORIES(${C4D_INCLUDES})
-ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
-
-ADD_LIBRARY( assimp ${assimp_src} )
-
-TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} )
-
-if(ANDROID AND ASSIMP_ANDROID_JNIIOSYSTEM)
-    set(ASSIMP_ANDROID_JNIIOSYSTEM_PATH port/AndroidJNI)
-    add_subdirectory(../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/ ../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/)
-    target_link_libraries(assimp android_jniiosystem)
-endif(ANDROID AND ASSIMP_ANDROID_JNIIOSYSTEM)
-
-IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
-    TARGET_LINK_LIBRARIES(assimp optimized ${C4D_RELEASE_LIBRARY})
-    TARGET_LINK_LIBRARIES(assimp debug ${C4D_DEBUG_LIBRARY})
-    TARGET_LINK_LIBRARIES(assimp ${C4D_EXTRA_LIBRARIES})
-ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
-
-if( MSVC )
-  # in order to prevent DLL hell, each of the DLLs have to be suffixed with the major version and msvc prefix
-  if( MSVC70 OR MSVC71 )
-    set(MSVC_PREFIX "vc70")
-  elseif( MSVC80 )
-    set(MSVC_PREFIX "vc80")
-  elseif( MSVC90 )
-    set(MSVC_PREFIX "vc90")
-  elseif( MSVC10 )
-    set(MSVC_PREFIX "vc100")
-  elseif( MSVC11 )
-    set(MSVC_PREFIX "vc110")
-  elseif( MSVC12 )
-    set(MSVC_PREFIX "vc120")
-  else()
-    set(MSVC_PREFIX "vc130")
-  endif()
-  set(LIBRARY_SUFFIX "${ASSIMP_LIBRARY_SUFFIX}-${MSVC_PREFIX}-mt" CACHE STRING "the suffix for the assimp windows library")
-endif()
-
-SET_TARGET_PROPERTIES( assimp PROPERTIES
-    VERSION ${ASSIMP_VERSION}
-    SOVERSION ${ASSIMP_SOVERSION} # use full version
-    OUTPUT_NAME assimp${LIBRARY_SUFFIX}
-)
-
-if (APPLE)
-    SET_TARGET_PROPERTIES( assimp PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}")
-endif()
-
-# Build against external unzip, or add ../contrib/unzip so
-# assimp can #include "unzip.h"
-if (UNZIP_FOUND)
-    INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS})
-    TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES})
-else (UNZIP_FOUND)
-    INCLUDE_DIRECTORIES("../contrib/unzip")
-endif (UNZIP_FOUND)
-
-INSTALL( TARGETS assimp
-         LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
-         ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
-         RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
-         COMPONENT ${LIBASSIMP_COMPONENT})
-INSTALL( FILES ${PUBLIC_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp COMPONENT assimp-dev)
-INSTALL( FILES ${COMPILER_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp/Compiler COMPONENT assimp-dev)
-if (ASSIMP_ANDROID_JNIIOSYSTEM)
-    INSTALL(FILES ${HEADER_PATH}/../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/AndroidJNIIOSystem.h
-            DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}
-            COMPONENT assimp-dev)
-endif(ASSIMP_ANDROID_JNIIOSYSTEM)
-
-if(MSVC AND ASSIMP_INSTALL_PDB)
-    install(FILES ${Assimp_BINARY_DIR}/code/Debug/assimp${CMAKE_DEBUG_POSTFIX}.pdb
-        DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
-        CONFIGURATIONS Debug
-    )
-    install(FILES ${Assimp_BINARY_DIR}/code/RelWithDebInfo/assimp.pdb
-        DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
-        CONFIGURATIONS RelWithDebInfo
-    )
-endif ()
+# Listing and grouping of all the source files.
+# 1) Set the file lists for each component
+# 2) Create a Source Group for each component, for IDE project orginization
+# 3) Add libassimp using the file lists (eliminates duplication of file names between
+#    source groups and library command)
+#
+cmake_minimum_required( VERSION 2.6 )
+SET( HEADER_PATH ../include/assimp )
+
+SET( COMPILER_HEADERS
+  ${HEADER_PATH}/Compiler/pushpack1.h
+  ${HEADER_PATH}/Compiler/poppack1.h
+  ${HEADER_PATH}/Compiler/pstdint.h
+)
+SOURCE_GROUP( Compiler FILES ${COMPILER_HEADERS})
+
+SET( PUBLIC_HEADERS
+  ${HEADER_PATH}/anim.h
+  ${HEADER_PATH}/ai_assert.h
+  ${HEADER_PATH}/camera.h
+  ${HEADER_PATH}/color4.h
+  ${HEADER_PATH}/color4.inl
+  ${HEADER_PATH}/config.h
+  ${HEADER_PATH}/defs.h
+  ${HEADER_PATH}/cfileio.h
+  ${HEADER_PATH}/light.h
+  ${HEADER_PATH}/material.h
+  ${HEADER_PATH}/material.inl
+  ${HEADER_PATH}/matrix3x3.h
+  ${HEADER_PATH}/matrix3x3.inl
+  ${HEADER_PATH}/matrix4x4.h
+  ${HEADER_PATH}/matrix4x4.inl
+  ${HEADER_PATH}/mesh.h
+  ${HEADER_PATH}/postprocess.h
+  ${HEADER_PATH}/quaternion.h
+  ${HEADER_PATH}/quaternion.inl
+  ${HEADER_PATH}/scene.h
+  ${HEADER_PATH}/metadata.h
+  ${HEADER_PATH}/texture.h
+  ${HEADER_PATH}/types.h
+  ${HEADER_PATH}/vector2.h
+  ${HEADER_PATH}/vector2.inl
+  ${HEADER_PATH}/vector3.h
+  ${HEADER_PATH}/vector3.inl
+  ${HEADER_PATH}/version.h
+  ${HEADER_PATH}/cimport.h
+  ${HEADER_PATH}/importerdesc.h
+  ${HEADER_PATH}/Importer.hpp
+  ${HEADER_PATH}/DefaultLogger.hpp
+  ${HEADER_PATH}/ProgressHandler.hpp
+  ${HEADER_PATH}/IOStream.hpp
+  ${HEADER_PATH}/IOSystem.hpp
+  ${HEADER_PATH}/Logger.hpp
+  ${HEADER_PATH}/LogStream.hpp
+  ${HEADER_PATH}/NullLogger.hpp
+  ${HEADER_PATH}/cexport.h
+  ${HEADER_PATH}/Exporter.hpp
+)
+
+SET( Core_SRCS
+  Assimp.cpp
+)
+
+SET( Boost_SRCS
+  BoostWorkaround/boost/math/common_factor_rt.hpp
+  BoostWorkaround/boost/foreach.hpp
+  BoostWorkaround/boost/format.hpp
+  BoostWorkaround/boost/scoped_array.hpp
+  BoostWorkaround/boost/scoped_ptr.hpp
+  BoostWorkaround/boost/shared_array.hpp
+  BoostWorkaround/boost/shared_ptr.hpp
+  BoostWorkaround/boost/make_shared.hpp
+  BoostWorkaround/boost/static_assert.hpp
+  BoostWorkaround/boost/tuple/tuple.hpp
+)
+SOURCE_GROUP(Boost FILES ${Boost_SRCS})
+
+SET( Logging_SRCS
+  ${HEADER_PATH}/DefaultLogger.hpp
+  ${HEADER_PATH}/LogStream.hpp
+  ${HEADER_PATH}/Logger.hpp
+  ${HEADER_PATH}/NullLogger.hpp
+  Win32DebugLogStream.h
+  DefaultLogger.cpp
+  FileLogStream.h
+  StdOStreamLogStream.h
+)
+SOURCE_GROUP(Logging FILES ${Logging_SRCS})
+
+SET( Common_SRCS
+  fast_atof.h
+  qnan.h
+  BaseImporter.cpp
+  BaseImporter.h
+  BaseProcess.cpp
+  BaseProcess.h
+  Importer.h
+  ScenePrivate.h
+  PostStepRegistry.cpp
+  ImporterRegistry.cpp
+  ByteSwapper.h
+  DefaultProgressHandler.h
+  DefaultIOStream.cpp
+  DefaultIOStream.h
+  DefaultIOSystem.cpp
+  DefaultIOSystem.h
+  CInterfaceIOWrapper.h
+  Hash.h
+  Importer.cpp
+  IFF.h
+  MemoryIOWrapper.h
+  ParsingUtils.h
+  StreamReader.h
+  StreamWriter.h
+  StringComparison.h
+  SGSpatialSort.cpp
+  SGSpatialSort.h
+  VertexTriangleAdjacency.cpp
+  VertexTriangleAdjacency.h
+  GenericProperty.h
+  SpatialSort.cpp
+  SpatialSort.h
+  SceneCombiner.cpp
+  SceneCombiner.h
+  ScenePreprocessor.cpp
+  ScenePreprocessor.h
+  SkeletonMeshBuilder.cpp
+  SkeletonMeshBuilder.h
+  SplitByBoneCountProcess.cpp
+  SplitByBoneCountProcess.h
+  SmoothingGroups.h
+  StandardShapes.cpp
+  StandardShapes.h
+  TargetAnimation.cpp
+  TargetAnimation.h
+  RemoveComments.cpp
+  RemoveComments.h
+  Subdivision.cpp
+  Subdivision.h
+  Vertex.h
+  LineSplitter.h
+  TinyFormatter.h
+  Profiler.h
+  LogAux.h
+  Bitmap.cpp
+  Bitmap.h
+  XMLTools.h
+  Version.cpp
+)
+SOURCE_GROUP(Common FILES ${Common_SRCS})
+
+IF ( ASSIMP_BUILD_NONFREE_C4D_IMPORTER )
+  SET( C4D_SRCS
+    C4DImporter.cpp
+    C4DImporter.h
+  )
+  SOURCE_GROUP( C4D FILES ${C4D_SRCS})
+ENDIF ( ASSIMP_BUILD_NONFREE_C4D_IMPORTER )
+
+# macro to add the CMake Option ADD_ASSIMP_IMPORTER_<name> which enables compile of loader
+# this way selective loaders can be compiled (reduces filesize + compile time)
+MACRO(ADD_ASSIMP_IMPORTER name)
+  OPTION(ASSIMP_BUILD_${name}_IMPORTER "build the ${name} importer" TRUE)
+  IF(ASSIMP_BUILD_${name}_IMPORTER)
+    LIST(APPEND ASSIMP_LOADER_SRCS ${ARGN})
+    SET(ASSIMP_IMPORTERS_ENABLED "${ASSIMP_IMPORTERS_ENABLED} ${name}")
+    SET(${name}_SRCS ${ARGN})
+    SOURCE_GROUP(${name} FILES ${ARGN})
+  ELSE()
+    SET(${name}_SRC "")
+    SET(ASSIMP_IMPORTERS_DISABLED "${ASSIMP_IMPORTERS_DISABLED} ${name}")
+    add_definitions(-DASSIMP_BUILD_NO_${name}_IMPORTER)
+  ENDIF()
+ENDMACRO()
+
+SET(ASSIMP_LOADER_SRCS "")
+SET(ASSIMP_IMPORTERS_ENABLED "") # list of enabled importers
+SET(ASSIMP_IMPORTERS_DISABLED "") # disabled list (used to print)
+
+ADD_ASSIMP_IMPORTER(3DS
+  3DSConverter.cpp
+  3DSHelper.h
+  3DSLoader.cpp
+  3DSLoader.h
+  3DSExporter.h
+  3DSExporter.cpp
+)
+
+ADD_ASSIMP_IMPORTER(AC
+  ACLoader.cpp
+  ACLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(ASE
+  ASELoader.cpp
+  ASELoader.h
+  ASEParser.cpp
+  ASEParser.h
+)
+
+ADD_ASSIMP_IMPORTER(ASSBIN
+  AssbinExporter.h
+  AssbinExporter.cpp
+  AssbinLoader.h
+  AssbinLoader.cpp
+)
+
+ADD_ASSIMP_IMPORTER(ASSXML
+  AssxmlExporter.h
+  AssxmlExporter.cpp
+)
+
+ADD_ASSIMP_IMPORTER(B3D
+  B3DImporter.cpp
+  B3DImporter.h
+)
+
+ADD_ASSIMP_IMPORTER(BVH
+  BVHLoader.cpp
+  BVHLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(COLLADA
+  ColladaHelper.h
+  ColladaLoader.cpp
+  ColladaLoader.h
+  ColladaParser.cpp
+  ColladaParser.h
+  ColladaExporter.h
+  ColladaExporter.cpp
+)
+
+ADD_ASSIMP_IMPORTER(DXF
+  DXFLoader.cpp
+  DXFLoader.h
+  DXFHelper.h
+)
+
+ADD_ASSIMP_IMPORTER(CSM
+  CSMLoader.cpp
+  CSMLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(HMP
+  HMPFileData.h
+  HMPLoader.cpp
+  HMPLoader.h
+  HalfLifeFileData.h
+)
+
+#FIXME: allow to set IRRMESH by option
+ADD_ASSIMP_IMPORTER(IRR
+  IRRLoader.cpp
+  IRRLoader.h
+  IRRMeshLoader.cpp
+  IRRMeshLoader.h
+  IRRShared.cpp
+  IRRShared.h
+)
+
+ADD_ASSIMP_IMPORTER(LWO
+  LWOAnimation.cpp
+  LWOAnimation.h
+  LWOBLoader.cpp
+  LWOFileData.h
+  LWOLoader.cpp
+  LWOLoader.h
+  LWOMaterial.cpp
+)
+
+ADD_ASSIMP_IMPORTER(LWS
+  LWSLoader.cpp
+  LWSLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(MD2
+  MD2FileData.h
+  MD2Loader.cpp
+  MD2Loader.h
+  MD2NormalTable.h
+)
+
+ADD_ASSIMP_IMPORTER(MD3
+  MD3FileData.h
+  MD3Loader.cpp
+  MD3Loader.h
+)
+
+ADD_ASSIMP_IMPORTER(MD5
+  MD5Loader.cpp
+  MD5Loader.h
+  MD5Parser.cpp
+  MD5Parser.h
+)
+
+ADD_ASSIMP_IMPORTER(MDC
+  MDCFileData.h
+  MDCLoader.cpp
+  MDCLoader.h
+  MDCNormalTable.h
+)
+
+ADD_ASSIMP_IMPORTER(MDL
+  MDLDefaultColorMap.h
+  MDLFileData.h
+  MDLLoader.cpp
+  MDLLoader.h
+  MDLMaterialLoader.cpp
+)
+
+SET( MaterialSystem_SRCS
+  MaterialSystem.cpp
+  MaterialSystem.h
+)
+SOURCE_GROUP( MaterialSystem FILES ${MaterialSystem_SRCS})
+
+ADD_ASSIMP_IMPORTER(NFF
+  NFFLoader.cpp
+  NFFLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(NDO
+  NDOLoader.cpp
+  NDOLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(OFF
+  OFFLoader.cpp
+  OFFLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(OBJ
+  ObjFileData.h
+  ObjFileImporter.cpp
+  ObjFileImporter.h
+  ObjFileMtlImporter.cpp
+  ObjFileMtlImporter.h
+  ObjFileParser.cpp
+  ObjFileParser.h
+  ObjTools.h
+
+  ObjExporter.h
+  ObjExporter.cpp
+)
+
+ADD_ASSIMP_IMPORTER(OGRE
+  OgreImporter.h
+  OgreStructs.h
+  OgreParsingUtils.h
+  OgreBinarySerializer.h
+  OgreXmlSerializer.h
+  OgreImporter.cpp
+  OgreStructs.cpp
+  OgreBinarySerializer.cpp
+  OgreXmlSerializer.cpp
+  OgreMaterial.cpp
+)
+
+ADD_ASSIMP_IMPORTER(OPENGEX
+  OpenGEXImporter.cpp
+  OpenGEXImporter.h
+  OpenGEXStructs.h
+)
+
+ADD_ASSIMP_IMPORTER(PLY
+  PlyLoader.cpp
+  PlyLoader.h
+  PlyParser.cpp
+  PlyParser.h
+  PlyExporter.cpp
+  PlyExporter.h
+)
+
+ADD_ASSIMP_IMPORTER(MS3D
+  MS3DLoader.cpp
+  MS3DLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(COB
+  COBLoader.cpp
+  COBLoader.h
+  COBScene.h
+)
+
+ADD_ASSIMP_IMPORTER(BLEND
+  BlenderLoader.cpp
+  BlenderLoader.h
+  BlenderDNA.cpp
+  BlenderDNA.h
+  BlenderDNA.inl
+  BlenderScene.cpp
+  BlenderScene.h
+  BlenderSceneGen.h
+  BlenderIntermediate.h
+  BlenderModifier.h
+  BlenderModifier.cpp
+  BlenderBMesh.h
+  BlenderBMesh.cpp
+  BlenderTessellator.h
+  BlenderTessellator.cpp
+)
+
+ADD_ASSIMP_IMPORTER(IFC
+  IFCLoader.cpp
+  IFCLoader.h
+  IFCReaderGen.cpp
+  IFCReaderGen.h
+  IFCUtil.h
+  IFCUtil.cpp
+  IFCGeometry.cpp
+  IFCMaterial.cpp
+  IFCProfile.cpp
+  IFCCurve.cpp
+  IFCBoolean.cpp
+  IFCOpenings.cpp
+  STEPFile.h
+  STEPFileReader.h
+  STEPFileReader.cpp
+  STEPFileEncoding.cpp
+  STEPFileEncoding.h
+)
+
+ADD_ASSIMP_IMPORTER(XGL
+  XGLLoader.cpp
+  XGLLoader.h
+)
+
+
+ADD_ASSIMP_IMPORTER(FBX
+  FBXImporter.cpp
+  FBXCompileConfig.h
+  FBXImporter.h
+  FBXParser.cpp
+  FBXParser.h
+  FBXTokenizer.cpp
+  FBXTokenizer.h
+  FBXImportSettings.h
+  FBXConverter.h
+  FBXConverter.cpp
+  FBXUtil.h
+  FBXUtil.cpp
+  FBXDocument.h
+  FBXDocument.cpp
+  FBXProperties.h
+  FBXProperties.cpp
+  FBXMeshGeometry.cpp
+  FBXMaterial.cpp
+  FBXModel.cpp
+  FBXAnimation.cpp
+  FBXNodeAttribute.cpp
+  FBXDeformer.cpp
+  FBXBinaryTokenizer.cpp
+  FBXDocumentUtil.cpp
+)
+
+SET( PostProcessing_SRCS
+  CalcTangentsProcess.cpp
+  CalcTangentsProcess.h
+  ComputeUVMappingProcess.cpp
+  ComputeUVMappingProcess.h
+  ConvertToLHProcess.cpp
+  ConvertToLHProcess.h
+  FindDegenerates.cpp
+  FindDegenerates.h
+  FindInstancesProcess.cpp
+  FindInstancesProcess.h
+  FindInvalidDataProcess.cpp
+  FindInvalidDataProcess.h
+  FixNormalsStep.cpp
+  FixNormalsStep.h
+  GenFaceNormalsProcess.cpp
+  GenFaceNormalsProcess.h
+  GenVertexNormalsProcess.cpp
+  GenVertexNormalsProcess.h
+  PretransformVertices.cpp
+  PretransformVertices.h
+  ImproveCacheLocality.cpp
+  ImproveCacheLocality.h
+  JoinVerticesProcess.cpp
+  JoinVerticesProcess.h
+  LimitBoneWeightsProcess.cpp
+  LimitBoneWeightsProcess.h
+  RemoveRedundantMaterials.cpp
+  RemoveRedundantMaterials.h
+  RemoveVCProcess.cpp
+  RemoveVCProcess.h
+  SortByPTypeProcess.cpp
+  SortByPTypeProcess.h
+  SplitLargeMeshes.cpp
+  SplitLargeMeshes.h
+  TextureTransform.cpp
+  TextureTransform.h
+  TriangulateProcess.cpp
+  TriangulateProcess.h
+  ValidateDataStructure.cpp
+  ValidateDataStructure.h
+  OptimizeGraph.cpp
+  OptimizeGraph.h
+  OptimizeMeshes.cpp
+  OptimizeMeshes.h
+  DeboneProcess.cpp
+  DeboneProcess.h
+  ProcessHelper.h
+  ProcessHelper.cpp
+  PolyTools.h
+  MakeVerboseFormat.cpp
+  MakeVerboseFormat.h
+)
+SOURCE_GROUP( PostProcessing FILES ${PostProcessing_SRCS})
+
+ADD_ASSIMP_IMPORTER(Q3D
+  Q3DLoader.cpp
+  Q3DLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(Q3BSP
+  Q3BSPFileData.h
+  Q3BSPFileParser.h
+  Q3BSPFileParser.cpp
+  Q3BSPFileImporter.h
+  Q3BSPFileImporter.cpp
+  Q3BSPZipArchive.h
+  Q3BSPZipArchive.cpp
+)
+
+ADD_ASSIMP_IMPORTER(RAW
+  RawLoader.cpp
+  RawLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(SMD
+  SMDLoader.cpp
+  SMDLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(STL
+  STLLoader.cpp
+  STLLoader.h
+  STLExporter.h
+  STLExporter.cpp
+)
+
+ADD_ASSIMP_IMPORTER(TERRAGEN
+  TerragenLoader.cpp
+  TerragenLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(3D
+  UnrealLoader.cpp
+  UnrealLoader.h
+)
+
+ADD_ASSIMP_IMPORTER(X
+  XFileHelper.h
+  XFileImporter.cpp
+  XFileImporter.h
+  XFileParser.cpp
+  XFileParser.h
+  XFileExporter.h
+  XFileExporter.cpp
+)
+
+SET( Step_SRCS
+  StepExporter.h
+  StepExporter.cpp
+)
+SOURCE_GROUP( Step FILES ${Step_SRCS})
+
+SET( Exporter_SRCS
+  Exporter.cpp
+  AssimpCExport.cpp
+  BlobIOSystem.h
+)
+SOURCE_GROUP( Exporter FILES ${Exporter_SRCS})
+
+SET( Extra_SRCS
+  MD4FileData.h
+)
+SOURCE_GROUP( Extra FILES ${Extra_SRCS})
+
+SET( IrrXML_SRCS
+  irrXMLWrapper.h
+  ../contrib/irrXML/CXMLReaderImpl.h
+  ../contrib/irrXML/heapsort.h
+  ../contrib/irrXML/irrArray.h
+  ../contrib/irrXML/irrString.h
+  ../contrib/irrXML/irrTypes.h
+  ../contrib/irrXML/irrXML.cpp
+  ../contrib/irrXML/irrXML.h
+)
+SOURCE_GROUP( IrrXML FILES ${IrrXML_SRCS})
+
+SET( ConvertUTF_SRCS
+  ../contrib/ConvertUTF/ConvertUTF.h
+  ../contrib/ConvertUTF/ConvertUTF.c
+)
+SOURCE_GROUP( ConvertUTF FILES ${ConvertUTF_SRCS})
+
+SET( Clipper_SRCS
+  ../contrib/clipper/clipper.hpp
+  ../contrib/clipper/clipper.cpp
+)
+SOURCE_GROUP( Clipper FILES ${Clipper_SRCS})
+
+
+SET( Poly2Tri_SRCS
+  ../contrib/poly2tri/poly2tri/common/shapes.cc
+  ../contrib/poly2tri/poly2tri/common/shapes.h
+  ../contrib/poly2tri/poly2tri/common/utils.h
+  ../contrib/poly2tri/poly2tri/sweep/advancing_front.h
+  ../contrib/poly2tri/poly2tri/sweep/advancing_front.cc
+  ../contrib/poly2tri/poly2tri/sweep/cdt.cc
+  ../contrib/poly2tri/poly2tri/sweep/cdt.h
+  ../contrib/poly2tri/poly2tri/sweep/sweep.cc
+  ../contrib/poly2tri/poly2tri/sweep/sweep.h
+  ../contrib/poly2tri/poly2tri/sweep/sweep_context.cc
+  ../contrib/poly2tri/poly2tri/sweep/sweep_context.h
+)
+SOURCE_GROUP( Poly2Tri FILES ${Poly2Tri_SRCS})
+
+SET( unzip_SRCS
+  ../contrib/unzip/crypt.h
+  ../contrib/unzip/ioapi.c
+  ../contrib/unzip/ioapi.h
+  ../contrib/unzip/unzip.c
+  ../contrib/unzip/unzip.h
+)
+SOURCE_GROUP( unzip FILES ${unzip_SRCS})
+
+SET ( openddl_parser_SRCS
+  ../contrib/openddlparser/code/OpenDDLParser.cpp
+  ../contrib/openddlparser/code/DDLNode.cpp
+  ../contrib/openddlparser/code/Value.cpp
+  ../contrib/openddlparser/include/openddlparser/OpenDDLParser.h
+  ../contrib/openddlparser/include/openddlparser/OpenDDLParserUtils.h
+  ../contrib/openddlparser/include/openddlparser/OpenDDLCommon.h
+  ../contrib/openddlparser/include/openddlparser/DDLNode.h
+  ../contrib/openddlparser/include/openddlparser/Value.h
+)
+SOURCE_GROUP( openddl_parser FILES ${openddl_parser_SRCS})
+
+# VC2010 fixes
+if(MSVC10)
+  option( VC10_STDINT_FIX "Fix for VC10 Compiler regarding pstdint.h redefinition errors" OFF )
+  if( VC10_STDINT_FIX )
+    ADD_DEFINITIONS( -D_STDINT )
+  endif( VC10_STDINT_FIX )
+endif(MSVC10)
+
+ADD_DEFINITIONS( -DASSIMP_BUILD_DLL_EXPORT )
+
+if ( MSVC )
+  ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
+  ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
+endif ( MSVC )
+
+if (UNZIP_FOUND)
+  SET (unzip_compile_SRCS "")
+else (UNZIP_FOUND)
+  SET (unzip_compile_SRCS ${unzip_SRCS})
+endif (UNZIP_FOUND)
+
+MESSAGE(STATUS "Enabled formats:${ASSIMP_IMPORTERS_ENABLED}")
+MESSAGE(STATUS "Disabled formats:${ASSIMP_IMPORTERS_DISABLED}")
+
+SET( assimp_src
+  # Assimp Files
+  ${Core_SRCS}
+  ${Common_SRCS}
+  ${Logging_SRCS}
+  ${Exporter_SRCS}
+  ${PostProcessing_SRCS}
+  ${MaterialSystem_SRCS}
+  ${Step_SRCS}
+
+  # Model Support
+  ${ASSIMP_LOADER_SRCS}
+
+  # Third-party libraries
+  ${IrrXML_SRCS}
+  ${ConvertUTF_SRCS}
+  ${unzip_compile_SRCS}
+  ${Poly2Tri_SRCS}
+  ${Clipper_SRCS}
+  ${openddl_parser_SRCS}
+  # Necessary to show the headers in the project when using the VC++ generator:
+  ${Boost_SRCS}
+
+  ${PUBLIC_HEADERS}
+  ${COMPILER_HEADERS}
+
+)
+add_definitions( -DOPENDDLPARSER_BUILD )
+
+INCLUDE_DIRECTORIES( 
+  ../contrib/openddlparser/include
+)
+
+IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
+  SET( assimp_src ${assimp_src} ${C4D_SRCS})
+  INCLUDE_DIRECTORIES(${C4D_INCLUDES})
+ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
+
+ADD_LIBRARY( assimp ${assimp_src} )
+
+TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} )
+
+if(ANDROID AND ASSIMP_ANDROID_JNIIOSYSTEM)
+  set(ASSIMP_ANDROID_JNIIOSYSTEM_PATH port/AndroidJNI)
+  add_subdirectory(../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/ ../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/)
+  target_link_libraries(assimp android_jniiosystem)
+endif(ANDROID AND ASSIMP_ANDROID_JNIIOSYSTEM)
+
+IF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
+  TARGET_LINK_LIBRARIES(assimp optimized ${C4D_RELEASE_LIBRARY})
+  TARGET_LINK_LIBRARIES(assimp debug ${C4D_DEBUG_LIBRARY})
+  TARGET_LINK_LIBRARIES(assimp ${C4D_EXTRA_LIBRARIES})
+ENDIF (ASSIMP_BUILD_NONFREE_C4D_IMPORTER)
+
+if( MSVC )
+  # in order to prevent DLL hell, each of the DLLs have to be suffixed with the major version and msvc prefix
+  if( MSVC70 OR MSVC71 )
+    set(MSVC_PREFIX "vc70")
+  elseif( MSVC80 )
+    set(MSVC_PREFIX "vc80")
+  elseif( MSVC90 )
+    set(MSVC_PREFIX "vc90")
+  elseif( MSVC10 )
+    set(MSVC_PREFIX "vc100")
+  elseif( MSVC11 )
+    set(MSVC_PREFIX "vc110")
+  elseif( MSVC12 )
+    set(MSVC_PREFIX "vc120")
+  else()
+    set(MSVC_PREFIX "vc130")
+  endif()
+  set(LIBRARY_SUFFIX "${ASSIMP_LIBRARY_SUFFIX}-${MSVC_PREFIX}-mt" CACHE STRING "the suffix for the assimp windows library")
+endif()
+
+SET_TARGET_PROPERTIES( assimp PROPERTIES
+  VERSION ${ASSIMP_VERSION}
+  SOVERSION ${ASSIMP_SOVERSION} # use full version
+  OUTPUT_NAME assimp${LIBRARY_SUFFIX}
+)
+
+if (APPLE)
+  SET_TARGET_PROPERTIES( assimp PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}")
+endif()
+
+# Build against external unzip, or add ../contrib/unzip so
+# assimp can #include "unzip.h"
+if (UNZIP_FOUND)
+  INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS})
+  TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES})
+else (UNZIP_FOUND)
+  INCLUDE_DIRECTORIES("../contrib/unzip")
+endif (UNZIP_FOUND)
+
+INSTALL( TARGETS assimp
+  LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
+  ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
+  RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
+  COMPONENT ${LIBASSIMP_COMPONENT})
+INSTALL( FILES ${PUBLIC_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp COMPONENT assimp-dev)
+INSTALL( FILES ${COMPILER_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp/Compiler COMPONENT assimp-dev)
+if (ASSIMP_ANDROID_JNIIOSYSTEM)
+  INSTALL(FILES ${HEADER_PATH}/../${ASSIMP_ANDROID_JNIIOSYSTEM_PATH}/AndroidJNIIOSystem.h
+    DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}
+    COMPONENT assimp-dev)
+endif(ASSIMP_ANDROID_JNIIOSYSTEM)
+
+if(MSVC AND ASSIMP_INSTALL_PDB)
+  install(FILES ${Assimp_BINARY_DIR}/code/Debug/assimp${CMAKE_DEBUG_POSTFIX}.pdb
+    DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
+    CONFIGURATIONS Debug
+  )
+  install(FILES ${Assimp_BINARY_DIR}/code/RelWithDebInfo/assimp.pdb
+    DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
+    CONFIGURATIONS RelWithDebInfo
+  )
+endif ()

+ 40 - 40
samples/SimpleOpenGL/CMakeLists.txt

@@ -1,40 +1,40 @@
-FIND_PACKAGE(OpenGL)
-FIND_PACKAGE(GLUT)
-find_library(M_LIB m)
-
-IF ( NOT GLUT_FOUND )
-	IF ( MSVC )
-		SET ( GLUT_FOUND 1 )
-		SET ( GLUT_INCLUDE_DIR ${Assimp_SOURCE_DIR}/samples/glut/ )
-		SET ( GLUT_LIBRARIES ${Assimp_SOURCE_DIR}/samples/glut/glut32.lib )
-	ELSE ( MSVC )
-		MESSAGE( WARNING "Please install glut." )
-	ENDIF ( MSVC )
-ENDIF ( NOT GLUT_FOUND )
-
-INCLUDE_DIRECTORIES(
-	${Assimp_SOURCE_DIR}/include
-	${Assimp_SOURCE_DIR}/code
-	${OPENGL_INCLUDE_DIR}
-	${GLUT_INCLUDE_DIR}
-)
-
-LINK_DIRECTORIES(
-	${Assimp_BINARY_DIR}
-	${Assimp_BINARY_DIR}/lib
-)
-
-ADD_EXECUTABLE( assimp_simpleogl
-	Sample_SimpleOpenGL.c
-)
-
-SET_PROPERTY(TARGET assimp_simpleogl PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
-
-TARGET_LINK_LIBRARIES( assimp_simpleogl assimp ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${M_LIB} )
-SET_TARGET_PROPERTIES( assimp_simpleogl PROPERTIES
-	OUTPUT_NAME assimp_simpleogl
-)
-
-INSTALL( TARGETS assimp_simpleogl
-	DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev
-)
+FIND_PACKAGE(OpenGL)
+FIND_PACKAGE(GLUT)
+find_library(M_LIB m)
+
+IF ( NOT GLUT_FOUND )
+  IF ( MSVC )
+    SET ( GLUT_FOUND 1 )
+    SET ( GLUT_INCLUDE_DIR ${Assimp_SOURCE_DIR}/samples/glut/ )
+    SET ( GLUT_LIBRARIES ${Assimp_SOURCE_DIR}/samples/glut/glut32.lib )
+  ELSE ( MSVC )
+    MESSAGE( WARNING "Please install glut." )
+  ENDIF ( MSVC )
+ENDIF ( NOT GLUT_FOUND )
+
+INCLUDE_DIRECTORIES(
+  ${Assimp_SOURCE_DIR}/include
+  ${Assimp_SOURCE_DIR}/code
+  ${OPENGL_INCLUDE_DIR}
+  ${GLUT_INCLUDE_DIR}
+)
+
+LINK_DIRECTORIES(
+  ${Assimp_BINARY_DIR}
+  ${Assimp_BINARY_DIR}/lib
+)
+
+ADD_EXECUTABLE( assimp_simpleogl
+  Sample_SimpleOpenGL.c
+)
+
+SET_PROPERTY(TARGET assimp_simpleogl PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
+
+TARGET_LINK_LIBRARIES( assimp_simpleogl assimp ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${M_LIB} )
+SET_TARGET_PROPERTIES( assimp_simpleogl PROPERTIES
+  OUTPUT_NAME assimp_simpleogl
+)
+
+INSTALL( TARGETS assimp_simpleogl
+  DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev
+)

+ 43 - 43
samples/SimpleTexturedOpenGL/CMakeLists.txt

@@ -1,43 +1,43 @@
-FIND_PACKAGE(OpenGL)
-FIND_PACKAGE(GLUT)
-
-IF ( NOT GLUT_FOUND )
-	IF ( MSVC )
-		SET ( GLUT_FOUND 1 )
-		SET ( GLUT_INCLUDE_DIR ${Assimp_SOURCE_DIR}/samples/glut/ )
-		SET ( GLUT_LIBRARIES ${Assimp_SOURCE_DIR}/samples/glut/glut32.lib )
-	ELSE ( MSVC )
-		MESSAGE( WARNING "Please install glut." )
-	ENDIF ( MSVC )
-ENDIF ( NOT GLUT_FOUND )
-
-INCLUDE_DIRECTORIES(
-	${Assimp_SOURCE_DIR}/include
-	${Assimp_SOURCE_DIR}/code
-	${OPENGL_INCLUDE_DIR}
-	${GLUT_INCLUDE_DIR}
-	${Assimp_SOURCE_DIR}/samples/DevIL/include/
-)
-
-LINK_DIRECTORIES(
-	${Assimp_BINARY_DIR}
-	${Assimp_BINARY_DIR}/lib/
-	${Assimp_SOURCE_DIR}/samples/DevIL/lib/
-)
-
-ADD_EXECUTABLE( assimp_simpletexturedogl WIN32
-	SimpleTexturedOpenGL/include/boost_includes.h
-	SimpleTexturedOpenGL/src/model_loading.cpp
-)
-
-SET_PROPERTY(TARGET assimp_simpletexturedogl PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
-
-TARGET_LINK_LIBRARIES( assimp_simpletexturedogl assimp ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} DevIL.lib )
-
-SET_TARGET_PROPERTIES( assimp_simpletexturedogl PROPERTIES
-	OUTPUT_NAME assimp_simpletexturedogl
-)
-
-INSTALL( TARGETS assimp_simpletexturedogl
-	DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev
-)
+FIND_PACKAGE(OpenGL)
+FIND_PACKAGE(GLUT)
+
+IF ( NOT GLUT_FOUND )
+  IF ( MSVC )
+    SET ( GLUT_FOUND 1 )
+    SET ( GLUT_INCLUDE_DIR ${Assimp_SOURCE_DIR}/samples/glut/ )
+    SET ( GLUT_LIBRARIES ${Assimp_SOURCE_DIR}/samples/glut/glut32.lib )
+  ELSE ( MSVC )
+    MESSAGE( WARNING "Please install glut." )
+  ENDIF ( MSVC )
+ENDIF ( NOT GLUT_FOUND )
+
+INCLUDE_DIRECTORIES(
+  ${Assimp_SOURCE_DIR}/include
+  ${Assimp_SOURCE_DIR}/code
+  ${OPENGL_INCLUDE_DIR}
+  ${GLUT_INCLUDE_DIR}
+  ${Assimp_SOURCE_DIR}/samples/DevIL/include/
+)
+
+LINK_DIRECTORIES(
+  ${Assimp_BINARY_DIR}
+  ${Assimp_BINARY_DIR}/lib/
+  ${Assimp_SOURCE_DIR}/samples/DevIL/lib/
+)
+
+ADD_EXECUTABLE( assimp_simpletexturedogl WIN32
+  SimpleTexturedOpenGL/include/boost_includes.h
+  SimpleTexturedOpenGL/src/model_loading.cpp
+)
+
+SET_PROPERTY(TARGET assimp_simpletexturedogl PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
+
+TARGET_LINK_LIBRARIES( assimp_simpletexturedogl assimp ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} DevIL.lib )
+
+SET_TARGET_PROPERTIES( assimp_simpletexturedogl PROPERTIES
+  OUTPUT_NAME assimp_simpletexturedogl
+)
+
+INSTALL( TARGETS assimp_simpletexturedogl
+  DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev
+)

+ 65 - 66
test/CMakeLists.txt

@@ -1,66 +1,65 @@
-cmake_minimum_required( VERSION 2.6 )
-
-INCLUDE( AddGTest )
-
-INCLUDE_DIRECTORIES(
-	${Assimp_SOURCE_DIR}/include
-	${Assimp_SOURCE_DIR}/code
-)
-
-# Add the temporary output directories to the library path to make sure the
-# Assimp library can be found, even if it is not installed system-wide yet.
-LINK_DIRECTORIES( ${Assimp_BINARY_DIR} ${AssetImporter_BINARY_DIR}/lib )
-
-SOURCE_GROUP( unit FILES
-	unit/CCompilerTest.c
-)
-
-SET( TEST_SRCS
-    unit/AssimpAPITest.cpp
-    unit/utFastAtof.cpp
-    unit/utFindDegenerates.cpp
-    unit/utFindInvalidData.cpp
-    unit/utFixInfacingNormals.cpp
-    unit/utGenNormals.cpp
-    unit/utImporter.cpp
-    unit/utImproveCacheLocality.cpp
-    unit/utJoinVertices.cpp
-    unit/utLimitBoneWeights.cpp
-    unit/utMaterialSystem.cpp
-    unit/utPretransformVertices.cpp
-    unit/utRemoveComments.cpp
-    unit/utRemoveComponent.cpp
-    unit/utRemoveRedundantMaterials.cpp
-    unit/utScenePreprocessor.cpp
-    unit/utSharedPPData.cpp
-    unit/utSortByPType.cpp
-    unit/utSplitLargeMeshes.cpp
-    unit/utTargetAnimation.cpp
-    unit/utTextureTransform.cpp
-    unit/utTriangulate.cpp
-    unit/utVertexTriangleAdjacency.cpp
-    unit/utNoBoostTest.cpp
-    unit/utColladaExportCamera.cpp
-    unit/utColladaExportLight.cpp
-)
-
-SOURCE_GROUP( tests FILES  ${TEST_SRCS} )
-
-if(AddGTest_FOUND)
-add_executable( unit
-    unit/CCompilerTest.c
-    unit/Main.cpp
-    ../code/Version.cpp
-    ${TEST_SRCS}
-)
-
-SET_PROPERTY( TARGET assimp PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX} )
-
-add_dependencies( unit gtest )
-target_link_libraries( unit assimp
-	debug ${GTEST_DEBUG_LIBRARIES}
-	optimized ${GTEST_RELEASE_LIBRARIES}
-)
-endif(AddGTest_FOUND)
-add_subdirectory(headercheck)
-
+cmake_minimum_required( VERSION 2.6 )
+
+INCLUDE( AddGTest )
+
+INCLUDE_DIRECTORIES(
+  ${Assimp_SOURCE_DIR}/include
+  ${Assimp_SOURCE_DIR}/code
+)
+
+# Add the temporary output directories to the library path to make sure the
+# Assimp library can be found, even if it is not installed system-wide yet.
+LINK_DIRECTORIES( ${Assimp_BINARY_DIR} ${AssetImporter_BINARY_DIR}/lib )
+
+SOURCE_GROUP( unit FILES
+  unit/CCompilerTest.c
+)
+
+SET( TEST_SRCS
+  unit/AssimpAPITest.cpp
+  unit/utFastAtof.cpp
+  unit/utFindDegenerates.cpp
+  unit/utFindInvalidData.cpp
+  unit/utFixInfacingNormals.cpp
+  unit/utGenNormals.cpp
+  unit/utImporter.cpp
+  unit/utImproveCacheLocality.cpp
+  unit/utJoinVertices.cpp
+  unit/utLimitBoneWeights.cpp
+  unit/utMaterialSystem.cpp
+  unit/utPretransformVertices.cpp
+  unit/utRemoveComments.cpp
+  unit/utRemoveComponent.cpp
+  unit/utRemoveRedundantMaterials.cpp
+  unit/utScenePreprocessor.cpp
+  unit/utSharedPPData.cpp
+  unit/utSortByPType.cpp
+  unit/utSplitLargeMeshes.cpp
+  unit/utTargetAnimation.cpp
+  unit/utTextureTransform.cpp
+  unit/utTriangulate.cpp
+  unit/utVertexTriangleAdjacency.cpp
+  unit/utNoBoostTest.cpp
+  unit/utColladaExportCamera.cpp
+  unit/utColladaExportLight.cpp
+)
+
+SOURCE_GROUP( tests FILES  ${TEST_SRCS} )
+
+if(AddGTest_FOUND)
+add_executable( unit
+  unit/CCompilerTest.c
+  unit/Main.cpp
+  ../code/Version.cpp
+  ${TEST_SRCS}
+)
+
+SET_PROPERTY( TARGET assimp PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX} )
+
+add_dependencies( unit gtest )
+target_link_libraries( unit assimp
+  debug ${GTEST_DEBUG_LIBRARIES}
+  optimized ${GTEST_RELEASE_LIBRARIES}
+)
+endif(AddGTest_FOUND)
+add_subdirectory(headercheck)

+ 38 - 38
tools/assimp_cmd/CMakeLists.txt

@@ -1,38 +1,38 @@
-cmake_minimum_required( VERSION 2.6 )
-
-INCLUDE_DIRECTORIES(
-	${Assimp_SOURCE_DIR}/include
-	${Assimp_SOURCE_DIR}/code
-)
-
-LINK_DIRECTORIES( ${Assimp_BINARY_DIR} ${Assimp_BINARY_DIR}/lib )
-
-ADD_EXECUTABLE( assimp_cmd
-	assimp_cmd.rc
-	CompareDump.cpp
-	ImageExtractor.cpp
-	Main.cpp
-	Main.h
-	resource.h
-	WriteDumb.cpp
-	Info.cpp
-	Export.cpp
-)
-
-SET_PROPERTY(TARGET assimp_cmd PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
-
-IF( WIN32 )
-	ADD_CUSTOM_COMMAND(TARGET assimp_cmd
-		PRE_BUILD
-		COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:assimp> $<TARGET_FILE_DIR:assimp_cmd>
-		MAIN_DEPENDENCY assimp)
-ENDIF( WIN32 )
-
-TARGET_LINK_LIBRARIES( assimp_cmd assimp ${ZLIB_LIBRARIES} )
-SET_TARGET_PROPERTIES( assimp_cmd PROPERTIES
-	OUTPUT_NAME assimp
-)
-
-INSTALL( TARGETS assimp_cmd
-	DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-bin
-)
+cmake_minimum_required( VERSION 2.6 )
+
+INCLUDE_DIRECTORIES(
+  ${Assimp_SOURCE_DIR}/include
+  ${Assimp_SOURCE_DIR}/code
+)
+
+LINK_DIRECTORIES( ${Assimp_BINARY_DIR} ${Assimp_BINARY_DIR}/lib )
+
+ADD_EXECUTABLE( assimp_cmd
+  assimp_cmd.rc
+  CompareDump.cpp
+  ImageExtractor.cpp
+  Main.cpp
+  Main.h
+  resource.h
+  WriteDumb.cpp
+  Info.cpp
+  Export.cpp
+)
+
+SET_PROPERTY(TARGET assimp_cmd PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
+
+IF( WIN32 )
+  ADD_CUSTOM_COMMAND(TARGET assimp_cmd
+    PRE_BUILD
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:assimp> $<TARGET_FILE_DIR:assimp_cmd>
+    MAIN_DEPENDENCY assimp)
+ENDIF( WIN32 )
+
+TARGET_LINK_LIBRARIES( assimp_cmd assimp ${ZLIB_LIBRARIES} )
+SET_TARGET_PROPERTIES( assimp_cmd PROPERTIES
+  OUTPUT_NAME assimp
+)
+
+INSTALL( TARGETS assimp_cmd
+  DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-bin
+)

+ 37 - 37
tools/assimp_view/CMakeLists.txt

@@ -3,63 +3,63 @@ cmake_minimum_required( VERSION 2.6 )
 FIND_PACKAGE(DirectX REQUIRED)
 
 INCLUDE_DIRECTORIES (
-	${Assimp_SOURCE_DIR}/include
-	${Assimp_SOURCE_DIR}/code
-	${DirectX_INCLUDE_DIR}
+  ${Assimp_SOURCE_DIR}/include
+  ${Assimp_SOURCE_DIR}/code
+  ${DirectX_INCLUDE_DIR}
 )
 
 # Make sure the linker can find the Assimp library once it is built.
 LINK_DIRECTORIES (${Assimp_BINARY_DIR} ${AssetImporter_BINARY_DIR}/lib)
 
 ADD_EXECUTABLE(  assimp_viewer WIN32
-	AnimEvaluator.cpp
-	Background.cpp
-	Display.cpp
-	HelpDialog.cpp
-	Input.cpp
-	LogDisplay.cpp
-	LogWindow.cpp
-	Material.cpp
-	MeshRenderer.cpp
-	MessageProc.cpp
-	Normals.cpp
-	SceneAnimator.cpp
-	Shaders.cpp
-	assimp_view.cpp
-	stdafx.cpp
-	assimp_view.rc
-	banner.bmp
-	banner_pure.bmp
-	base_anim.bmp
-	base_display.bmp
-	base_inter.bmp
-	base_rendering.bmp
-	base_stats.bmp
-	fx.bmp
-	n.bmp
-	root.bmp
-	tx.bmp
-	txi.bmp
+  AnimEvaluator.cpp
+  Background.cpp
+  Display.cpp
+  HelpDialog.cpp
+  Input.cpp
+  LogDisplay.cpp
+  LogWindow.cpp
+  Material.cpp
+  MeshRenderer.cpp
+  MessageProc.cpp
+  Normals.cpp
+  SceneAnimator.cpp
+  Shaders.cpp
+  assimp_view.cpp
+  stdafx.cpp
+  assimp_view.rc
+  banner.bmp
+  banner_pure.bmp
+  base_anim.bmp
+  base_display.bmp
+  base_inter.bmp
+  base_rendering.bmp
+  base_stats.bmp
+  fx.bmp
+  n.bmp
+  root.bmp
+  tx.bmp
+  txi.bmp
 )
 
 SET_PROPERTY(TARGET assimp_viewer PROPERTY DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
 
 
 IF ( MSVC )
-	ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
-	ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
+  ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
+  ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
 ENDIF ( MSVC )
 
 
 #
 ADD_CUSTOM_COMMAND(TARGET assimp_viewer
-	PRE_BUILD
-	COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:assimp> $<TARGET_FILE_DIR:assimp_viewer>
-	MAIN_DEPENDENCY assimp)
+  PRE_BUILD
+  COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:assimp> $<TARGET_FILE_DIR:assimp_viewer>
+  MAIN_DEPENDENCY assimp)
 
 # Link the executable to the assimp + dx libs.
 TARGET_LINK_LIBRARIES ( assimp_viewer assimp ${DirectX_LIBRARY} ${DirectX_D3DX9_LIBRARY} comctl32.lib winmm.lib )
 
 INSTALL( TARGETS assimp_viewer
-	DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev
+  DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev
 )