Assimp  v3.0 (July 2012)
Build using CMake

Introduction

CMake is a cross-platform build system that is supported by assimp. CMake doesn't build on its own, instead it generates platform-specific build files for one of the build systems available on the system (i.e. on linux, it will typically be used to generate gnu makefiles).

If you know CMake already, you can skip over this page. Building assimp with CMake works like any other CMake build.

Build using the GUI (Windows)

cmake1.png
  • Download the latest CMake from http://www.cmake.org/ and install it
  • Run CMake GUI (at the time of this writing, its called cmake-gui.exe on Windows and appears in the start menu after installation)
  • Point it to the location of the assimp source code. The UI should now look like the screenshot above
  • Also point it to the folder where you want the binaries to be placed in.
  • Lines marked in red mark settings you haven't confirmed yet, so check if everything is fine and press "Configure" again (if you rebuild assimp later, only changed or newly added settings will appear in red since the last build settings are cached by CMake!)
  • Press "Generate" and pick a suitable output build system
  • Open the generated solution/project files and have fun

Build without GUI (Other)

  • Install CMake through the package manager of your choice, or grab a copy from http://www.cmake.org/
  • Navigate to the folder where assimp's top level CMakeLists.txt resides
  • Use
    cmake -DNAME_OF_SETTING=VALUE 
    to configure the build (see the CMake file for a list of all configurable settings.
  • Use
    cmake -G 'Unix Makefiles' 
    to generate build files (GNU make in this case, for a full list of targets see the CMake docs).
  • Press "Generate" and pick a suitable output build system (i.e. vc version)
  • Build

Troubleshooting

  • Configure/Generate fails due to boost? Set the
    ENABLE_BOOST_WORKAROUND 
    flag.
  • Build problems with vc10 on Windows? Set the
    VC10_STDINT_FIX 
    build flag (may or may not be required)