TEMPLATE = lib
TARGET = mobilisis_calc
#CONFIG += staticlib

QMAKE_CXXFLAGS += -std=c++17 -g -O

INCLUDEPATH += $$_PRO_FILE_PWD_/include
INCLUDEPATH += $$_PRO_FILE_PWD_/include/mobilisis
INCLUDEPATH += $$_PRO_FILE_PWD_/include/rapidjson

#start version with project neuhauser/galtuer
#Version is set in yocto recipe with "EXTRA_QMAKEVARS_PRE"
#VERSION=1.0.0

# 04.06.2024: Fix for Szeged: read price for daily ticket directly from entry
#             PaymentOptions in tariff-file if it is not given as part of a
#             Json-Product-Array in tariff-file.

CONFIG(debug, debug|release) {
    win32 {
        QMAKE_CXXFLAGS += -DCALCULATE_LIBRARY_EXPORTS
        QMAKE_LFLAGS += -Wl,--out-implib,debug\libmobilisis_calc.a
    }
} else {
    win32 {
        QMAKE_CXXFLAGS += -DCALCULATE_LIBRARY_EXPORTS
        QMAKE_LFLAGS += -Wl,--out-implib,release\libmobilisis_calc.a
    }
}

SOURCES += \
    src/calculator_functions.cpp \
    src/utilities.cpp \
    src/configuration.cpp \
    src/tariff_log.cpp \
    src/calculate_price.cpp \
    src/ticket.cpp \
    src/tariff_global_defines.cpp

HEADERS += \
	include/mobilisis/calculator_functions.h \
	include/mobilisis/duration.h \
	include/mobilisis/payment_opt.h \
	include/mobilisis/spec_days.h \
	include/mobilisis/utilities.h \
	include/mobilisis/configuration.h \
	include/mobilisis/member_type.h \
	include/mobilisis/payment_option.h \
	include/mobilisis/spec_days_worktime.h \
	include/mobilisis/weekdays.h \
	include/mobilisis/currency.h \
	include/mobilisis/payment_method.h \
	include/mobilisis/payment_rate.h \
	include/mobilisis/time_range.h \
	include/mobilisis/weekdays_worktime.h \
	include/mobilisis/day_of_week.h \
	include/mobilisis/payment_mtd.h \
	include/mobilisis/period_year.h \
    include/mobilisis/time_range_header.h \
    include/mobilisis/tariff_cfg.h \
    include/mobilisis/tariff_calc.h \
    include/mobilisis/tariff_day_of_week.h \
    include/mobilisis/tariff_time_range.h \
    include/mobilisis/active_time_range.h \
    include/mobilisis/tariff_currency.h \
    include/mobilisis/tariff_duration.h \
    include/mobilisis/tariff_payment_mtd.h \
    include/mobilisis/tariff_payment_opt.h \
    include/mobilisis/tariff_spec_days.h \
    include/mobilisis/tariff_payment_opt.h \
    include/mobilisis/tariff_weekdays.h \
    include/mobilisis/tariff_weekdays_worktime.h \
    include/mobilisis/tariff_spec_days_worktime.h \
    include/mobilisis/tariff_member_type.h \
    include/mobilisis/tariff_period_year.h \
    include/mobilisis/tariff_payment_rate.h \
    include/mobilisis/tariff_log.h \
    include/mobilisis/calculate_price.h \
    include/mobilisis/atb_project.h \
    include/mobilisis/ticket.h \
    include/mobilisis/tariff_business_hours.h \
    include/mobilisis/tariff_daily_ticket.h \
    include/mobilisis/tariff_customer.h \
    include/mobilisis/tariff_timebase.h \
    include/mobilisis/tariff_timestep_config.h \
    include/mobilisis/tariff_product.h \
    include/mobilisis/tariff_permit_type.h \
    include/mobilisis/tariff_global_defines.h \
    include/mobilisis/tariff_interpolation.h \
    include/mobilisis/tariff_prepaid.h \
    include/mobilisis/tariff_carryover.h \
    include/mobilisis/tariff_global_defines.h

OTHER_FILES += src/main.cpp \
    ../tariffs/tariff_korneuburg.json \
    ../tariffs/tariff_linsinger_maschinenbau.json \
    ../tariffs/tariff_naz.json

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target