diff --git a/openbr/plugins/cmake/stasm4.cmake b/openbr/plugins/cmake/stasm4.cmake index 7bebf3e..0ab4181 100644 --- a/openbr/plugins/cmake/stasm4.cmake +++ b/openbr/plugins/cmake/stasm4.cmake @@ -2,14 +2,7 @@ set(BR_WITH_STASM4 ON CACHE BOOL "Build with Stasm") if(${BR_WITH_STASM4}) find_package(Stasm4 REQUIRED) - set(BR_THIRDPARTY_LIBS ${BR_THIRDPARTY_LIBS} ${Stasm4_LIBS}) - - if(WIN32) - install(DIRECTORY ${Stasm_DIR}/build/ DESTINATION bin) - else() - install(DIRECTORY ${Stasm_DIR}/build/ DESTINATION lib) - endif() - + set(BR_THIRDPARTY_SRC ${BR_THIRDPARTY_SRC} ${Stasm_SRC}) install(DIRECTORY ${Stasm_DIR}/data/ DESTINATION share/openbr/models/stasm) else() set(BR_EXCLUDED_PLUGINS ${BR_EXCLUDED_PLUGINS} plugins/metadata/stasm4.cpp) diff --git a/openbr/plugins/core/propagate.cpp b/openbr/plugins/core/propagate.cpp new file mode 100644 index 0000000..98e8167 --- /dev/null +++ b/openbr/plugins/core/propagate.cpp @@ -0,0 +1,35 @@ +#include + +namespace br +{ + +/*! + * \ingroup transforms + * \brief Ensures that a template will be propogated. + * \author Scott Klum \cite sklum + */ +class PropagateTransform : public Transform +{ + Q_OBJECT + + Q_PROPERTY(br::Transform *transform READ get_transform WRITE set_transform RESET reset_transform STORED true) + BR_PROPERTY(br::Transform *, transform, NULL) + + void train(const TemplateList &data) + { + transform->train(data); + } + + void project(const Template &src, Template &dst) const + { + transform->project(src,dst); + if (dst.isEmpty()) + dst = src; + } +}; + +BR_REGISTER(Transform, PropagateTransform) + +} // namespace br + +#include "core/propagate.moc" diff --git a/share/openbr/cmake/FindStasm4.cmake b/share/openbr/cmake/FindStasm4.cmake index 43fda3b..6b1de04 100644 --- a/share/openbr/cmake/FindStasm4.cmake +++ b/share/openbr/cmake/FindStasm4.cmake @@ -8,13 +8,9 @@ # target_link_libraries(MY_TARGET ${Stasm4_LIBS}) # ================================================================ -find_path(Stasm_DIR stasm/stasm_lib.h ${CMAKE_SOURCE_DIR}/3rdparty/*) - -add_subdirectory(${Stasm_DIR} ${Stasm_DIR}/build) - -set(SRC ${SOURCE};${SRC}) - +find_path(Stasm_DIR stasm/stasm_lib.h ${CMAKE_SOURCE_DIR}/3rdparty/* NO_DEFAULT_PATH) +mark_as_advanced(Stasm_DIR) include_directories(${Stasm_DIR}/stasm) -link_directories(${Stasm_DIR}/build) - -set(Stasm4_LIBS stasm) +include_directories(${Stasm_DIR}/stasm/MOD_1) +file(GLOB Stasm_SRC "${Stasm_DIR}/stasm/*.cpp") +file(GLOB Stasm_SRC ${Stasm_SRC} "${Stasm_DIR}/stasm/MOD_1/*.cpp")