CMakeLists.txt 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732
  1. #
  2. # Listing and grouping of all the source files.
  3. # 1) Set the file lists for each component
  4. # 2) Create a Source Group for each component, for IDE project orginization
  5. # 3) Add libassimp using the file lists (eliminates duplication of file names between
  6. # source groups and library command)
  7. #
  8. # Modified by Lasse Oorni and Yao Wei Tjong for Urho3D
  9. if (MINGW)
  10. # The IFCReaderGen.cpp.obj has too many sections in DEBUG configuration build
  11. # Since GCC does not support /bigobj compiler flags as in MSVC, we use optimization flags to reduce the object file size
  12. set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O1")
  13. set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O1")
  14. endif ()
  15. INCLUDE_DIRECTORIES( include )
  16. INCLUDE_DIRECTORIES( code/BoostWorkaround )
  17. INCLUDE_DIRECTORIES( contrib/unzip )
  18. ADD_DEFINITIONS( -DASSIMP_BUILD_BOOST_WORKAROUND )
  19. SET( HEADER_PATH include/assimp )
  20. SET( COMPILER_HEADERS
  21. ${HEADER_PATH}/Compiler/pushpack1.h
  22. ${HEADER_PATH}/Compiler/poppack1.h
  23. code/pstdint.h
  24. )
  25. SOURCE_GROUP( Compiler FILES ${COMPILER_HEADERS})
  26. SET( PUBLIC_HEADERS
  27. ${HEADER_PATH}/anim.h
  28. ${HEADER_PATH}/ai_assert.h
  29. ${HEADER_PATH}/camera.h
  30. ${HEADER_PATH}/color4.h
  31. ${HEADER_PATH}/color4.inl
  32. ${HEADER_PATH}/config.h
  33. ${HEADER_PATH}/defs.h
  34. ${HEADER_PATH}/cfileio.h
  35. ${HEADER_PATH}/light.h
  36. ${HEADER_PATH}/material.h
  37. ${HEADER_PATH}/material.inl
  38. ${HEADER_PATH}/matrix3x3.h
  39. ${HEADER_PATH}/matrix3x3.inl
  40. ${HEADER_PATH}/matrix4x4.h
  41. ${HEADER_PATH}/matrix4x4.inl
  42. ${HEADER_PATH}/mesh.h
  43. ${HEADER_PATH}/postprocess.h
  44. ${HEADER_PATH}/quaternion.h
  45. ${HEADER_PATH}/quaternion.inl
  46. ${HEADER_PATH}/scene.h
  47. ${HEADER_PATH}/texture.h
  48. ${HEADER_PATH}/types.h
  49. ${HEADER_PATH}/vector2.h
  50. ${HEADER_PATH}/vector2.inl
  51. ${HEADER_PATH}/vector3.h
  52. ${HEADER_PATH}/vector3.inl
  53. ${HEADER_PATH}/version.h
  54. ${HEADER_PATH}/cimport.h
  55. ${HEADER_PATH}/importerdesc.h
  56. ${HEADER_PATH}/Importer.hpp
  57. ${HEADER_PATH}/DefaultLogger.hpp
  58. ${HEADER_PATH}/ProgressHandler.hpp
  59. ${HEADER_PATH}/IOStream.hpp
  60. ${HEADER_PATH}/IOSystem.hpp
  61. ${HEADER_PATH}/Logger.hpp
  62. ${HEADER_PATH}/LogStream.hpp
  63. ${HEADER_PATH}/NullLogger.hpp
  64. ${HEADER_PATH}/cexport.h
  65. ${HEADER_PATH}/Exporter.hpp
  66. )
  67. SET( Core_SRCS
  68. code/Assimp.cpp
  69. code/AssimpPCH.cpp
  70. code/AssimpPCH.h
  71. )
  72. SET( Boost_SRCS
  73. code/BoostWorkaround/boost/math/common_factor_rt.hpp
  74. code/BoostWorkaround/boost/foreach.hpp
  75. code/BoostWorkaround/boost/format.hpp
  76. code/BoostWorkaround/boost/scoped_array.hpp
  77. code/BoostWorkaround/boost/scoped_ptr.hpp
  78. code/BoostWorkaround/boost/shared_array.hpp
  79. code/BoostWorkaround/boost/shared_ptr.hpp
  80. code/BoostWorkaround/boost/make_shared.hpp
  81. code/BoostWorkaround/boost/static_assert.hpp
  82. code/BoostWorkaround/boost/tuple/tuple.hpp
  83. )
  84. SOURCE_GROUP(Boost FILES ${Boost_SRCS})
  85. SET( Logging_SRCS
  86. ${HEADER_PATH}/DefaultLogger.hpp
  87. ${HEADER_PATH}/IOStream.hpp
  88. ${HEADER_PATH}/LogStream.hpp
  89. ${HEADER_PATH}/Logger.hpp
  90. ${HEADER_PATH}/NullLogger.hpp
  91. code/Win32DebugLogStream.h
  92. code/DefaultLogger.cpp
  93. code/FileLogStream.h
  94. )
  95. SOURCE_GROUP(Logging FILES ${Logging_SRCS})
  96. SET( Common_SRCS
  97. code/fast_atof.h
  98. code/qnan.h
  99. code/BaseImporter.cpp
  100. code/BaseImporter.h
  101. code/BaseProcess.cpp
  102. code/BaseProcess.h
  103. code/Importer.h
  104. code/ScenePrivate.h
  105. code/PostStepRegistry.cpp
  106. code/ImporterRegistry.cpp
  107. code/ByteSwap.h
  108. code/DefaultProgressHandler.h
  109. code/DefaultIOStream.cpp
  110. code/DefaultIOStream.h
  111. code/DefaultIOSystem.cpp
  112. code/DefaultIOSystem.h
  113. code/CInterfaceIOWrapper.h
  114. code/Hash.h
  115. code/Importer.cpp
  116. code/IFF.h
  117. code/ParsingUtils.h
  118. code/StdOStreamLogStream.h
  119. code/StreamReader.h
  120. code/StringComparison.h
  121. code/SGSpatialSort.cpp
  122. code/SGSpatialSort.h
  123. code/VertexTriangleAdjacency.cpp
  124. code/VertexTriangleAdjacency.h
  125. code/GenericProperty.h
  126. code/SpatialSort.cpp
  127. code/SpatialSort.h
  128. code/SceneCombiner.cpp
  129. code/SceneCombiner.h
  130. code/ScenePreprocessor.cpp
  131. code/ScenePreprocessor.h
  132. code/SkeletonMeshBuilder.cpp
  133. code/SkeletonMeshBuilder.h
  134. code/SplitByBoneCountProcess.cpp
  135. code/SplitByBoneCountProcess.h
  136. code/SmoothingGroups.h
  137. code/StandardShapes.cpp
  138. code/StandardShapes.h
  139. code/TargetAnimation.cpp
  140. code/TargetAnimation.h
  141. code/RemoveComments.cpp
  142. code/RemoveComments.h
  143. code/Subdivision.cpp
  144. code/Subdivision.h
  145. code/Vertex.h
  146. code/LineSplitter.h
  147. code/TinyFormatter.h
  148. code/Profiler.h
  149. code/LogAux.h
  150. code/Bitmap.cpp
  151. code/Bitmap.h
  152. )
  153. SOURCE_GROUP(Common FILES ${Common_SRCS})
  154. SET( 3DS_SRCS
  155. code/3DSConverter.cpp
  156. code/3DSHelper.h
  157. code/3DSLoader.cpp
  158. code/3DSLoader.h
  159. )
  160. SOURCE_GROUP(3DS FILES ${3DS_SRCS})
  161. SET( AC_SRCS
  162. code/ACLoader.cpp
  163. code/ACLoader.h
  164. )
  165. SOURCE_GROUP( AC FILES ${AC_SRCS})
  166. SET( ASE_SRCS
  167. code/ASELoader.cpp
  168. code/ASELoader.h
  169. code/ASEParser.cpp
  170. code/ASEParser.h
  171. )
  172. SOURCE_GROUP( ASE FILES ${ASE_SRCS})
  173. SET( B3D_SRCS
  174. code/B3DImporter.cpp
  175. code/B3DImporter.h
  176. )
  177. SOURCE_GROUP( B3D FILES ${B3D_SRCS})
  178. SET( BVH_SRCS
  179. code/BVHLoader.cpp
  180. code/BVHLoader.h
  181. )
  182. SOURCE_GROUP( BVH FILES ${BVH_SRCS})
  183. SET( Collada_SRCS
  184. code/ColladaHelper.h
  185. code/ColladaLoader.cpp
  186. code/ColladaLoader.h
  187. code/ColladaParser.cpp
  188. code/ColladaParser.h
  189. code/ColladaExporter.h
  190. code/ColladaExporter.cpp
  191. )
  192. SOURCE_GROUP( Collada FILES ${Collada_SRCS})
  193. SET( DXF_SRCS
  194. code/DXFLoader.cpp
  195. code/DXFLoader.h
  196. code/DXFHelper.h
  197. )
  198. SOURCE_GROUP( DXF FILES ${DXF_SRCS})
  199. SET( CSM_SRCS
  200. code/CSMLoader.cpp
  201. code/CSMLoader.h
  202. )
  203. SOURCE_GROUP( CSM FILES ${CSM_SRCS})
  204. SET( HMP_SRCS
  205. code/HMPFileData.h
  206. code/HMPLoader.cpp
  207. code/HMPLoader.h
  208. code/HalfLifeFileData.h
  209. )
  210. SOURCE_GROUP( HMP FILES ${HMP_SRCS})
  211. SET( Irr_SRCS
  212. code/IRRLoader.cpp
  213. code/IRRLoader.h
  214. code/IRRMeshLoader.cpp
  215. code/IRRMeshLoader.h
  216. code/IRRShared.cpp
  217. code/IRRShared.h
  218. )
  219. SOURCE_GROUP( Irr FILES ${Irr_SRCS})
  220. SET( LWO_SRCS
  221. code/LWOAnimation.cpp
  222. code/LWOAnimation.h
  223. code/LWOBLoader.cpp
  224. code/LWOFileData.h
  225. code/LWOLoader.cpp
  226. code/LWOLoader.h
  227. code/LWOMaterial.cpp
  228. )
  229. SOURCE_GROUP( LWO FILES ${LWO_SRCS})
  230. SET( LWS_SRCS
  231. code/LWSLoader.cpp
  232. code/LWSLoader.h
  233. )
  234. SOURCE_GROUP( LWS FILES ${LWS_SRCS})
  235. SET ( M3_SRCS
  236. code/M3Importer.cpp
  237. code/M3Importer.h
  238. )
  239. SOURCE_GROUP( M3 FILES ${M3_SRCS} )
  240. SET( MD2_SRCS
  241. code/MD2FileData.h
  242. code/MD2Loader.cpp
  243. code/MD2Loader.h
  244. code/MD2NormalTable.h
  245. )
  246. SOURCE_GROUP( MD2 FILES ${MD2_SRCS})
  247. SET( MD3_SRCS
  248. code/MD3FileData.h
  249. code/MD3Loader.cpp
  250. code/MD3Loader.h
  251. )
  252. SOURCE_GROUP( MD3 FILES ${MD3_SRCS})
  253. SET( MD5_SRCS
  254. code/MD5Loader.cpp
  255. code/MD5Loader.h
  256. code/MD5Parser.cpp
  257. code/MD5Parser.h
  258. )
  259. SOURCE_GROUP( MD5 FILES ${MD5_SRCS})
  260. SET( MDC_SRCS
  261. code/MDCFileData.h
  262. code/MDCLoader.cpp
  263. code/MDCLoader.h
  264. code/MDCNormalTable.h
  265. )
  266. SOURCE_GROUP( MDC FILES ${MDC_SRCS})
  267. SET( MDL_SRCS
  268. code/MDLDefaultColorMap.h
  269. code/MDLFileData.h
  270. code/MDLLoader.cpp
  271. code/MDLLoader.h
  272. code/MDLMaterialLoader.cpp
  273. )
  274. SOURCE_GROUP( MDL FILES ${MDL_SRCS})
  275. SET( MaterialSystem_SRCS
  276. code/MaterialSystem.cpp
  277. code/MaterialSystem.h
  278. )
  279. SOURCE_GROUP( MaterialSystem FILES ${MaterialSystem_SRCS})
  280. SET( NFF_SRCS
  281. code/NFFLoader.cpp
  282. code/NFFLoader.h
  283. )
  284. SOURCE_GROUP( NFF FILES ${NFF_SRCS})
  285. SET( NDO_SRCS
  286. code/NDOLoader.cpp
  287. code/NDOLoader.h
  288. )
  289. SOURCE_GROUP( NDO FILES ${NDO_SRCS})
  290. SET( OFFFormat_SRCS
  291. code/OFFLoader.cpp
  292. code/OFFLoader.h
  293. )
  294. SOURCE_GROUP( OFFFormat FILES ${OFFFormat_SRCS})
  295. SET( Obj_SRCS
  296. code/ObjFileData.h
  297. code/ObjFileImporter.cpp
  298. code/ObjFileImporter.h
  299. code/ObjFileMtlImporter.cpp
  300. code/ObjFileMtlImporter.h
  301. code/ObjFileParser.cpp
  302. code/ObjFileParser.h
  303. code/ObjTools.h
  304. code/ObjExporter.h
  305. code/ObjExporter.cpp
  306. )
  307. SOURCE_GROUP( Obj FILES ${Obj_SRCS})
  308. SET( Ogre_SRCS
  309. code/OgreImporter.h
  310. code/OgreStructs.h
  311. code/OgreParsingUtils.h
  312. code/OgreBinarySerializer.h
  313. code/OgreXmlSerializer.h
  314. code/OgreImporter.cpp
  315. code/OgreStructs.cpp
  316. code/OgreBinarySerializer.cpp
  317. code/OgreXmlSerializer.cpp
  318. code/OgreMaterial.cpp
  319. )
  320. SOURCE_GROUP( Ogre FILES ${Ogre_SRCS})
  321. SET( Ply_SRCS
  322. code/PlyLoader.cpp
  323. code/PlyLoader.h
  324. code/PlyParser.cpp
  325. code/PlyParser.h
  326. code/PlyExporter.cpp
  327. code/PlyExporter.h
  328. )
  329. SOURCE_GROUP( Ply FILES ${Ply_SRCS})
  330. SET(MS3D_SRCS
  331. code/MS3DLoader.cpp
  332. code/MS3DLoader.h
  333. )
  334. SOURCE_GROUP( MS3D FILES ${MS3D_SRCS})
  335. SET(COB_SRCS
  336. code/COBLoader.cpp
  337. code/COBLoader.h
  338. code/COBScene.h
  339. )
  340. SOURCE_GROUP( COB FILES ${COB_SRCS})
  341. SET(BLENDER_SRCS
  342. code/BlenderBMesh.cpp
  343. code/BlenderBMesh.h
  344. code/BlenderLoader.cpp
  345. code/BlenderLoader.h
  346. code/BlenderDNA.cpp
  347. code/BlenderDNA.h
  348. code/BlenderDNA.inl
  349. code/BlenderScene.cpp
  350. code/BlenderScene.h
  351. code/BlenderSceneGen.h
  352. code/BlenderTessellator.cpp
  353. code/BlenderTessellator.h
  354. code/BlenderIntermediate.h
  355. code/BlenderModifier.h
  356. code/BlenderModifier.cpp
  357. )
  358. SOURCE_GROUP( BLENDER FILES ${BLENDER_SRCS})
  359. SET(IFC_SRCS
  360. code/IFCLoader.cpp
  361. code/IFCLoader.h
  362. code/IFCReaderGen.cpp
  363. code/IFCReaderGen.h
  364. code/IFCUtil.h
  365. code/IFCUtil.cpp
  366. code/IFCGeometry.cpp
  367. code/IFCMaterial.cpp
  368. code/IFCProfile.cpp
  369. code/IFCCurve.cpp
  370. code/IFCBoolean.cpp
  371. code/IFCOpenings.cpp
  372. code/STEPFile.h
  373. code/STEPFileReader.h
  374. code/STEPFileReader.cpp
  375. code/STEPFileEncoding.h
  376. code/STEPFileEncoding.cpp
  377. )
  378. SOURCE_GROUP( IFC FILES ${IFC_SRCS})
  379. SET( XGL_SRCS
  380. code/XGLLoader.cpp
  381. code/XGLLoader.h
  382. )
  383. SOURCE_GROUP( XGL FILES ${XGL_SRCS})
  384. SET(FBX_SRCS
  385. code/FBXImporter.cpp
  386. code/FBXCompileConfig.h
  387. code/FBXImporter.h
  388. code/FBXParser.cpp
  389. code/FBXParser.h
  390. code/FBXTokenizer.cpp
  391. code/FBXTokenizer.h
  392. code/FBXImportSettings.h
  393. code/FBXConverter.h
  394. code/FBXConverter.cpp
  395. code/FBXUtil.h
  396. code/FBXUtil.cpp
  397. code/FBXDocument.h
  398. code/FBXDocument.cpp
  399. code/FBXProperties.h
  400. code/FBXProperties.cpp
  401. code/FBXMeshGeometry.cpp
  402. code/FBXMaterial.cpp
  403. code/FBXModel.cpp
  404. code/FBXAnimation.cpp
  405. code/FBXNodeAttribute.cpp
  406. code/FBXDeformer.cpp
  407. code/FBXBinaryTokenizer.cpp
  408. code/FBXDocumentUtil.cpp
  409. )
  410. SOURCE_GROUP( FBX FILES ${FBX_SRCS})
  411. SET( PostProcessing_SRCS
  412. code/CalcTangentsProcess.cpp
  413. code/CalcTangentsProcess.h
  414. code/ComputeUVMappingProcess.cpp
  415. code/ComputeUVMappingProcess.h
  416. code/ConvertToLHProcess.cpp
  417. code/ConvertToLHProcess.h
  418. code/FindDegenerates.cpp
  419. code/FindDegenerates.h
  420. code/FindInstancesProcess.cpp
  421. code/FindInstancesProcess.h
  422. code/FindInvalidDataProcess.cpp
  423. code/FindInvalidDataProcess.h
  424. code/FixNormalsStep.cpp
  425. code/FixNormalsStep.h
  426. code/GenFaceNormalsProcess.cpp
  427. code/GenFaceNormalsProcess.h
  428. code/GenVertexNormalsProcess.cpp
  429. code/GenVertexNormalsProcess.h
  430. code/PretransformVertices.cpp
  431. code/PretransformVertices.h
  432. code/ImproveCacheLocality.cpp
  433. code/ImproveCacheLocality.h
  434. code/JoinVerticesProcess.cpp
  435. code/JoinVerticesProcess.h
  436. code/LimitBoneWeightsProcess.cpp
  437. code/LimitBoneWeightsProcess.h
  438. code/RemoveRedundantMaterials.cpp
  439. code/RemoveRedundantMaterials.h
  440. code/RemoveVCProcess.cpp
  441. code/RemoveVCProcess.h
  442. code/SortByPTypeProcess.cpp
  443. code/SortByPTypeProcess.h
  444. code/SplitLargeMeshes.cpp
  445. code/SplitLargeMeshes.h
  446. code/TerragenLoader.cpp
  447. code/TerragenLoader.h
  448. code/TextureTransform.cpp
  449. code/TextureTransform.h
  450. code/TriangulateProcess.cpp
  451. code/TriangulateProcess.h
  452. code/ValidateDataStructure.cpp
  453. code/ValidateDataStructure.h
  454. code/OptimizeGraph.cpp
  455. code/OptimizeGraph.h
  456. code/OptimizeMeshes.cpp
  457. code/OptimizeMeshes.h
  458. code/DeboneProcess.cpp
  459. code/DeboneProcess.h
  460. code/ProcessHelper.h
  461. code/ProcessHelper.cpp
  462. code/PolyTools.h
  463. code/MakeVerboseFormat.cpp
  464. code/MakeVerboseFormat.h
  465. )
  466. SOURCE_GROUP( PostProcessing FILES ${PostProcessing_SRCS})
  467. SET( Q3D_SRCS
  468. code/Q3DLoader.cpp
  469. code/Q3DLoader.h
  470. )
  471. SOURCE_GROUP( Q3D FILES ${Q3D_SRCS})
  472. SET( Q3BSP_SRCS
  473. code/Q3BSPFileData.h
  474. code/Q3BSPFileParser.h
  475. code/Q3BSPFileParser.cpp
  476. code/Q3BSPFileImporter.h
  477. code/Q3BSPFileImporter.cpp
  478. code/Q3BSPZipArchive.h
  479. code/Q3BSPZipArchive.cpp
  480. )
  481. SOURCE_GROUP( Q3BSP FILES ${Q3BSP_SRCS})
  482. SET( Raw_SRCS
  483. code/RawLoader.cpp
  484. code/RawLoader.h
  485. )
  486. SOURCE_GROUP( Raw FILES ${Raw_SRCS})
  487. SET( SMD_SRCS
  488. code/SMDLoader.cpp
  489. code/SMDLoader.h
  490. )
  491. SOURCE_GROUP( SMD FILES ${SMD_SRCS})
  492. SET( STL_SRCS
  493. code/STLLoader.cpp
  494. code/STLLoader.h
  495. code/STLExporter.h
  496. code/STLExporter.cpp
  497. )
  498. SOURCE_GROUP( STL FILES ${STL_SRCS})
  499. SET( Unreal_SRCS
  500. code/UnrealLoader.cpp
  501. code/UnrealLoader.h
  502. )
  503. SOURCE_GROUP( Unreal FILES ${Unreal_SRCS})
  504. SET( XFile_SRCS
  505. code/XFileHelper.h
  506. code/XFileImporter.cpp
  507. code/XFileImporter.h
  508. code/XFileParser.cpp
  509. code/XFileParser.h
  510. )
  511. SOURCE_GROUP( XFile FILES ${XFile_SRCS})
  512. SET( Exporter_SRCS
  513. code/Exporter.cpp
  514. code/AssimpCExport.cpp
  515. code/BlobIOSystem.h
  516. )
  517. SOURCE_GROUP( Exporter FILES ${Exporter_SRCS})
  518. SET( Extra_SRCS
  519. code/MD4FileData.h
  520. )
  521. SOURCE_GROUP( Extra FILES ${Extra_SRCS})
  522. SET( IrrXML_SRCS
  523. code/irrXMLWrapper.h
  524. contrib/irrXML/CXMLReaderImpl.h
  525. contrib/irrXML/heapsort.h
  526. contrib/irrXML/irrArray.h
  527. contrib/irrXML/irrString.h
  528. contrib/irrXML/irrTypes.h
  529. contrib/irrXML/irrXML.cpp
  530. contrib/irrXML/irrXML.h
  531. )
  532. SOURCE_GROUP( IrrXML FILES ${IrrXML_SRCS})
  533. SET( ConvertUTF_SRCS
  534. contrib/ConvertUTF/ConvertUTF.h
  535. contrib/ConvertUTF/ConvertUTF.c
  536. )
  537. SOURCE_GROUP( ConvertUTF FILES ${ConvertUTF_SRCS})
  538. SET( Clipper_SRCS
  539. contrib/clipper/clipper.hpp
  540. contrib/clipper/clipper.cpp
  541. )
  542. SOURCE_GROUP( Clipper FILES ${Clipper_SRCS})
  543. SET( Poly2Tri_SRCS
  544. contrib/poly2tri/poly2tri/common/shapes.cc
  545. contrib/poly2tri/poly2tri/common/shapes.h
  546. contrib/poly2tri/poly2tri/common/utils.h
  547. contrib/poly2tri/poly2tri/sweep/advancing_front.h
  548. contrib/poly2tri/poly2tri/sweep/advancing_front.cc
  549. contrib/poly2tri/poly2tri/sweep/cdt.cc
  550. contrib/poly2tri/poly2tri/sweep/cdt.h
  551. contrib/poly2tri/poly2tri/sweep/sweep.cc
  552. contrib/poly2tri/poly2tri/sweep/sweep.h
  553. contrib/poly2tri/poly2tri/sweep/sweep_context.cc
  554. contrib/poly2tri/poly2tri/sweep/sweep_context.h
  555. )
  556. SOURCE_GROUP( Poly2Tri FILES ${Poly2Tri_SRCS})
  557. SET( unzip_SRCS
  558. contrib/unzip/crypt.h
  559. contrib/unzip/ioapi.c
  560. contrib/unzip/ioapi.h
  561. contrib/unzip/unzip.c
  562. contrib/unzip/unzip.h
  563. )
  564. SOURCE_GROUP( unzip FILES ${unzip_SRCS})
  565. SET( zlib_SRCS
  566. contrib/zlib/adler32.c
  567. contrib/zlib/compress.c
  568. contrib/zlib/crc32.c
  569. contrib/zlib/crc32.h
  570. contrib/zlib/deflate.c
  571. contrib/zlib/deflate.h
  572. # contrib/zlib/gzclose.c
  573. # contrib/zlib/gzguts.h
  574. # contrib/zlib/gzlib.c
  575. # contrib/zlib/gzread.c
  576. # contrib/zlib/gzwrite.c
  577. contrib/zlib/infback.c
  578. contrib/zlib/inffast.c
  579. contrib/zlib/inffast.h
  580. contrib/zlib/inffixed.h
  581. contrib/zlib/inflate.c
  582. contrib/zlib/inflate.h
  583. contrib/zlib/inftrees.c
  584. contrib/zlib/inftrees.h
  585. contrib/zlib/trees.c
  586. contrib/zlib/trees.h
  587. contrib/zlib/zconf.h
  588. contrib/zlib/zlib.h
  589. contrib/zlib/zutil.c
  590. contrib/zlib/zutil.h
  591. )
  592. SOURCE_GROUP( zlib FILES ${zlib_SRCS})
  593. if ( MSVC80 OR MSVC90 OR MSVC10 )
  594. ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
  595. ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
  596. endif ( MSVC80 OR MSVC90 OR MSVC10 )
  597. SET( SOURCE_FILES
  598. # Assimp Files
  599. ${Core_SRCS}
  600. ${Common_SRCS}
  601. ${Logging_SRCS}
  602. ${Exporter_SRCS}
  603. ${PostProcessing_SRCS}
  604. # Model Support
  605. ${3DS_SRCS}
  606. ${AC_SRCS}
  607. ${ASE_SRCS}
  608. ${B3D_SRCS}
  609. ${BVH_SRCS}
  610. ${Collada_SRCS}
  611. ${DXF_SRCS}
  612. ${CSM_SRCS}
  613. ${HMP_SRCS}
  614. ${Irr_SRCS}
  615. ${LWO_SRCS}
  616. ${LWS_SRCS}
  617. ${M3_SRCS}
  618. ${MD2_SRCS}
  619. ${MD3_SRCS}
  620. ${MD5_SRCS}
  621. ${MDC_SRCS}
  622. ${MDL_SRCS}
  623. ${MaterialSystem_SRCS}
  624. ${NFF_SRCS}
  625. ${OFFFormat_SRCS}
  626. ${Obj_SRCS}
  627. ${Ogre_SRCS}
  628. ${Ply_SRCS}
  629. ${Q3D_SRCS}
  630. ${Q3BSP_SRCS}
  631. ${Raw_SRCS}
  632. ${SMD_SRCS}
  633. ${STL_SRCS}
  634. ${Unreal_SRCS}
  635. ${XFile_SRCS}
  636. ${Extra_SRCS}
  637. ${MS3D_SRCS}
  638. ${COB_SRCS}
  639. ${BLENDER_SRCS}
  640. ${NDO_SRCS}
  641. ${IFC_SRCS}
  642. ${XGL_SRCS}
  643. ${FBX_SRCS}
  644. )
  645. SET( CONTRIB_FILES
  646. # Third-party libraries
  647. ${IrrXML_SRCS}
  648. ${ConvertUTF_SRCS}
  649. ${unzip_SRCS}
  650. ${zlib_SRCS}
  651. ${Poly2Tri_SRCS}
  652. ${Clipper_SRCS}
  653. # Necessary to show the headers in the project when using the VC++ generator:
  654. ${Boost_SRCS}
  655. )
  656. if (MSVC)
  657. foreach(FILE ${SOURCE_FILES})
  658. if (${FILE} MATCHES "[A-Za-z0-9 _/]*[.]cpp")
  659. if (${FILE} MATCHES "AssimpPCH.cpp$")
  660. set_source_files_properties(${FILE} PROPERTIES COMPILE_FLAGS "/YcAssimpPCH.h")
  661. else ()
  662. set_source_files_properties(${FILE} PROPERTIES COMPILE_FLAGS "/YuAssimpPCH.h")
  663. endif ()
  664. endif ()
  665. endforeach ()
  666. endif ()
  667. set (TARGET_NAME Assimp)
  668. list (APPEND SOURCE_FILES ${CONTRIB_FILES} ${PUBLIC_HEADERS} ${COMPILER_HEADERS})
  669. setup_library ()