CMakeLists.txt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. option( PLUGIN_IO_QFBX "Install qFBXIO plugin to read & write AutoDesk FBX files" OFF )
  2. if( PLUGIN_IO_QFBX )
  3. project( QFBX_IO_PLUGIN )
  4. AddPlugin( NAME ${PROJECT_NAME} TYPE io )
  5. # FBX SDK
  6. set( FBX_SDK_INCLUDE_DIR "" CACHE PATH "FBX SDK include directory" )
  7. set( FBX_SDK_LIBRARY_FILE "" CACHE FILEPATH "FBX SDK static library file" )
  8. set( FBX_XML2_LIBRARY_FILE "" CACHE FILEPATH "FBX XML2 static library file (for the 2019 SDK only)" )
  9. set( FBX_ZLIB_LIBRARY_FILE "" CACHE FILEPATH "FBX ZLIB static library file (for the 2019 SDK only)" )
  10. if( CMAKE_CONFIGURATION_TYPES )
  11. set( FBX_SDK_LIBRARY_FILE_DEBUG "" CACHE FILEPATH "FBX SDK static debug library file" )
  12. set( FBX_XML2_LIBRARY_FILE_DEBUG "" CACHE FILEPATH "FBX XML2 static debug library file (for the 2019 SDK only)" )
  13. set( FBX_ZLIB_LIBRARY_FILE_DEBUG "" CACHE FILEPATH "FBX ZLIB static debug library file (for the 2019 SDK only)" )
  14. endif()
  15. if ( NOT FBX_SDK_INCLUDE_DIR )
  16. message( SEND_ERROR "No FBX SDK include dir specified (FBX_SDK_INCLUDE_DIR)" )
  17. else()
  18. include_directories( ${FBX_SDK_INCLUDE_DIR} )
  19. endif()
  20. add_subdirectory( include )
  21. add_subdirectory( src )
  22. # Link FBX
  23. # Release
  24. if( FBX_SDK_LIBRARY_FILE )
  25. if ( CMAKE_CONFIGURATION_TYPES )
  26. target_link_libraries( ${PROJECT_NAME} optimized ${FBX_SDK_LIBRARY_FILE} )
  27. else()
  28. target_link_libraries( ${PROJECT_NAME} ${FBX_SDK_LIBRARY_FILE} )
  29. endif()
  30. else()
  31. message( SEND_ERROR "FBX SDK library not found: can't link" )
  32. endif()
  33. if ( FBX_XML2_LIBRARY_FILE )
  34. if ( CMAKE_CONFIGURATION_TYPES )
  35. target_link_libraries( ${PROJECT_NAME} optimized ${FBX_XML2_LIBRARY_FILE} )
  36. else()
  37. target_link_libraries( ${PROJECT_NAME} ${FBX_XML2_LIBRARY_FILE} )
  38. endif()
  39. endif()
  40. if ( FBX_ZLIB_LIBRARY_FILE )
  41. if ( CMAKE_CONFIGURATION_TYPES )
  42. target_link_libraries( ${PROJECT_NAME} optimized ${FBX_ZLIB_LIBRARY_FILE} )
  43. else()
  44. target_link_libraries( ${PROJECT_NAME} ${FBX_ZLIB_LIBRARY_FILE} )
  45. endif()
  46. endif()
  47. # Debug
  48. if ( CMAKE_CONFIGURATION_TYPES )
  49. if ( FBX_SDK_LIBRARY_FILE_DEBUG )
  50. target_link_libraries( ${PROJECT_NAME} debug ${FBX_SDK_LIBRARY_FILE_DEBUG} )
  51. else()
  52. message( WARNING "No FBX SDK debug library file specified (FBX_SDK_LIBRARY_FILE_DEBUG)" )
  53. endif()
  54. if ( FBX_XML2_LIBRARY_FILE_DEBUG )
  55. target_link_libraries( ${PROJECT_NAME} debug ${FBX_XML2_LIBRARY_FILE_DEBUG} )
  56. endif()
  57. if ( FBX_ZLIB_LIBRARY_FILE_DEBUG )
  58. target_link_libraries( ${PROJECT_NAME} debug ${FBX_ZLIB_LIBRARY_FILE_DEBUG} )
  59. endif()
  60. endif()
  61. endif()