CMakeLists.txt 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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( code )
  16. INCLUDE_DIRECTORIES( include )
  17. INCLUDE_DIRECTORIES( code/BoostWorkaround )
  18. INCLUDE_DIRECTORIES( contrib/unzip )
  19. ADD_DEFINITIONS( -DASSIMP_BUILD_BOOST_WORKAROUND -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER)
  20. file (GLOB_RECURSE CODE_FILES code/*.cpp code/*.h)
  21. SET( IrrXML_SRCS
  22. code/irrXMLWrapper.h
  23. contrib/irrXML/CXMLReaderImpl.h
  24. contrib/irrXML/heapsort.h
  25. contrib/irrXML/irrArray.h
  26. contrib/irrXML/irrString.h
  27. contrib/irrXML/irrTypes.h
  28. contrib/irrXML/irrXML.cpp
  29. contrib/irrXML/irrXML.h
  30. )
  31. SOURCE_GROUP( IrrXML FILES ${IrrXML_SRCS})
  32. SET( ConvertUTF_SRCS
  33. contrib/ConvertUTF/ConvertUTF.h
  34. contrib/ConvertUTF/ConvertUTF.c
  35. )
  36. SOURCE_GROUP( ConvertUTF FILES ${ConvertUTF_SRCS})
  37. SET( Clipper_SRCS
  38. contrib/clipper/clipper.hpp
  39. contrib/clipper/clipper.cpp
  40. )
  41. SOURCE_GROUP( Clipper FILES ${Clipper_SRCS})
  42. SET( Poly2Tri_SRCS
  43. contrib/poly2tri/poly2tri/common/shapes.cc
  44. contrib/poly2tri/poly2tri/common/shapes.h
  45. contrib/poly2tri/poly2tri/common/utils.h
  46. contrib/poly2tri/poly2tri/sweep/advancing_front.h
  47. contrib/poly2tri/poly2tri/sweep/advancing_front.cc
  48. contrib/poly2tri/poly2tri/sweep/cdt.cc
  49. contrib/poly2tri/poly2tri/sweep/cdt.h
  50. contrib/poly2tri/poly2tri/sweep/sweep.cc
  51. contrib/poly2tri/poly2tri/sweep/sweep.h
  52. contrib/poly2tri/poly2tri/sweep/sweep_context.cc
  53. contrib/poly2tri/poly2tri/sweep/sweep_context.h
  54. )
  55. SOURCE_GROUP( Poly2Tri FILES ${Poly2Tri_SRCS})
  56. SET( unzip_SRCS
  57. contrib/unzip/crypt.h
  58. contrib/unzip/ioapi.c
  59. contrib/unzip/ioapi.h
  60. contrib/unzip/unzip.c
  61. contrib/unzip/unzip.h
  62. )
  63. SOURCE_GROUP( unzip FILES ${unzip_SRCS})
  64. SET( zlib_SRCS
  65. contrib/zlib/adler32.c
  66. contrib/zlib/compress.c
  67. contrib/zlib/crc32.c
  68. contrib/zlib/crc32.h
  69. contrib/zlib/deflate.c
  70. contrib/zlib/deflate.h
  71. # contrib/zlib/gzclose.c
  72. # contrib/zlib/gzguts.h
  73. # contrib/zlib/gzlib.c
  74. # contrib/zlib/gzread.c
  75. # contrib/zlib/gzwrite.c
  76. contrib/zlib/infback.c
  77. contrib/zlib/inffast.c
  78. contrib/zlib/inffast.h
  79. contrib/zlib/inffixed.h
  80. contrib/zlib/inflate.c
  81. contrib/zlib/inflate.h
  82. contrib/zlib/inftrees.c
  83. contrib/zlib/inftrees.h
  84. contrib/zlib/trees.c
  85. contrib/zlib/trees.h
  86. contrib/zlib/zconf.h
  87. contrib/zlib/zlib.h
  88. contrib/zlib/zutil.c
  89. contrib/zlib/zutil.h
  90. )
  91. SOURCE_GROUP( zlib FILES ${zlib_SRCS})
  92. if ( MSVC80 OR MSVC90 OR MSVC10 )
  93. ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
  94. ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
  95. endif ( MSVC80 OR MSVC90 OR MSVC10 )
  96. SET( SOURCE_FILES
  97. # Assimp Files
  98. ${CODE_FILES}
  99. )
  100. SET( CONTRIB_FILES
  101. # Third-party libraries
  102. ${IrrXML_SRCS}
  103. ${ConvertUTF_SRCS}
  104. ${unzip_SRCS}
  105. ${zlib_SRCS}
  106. ${Poly2Tri_SRCS}
  107. ${Clipper_SRCS}
  108. # Necessary to show the headers in the project when using the VC++ generator:
  109. ${Boost_SRCS}
  110. )
  111. set (TARGET_NAME Assimp)
  112. list (APPEND SOURCE_FILES ${CONTRIB_FILES} ${PUBLIC_HEADERS} ${COMPILER_HEADERS})
  113. #set_source_files_properties (contrib/clipper/clipper.cpp contrib/irrXML/irrXML.cpp PROPERTIES NO_PCH TRUE)
  114. #enable_pch (code/AssimpPCH.h)
  115. add_library(Assimp ${SOURCE_FILES})