Toshihiro Shimizu 890ddd
set(HEADERS
Toshihiro Shimizu 890ddd
    ../include/ext/ContextStatus.h
Toshihiro Shimizu 890ddd
    ../include/ext/ExtUtil.h
Toshihiro Shimizu 890ddd
    ../include/ext/Selector.h
Toshihiro Shimizu 890ddd
    ../include/ext/StrokeParametricDeformer.h
Toshihiro Shimizu 890ddd
    ../include/ext/Types.h
Toshihiro Shimizu 890ddd
    ../include/ext/Designer.h
Toshihiro Shimizu 890ddd
    ../include/ext/OverallDesigner.h
Toshihiro Shimizu 890ddd
    ../include/ext/CornerDeformation.h
Toshihiro Shimizu 890ddd
    ../include/ext/SmoothDeformation.h
Toshihiro Shimizu 890ddd
    ../include/ext/StraightCornerDeformation.h
Toshihiro Shimizu 890ddd
    ../include/ext/StrokeDeformation.h
Toshihiro Shimizu 890ddd
    ../include/ext/StrokeDeformationImpl.h
Toshihiro Shimizu 890ddd
    ../include/ext/LinearPotential.h
MCCCS a0ce32
    ../include/ext/NotSymmetricBezierPotential.h
MCCCS a0ce32
    ../include/ext/NotSymmetricExpPotential.h
Toshihiro Shimizu 890ddd
    ../include/ext/Potential.h
Toshihiro Shimizu 890ddd
    ../include/ext/SquarePotential.h
Toshihiro Shimizu 890ddd
    DeformationSelector.h
Toshihiro Shimizu 890ddd
    ../include/ext/meshbuilder.h
Toshihiro Shimizu 890ddd
    ../include/ext/meshtexturizer.h
Toshihiro Shimizu 890ddd
    ../include/ext/meshutils.h
Toshihiro Shimizu 890ddd
    ../include/ext/plasticdeformer.h
Toshihiro Shimizu 890ddd
    ../include/ext/plasticdeformerstorage.h
Toshihiro Shimizu 890ddd
    ../include/ext/plastichandle.h
Toshihiro Shimizu 890ddd
    ../include/ext/plasticskeleton.h
Toshihiro Shimizu 890ddd
    ../include/ext/plasticskeletondeformation.h
Toshihiro Shimizu 890ddd
    ../include/ext/plasticvisualsettings.h
Toshihiro Shimizu 890ddd
    ../include/ext/ttexturesstorage.h
Toshihiro Shimizu 890ddd
    ../include/tlin/cblas.h
Toshihiro Shimizu 890ddd
    ../include/tlin/tlin.h
Toshihiro Shimizu 890ddd
    ../include/tlin/tlin_basicops.h
Toshihiro Shimizu 890ddd
    ../include/tlin/tlin_cblas_wrap.h
Toshihiro Shimizu 890ddd
    ../include/tlin/tlin_matrix.h
Toshihiro Shimizu 890ddd
    ../include/tlin/tlin_sparsemat.h
Toshihiro Shimizu 890ddd
    ../include/tlin/tlin_superlu_wrap.h
Campbell Barton 9ece9c
    ../include/tlin/tlin_vector.h
Campbell Barton 9ece9c
)
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
set(SOURCES
Toshihiro Shimizu 890ddd
    ContextStatus.cpp
Toshihiro Shimizu 890ddd
    DeformationSelector.cpp
Toshihiro Shimizu 890ddd
    ExtUtil.cpp
Toshihiro Shimizu 890ddd
    Selector.cpp
Toshihiro Shimizu 890ddd
    StrokeParametricDeformer.cpp
Toshihiro Shimizu 890ddd
    Types.cpp
Toshihiro Shimizu 890ddd
    LinearPotential.cpp
MCCCS a0ce32
    NotSymmetricBezierPotential.cpp
MCCCS a0ce32
    NotSymmetricExpPotential.cpp
Toshihiro Shimizu 890ddd
    Potential.cpp
Toshihiro Shimizu 890ddd
    SquarePotential.cpp
Toshihiro Shimizu 890ddd
    CornerDeformation.cpp
Toshihiro Shimizu 890ddd
    SmoothDeformation.cpp
Toshihiro Shimizu 890ddd
    StraightCornerDeformation.cpp
Toshihiro Shimizu 890ddd
    StrokeDeformation.cpp
Toshihiro Shimizu 890ddd
    StrokeDeformationImpl.cpp
Toshihiro Shimizu 890ddd
    Designer.cpp
Toshihiro Shimizu 890ddd
    OverallDesigner.cpp
Toshihiro Shimizu 890ddd
    meshbuilder.cpp
Toshihiro Shimizu 890ddd
    meshtexturizer.cpp
Toshihiro Shimizu 890ddd
    meshutils.cpp
Toshihiro Shimizu 890ddd
    plasticdeformer.cpp
Toshihiro Shimizu 890ddd
    plasticdeformerstorage.cpp
Toshihiro Shimizu 890ddd
    plastichandle.cpp
Toshihiro Shimizu 890ddd
    plasticskeleton.cpp
Toshihiro Shimizu 890ddd
    plasticskeletondeformation.cpp
Toshihiro Shimizu 890ddd
    ttexturesstorage.cpp
Toshihiro Shimizu 890ddd
    tlin/tlin_cblas_wrap.cpp
Campbell Barton 9ece9c
    tlin/tlin_superlu_wrap.cpp
Campbell Barton 9ece9c
)
Toshihiro Shimizu 890ddd
Campbell Barton 268e1b
set(OBJCSOURCES
Campbell Barton 268e1b
)
Campbell Barton 268e1b
429ee8
if(BUILD_ENV_MSVC AND PLATFORM EQUAL 32)
Toshihiro Shimizu 890ddd
    # can not link libopenblas_32.lib with SAFESEH
Toshihiro Shimizu 890ddd
    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
Toshihiro Shimizu 890ddd
endif()
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
add_library(tnzext SHARED ${HEADERS} ${SOURCES} ${OBJCSOURCES})
Toshihiro Shimizu 890ddd
429ee8
if(BUILD_ENV_APPLE)
Toshihiro Shimizu 890ddd
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-install_name,@rpath/libtnzext.dylib")
Campbell Barton f08982
endif()
Toshihiro Shimizu 890ddd
Campbell Barton f2d492
add_definitions(
Campbell Barton f2d492
    -DTNZEXT_EXPORTS
Campbell Barton f2d492
)
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
message("subdir: tnzext")
Toshihiro Shimizu 890ddd
message("Bin: " ${CMAKE_CURRENT_BINARY_DIR})
Toshihiro Shimizu 890ddd
429ee8
if(BUILD_ENV_APPLE)
Campbell Barton f08982
    find_library(ACCE_LIB Accelerate)
Campbell Barton f08982
endif()
Toshihiro Shimizu 890ddd
429ee8
if(BUILD_ENV_MSVC OR BUILD_ENV_APPLE)
Campbell Barton fb7729
    # Warning, this looks wrong,
Campbell Barton fb7729
    # should _only_ use SUPERLU_INCLUDE_DIR, for now do this with Linux.
Campbell Barton fb7729
    include_directories(
Campbell Barton fb7729
        SYSTEM
Campbell Barton fb7729
        ${SDKROOT}/superlu/SuperLU_4.1/SRC
Campbell Barton fb7729
    )
Campbell Barton fb7729
else()
Campbell Barton fb7729
    include_directories(
Campbell Barton fb7729
        SYSTEM
Campbell Barton fb7729
        ${SUPERLU_INCLUDE_DIR}
Campbell Barton fb7729
    )
Campbell Barton fb7729
endif()
Toshihiro Shimizu 890ddd
429ee8
if(BUILD_ENV_MSVC)
Toshihiro Shimizu 890ddd
    target_link_libraries(tnzext
Toshihiro Shimizu 890ddd
        Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Network
Toshihiro Shimizu 890ddd
        ${GLUT_LIB} ${GL_LIB} ${SUPERLU_LIB} ${OPENBLAS_LIB} ${EXTRA_LIBS}
Campbell Barton 9ece9c
        tnzcore tnzbase
Campbell Barton 9ece9c
    )
429ee8
elseif(BUILD_ENV_APPLE)
Toshihiro Shimizu 890ddd
    set(EXTRA_LIBS
Toshihiro Shimizu 890ddd
        ${CMAKE_CURRENT_BINARY_DIR}/../tnzcore/libtnzcore.dylib
Campbell Barton 9ece9c
        ${CMAKE_CURRENT_BINARY_DIR}/../tnzbase/libtnzbase.dylib
Campbell Barton 9ece9c
    )
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
    target_link_libraries(tnzext
Toshihiro Shimizu 890ddd
        Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Network
Campbell Barton 9ece9c
        ${ACCE_LIB} ${GLUT_LIB} ${GL_LIB} ${SUPERLU_LIB} ${EXTRA_LIBS}
Campbell Barton 9ece9c
    )
429ee8
elseif(BUILD_ENV_UNIXLIKE)
Campbell Barton 22fd3b
    _find_toonz_library(EXTRA_LIBS "tnzcore;tnzbase")
Campbell Barton 22fd3b
Campbell Barton 22fd3b
    target_link_libraries(tnzext
Campbell Barton 22fd3b
        Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Network
429ee8
        ${GLUT_LIB} ${GL_LIB} ${SUPERLU_LIB} ${OPENBLAS_LIB} ${EXTRA_LIBS}
Campbell Barton 9ece9c
    )
Toshihiro Shimizu 890ddd
endif()