# Very important for proper management of import/export symbols in Windows DLL
# This is absolutely required to make sure that the test applications
# are _importing_ symbols defined in the above source code directory (where 
# a definition is added in the CMakeLists.txt so that the symbols are _exported_ during build)
remove_definitions(-DCOMPILE_CAMITKEXTENSIONGENERATOR_EXPORT)

camitk_application(
        APPLICATION_NAME cmakeprojectmanager
        INTERNAL_TEST_APPLICATION
        NO_CAMITKCORE_REQUIRED
        QTEST
        TEST_RUN_SERIAL  # make sure to run all test one by one as they are very time and resources consuming
        NO_GUI
        SOURCES TestCMakeProjectManager.cpp
        QRC_SOURCES resources/testfiles.qrc
        NEEDS_EXTENSIONGENERATOR
        DESCRIPTION "Provides a command line unit and integration test tool for the TestCMakeProjectManager class"
)

camitk_application(
        APPLICATION_NAME transformengine
        INTERNAL_TEST_APPLICATION
        NO_CAMITKCORE_REQUIRED
        QTEST
        NO_GUI
        SOURCES TestTransformEngine.cpp JsonUtils.h
        NEEDS_EXTENSIONGENERATOR
        DESCRIPTION "Provides a command line unit and integration test tool for the TransformEngine class"
)

camitk_application(
        APPLICATION_NAME variantdatamodel
        INTERNAL_TEST_APPLICATION
        NO_CAMITKCORE_REQUIRED
        QTEST
        NO_GUI
        SOURCES TestVariantDataModel.cpp JsonUtils.h
        NEEDS_EXTENSIONGENERATOR
        DESCRIPTION "Provides a command line unit and integration test tool for the VariantDataModel class"
)
