# examples/examples_IPbasic/SimpleTestIPBasic/CMakeLists.txt

# Create the SimpleTestIPBasic executable
add_executable(SimpleTestIPBasic
    exampleIPBasic.cpp
)

# Set backend according to selected option
if(${LAPACK_WRAPPER_USE_BACKEND} STREQUAL "LAPACK_WRAPPER_USE_MKL")
    target_compile_definitions(SimpleTestIPBasic PRIVATE LAPACK_WRAPPER_USE_MKL)
    target_include_directories(SimpleTestIPBasic PRIVATE ${MKL_INCLUDE_PATH})
    target_link_libraries(SimpleTestIPBasic PRIVATE ${MKL_PATH_LIBS})
elseif(${LAPACK_WRAPPER_USE_BACKEND} STREQUAL "LAPACK_WRAPPER_USE_OPENBLAS")
    target_compile_definitions(SimpleTestIPBasic PRIVATE LAPACK_WRAPPER_USE_OPENBLAS)
    target_include_directories(SimpleTestIPBasic PRIVATE ${OPENBLAS_INCLUDE_PATH})
    target_link_libraries(SimpleTestIPBasic PRIVATE ${OPENBLAS_PATH_LIBS})
elseif(${LAPACK_WRAPPER_USE_BACKEND} STREQUAL "LAPACK_WRAPPER_USE_LAPACK")
    target_compile_definitions(SimpleTestIPBasic PRIVATE LAPACK_WRAPPER_USE_LAPACK)
    target_include_directories(SimpleTestIPBasic PRIVATE ${LAPACK_INCLUDE_PATH} ${BLAS_INCLUDE_PATH})
    target_link_libraries(SimpleTestIPBasic PRIVATE ${LAPACK_PATH_LIBS} ${BLAS_PATH_LIBS})
endif()

if(IPBASIC_USE_HSL)
    target_compile_definitions(SimpleTestIPBasic PRIVATE IPBASIC_USE_HSL)
    target_link_libraries(SimpleTestIPBasic PRIVATE ${HSL_PATH_LIBS})
endif()

if(OCPBASIC_ADD_LINKED_LIBS)
    target_link_libraries(SimpleTestIPBasic PRIVATE ${ADD_LINKED_LIBS})
endif()

# Link against the lapack_wrapper library
target_link_libraries(SimpleTestIPBasic PRIVATE lapack_wrapper)

# Link against the IPbasic library
target_link_libraries(SimpleTestIPBasic PRIVATE IPbasic)

# Include directories
target_include_directories(SimpleTestIPBasic PRIVATE
    ${CMAKE_SOURCE_DIR}/src/
) 
