version.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /*
  2. ---------------------------------------------------------------------------
  3. Open Asset Import Library (assimp)
  4. ---------------------------------------------------------------------------
  5. Copyright (c) 2006-2025, assimp team
  6. All rights reserved.
  7. Redistribution and use of this software in source and binary forms,
  8. with or without modification, are permitted provided that the following
  9. conditions are met:
  10. * Redistributions of source code must retain the above
  11. copyright notice, this list of conditions and the
  12. following disclaimer.
  13. * Redistributions in binary form must reproduce the above
  14. copyright notice, this list of conditions and the
  15. following disclaimer in the documentation and/or other
  16. materials provided with the distribution.
  17. * Neither the name of the assimp team, nor the names of its
  18. contributors may be used to endorse or promote products
  19. derived from this software without specific prior
  20. written permission of the assimp team.
  21. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  22. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  23. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  24. A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  25. OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  26. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  27. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  28. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  29. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  30. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  31. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  32. ---------------------------------------------------------------------------
  33. */
  34. /** @file version.h
  35. * @brief Functions to query the version of the Assimp runtime, check
  36. * compile flags, ...
  37. */
  38. #pragma once
  39. #ifndef AI_VERSION_H_INC
  40. #define AI_VERSION_H_INC
  41. #include <assimp/defs.h>
  42. #ifdef __cplusplus
  43. extern "C" {
  44. #endif
  45. // ---------------------------------------------------------------------------
  46. /** @brief Returns a string with legal copyright and licensing information
  47. * about Assimp. The string may include multiple lines.
  48. * @return Pointer to static string.
  49. */
  50. ASSIMP_API const char* aiGetLegalString (void);
  51. // ---------------------------------------------------------------------------
  52. /** @brief Returns the current patch version number of Assimp.
  53. * @return Patch version of the Assimp runtime the application was
  54. * linked/built against
  55. */
  56. ASSIMP_API unsigned int aiGetVersionPatch(void);
  57. // ---------------------------------------------------------------------------
  58. /** @brief Returns the current minor version number of Assimp.
  59. * @return Minor version of the Assimp runtime the application was
  60. * linked/built against
  61. */
  62. ASSIMP_API unsigned int aiGetVersionMinor (void);
  63. // ---------------------------------------------------------------------------
  64. /** @brief Returns the current major version number of Assimp.
  65. * @return Major version of the Assimp runtime the application was
  66. * linked/built against
  67. */
  68. ASSIMP_API unsigned int aiGetVersionMajor (void);
  69. // ---------------------------------------------------------------------------
  70. /** @brief Returns the repository revision of the Assimp runtime.
  71. * @return SVN Repository revision number of the Assimp runtime the
  72. * application was linked/built against.
  73. */
  74. ASSIMP_API unsigned int aiGetVersionRevision (void);
  75. // ---------------------------------------------------------------------------
  76. /** @brief Returns the branch-name of the Assimp runtime.
  77. * @return The current branch name.
  78. */
  79. ASSIMP_API const char *aiGetBranchName();
  80. //! Assimp was compiled as a shared object (Windows: DLL)
  81. #define ASSIMP_CFLAGS_SHARED 0x1
  82. //! Assimp was compiled against STLport
  83. #define ASSIMP_CFLAGS_STLPORT 0x2
  84. //! Assimp was compiled as a debug build
  85. #define ASSIMP_CFLAGS_DEBUG 0x4
  86. //! Assimp was compiled with ASSIMP_BUILD_BOOST_WORKAROUND defined
  87. #define ASSIMP_CFLAGS_NOBOOST 0x8
  88. //! Assimp was compiled with ASSIMP_BUILD_SINGLETHREADED defined
  89. #define ASSIMP_CFLAGS_SINGLETHREADED 0x10
  90. //! Assimp was compiled with ASSIMP_BUILD_SINGLETHREADED defined
  91. #define ASSIMP_CFLAGS_DOUBLE_SUPPORT 0x20
  92. // ---------------------------------------------------------------------------
  93. /** @brief Returns assimp's compile flags
  94. * @return Any bitwise combination of the ASSIMP_CFLAGS_xxx constants.
  95. */
  96. ASSIMP_API unsigned int aiGetCompileFlags(void);
  97. #ifdef __cplusplus
  98. } // end extern "C"
  99. #endif
  100. #endif // !! #ifndef AI_VERSION_H_INC