cmake_minimum_required(VERSION 3.19)
project(MyVessel VERSION 1.0.0)

if(NOT ORBITER_ROOT)
    set(ORBITER_ROOT "C:/orbiter")
endif()

set(SDK_DIR ${ORBITER_ROOT}/Orbitersdk)

add_library(MyVessel SHARED MyVessel.cpp)

target_include_directories(MyVessel PRIVATE ${SDK_DIR}/include)
target_link_directories(MyVessel PRIVATE ${SDK_DIR}/lib)

# ATL library (required for Win32 Orbiter builds)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
    file(GLOB ATL_LIB_DIR
        "C:/Program Files/Microsoft Visual Studio/2022/*/VC/Tools/MSVC/*/atlmfc/lib/x86")
    if(ATL_LIB_DIR)
        target_link_directories(MyVessel PRIVATE ${ATL_LIB_DIR})
    endif()
endif()

target_link_libraries(MyVessel Orbiter Orbitersdk)

# Output to Modules\ (NOT Modules\Release\)
set_target_properties(MyVessel PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY ${ORBITER_ROOT}/Modules
    RUNTIME_OUTPUT_DIRECTORY_RELEASE ${ORBITER_ROOT}/Modules
    RUNTIME_OUTPUT_DIRECTORY_DEBUG ${ORBITER_ROOT}/Modules
)
