# CMake script for PAPPSOms++ library
# Author: Olivier Langella
# Created: 22/12/2017

FIND_PACKAGE( Qt5 COMPONENTS Core Gui PrintSupport Svg REQUIRED )
if (MINGW)
else (MINGW)
FIND_PACKAGE( QCustomPlot REQUIRED )
endif (MINGW)

# File list
SET(PAPPSOWIDGET_CPP_FILES
    graphicdevicewidget.cpp
    precisionwidget/precisionwidget.cpp
    spectrumwidget/qcpspectrum.cpp
    spectrumwidget/spectrumwidget.cpp
    xicwidget/qcpxic.cpp
    xicwidget/xicwidget.cpp
)

# Build the static lib
ADD_LIBRARY(pappsomspp-widget-static-qt5 STATIC ${PAPPSOWIDGET_CPP_FILES})
target_include_directories (pappsomspp-widget-static-qt5 PUBLIC ${Qt5Core_INCLUDES} ${Qt5Svg_INCLUDES} ${Qt5Gui_INCLUDES} ${QCustomPlot_INCLUDES})
SET_TARGET_PROPERTIES(pappsomspp-widget-static-qt5
    PROPERTIES OUTPUT_NAME pappsomspp-widget-qt5
    CLEAN_DIRECT_OUTPUT 1
    CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS} ${Qt5Gui_EXECUTABLE_COMPILE_FLAGS} ${Qt5Svg_EXECUTABLE_COMPILE_FLAGS}"
)
TARGET_LINK_LIBRARIES(pappsomspp-widget-static-qt5 ${QCustomPlot_LIBRARIES} Qt5::Widgets Qt5::Svg Qt5::PrintSupport)
if (MINGW)
else (MINGW)
	INSTALL(TARGETS pappsomspp-widget-static-qt5 DESTINATION lib${LIB_SUFFIX})
endif (MINGW)

# Build the shared lib
ADD_LIBRARY(pappsomspp-widget-shared-qt5 SHARED ${PAPPSOWIDGET_CPP_FILES})
target_include_directories (pappsomspp-widget-shared-qt5 PUBLIC ${Qt5Core_INCLUDES} ${Qt5Gui_INCLUDES} ${Qt5Svg_INCLUDES} ${QCustomPlot_INCLUDES})
SET_TARGET_PROPERTIES(pappsomspp-widget-shared-qt5
    PROPERTIES OUTPUT_NAME pappsomspp-widget-qt5
    CLEAN_DIRECT_OUTPUT 1
    VERSION ${PAPPSOMSPP_VERSION}
    SOVERSION ${PAPPSOMSPP_VERSION_MAJOR}
    #COMPILE_DEFINITIONS " ${QT_DEFINITIONS}"
    #INCLUDE_DIRECTORIES "${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR}"
)
TARGET_LINK_LIBRARIES(pappsomspp-widget-shared-qt5 ${QCustomPlot_LIBRARIES} Qt5::Widgets Qt5::Svg Qt5::PrintSupport pappsomspp-shared-qt5)

if (MINGW)
else (MINGW)
	INSTALL(TARGETS pappsomspp-widget-shared-qt5 LIBRARY DESTINATION lib${LIB_SUFFIX})
endif (MINGW)



# Install headers
INSTALL(DIRECTORY pappsomspp/widget DESTINATION include/pappsomspp/widget FILES_MATCHING PATTERN "*.h")
