Sepehr Taghdisian avatar Sepehr Taghdisian committed 2356c2b

changes and fixes on cmp-mgr

Comments (0)

Files changed (81)

3rdparty/CMakeLists.txt

-project(3rdparty)
-cmake_minimum_required(VERSION 2.6)
-
-message("Building ${PROJECT_NAME}")
-message("Build type: ${CMAKE_BUILD_TYPE}")
-message("Compiler: ${CMAKE_C_COMPILER}")
-message("Compiler Platform: ${CMAKE_SYSTEM} - ${CMAKE_SYSTEM_PROCESSOR}")
-
-set(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/bin/")
-set(LIBRARY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/lib/")
-set(SKIP_INSTALL_ALL)
-
-if( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )
-    add_definitions(-g)         # generate debug info
-    add_definitions(-Werror)    # warnings as errors
-else()
-    add_definitions(-O)
-endif()
-        
-add_subdirectory("sfmt/src/")
-add_subdirectory("cjson/src/")
-add_subdirectory("zlib/src/")
-add_subdirectory("gl3w/src")
-add_subdirectory("lua/src")
-add_subdirectory("stb_image/src")
-add_subdirectory("nvtt")
-add_subdirectory("mongoose/src")
-add_subdirectory("ezxml/src")
-add_subdirectory("efsw")
-add_subdirectory("assimp/src")

3rdparty/assimp/src/CMakeLists.txt

-cmake_minimum_required( VERSION 2.6 )
-PROJECT( Assimp )
-
-# Define here the needed parameters
-set (ASSIMP_SV_REVISION 1264)
-set (ASSIMP_VERSION_MAJOR 3)
-set (ASSIMP_VERSION_MINOR 0)
-set (ASSIMP_VERSION_PATCH ${ASSIMP_SV_REVISION}) # subversion revision?
-set (ASSIMP_VERSION ${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}.${ASSIMP_VERSION_PATCH})
-set (ASSIMP_SOVERSION 3)
-SET ( PROJECT_VERSION "${ASSIMP_VERSION}" )
-
-set(LIBASSIMP_COMPONENT libassimp)
-
-INCLUDE_DIRECTORIES( "BoostWorkaround" "../../include" )
-ADD_DEFINITIONS( -DASSIMP_BUILD_BOOST_WORKAROUND )
-ADD_DEFINITIONS( -fPIC )
-ADD_DEFINITIONS( -fvisibility=hidden )
-SET(LIB_INSTALL_DIR "../../lib")
-
-# 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)
-#
-SET( HEADER_PATH ../../include/assimp )
-
-SET( COMPILER_HEADERS
-	${HEADER_PATH}/Compiler/pushpack1.h
-	${HEADER_PATH}/Compiler/poppack1.h
-	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}/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
-	AssimpPCH.cpp
-	AssimpPCH.h
-)
-
-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}/IOStream.hpp
-	${HEADER_PATH}/LogStream.hpp
-	${HEADER_PATH}/Logger.hpp
-	${HEADER_PATH}/NullLogger.hpp
-	Win32DebugLogStream.h
-	DefaultLogger.cpp
-	FileLogStream.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
-	ByteSwap.h
-	DefaultProgressHandler.h
-	DefaultIOStream.cpp
-	DefaultIOStream.h
-	DefaultIOSystem.cpp
-	DefaultIOSystem.h
-	CInterfaceIOWrapper.h
-	Hash.h
-	Importer.cpp
-	IFF.h
-	ParsingUtils.h
-	StdOStreamLogStream.h
-	StreamReader.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
-)
-SOURCE_GROUP(Common FILES ${Common_SRCS})
-
-SET( 3DS_SRCS
-	3DSConverter.cpp
-	3DSHelper.h
-	3DSLoader.cpp
-	3DSLoader.h
-)
-SOURCE_GROUP(3DS FILES ${3DS_SRCS})
-
-SET( AC_SRCS
-	ACLoader.cpp
-	ACLoader.h
-)
-SOURCE_GROUP( AC FILES ${AC_SRCS})
-
-SET( ASE_SRCS
-	ASELoader.cpp
-	ASELoader.h
-	ASEParser.cpp
-	ASEParser.h
-)
-SOURCE_GROUP( ASE FILES ${ASE_SRCS})
-
-SET( B3D_SRCS
-	B3DImporter.cpp
-	B3DImporter.h
-)
-SOURCE_GROUP( B3D FILES ${B3D_SRCS})
-
-SET( BVH_SRCS
-	BVHLoader.cpp
-	BVHLoader.h
-)
-SOURCE_GROUP( BVH FILES ${BVH_SRCS})
-
-SET( Collada_SRCS
-	ColladaHelper.h
-	ColladaLoader.cpp
-	ColladaLoader.h
-	ColladaParser.cpp
-	ColladaParser.h
-	ColladaExporter.h
-	ColladaExporter.cpp
-)
-SOURCE_GROUP( Collada FILES ${Collada_SRCS})
-
-SET( DXF_SRCS
-	DXFLoader.cpp
-	DXFLoader.h
-	DXFHelper.h
-)
-SOURCE_GROUP( DXF FILES ${DXF_SRCS})
-
-SET( CSM_SRCS
-	CSMLoader.cpp
-	CSMLoader.h
-)
-SOURCE_GROUP( CSM FILES ${CSM_SRCS})
-
-SET( HMP_SRCS
-	HMPFileData.h
-	HMPLoader.cpp
-	HMPLoader.h
-	HalfLifeFileData.h
-)
-SOURCE_GROUP( HMP FILES ${HMP_SRCS})
-
-SET( Irr_SRCS
-	IRRLoader.cpp
-	IRRLoader.h
-	IRRMeshLoader.cpp
-	IRRMeshLoader.h
-	IRRShared.cpp
-	IRRShared.h
-)
-SOURCE_GROUP( Irr FILES ${Irr_SRCS})
-
-SET( LWO_SRCS
-	LWOAnimation.cpp
-	LWOAnimation.h
-	LWOBLoader.cpp
-	LWOFileData.h
-	LWOLoader.cpp
-	LWOLoader.h
-	LWOMaterial.cpp
-)
-SOURCE_GROUP( LWO FILES ${LWO_SRCS})
-
-SET( LWS_SRCS
-	LWSLoader.cpp
-	LWSLoader.h
-)
-SOURCE_GROUP( LWS FILES ${LWS_SRCS})
-
-SET ( M3_SRCS
-	M3Importer.cpp
-	M3Importer.h
-)
-SOURCE_GROUP( M3 FILES ${M3_SRCS} )
-
-SET( MD2_SRCS
-	MD2FileData.h
-	MD2Loader.cpp
-	MD2Loader.h
-	MD2NormalTable.h
-)
-SOURCE_GROUP( MD2 FILES ${MD2_SRCS})
-
-SET( MD3_SRCS
-	MD3FileData.h
-	MD3Loader.cpp
-	MD3Loader.h
-)
-SOURCE_GROUP( MD3 FILES ${MD3_SRCS})
-
-SET( MD5_SRCS
-	MD5Loader.cpp
-	MD5Loader.h
-	MD5Parser.cpp
-	MD5Parser.h
-)
-SOURCE_GROUP( MD5 FILES ${MD5_SRCS})
-
-SET( MDC_SRCS
-	MDCFileData.h
-	MDCLoader.cpp
-	MDCLoader.h
-	MDCNormalTable.h
-)
-SOURCE_GROUP( MDC FILES ${MDC_SRCS})
-
-SET( MDL_SRCS
-	MDLDefaultColorMap.h
-	MDLFileData.h
-	MDLLoader.cpp
-	MDLLoader.h
-	MDLMaterialLoader.cpp
-)
-SOURCE_GROUP( MDL FILES ${MDL_SRCS})
-
-SET( MaterialSystem_SRCS
-	MaterialSystem.cpp
-	MaterialSystem.h
-)
-SOURCE_GROUP( MaterialSystem FILES ${MaterialSystem_SRCS})
-
-SET( NFF_SRCS
-	NFFLoader.cpp
-	NFFLoader.h
-)
-SOURCE_GROUP( NFF FILES ${NFF_SRCS})
-
-SET( NDO_SRCS
-	NDOLoader.cpp
-	NDOLoader.h
-)
-SOURCE_GROUP( NDO FILES ${NDO_SRCS})
-
-SET( OFFFormat_SRCS
-	OFFLoader.cpp
-	OFFLoader.h
-)
-SOURCE_GROUP( OFFFormat FILES ${OFFFormat_SRCS})
-
-SET( Obj_SRCS
-	ObjFileData.h
-	ObjFileImporter.cpp
-	ObjFileImporter.h
-	ObjFileMtlImporter.cpp
-	ObjFileMtlImporter.h
-	ObjFileParser.cpp
-	ObjFileParser.h
-	ObjTools.h
-	
-	ObjExporter.h
-	ObjExporter.cpp
-)
-SOURCE_GROUP( Obj FILES ${Obj_SRCS})
-
-SET( Ogre_SRCS
-	OgreImporter.hpp
-	OgreXmlHelper.hpp
-	OgreImporter.cpp
-	OgreMaterial.cpp
-	OgreMesh.cpp
-	OgreSkeleton.cpp
-)
-SOURCE_GROUP( Ogre FILES ${Ogre_SRCS})
-
-SET( Ply_SRCS
-	PlyLoader.cpp
-	PlyLoader.h
-	PlyParser.cpp
-	PlyParser.h
-	PlyExporter.cpp
-	PlyExporter.h
-)
-SOURCE_GROUP( Ply FILES ${Ply_SRCS})
-
-SET(MS3D_SRCS
-	MS3DLoader.cpp
-	MS3DLoader.h
-)
-SOURCE_GROUP( MS3D FILES ${MS3D_SRCS})
-
-SET(COB_SRCS
-	COBLoader.cpp
-	COBLoader.h
-	COBScene.h
-)
-SOURCE_GROUP( COB FILES ${COB_SRCS})
-
-SET(BLENDER_SRCS
-	BlenderLoader.cpp
-	BlenderLoader.h
-	BlenderDNA.cpp
-	BlenderDNA.h
-	BlenderDNA.inl
-	BlenderScene.cpp
-	BlenderScene.h
-	BlenderSceneGen.h
-	BlenderIntermediate.h
-	BlenderModifier.h
-	BlenderModifier.cpp
-)
-SOURCE_GROUP( BLENDER FILES ${BLENDER_SRCS})
-
-SET(IFC_SRCS
-	IFCLoader.cpp
-	IFCLoader.h
-	IFCReaderGen.cpp
-	IFCReaderGen.h
-	IFCUtil.h
-	IFCUtil.cpp
-	IFCGeometry.cpp
-	IFCMaterial.cpp
-	IFCProfile.cpp
-	IFCCurve.cpp
-	STEPFile.h
-	STEPFileReader.h
-	STEPFileReader.cpp
-)
-SOURCE_GROUP( IFC FILES ${IFC_SRCS})
-
-SET( XGL_SRCS
-	XGLLoader.cpp
-	XGLLoader.h
-)
-SOURCE_GROUP( XGL FILES ${XGL_SRCS})
-
-
-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
-	TerragenLoader.cpp
-	TerragenLoader.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})
-
-SET( Q3D_SRCS
-	Q3DLoader.cpp
-	Q3DLoader.h
-)
-SOURCE_GROUP( Q3D FILES ${Q3D_SRCS})
-
-SET( Q3BSP_SRCS
-	Q3BSPFileData.h
-	Q3BSPFileParser.h
-	Q3BSPFileParser.cpp
-	Q3BSPFileImporter.h
-	Q3BSPFileImporter.cpp
-	Q3BSPZipArchive.h
-	Q3BSPZipArchive.cpp
-)
-SOURCE_GROUP( Q3BSP FILES ${Q3BSP_SRCS})
-
-SET( Raw_SRCS
-	RawLoader.cpp
-	RawLoader.h
-)
-SOURCE_GROUP( Raw FILES ${Raw_SRCS})
-
-SET( SMD_SRCS
-	SMDLoader.cpp
-	SMDLoader.h
-)
-SOURCE_GROUP( SMD FILES ${SMD_SRCS})
-
-SET( STL_SRCS
-	STLLoader.cpp
-	STLLoader.h
-	STLExporter.h
-	STLExporter.cpp
-)
-SOURCE_GROUP( STL FILES ${STL_SRCS})
-
-SET( Unreal_SRCS
-	UnrealLoader.cpp
-	UnrealLoader.h
-)
-SOURCE_GROUP( Unreal FILES ${Unreal_SRCS})
-
-SET( XFile_SRCS
-	XFileHelper.h
-	XFileImporter.cpp
-	XFileImporter.h
-	XFileParser.cpp
-	XFileParser.h
-)
-SOURCE_GROUP( XFile FILES ${XFile_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})
-
-
-# VC2010 fixes
-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 )
-
-ADD_DEFINITIONS( -DASSIMP_BUILD_DLL_EXPORT )
-
-if ( MSVC80 OR MSVC90 OR MSVC10 )
-	ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
-	ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
-endif ( MSVC80 OR MSVC90 OR MSVC10 )
-
-if (UNZIP_FOUND)
-	SET (unzip_compile_SRCS "")
-else (UNZIP_FOUND)
-	SET (unzip_compile_SRCS ${unzip_SRCS})
-endif (UNZIP_FOUND)
-
-SET( assim_src
-	# Assimp Files
-	${Core_SRCS}
-	${Common_SRCS}
-	${Logging_SRCS}
-	${Exporter_SRCS}
-	${PostProcessing_SRCS}
-
-	# Model Support
-	${3DS_SRCS}
-	${AC_SRCS}
-	${ASE_SRCS}
-	${B3D_SRCS}
-	${BVH_SRCS}
-	${Collada_SRCS}
-	${DXF_SRCS}
-	${CSM_SRCS}
-	${HMP_SRCS}
-	${Irr_SRCS}
-	${LWO_SRCS}
-	${LWS_SRCS}
-	${M3_SRCS}
-	${MD2_SRCS}
-	${MD3_SRCS}
-	${MD5_SRCS}
-	${MDC_SRCS}
-	${MDL_SRCS}
-	${MaterialSystem_SRCS}
-	${NFF_SRCS}
-	${OFFFormat_SRCS}
-	${Obj_SRCS}
-	${Ogre_SRCS}
-	${Ply_SRCS}
-	${Q3D_SRCS}
-	${Q3BSP_SRCS}
-	${Raw_SRCS}
-	${SMD_SRCS}
-	${STL_SRCS}
-	${Unreal_SRCS}
-	${XFile_SRCS}
-	${Extra_SRCS}
-	${MS3D_SRCS}
-	${COB_SRCS}
-	${BLENDER_SRCS}
-	${NDO_SRCS}
-	${IFC_SRCS}
-	${XGL_SRCS}
-	
-	# Third-party libraries
-	${IrrXML_SRCS}
-	${ConvertUTF_SRCS}
-	${unzip_compile_SRCS}
-	${Poly2Tri_SRCS}
-	${Clipper_SRCS}
-	# Necessary to show the headers in the project when using the VC++ generator:
-	${Boost_SRCS}
-
-	${PUBLIC_HEADERS}
-	${COMPILER_HEADERS}
-)
-IF ( BUILD_STATIC_LIB )
-	ADD_LIBRARY( assimp STATIC
-		${assim_src}
-	)
-ELSE ( BUILD_STATIC_LIB )
-	ADD_LIBRARY( assimp SHARED
-		${assim_src}
-	)
-ENDIF ( BUILD_STATIC_LIB )
-
-SET_PROPERTY(TARGET assimp PROPERTY DEBUG_POSTFIX "-dbg")
-
-TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES})
-SET_TARGET_PROPERTIES( assimp PROPERTIES
-	VERSION ${ASSIMP_VERSION}
-	SOVERSION ${ASSIMP_SOVERSION} # use full version 
-    OUTPUT_NAME assimp${ASSIMP_LIBRARY_SUFFIX}
-    CLEAN_DIRECT_OUTPUT 1
-)
-# 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 DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${LIBASSIMP_COMPONENT})
-INSTALL( FILES ${PUBLIC_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/assimp COMPONENT ${LIBASSIMP-DEV_COMPONENT})
-INSTALL( FILES ${COMPILER_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/assimp/Compiler COMPONENT ${LIBASSIMP-DEV_COMPONENT})

3rdparty/assimp/src/contrib/zlib/CMakeLists.txt

-check_include_file(sys/types.h HAVE_SYS_TYPES_H)
-check_include_file(stdint.h    HAVE_STDINT_H)
-check_include_file(stddef.h    HAVE_STDDEF_H)
-
-#
-# Check to see if we have large file support
-#
-set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
-# We add these other definitions here because CheckTypeSize.cmake
-# in CMake 2.4.x does not automatically do so and we want
-# compatibility with CMake 2.4.x.
-if(HAVE_SYS_TYPES_H)
-    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H)
-endif()
-if(HAVE_STDINT_H)
-    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H)
-endif()
-if(HAVE_STDDEF_H)
-    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H)
-endif()
-
-check_type_size(off64_t OFF64_T)
-if(HAVE_OFF64_T)
-   add_definitions(-D_LARGEFILE64_SOURCE=1)
-endif()
-set(CMAKE_REQUIRED_DEFINITIONS) # clear variable
-
-#
-# Check for fseeko
-#
-check_function_exists(fseeko HAVE_FSEEKO)
-if(NOT HAVE_FSEEKO)
-    add_definitions(-DNO_FSEEKO)
-endif()
-
-#
-# Check for unistd.h
-#
-check_include_file(unistd.h Z_HAVE_UNISTD_H)
-
-if(MSVC)
-    set(CMAKE_DEBUG_POSTFIX "d")
-    add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
-    add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
-endif()
-
-if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-    # If we're doing an out of source build and the user has a zconf.h
-    # in their source tree...
-    if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h)
-        message(FATAL_ERROR
-            "You must remove ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h "
-            "from the source tree.  This file is included with zlib "
-            "but CMake generates this file for you automatically "
-            "in the build directory.")
-  endif()
-endif()
-
-#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zconf.in.h ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h @ONLY)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-
-
-#============================================================================
-# zlib
-#============================================================================
-
-set(ZLIB_PUBLIC_HDRS
-    ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h
-    zlib.h
-)
-set(ZLIB_PRIVATE_HDRS
-crc32.h  deflate.h  inffast.h  inffixed.h  inflate.h  inftrees.h  trees.h  zconf.h  zlib.h  zutil.h
-
-)
-set(ZLIB_SRCS
-  adler32.c  compress.c  crc32.c  deflate.c  inffast.c  inflate.c  inftrees.c  trees.c  zutil.c
-)
-
-# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
-file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
-string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([0-9A-Za-z.]+)\".*"
-    "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
-
-add_library(zlib STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS}")
-
-set_target_properties(zlib PROPERTIES SOVERSION 1)
-
-if(NOT CYGWIN)
-    # This property causes shared libraries on Linux to have the full version
-    # encoded into their final filename.  We disable this on Cygwin because
-    # it causes cygz-${ZLIB_FULL_VERSION}.dll to be created when cygz.dll
-    # seems to be the default.
-    #
-    # This has no effect with MSVC, on that platform the version info for
-    # the DLL comes from the resource file win32/zlib1.rc
-    set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION})
-endif()
-
-if(UNIX)
-    # On unix-like platforms the library is almost always called libz
-   set_target_properties(zlib PROPERTIES OUTPUT_NAME z)
-elseif(BUILD_SHARED_LIBS AND WIN32)
-    # Creates zlib1.dll when building shared library version
-    set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
-endif()
-
-#if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
-#    install(TARGETS zlib
-#        RUNTIME DESTINATION bin
-#        ARCHIVE DESTINATION lib
-#        LIBRARY DESTINATION lib )
-#endif()
-#if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
-#    install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION include)
-#endif()
-#if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
-#    install(FILES zlib.3 DESTINATION share/man/man3)
-#endif()
-
-#============================================================================
-# Example binaries
-#============================================================================
-
-#add_executable(example example.c)
-#target_link_libraries(example zlib)
-#add_test(example example)
-#
-#add_executable(minigzip minigzip.c)
-#target_link_libraries(minigzip zlib)
-#
-#if(HAVE_OFF64_T)
-#    add_executable(example64 example.c)
-#    target_link_libraries(example64 zlib)
-#    set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
-#    add_test(example64 example64)
-#
-#    add_executable(minigzip64 minigzip.c)
-#    target_link_libraries(minigzip64 zlib)
-#    set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
-#endif()

3rdparty/cjson/src/CMakeLists.txt

-project(cjson C)
-cmake_minimum_required(VERSION 2.6)
-
-set(BUILD_SHARED_LIBS 0)
-add_definitions(-static)
-add_definitions(-fPIC)
-
-set(SOURCE_FILES "cJSON.c")
-add_library(cjson ${SOURCE_FILES})
-
-if( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )
-    set_target_properties(cjson PROPERTIES OUTPUT_NAME "cjson-dbg")
-else()
-    set_target_properties(cjson PROPERTIES OUTPUT_NAME "cjson")
-endif()
-

3rdparty/efsw/CMakeLists.txt

-project(efsw)
-cmake_minimum_required(VERSION 2.6)
-
-#set(BUILD_SHARED_LIBS 0)
-#add_definitions(-static)
-add_definitions(-fPIC)
-add_definitions(-D'EFSW_EXPORTS')
-
-include_directories("../include" "../")
-
-set(SOURCE_FILES "Debug.cpp"
-                 "DirectorySnapshot.cpp"
-                 "DirectorySnapshotDiff.cpp"
-                 "DirWatcherGeneric.cpp"
-                 "FileInfo.cpp"
-                 "FileSystem.cpp"
-                 "FileWatcher.cpp"
-                 "FileWatcher_C.cpp"
-                 "FileWatcherFSEvents.cpp"
-                 "FileWatcherGeneric.cpp"
-                 "FileWatcherImpl.cpp"
-                 "FileWatcherKqueue.cpp"
-                 "FileWatcherWin32.cpp"
-                 "FileWatcherInotify.cpp"
-                 "Log.cpp"
-                 "Mutex.cpp"
-                 "String.cpp"
-                 "System.cpp"
-                 "Thread.cpp"
-                 "Watcher.cpp"
-                 "WatcherFSEvents.cpp"
-                 "WatcherGeneric.cpp"
-                 "WatcherInotify.cpp"
-                 "WatcherKqueue.cpp"
-                 "WatcherWin32.cpp"
-                 "platform/posix/FileSystemImpl.cpp"
-                 "platform/posix/MutexImpl.cpp"
-                 "platform/posix/SystemImpl.cpp"
-                 "platform/posix/ThreadImpl.cpp")
-                 
-add_library(efsw SHARED ${SOURCE_FILES})
-
-if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
-    set_target_properties(efsw PROPERTIES OUTPUT_NAME "efsw-dbg")
-else()
-    set_target_properties(efsw PROPERTIES OUTPUT_NAME "efsw")
-endif()
-

3rdparty/ezxml/src/CMakeLists.txt

-project(ezxml C)
-cmake_minimum_required(VERSION 2.6)
-
-set(BUILD_SHARED_LIBS 0)
-
-add_definitions(-static)
-add_definitions(-fPIC)
-
-set(SOURCE_FILES "ezxml.c")
-add_library(ezxml ${SOURCE_FILES})
-
-if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
-    set_target_properties(ezxml PROPERTIES OUTPUT_NAME "ezxml-dbg")
-else()
-    set_target_properties(ezxml PROPERTIES OUTPUT_NAME "ezxml")
-endif()

3rdparty/gl3w/src/CMakeLists.txt

-project(gl3w C)
-cmake_minimum_required(VERSION 2.6)
-
-set(BUILD_SHARED_LIBS 0)
-add_definitions(-static)
-add_definitions(-fPIC)
-
-include_directories("${PROJECT_SOURCE_DIR}/../include/")
-
-set(SOURCE_FILES "gl3w.c")
-add_library(gl3w ${SOURCE_FILES})
-
-if( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )
-    set_target_properties(gl3w PROPERTIES OUTPUT_NAME "gl3w-dbg")
-else()
-    set_target_properties(gl3w PROPERTIES OUTPUT_NAME "gl3w")
-endif()
-

3rdparty/glfw/src/CMakeLists.txt

-
-include_directories(${GLFW_SOURCE_DIR}/src
-                    ${GLFW_BINARY_DIR}/src
-                    ${glfw_INCLUDE_DIRS})
-
-if (MSVC)
-    add_definitions(-D_CRT_SECURE_NO_WARNINGS)
-endif()
-
-set(common_HEADERS ${GLFW_SOURCE_DIR}/include/GLFW/glfw3.h internal.h)
-set(common_SOURCES clipboard.c context.c gamma.c init.c input.c joystick.c
-                   monitor.c time.c window.c)
-
-if (_GLFW_COCOA)
-    set(glfw_HEADERS ${common_HEADERS} cocoa_platform.h)
-    set(glfw_SOURCES ${common_SOURCES} cocoa_clipboard.m cocoa_gamma.c
-                     cocoa_init.m cocoa_joystick.m cocoa_monitor.m cocoa_time.c
-                     cocoa_window.m)
-elseif (_GLFW_WIN32)
-    set(glfw_HEADERS ${common_HEADERS} win32_platform.h)
-    set(glfw_SOURCES ${common_SOURCES} win32_clipboard.c win32_gamma.c
-                     win32_init.c win32_joystick.c win32_monitor.c win32_time.c
-                     win32_window.c)
-elseif (_GLFW_X11)
-    set(glfw_HEADERS ${common_HEADERS} x11_platform.h)
-    set(glfw_SOURCES ${common_SOURCES} x11_clipboard.c x11_gamma.c x11_init.c
-                     x11_joystick.c x11_monitor.c x11_time.c x11_window.c
-                     x11_unicode.c)
-endif()
-
-if (_GLFW_EGL)
-    list(APPEND glfw_HEADERS ${common_HEADERS} egl_platform.h)
-    list(APPEND glfw_SOURCES ${common_SOURCES} egl_context.c)
-elseif (_GLFW_NSGL)
-    list(APPEND glfw_HEADERS ${common_HEADERS} nsgl_platform.h)
-    list(APPEND glfw_SOURCES ${common_SOURCES} nsgl_context.m)
-elseif (_GLFW_WGL)
-    list(APPEND glfw_HEADERS ${common_HEADERS} wgl_platform.h)
-    list(APPEND glfw_SOURCES ${common_SOURCES} wgl_context.c)
-elseif (_GLFW_X11)
-    list(APPEND glfw_HEADERS ${common_HEADERS} glx_platform.h)
-    list(APPEND glfw_SOURCES ${common_SOURCES} glx_context.c)
-endif()
-
-if (APPLE)
-    # For some reason, CMake doesn't know about .m
-    set_source_files_properties(${glfw_SOURCES} PROPERTIES LANGUAGE C)
-endif()
-
-add_library(glfw ${glfw_SOURCES} ${glfw_HEADERS})
-set_target_properties(glfw PROPERTIES OUTPUT_NAME "${GLFW_LIB_NAME}")
-
-if (BUILD_SHARED_LIBS)
-    # Include version information in the output
-    set_target_properties(glfw PROPERTIES VERSION ${GLFW_VERSION})
-    if (UNIX)
-        set_target_properties(glfw PROPERTIES SOVERSION ${GLFW_VERSION_MAJOR})
-    endif()
-
-    if (WIN32)
-        # The GLFW DLL needs a special compile-time macro and import library name
-        set_target_properties(glfw PROPERTIES PREFIX "" IMPORT_PREFIX "")
-
-        if (MINGW)
-            set_target_properties(glfw PROPERTIES IMPORT_SUFFIX "dll.a")
-        else()
-            set_target_properties(glfw PROPERTIES IMPORT_SUFFIX "dll.lib")
-        endif()
-    elseif (APPLE)
-        # Append -fno-common to the compile flags to work around a bug in
-        # Apple's GCC
-        get_target_property(glfw_CFLAGS glfw COMPILE_FLAGS)
-        if (NOT glfw_CFLAGS)
-            set(glfw_CFLAGS "")
-        endif()
-        set_target_properties(glfw PROPERTIES
-                              COMPILE_FLAGS "${glfw_CFLAGS} -fno-common")
-    endif()
-
-    target_link_libraries(glfw ${glfw_LIBRARIES})
-    target_link_libraries(glfw LINK_INTERFACE_LIBRARIES)
-endif()
-
-if (GLFW_INSTALL)
-    install(TARGETS glfw EXPORT glfwTargets DESTINATION lib${LIB_SUFFIX})
-endif()
-

3rdparty/lua/src/CMakeLists.txt

-cmake_minimum_required(VERSION 2.6)
-project(lua C)
-
-set(BUILD_SHARED_LIBS 0)
-add_definitions(-static)
-add_definitions(-fPIC)
-
-set(SOURCE_FILES "lapi.c" "lcode.c" "ldebug.c" "lgc.c" "lmathlib.c" "lopcodes.c" 
-                 "lstring.c" "ltm.c" "lvm.c" "lauxlib.c" "lcorolib.c" "ldo.c"
-                 "linit.c" "lmem.c" "loslib.c" "lstrlib.c" "lua.c" "lzio.c"
-                 "lbaselib.c" "lctype.c" "ldump.c" "liolib.c" "loadlib.c" "lparser.c"
-                 "ltable.c" "luac.c" "lbitlib.c" "ldblib.c" "lfunc.c" "llex.c" "lobject.c"
-                 "lstate.c" "ltablib.c" "lundump.c")
-add_library(lua ${SOURCE_FILES})
-
-if( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )
-    set_target_properties(lua PROPERTIES OUTPUT_NAME "lua-dbg")
-else()
-    set_target_properties(lua PROPERTIES OUTPUT_NAME "lua")
-endif()
-

3rdparty/mongoose/src/CMakeLists.txt

-project(mongoose C)
-cmake_minimum_required(VERSION 2.6)
-
-set(BUILD_SHARED_LIBS 0)
-add_definitions(-static)
-add_definitions(-fPIC)
-
-set(SOURCE_FILES "mongoose.c")
-add_library(mongoose ${SOURCE_FILES})
-
-if( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )
-    set_target_properties(mongoose PROPERTIES OUTPUT_NAME "mongoose-dbg")
-else()
-    set_target_properties(mongoose PROPERTIES OUTPUT_NAME "mongoose")
-endif()

3rdparty/nvtt/CMakeLists.txt

-CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
-PROJECT(NV)
-ENABLE_TESTING()
-
-SET(NVTT_SHARED TRUE)
-
-SET(CMAKE_BUILD_TYPE "Release") #only release build
-SET(NV_CMAKE_DIR "${NV_SOURCE_DIR}/cmake")
-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${NV_CMAKE_DIR}")
-
-IF(WIN32)
-	SET(GNUWIN32 "${NV_SOURCE_DIR}/gnuwin32")
-	SET(CMAKE_INCLUDE_PATH "${GNUWIN32}/include")
-	SET(CMAKE_LIBRARY_PATH "${GNUWIN32}/lib")
-ENDIF(WIN32)
-
-INCLUDE(${NV_CMAKE_DIR}/OptimalOptions.cmake)
-MESSAGE(STATUS "Setting optimal options")
-MESSAGE(STATUS "  Processor: ${NV_SYSTEM_PROCESSOR}")
-MESSAGE(STATUS "  Compiler Flags: ${CMAKE_CXX_FLAGS}")
-
-SET(NVCORE_SHARED FALSE)
-SET(NVMATH_SHARED FALSE)
-SET(NVIMAGE_SHARED FALSE)
-
-ADD_SUBDIRECTORY(src)
-
-IF(WIN32)
-	ADD_SUBDIRECTORY(gnuwin32)
-ENDIF(WIN32)

3rdparty/nvtt/gnuwin32/CMakeLists.txt

-
-INSTALL(PROGRAMS 
-	bin/jpeg62.dll
-	bin/libpng13.dll
-	bin/libtiff3.dll
-	bin/zlib1.dll
-	DESTINATION bin)

3rdparty/nvtt/src/CMakeLists.txt

-
-SUBDIRS(nvcore)
-SUBDIRS(nvmath)
-SUBDIRS(nvimage)
-SUBDIRS(nvtt)
-add_definitions(-fPIC)
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
-
-# OpenGL
-INCLUDE(FindOpenGL)
-IF(OPENGL_FOUND)
-	MESSAGE(STATUS "Looking for OpenGL - found")
-ELSE(OPENGL_FOUND)
-	MESSAGE(STATUS "Looking for OpenGL - not found")
-ENDIF(OPENGL_FOUND)
-
-# GLUT
-INCLUDE(${NV_CMAKE_DIR}/FindGLUT.cmake)
-#INCLUDE(FindGLUT)
-IF(GLUT_FOUND)
-	MESSAGE(STATUS "Looking for GLUT - found")
-ELSE(GLUT_FOUND)
-	MESSAGE(STATUS "Looking for GLUT - not found")
-ENDIF(GLUT_FOUND)
-
-# DirectX
-INCLUDE(${NV_CMAKE_DIR}/FindDirectX.cmake)
-IF(DX10_FOUND)
-	MESSAGE(STATUS "Looking for DirectX - found")
-ELSE(DX10_FOUND)
-	MESSAGE(STATUS "Looking for DirectX - not found")
-ENDIF(DX10_FOUND)
-
-# GLEW
-INCLUDE(${NV_CMAKE_DIR}/FindGLEW.cmake)
-IF(GLEW_FOUND)
-	MESSAGE(STATUS "Looking for GLEW - found")
-ELSE(GLEW_FOUND)
-	MESSAGE(STATUS "Looking for GLEW - not found")
-ENDIF(GLEW_FOUND)
-
-# Cg
-INCLUDE(${NV_CMAKE_DIR}/FindCg.cmake)
-IF(CG_FOUND)
-	MESSAGE(STATUS "Looking for Cg - found")
-ELSE(CG_FOUND)
-	MESSAGE(STATUS "Looking for Cg - not found")
-ENDIF(CG_FOUND)
-
-# CUDA
-INCLUDE(${NV_CMAKE_DIR}/FindCUDA.cmake)
-IF(CUDA_FOUND)
-	SET(HAVE_CUDA ${CUDA_FOUND} CACHE BOOL "Set to TRUE if CUDA is found, FALSE otherwise")
-	MESSAGE(STATUS "Looking for CUDA - found")
-ELSE(CUDA_FOUND)
-	MESSAGE(STATUS "Looking for CUDA - not found")
-ENDIF(CUDA_FOUND)
-
-# Maya
-INCLUDE(${NV_CMAKE_DIR}/FindMaya.cmake)
-IF(MAYA_FOUND)
-	SET(HAVE_MAYA ${MAYA_FOUND} CACHE BOOL "Set to TRUE if Maya is found, FALSE otherwise")
-	MESSAGE(STATUS "Looking for Maya - found")
-ELSE(MAYA_FOUND)
-	MESSAGE(STATUS "Looking for Maya - not found")
-ENDIF(MAYA_FOUND)
-
-# JPEG
-INCLUDE(FindJPEG)
-IF(JPEG_FOUND)
-	SET(HAVE_JPEG ${JPEG_FOUND} CACHE BOOL "Set to TRUE if JPEG is found, FALSE otherwise")
-	MESSAGE(STATUS "Looking for JPEG - found")
-ELSE(JPEG_FOUND)
-	MESSAGE(STATUS "Looking for JPEG - not found")
-ENDIF(JPEG_FOUND)
-
-# PNG
-INCLUDE(FindPNG)
-IF(PNG_FOUND)
-	SET(HAVE_PNG ${PNG_FOUND} CACHE BOOL "Set to TRUE if PNG is found, FALSE otherwise")
-	MESSAGE(STATUS "Looking for PNG - found")
-ELSE(PNG_FOUND)
-	MESSAGE(STATUS "Looking for PNG - not found")
-ENDIF(PNG_FOUND)
-
-# TIFF
-INCLUDE(FindTIFF)
-IF(TIFF_FOUND)
-	SET(HAVE_TIFF ${TIFF_FOUND} CACHE BOOL "Set to TRUE if TIFF is found, FALSE otherwise")
-	MESSAGE(STATUS "Looking for TIFF - found")
-ELSE(TIFF_FOUND)
-	MESSAGE(STATUS "Looking for TIFF - not found")
-ENDIF(TIFF_FOUND)
-
-# OpenEXR
-INCLUDE(${NV_CMAKE_DIR}/FindOpenEXR.cmake)
-IF(OPENEXR_FOUND)
-	SET(HAVE_OPENEXR ${OPENEXR_FOUND} CACHE BOOL "Set to TRUE if OpenEXR is found, FALSE otherwise")
-	MESSAGE(STATUS "Looking for OpenEXR - found")
-ELSE(OPENEXR_FOUND)
-	MESSAGE(STATUS "Looking for OpenEXR - not found")
-ENDIF(OPENEXR_FOUND)
-
-# Qt
-FIND_PACKAGE(Qt4)
-
-# Threads
-FIND_PACKAGE(Threads REQUIRED)
-MESSAGE(STATUS "Use thread library: ${CMAKE_THREAD_LIBS_INIT}")
-
-# configuration file
-INCLUDE(CheckIncludeFiles)
-
-CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H)
-CHECK_INCLUDE_FILES(stdarg.h HAVE_STDARG_H)
-CHECK_INCLUDE_FILES(signal.h HAVE_SIGNAL_H)
-CHECK_INCLUDE_FILES(execinfo.h HAVE_EXECINFO_H)
-CHECK_INCLUDE_FILES(malloc.h HAVE_MALLOC_H)
-
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/nvconfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/nvconfig.h)
-
-#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/nvconfig.h DESTINATION include)
-

3rdparty/nvtt/src/nvcore/CMakeLists.txt

-PROJECT(nvcore)
-ADD_SUBDIRECTORY(poshlib)
-
-SET(CORE_SRCS
-	nvcore.h
-	Ptr.h
-	BitArray.h
-	Memory.h
-	Memory.cpp
-	Debug.h
-	Debug.cpp
-	Containers.h
-	StrLib.h
-	StrLib.cpp
-	Stream.h
-	StdStream.h
-	TextReader.h
-	TextReader.cpp
-	TextWriter.h
-	TextWriter.cpp
-	Radix.h
-	Radix.cpp
-	Library.h
-	Library.cpp)
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
-
-# targets
-ADD_DEFINITIONS(-DNVCORE_EXPORTS)
-
-IF(UNIX)
-	SET(LIBS ${LIBS} ${CMAKE_DL_LIBS})
-ENDIF(UNIX)
-
-IF(NVCORE_SHARED)
-	ADD_DEFINITIONS(-DNVCORE_SHARED=1)
-	ADD_LIBRARY(nvcore SHARED ${CORE_SRCS})
-ELSE(NVCORE_SHARED)
-	ADD_LIBRARY(nvcore ${CORE_SRCS})
-ENDIF(NVCORE_SHARED)
-
-TARGET_LINK_LIBRARIES(nvcore ${LIBS})
-
-INSTALL(TARGETS nvcore
-	RUNTIME DESTINATION bin
-	LIBRARY DESTINATION lib
-	ARCHIVE DESTINATION lib/static)

3rdparty/nvtt/src/nvcore/poshlib/CMakeLists.txt

-
-SET(POSHLIB_SRCS
-	posh.c
-	posh.h)
-
-
-ADD_LIBRARY(posh STATIC ${POSHLIB_SRCS})
-

3rdparty/nvtt/src/nvimage/CMakeLists.txt

-PROJECT(nvimage)
-
-SET(IMAGE_SRCS	
-	nvimage.h
-	FloatImage.h
-	FloatImage.cpp
-	Filter.h
-	Filter.cpp
-	Image.h
-	Image.cpp
-	ImageIO.h
-	ImageIO.cpp
-	ColorBlock.h
-	ColorBlock.cpp
-	BlockDXT.h
-	BlockDXT.cpp
-	HoleFilling.h
-	HoleFilling.cpp
-	DirectDrawSurface.h
-	DirectDrawSurface.cpp
-	Quantize.h
-	Quantize.cpp
-	NormalMap.h
-	NormalMap.cpp
-	NormalMipmap.h
-	NormalMipmap.cpp
-	PsdFile.h
-	TgaFile.h)
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
-
-IF(PNG_FOUND)
-	SET(LIBS ${LIBS} ${PNG_LIBRARIES})
-	INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
-ENDIF(PNG_FOUND)
-
-IF(JPEG_FOUND)
-	SET(LIBS ${LIBS} ${JPEG_LIBRARIES})
-	INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
-ENDIF(JPEG_FOUND)
-
-IF(TIFF_FOUND)
-	SET(LIBS ${LIBS} ${TIFF_LIBRARIES})
-	INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
-ENDIF(TIFF_FOUND)
-
-IF(OPENEXR_FOUND)
-	SET(LIBS ${LIBS} ${OPENEXR_LIBRARIES})
-	INCLUDE_DIRECTORIES(${OPENEXR_INCLUDE_PATHS})
-ENDIF(OPENEXR_FOUND)
-
-# targets
-ADD_DEFINITIONS(-DNVIMAGE_EXPORTS)
-
-IF(NVIMAGE_SHARED)	
-	ADD_DEFINITIONS(-DNVIMAGE_SHARED=1)
-	ADD_LIBRARY(nvimage SHARED ${IMAGE_SRCS})
-ELSE(NVIMAGE_SHARED)
-	ADD_LIBRARY(nvimage ${IMAGE_SRCS})
-ENDIF(NVIMAGE_SHARED)
-
-TARGET_LINK_LIBRARIES(nvimage ${LIBS} nvcore nvmath posh)
-
-INSTALL(TARGETS nvimage
-	RUNTIME DESTINATION bin
-	LIBRARY DESTINATION lib
-	ARCHIVE DESTINATION lib/static)
-

3rdparty/nvtt/src/nvmath/CMakeLists.txt

-PROJECT(nvmath)
-
-SET(MATH_SRCS
-	nvmath.h
-	Vector.h
-	Matrix.h
-	Quaternion.h
-	Box.h
-	Color.h
-	Montecarlo.h Montecarlo.cpp
-	Random.h Random.cpp
-	SphericalHarmonic.h SphericalHarmonic.cpp
-	Basis.h Basis.cpp
-	Triangle.h Triangle.cpp TriBox.cpp)
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
-
-# targets
-ADD_DEFINITIONS(-DNVMATH_EXPORTS)
-
-IF(NVMATH_SHARED)
-	ADD_DEFINITIONS(-DNVMATH_SHARED=1)
-	ADD_LIBRARY(nvmath SHARED ${MATH_SRCS})
-ELSE(NVMATH_SHARED)
-	ADD_LIBRARY(nvmath ${MATH_SRCS})
-ENDIF(NVMATH_SHARED)
-
-TARGET_LINK_LIBRARIES(nvmath ${LIBS} nvcore)
-
-INSTALL(TARGETS nvmath
-	RUNTIME DESTINATION bin
-	LIBRARY DESTINATION lib
-	ARCHIVE DESTINATION lib/static)

3rdparty/nvtt/src/nvtt/CMakeLists.txt

-PROJECT(nvtt)
-
-ADD_SUBDIRECTORY(squish)
-
-SET(NVTT_SRCS
-	nvtt.h 
-	nvtt.cpp
-	Compressor.h
-	Compressor.cpp
-	nvtt_wrapper.h
-	nvtt_wrapper.cpp
-	CompressDXT.h
-	CompressDXT.cpp
-	CompressRGB.h
-	CompressRGB.cpp
-	QuickCompressDXT.h
-	QuickCompressDXT.cpp
-	OptimalCompressDXT.h
-	OptimalCompressDXT.cpp
-	SingleColorLookup.h
-	CompressionOptions.h
-	CompressionOptions.cpp
-	InputOptions.h
-	InputOptions.cpp
-	OutputOptions.h
-	OutputOptions.cpp
-	cuda/CudaUtils.h
-	cuda/CudaUtils.cpp
-	cuda/CudaMath.h
-	cuda/Bitmaps.h
-	cuda/CudaCompressDXT.h
-	cuda/CudaCompressDXT.cpp)
-
-IF(CUDA_FOUND)
-	ADD_DEFINITIONS(-DHAVE_CUDA)
-	WRAP_CUDA(CUDA_SRCS cuda/CompressKernel.cu)
-	SET(NVTT_SRCS ${NVTT_SRCS} ${CUDA_SRCS})
-	SET(LIBS ${LIBS} ${CUDA_LIBRARIES})
-	INCLUDE_DIRECTORIES(${CUDA_INCLUDE_PATH})
-ENDIF(CUDA_FOUND)
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
-
-ADD_DEFINITIONS(-DNVTT_EXPORTS)
-
-IF(NVTT_SHARED)
-	ADD_DEFINITIONS(-DNVTT_SHARED=1)
-	ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS})
-ELSE(NVTT_SHARED)
-	ADD_LIBRARY(nvtt ${NVTT_SRCS})
-ENDIF(NVTT_SHARED)
-
-TARGET_LINK_LIBRARIES(nvtt ${LIBS} nvcore nvmath nvimage squish)
-
-
-
-
-

3rdparty/nvtt/src/nvtt/squish/CMakeLists.txt

-PROJECT(squish)
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
-
-SET(SQUISH_SRCS
-	fastclusterfit.cpp
-	fastclusterfit.h
-	weightedclusterfit.cpp
-	weightedclusterfit.h
-	colourblock.cpp
-	colourblock.h
-	colourfit.cpp
-	colourfit.h
-	colourset.cpp
-	colourset.h
-	config.h
-	maths.cpp
-	maths.h
-	simd.h
-	simd_sse.h
-	simd_ve.h)
-
-ADD_LIBRARY(squish STATIC ${SQUISH_SRCS})
-
-IF(CMAKE_COMPILER_IS_GNUCXX)
-	SET_TARGET_PROPERTIES(squish PROPERTIES COMPILE_FLAGS -fPIC)
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-

3rdparty/sfmt/src/CMakeLists.txt

-project(sfmt C)
-cmake_minimum_required(VERSION 2.6)
-
-set(BUILD_SHARED_LIBS 0)
-add_definitions(-std=gnu99)
-add_definitions(-D'MEXP=607')
-add_definitions(-static)
-add_definitions(-fPIC)
-
-set(SOURCE_FILES "SFMT.c")
-add_library(sfmt ${SOURCE_FILES})
-
-if( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )
-    set_target_properties(sfmt PROPERTIES OUTPUT_NAME "sfmt-dbg")
-else()
-    set_target_properties(sfmt PROPERTIES OUTPUT_NAME "sfmt")
-endif()

3rdparty/stb_image/src/CMakeLists.txt

-project(stb_image C)
-cmake_minimum_required(VERSION 2.6)
-
-set(BUILD_SHARED_LIBS 0)
-add_definitions(-static)
-add_definitions(-fPIC)
-
-set(SOURCE_FILES "stb_image.c" "stb_image_write.c")
-add_library(stb_image ${SOURCE_FILES})
-
-if( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )
-    set_target_properties(stb_image PROPERTIES OUTPUT_NAME "stb_image-dbg")
-else()
-    set_target_properties(stb_image PROPERTIES OUTPUT_NAME "stb_image")
-endif()
-

3rdparty/zlib/src/CMakeLists.txt

-cmake_minimum_required(VERSION 2.4.4)
-set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
-
-project(zlib C)
-set(BUILD_SHARED_LIBS 0)
-add_definitions(-static)
-add_definitions(-fPIC)
-
-if(NOT DEFINED BUILD_SHARED_LIBS)
-    option(BUILD_SHARED_LIBS "Build a shared library form of zlib" ON)
-endif()
-
-include(CheckTypeSize)
-include(CheckFunctionExists)
-include(CheckIncludeFile)
-include(CheckCSourceCompiles)
-enable_testing()
-
-check_include_file(sys/types.h HAVE_SYS_TYPES_H)
-check_include_file(stdint.h    HAVE_STDINT_H)
-check_include_file(stddef.h    HAVE_STDDEF_H)
-
-#
-# Check to see if we have large file support
-#
-set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
-# We add these other definitions here because CheckTypeSize.cmake
-# in CMake 2.4.x does not automatically do so and we want
-# compatibility with CMake 2.4.x.
-if(HAVE_SYS_TYPES_H)
-    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H)
-endif()
-if(HAVE_STDINT_H)
-    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H)
-endif()
-if(HAVE_STDDEF_H)
-    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H)
-endif()
-check_type_size(off64_t OFF64_T)
-if(HAVE_OFF64_T)
-   add_definitions(-D_LARGEFILE64_SOURCE=1)
-endif()
-set(CMAKE_REQUIRED_DEFINITIONS) # clear variable
-
-#
-# Check for fseeko
-#
-check_function_exists(fseeko HAVE_FSEEKO)
-if(NOT HAVE_FSEEKO)
-    add_definitions(-DNO_FSEEKO)
-endif()
-
-#
-# Check for unistd.h
-#
-check_include_file(unistd.h Z_HAVE_UNISTD_H)
-
-if(MSVC)
-    set(CMAKE_DEBUG_POSTFIX "d")
-    add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
-    add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
-endif()
-
-if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
-    # If we're doing an out of source build and the user has a zconf.h
-    # in their source tree...
-    if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h)
-        message(FATAL_ERROR
-            "You must remove ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h "
-            "from the source tree.  This file is included with zlib "
-            "but CMake generates this file for you automatically "
-            "in the build directory.")
-  endif()
-endif()
-
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
-               ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
-include_directories(${CMAKE_CURRENT_BINARY_DIR})
-
-
-#============================================================================
-# zlib
-#============================================================================
-
-set(ZLIB_PUBLIC_HDRS
-    ${CMAKE_CURRENT_BINARY_DIR}/zconf.h
-    zlib.h
-)
-set(ZLIB_PRIVATE_HDRS
-    crc32.h
-    deflate.h
-    gzguts.h
-    inffast.h
-    inffixed.h
-    inflate.h
-    inftrees.h
-    trees.h
-    zutil.h
-)
-set(ZLIB_SRCS
-    adler32.c
-    compress.c
-    crc32.c
-    deflate.c
-    gzclose.c
-    gzlib.c
-    gzread.c
-    gzwrite.c
-    inflate.c
-    infback.c
-    inftrees.c
-    inffast.c
-    trees.c
-    uncompr.c
-    zutil.c
-)
-
-if(NOT MINGW)
-    set(ZLIB_SRCS ${ZLIB_SRCS}
-        win32/zlib1.rc # If present will override custom build rule below.
-    )
-endif()
-
-# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
-file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
-string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([0-9A-Za-z.]+)\".*"
-    "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
-
-if(MINGW)
-    # This gets us DLL resource information when compiling on MinGW.
-    if(NOT CMAKE_RC_COMPILER)
-        SET(CMAKE_RC_COMPILER windres.exe)
-    endif()
-
-    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
-                       COMMAND ${CMAKE_RC_COMPILER}
-                            -D GCC_WINDRES
-                            -I ${CMAKE_CURRENT_SOURCE_DIR}
-                            -I ${CMAKE_CURRENT_BINARY_DIR}
-                            -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
-                            -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
-    set(ZLIB_SRCS ${ZLIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
-endif(MINGW)
-
-add_library(zlib ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
-set_target_properties(zlib PROPERTIES SOVERSION 1)
-
-if(NOT CYGWIN)
-    # This property causes shared libraries on Linux to have the full version
-    # encoded into their final filename.  We disable this on Cygwin because
-    # it causes cygz-${ZLIB_FULL_VERSION}.dll to be created when cygz.dll
-    # seems to be the default.
-    #
-    # This has no effect with MSVC, on that platform the version info for
-    # the DLL comes from the resource file win32/zlib1.rc
-    set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION})
-endif()
-
-if(UNIX)
-    # On unix-like platforms the library is almost always called libz
-if(${CMAKE_BUILD_TYPE} MATCHES "Debug")
-   set_target_properties(zlib PROPERTIES OUTPUT_NAME "z-dbg")
-else()
-   set_target_properties(zlib PROPERTIES OUTPUT_NAME "z")
-endif()
-
-elseif(BUILD_SHARED_LIBS AND WIN32)
-    # Creates zlib1.dll when building shared library version
-    set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
-endif()
-
-
-if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
-    install(TARGETS zlib
-        RUNTIME DESTINATION bin
-        ARCHIVE DESTINATION lib
-        LIBRARY DESTINATION lib )
-endif()
-if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
-    install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION include)
-endif()
-if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
-    install(FILES zlib.3 DESTINATION share/man/man3)
-endif()
-
-

README

-Dark-Hammer game engine v0.4.5
-
-dark-hammer project is a hobby project of mine, which is experimental light-weight 3d engine, written in C language (C99 to be exact). designed to work under different hardware platforms (currently x86/x86_64) and differnet OSes (currently windows/linux).
-Source license is **2-clause new BSD license**. please review the license in the file "LICENSE" before using it.
-
-Installation: https://bitbucket.org/sepul/dark-hammer/wiki/install.wiki
-Blog: http://www.hmrengine.com/blog
-Forums: http://www.hmrengine.com/forums
-Wiki: https://bitbucket.org/sepul/dark-hammer/wiki/Home
-Binaries (demo showcases): http://www.hmrengine.com/blog/?page_id=528 
-API Reference: http://www.hmrengine.com/docs/
-
-Copyright (c) 2012, Sepehr Taghdisian
-All rights reserved.
-
-
-
-
-
+Dark-Hammer Game Engine
+=======================
+Version 0.4.6 (pre-alpha)  
+[http://www.hmrengine.com](http://www.hmrengine.com)  
+[http://www.bitbucket.org/sepul/dark-hammer](http://www.bitbucket.org/sepul/dark-hammer)
+
+Description
+--------------------
+Dark-Hammer is a light-weight, multi-platform game engine.  License is _2-clause new BSD_.  
+Engine itself is written in C programming language (following C99 standard), works with both 
+_OpenGL_ and _Direct3D_ APIs.  
+Current supported platforms are _Windows 7_ with _Direct3D 10_ or higher capable graphics card, 
+_Linux Ubuntu 12_ with _OpenGL 3.3_  or higher graphics card, _MacOSX 10.8 (Mountain Lion)_ with 
+_OpenGL 3.2_ or higher capable graphics card.
+
+Installation
+-------------
+In order to compiler and build the engine you'll need softwares below to be installed/extracted on 
+your system :
+
+- __C99 compatible compiler__: Tested _ICC 12_ for windows (MSVC2013 should have C99 support too), 
+_GCC 2.6_ for linux, and _Clang 3.3_ for OSX
+- __Python 2.7__: Used for many tools and _waf_ build system. 
+[link](http://www.python.org/download/releases/2.7/)
+- __PyQt4 for python 2.7__: Used for many GUI tools. 
+[link](http://www.riverbankcomputing.com/software/pyqt/download)
+- __Physx 3.2 SDK__: _Physx_ is the primary physics SDK for the engine.
+[link](http://supportcenteronline.com/ics/support/mylogin.asp?splash=1&deptID=1949)
+- __Latest Graphics Drivers for your OS__: [nVIDIA](http://www.nvidia.com/Drivers) or
+[AMD](http://support.amd.com/us/gpudownload/Pages/index.aspx) drivers.
+
+#### Windows Requirements ####
+- __DirectX SDK June 2010__: For Direct3D build under windows. 
+[link](http://www.microsoft.com/en-us/download/details.aspx?id=23549)
+#### Linux Requirements ####
+- __X11 libs__: Package name _xorg-dev_
+- __Mesa GL libs__: Package name _libglu1-mesa-dev_
+
+- - -
+Preferred build system is [waf](http://code.google.com/p/waf/) which is a python based program, 
+and is included in the source repo under _/path/to/dark-hammer/var/waf/_ directory.  
+To build with _waf_, make sure you have installed all above requirements, open up a command terminal 
+and run these commands:
+
+```
+cd /path/to/dark-hammer
+python var/waf/waf configure --physx_sdk=/path/to/physx_sdk  
+python var/waf/waf  
+python var/waf/waf install  
+```
+
+By default, these set of commands will find an appropreate compiler and build the code in _release_ 
+mode, then install the shared libraries, binaries in _dark-hammer/bin_ and static libraries in 
+_dark-hammer/lib_ directory. You should also provide a valid path to _Physx SDK_ root directory in 
+_--physx\_sdk_ argument.  
+
+#### Debug build
+For debug builds (which output files will have _-dbg_ suffix), just add _\_debug_ to build and 
+install commands :
+
+```
+cd /path/to/dark-hammer
+python var/waf/waf configure --physx_sdk=/path/to/physx_sdk   
+python var/waf/waf build_debug  
+python var/waf/waf install_debug  
+```
+
+#### Additional Flags
+These arguments can be used with `configure` command:  
+
+- `--dx_sdk=PATH`: For __windows__ and __direct3d__ builds, this argument is also required. 
+In that case, you should provide this argument as example:  
+    `python var/waf/waf configure --physx_sdk=/path/to/physx_sdk --dx_sdk=/path/to/dx_sdk`
+
+- If you want to change compilers, for example use 32bit ICC compiler on windows:  
+    `python var/waf/waf configure --physx_sdk=/path/to/physx_sdk --dx_sdk=/path/to/dx_sdk --msvc_targets=ia32`  
+    For more information and flags check out _waf_'s documentation
+
+- `--prefix=PREFIX_PATH`: PREFIX_PATH can be a valid path which you want to install the build files, 
+instead of default path.
+
+- `--assert`: Enables assertions in the build, recommended for _debug_ builds.
+- `--retail`: Enables _retail_ mode build, enables all retail optimizations.
+- `--prompt`: Prompts for sdk paths, if not provided by user in command line.
+- `--gfxdevice=[D3D|GL]`: Choose a valid rendering device (D3D or GL).
+- `--physx_sdk=PATH`: Path to _Physx SDK_ root directory.
+- `--profile`: Enables profile build, which engine stores profiling information in runtime and can 
+be connected via a browser through port 8888 for profiling information.
+
+#### Visual Studio 2010
+Additional MSVC2010 projects are maintained seperately and included in 
+`/path/to/dark-hammer/src/vs2010` (for main builds) and `/path/to/dark-hammer/3rdparty/vs2010` 
+(for 3rdparty library builds).  
+First you have to open the solution file for _3rdparty_ libraries and build them successfully. Then 
+open main solution file and build those.  
+Unforetunately, prior to Visual Studio 2013, Microsoft has no support for C99 compilation, so if you 
+are working with Visual studio 2012 and lower, you'll need to install C99 compatible compiler for 
+windows like __Intel Compiler__ (make sure you install the visual-studio addon too).  
+
+__Note__ that you should also provide valid SDK paths for DirectX and Physx for your visual studio 
+project. In case you don't know how, open visual studio, open main solution file, right click on 
+_engine_ project in _Solution Explorer_, Select _Properties_ from drop-down menu, then go to 
+_Configuration Properties->VC++ Directories_, Add _DirectX and Physx_ include directory paths to 
+_Include Directories_, and Library directory paths to _Library Directories_.  You should do the same
+ for _h3dimport_ project if you want to build the importer tool too.
+
+Questions?
+----------
+If you have any questions, suggestions or bug reports, please post to developer's 
+[forum](http://hmrengine.com/forums/).
+
+Credits
+-------
+- __Engine Developer:__ _Sepehr Taghdisian (sep.tagh@gmail.com)_
+- __Additional Tools:__ _Amin Valinejad (amin\_coder@yahoo.com)_
+- __MacOSX port and build tools:__ _Davide Bacchet (davide.bacchet@gmail.com)_

build-script

-#!/bin/bash
-
-clear
-
-PROFILE=""
-ASSERT=""
-BUILD="-D CMAKE_BUILD_TYPE=Release" 
-DIR="release"
-
-for arg in $@
-do
-	if [ $arg = "--help" ]; then
-		echo "Configure options:"
-		echo "--debug: debug build"
-		echo "--profile: compile with profiling capabilities"
-		echo "--assert: compile with assertions"
-		exit 0
-	fi
-
-	if [ $arg = "--debug" ]; then
-		BUILD="-D CMAKE_BUILD_TYPE=Debug"
-		DIR="debug"
-	fi
-
-	if [ $arg = "--profile" ]; then
-		PROFILE="-D PROFILE=1"
-	fi
-
-	if [ $arg = "--assert" ]; then
-		ASSERT="-D ENABLEASSERT=1"
-	fi
-done
-
-echo "Configuring ..."
-cmake -E chdir ./build/3rdparty/$DIR cmake $BUILD ../../../3rdparty
-echo ""
-cmake -E chdir ./build/hmr/$DIR cmake $BUILD $PROFILE ../../../src
-echo ""
-echo "Building 3rdparty ..."
-make -C ./build/3rdparty/$DIR
-echo ""
-echo "Building engine ..."
-make -C ./build/hmr/$DIR
-echo ""
-echo "done."

include/core/pak-file-fmt.h

 /* pak file item, for each file in the pak I store one of these */
 struct _GCCPACKED_ pak_item
 {
-    char filepath[MAX_PATH];   /* filepath (alias) of the file for referencing */
+    char filepath[DH_PATH_MAX];   /* filepath (alias) of the file for referencing */
     uint64 offset;               /* offset in the pak (in bytes) */
     uint32 size;                 /* actual compressed size (in bytes) */
     uint32 unzip_size;           /* unzipped size (in bytes) */

include/core/pak-file.h

  * @param alloc memory allocator for the list
  * @param pcnt outputs file count
  * @return array of char* which contains list of files (should be freed if not needed by caller)\n
- * for striding the char** array you should use MAX_PATH strides (char* + index*MAX_PATH)
+ * for striding the char** array you should use DH_PATH_MAX strides (char* + index*DH_PATH_MAX)
  * @ingroup pak
  */
 CORE_API char* pak_createfilelist(struct pak_file* pak, struct allocator* alloc, OUT uint32* pcnt);

include/core/types.h

 #define FALSE   0
 #endif
 
-/* maximum path string length */
-#if defined(MAX_PATH)
-#undef MAX_PATH
-#endif
-
-#define MAX_PATH    255
-
 /* NULL */
 #ifndef NULL
 #define NULL    0x0
 #define DEF_ALLOC INLINE
 #endif
 
+/* maximum path string length */
+#define DH_PATH_MAX  255
+
 #endif /* __TYPES_H__ */

include/core/util.h

  * @return: outstr
  * @ingroup util
  */
-CORE_API char* util_getexedir(char* outdir, size_t outsize);
+CORE_API char* util_getexedir(char* outdir);
 
 /**
  * stalls the program and gets a character from input

include/core/win.h

 #define WIN32_LEAN_AND_MEAN
 #endif
 
-#if defined(MAX_PATH)
-#undef MAX_PATH
-#endif
-
 #if !defined(VC_EXTRALEAN)
 #define VC_EXTRALEAN
 #endif

include/engine/cmp-mgr.h

     const struct cmp_createparams* params);
 
 /**
- * Creates component instance, returns handle
+ * Creates component instance, returns handle\n
+ * The last two parameters should only be provided with @e indirect host components, where created component
+ * is owned (created) by another component.
  * @param c component object
  * @param host_obj parent host object (can be NULL if instance is indirect)
  * @param flags combination of @e cmp_instanceflag
- * @param phdl pointer to instance handle, if handle is created indirect (CMP_INSTANCEFLAG_INDIRECTHOST), otherwise NULL
+ * @param parent_hdl handle to the owner component, if handle is created indirect (CMP_INSTANCEFLAG_INDIRECTHOST flag), otherwise pass INVALID_HANDLE
+ * @param offset_in_parent offset to the handle of the child component (CMP_INSTANCEFLAG_INDIRECTHOST flag) in bytes
  * @see cmp_instanceflag
  * @return handle to newly created component
  */
-ENGINE_API cmphandle_t cmp_create_instance(cmp_t c, struct cmp_obj* host_obj, uint32 flags,
-    cmphandle_t* phdl);
+ENGINE_API cmphandle_t cmp_create_instance(cmp_t c, struct cmp_obj* host_obj, uint32 flags, 
+    OPTIONAL cmphandle_t parent_hdl, OPTIONAL uint32 offset_in_parent);
 
 /**
  * Destroys component instance, and removes it from component chain of object

include/engine/cmp-types.h

 struct cmp_instance_desc
 {
     struct cmp_obj* host; /**< Associated object host */
-    cmphandle_t* phdl; /**< pointer to handle, use *phdl to fetch actual handle */
+    //cmphandle_t* phdl; /**< pointer to handle, use *phdl to fetch actual handle */
     uint8* data;    /**< Associated pointer to instance data, must be casted to proper data type */
     uint32 updatelist_idx;  /**< Index in update list (=INVALID_INDEX if not in update list) */
     uint32 flags;   /**< Instance flags, @see cmp_instanceflag */
+    cmphandle_t hdl; /**< Handle to the component instance */
+    cmphandle_t parent_hdl; /* possible parent component (for indirect components) */
+    cmp_chain childs;  /* possible child components (children are indirect components) */
+    uint32 offset_in_parent;    /* offset in the parent component data (for indirect components) */
 };
 
 /**

include/engine/gfx-model.h

 struct gfx_model_map
 {
 	enum gfx_model_maptype type;
-	char filepath[MAX_PATH];
+	char filepath[DH_PATH_MAX];
 };
 
 enum gfx_model_mtl_flag