When libraries are included as submodules in large projects, having an option with a generic name like "BUILD_DOCS" is not very helpful. (e.g. one project I work on includes many libraries as submodules)
It can also clash with options from other libraries which can break things.
The following changes were tested against building with a master copy.
For a more detailed report, please read the followings below:
The flags that were checked were the ones checked by default + the following:
ASSIMP_BUILD_ASSIMP_VIEW
ASSIMP_BUILD_SAMPLES
The list of compilable projects in Visual Studio were the following:
- assimp
- assimp_cmd
- assimp_simpleogl
- assimp_simpletextureddirectx11
- assimp_simpletexturedogl
- assimp_viewer
- INSTALL
- IrrXML
- uninstall
- unit
- UpdateAssimpLibsDebugSymbolsAndDLLs
- ZERO_CHECK
- zlib
- zlibstatic
The solution that was generated with the new changes comprised the same number of projects as the one from the master, unmodified. All projects except UpdateAssimpLibsDebugSymbolsAndDLLs were built without any error. All tests were run.
UpdateAssimpLibsDebugSymbolsAndDLLs could not be built because of the reasons explained in issue #3004.
If ASSIMP_NO_EXPORT is not defined:
- don't add the macro for the exporters
- don't include the files for all the exporter
- don't display any messages about what exporters are enabled or not
- Moved TextureTypeToString to it's own file.
- Added new file to CMakeLists.txt.
- Added 6 missing values in TextureTypeToString.
- Added 6 missing aiTextureType enum values in assimp_cmd/Info.cpp.
- Moved AssxmlExporter serialization code in a new file AssxmlFileWriter.cpp/h
- Added new files to CMakeLists.txt
- Replaced string format specifiers %i by %u to match argument type.
- Made a few changes in WriteDumb.cpp to call the new DumpSceneToAssxml function.
- Renamed AssimpExport to AssimpFileWriter.
- Moved AssimpFileWriter to it's own file.
- Added a try catch in WriteBinaryDump to fix a case with memory leak.
- Replaced calls to WriteBinaryDump with AssimpFileWriter.
- Added new AssimpFileWriter files to CMakeLists.txt.