if (NOT use_libhud2)
  add_subdirectory(libhud)
endif()

set(CORE_SRCS
    lomiri-action.cpp
    lomiri-preview-action.cpp
    lomiri-preview-parameter.cpp
    lomiri-preview-range-parameter.cpp
    lomiri-menu-item.cpp
    lomiri-action-manager.cpp
    lomiri-action-context.cpp
)

set(PUBLIC_HEADER_DIR "${CMAKE_SOURCE_DIR}/include/lomiri/action")

set(PUBLIC_HEADERS
    ${PUBLIC_HEADER_DIR}/Action
    ${PUBLIC_HEADER_DIR}/lomiri-action.h
    ${PUBLIC_HEADER_DIR}/PreviewAction
    ${PUBLIC_HEADER_DIR}/lomiri-preview-action.h
    ${PUBLIC_HEADER_DIR}/PreviewParameter
    ${PUBLIC_HEADER_DIR}/lomiri-preview-parameter.h
    ${PUBLIC_HEADER_DIR}/PreviewRangeParameter
    ${PUBLIC_HEADER_DIR}/lomiri-preview-range-parameter.h
#    Don't publish MenuItem yet as we don't have any consumers
#    ${PUBLIC_HEADER_DIR}/MenuItem
    ${PUBLIC_HEADER_DIR}/lomiri-menu-item.h
    ${PUBLIC_HEADER_DIR}/ActionManager
    ${PUBLIC_HEADER_DIR}/lomiri-action-manager.h
    ${PUBLIC_HEADER_DIR}/ActionContext
    ${PUBLIC_HEADER_DIR}/lomiri-action-context.h
)

include_directories(${HUD_INCLUDE_DIRS})

add_library(lomiri-action-qt SHARED
    ${CORE_SRCS}
    ${PUBLIC_HEADERS} # public headers have to be included here for Q_DECL_EXPORT to work properly
)
target_link_libraries (lomiri-action-qt ${HUD_LIBRARIES})

qt5_use_modules(lomiri-action-qt Core)

install(
  TARGETS lomiri-action-qt
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  RUNTIME DESTINATION bin
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)


set(API_VERSION_MAJOR 1)
set(API_VERSION_MINOR 1)

set(SO_VERSION ${API_VERSION_MAJOR})

set_target_properties(lomiri-action-qt PROPERTIES
                      SOVERSION ${SO_VERSION}
)

set(PC_FILE_TARGET "${CMAKE_CURRENT_BINARY_DIR}/lomiri-action-qt-${API_VERSION_MAJOR}.pc")
set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}/lomiri-action-qt-${API_VERSION_MAJOR}")
set(ABSOLUTE_SO_FILE "${CMAKE_INSTALL_FULL_LIBDIR}/liblomiri-action-qt.so.${SO_VERSION}")
configure_file("lomiri-action-qt.pc.in" ${PC_FILE_TARGET} @ONLY)
install(
  FILES ${PC_FILE_TARGET}
  DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
)

#install the headers
install(FILES ${PUBLIC_HEADERS}
        DESTINATION "${includedir}/lomiri/action")
