#
# Copyright (C) 2022  Autodesk, Inc. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

INCLUDE(cxx_defaults)

SET(_target
    "makeMovieIOformats"
)

SET(_sources
    main.cpp utf8Main.cpp
)

ADD_EXECUTABLE(
  ${_target}
  ${_sources}
)

TARGET_INCLUDE_DIRECTORIES(
  ${_target}
  PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
)

TARGET_LINK_LIBRARIES(
  ${_target}
  PRIVATE TwkMovie Gto TwkUtil OpenEXR::OpenEXR
)

IF(RV_TARGET_LINUX)
  SET(THREADS_PREFER_PTHREAD_FLAG
      TRUE
  )
  FIND_PACKAGE(Threads REQUIRED)
  TARGET_LINK_LIBRARIES(
    ${_target}
    PRIVATE Threads::Threads
  )
ELSEIF(RV_TARGET_WINDOWS)
  TARGET_LINK_LIBRARIES(
    ${_target}
    PRIVATE win_pthreads win_posix
  )
ENDIF()

RV_STAGE(TYPE "EXECUTABLE_WITH_PLUGINS" TARGET ${_target})

ADD_CUSTOM_COMMAND(
  COMMENT "Generating ${RV_STAGE_PLUGINS_MOVIEFORMATS_DIR}/movieformats.gto"
  OUTPUT ${RV_STAGE_PLUGINS_MOVIEFORMATS_DIR}/movieformats.gto
  COMMAND $<TARGET_FILE:${_target}> ${RV_STAGE_PLUGINS_MOVIEFORMATS_DIR}
  WORKING_DIRECTORY ${RV_STAGE_BIN_DIR}
  DEPENDS ${_target} image_formats
)

ADD_CUSTOM_TARGET(
  movieformats.gto ALL
  DEPENDS ${RV_STAGE_PLUGINS_MOVIEFORMATS_DIR}/movieformats.gto
)

ADD_DEPENDENCIES(installed_movie_formats movieformats.gto)
