PROJECT(WEIGHTMAPTOOLS)

ADD_DEFINITIONS( -DUNIX )

INCLUDE_DIRECTORIES (
  # ---[ lmAmbient ]------------------------------
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src
  # ---[ Generic ]--------------------------------
  $(XSISDK_ROOT)/include
)

LINK_DIRECTORIES (
  # ---[ Generic ]--------------------------------
  $(XSI_HOME)/Application/mainwin/mw/lib-linux_optimized
  $(SI_HOME)/Application/bin
)

SET( SRCS
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmWeightMapTools.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmWeightMapTools_Menus.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/CFilesSequence.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/CTiming.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmCacheMapApplyCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmCacheMapOp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmCacheMapProp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmClustersMapBuildCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmExpressionMapAddConnexionCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmExpressionMapApplyCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmExpressionMapOp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmExpressionMapProp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmExpressionMapRemoveConnexionCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmGradientCurveMapAddConnexionCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmGradientCurveMapApplyCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmGradientCurveMapOp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmGradientCurveMapProp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmGradientCurveMapRemoveConnexionCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmGradientMapBuildCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmGradientMapHairCombApplyCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmGradientMapHairCombOp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmGradientMapHairCombProp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmHelpers.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmMixMapAddConnexionCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmMixMapApplyCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmMixMapOp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmMixMapProp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmMixMapRemoveConnexionCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmProximityMapAddConnexionCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmProximityMapApplyCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmProximityMapOp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmProximityMapProp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmProximityMapRemoveConnexionCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmSmoothMapApplyCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmSmoothMapOp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmTensionMapApplyCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmTensionMapOp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmTensionMapProp.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmTensionMapResetPoseCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/lmUVFromGradientMapCmd.cpp
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../src/cmdstubs.cpp
)

SET( DEFS
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../etc/lmWeightMapTools.def
)

SET( MAP
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../etc/lmWeightMapTools.map
)

SET( LIBRARY_OUTPUT_PATH
  ${WEIGHTMAPTOOLS_SOURCE_DIR}/../xsi
)

# ...[ Release ]..................................
SET( CMAKE_CXX_FLAGS_RELEASE
"-O3 -g0 -march=athlon-mp -fomit-frame-pointer -pipe -funroll-loops -fprefetch-loop-arrays"
)
SET( CMAKE_SHARED_LINKER_FLAGS_RELEASE
"-Wall -Wl,--retain-symbols-file,${DEFS},--warn-unresolved-symbols,--discard-all,-z,now,--version-script=${MAP}"
)

# ---[ Executable ]-----------------------------------------------------------
ADD_LIBRARY( lmWeightMapTools
  SHARED
  ${SRCS}
)
LINK_LIBRARIES(
  lualib
  lua
  dl
)  
SET_TARGET_PROPERTIES( "lmWeightMapTools"
  PROPERTIES PREFIX ""
)
