#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the Common Development
# and Distribution License Version 1.0 (the "License").
#
# You can obtain a copy of the license at
# http://www.opensource.org/licenses/CDDL-1.0.  See the License for the
# specific language governing permissions and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each file and
# include the License file in a prominent location with the name LICENSE.CDDL.
# If applicable, add the following below this CDDL HEADER, with the fields
# enclosed by brackets "[]" replaced with your own identifying information:
#
# Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved.
#
# CDDL HEADER END
#

#
# Copyright (c) 2013--2019, Regents of the University of Minnesota.
# All rights reserved.
#
# Contributors:
#    Mingjian Wen
#


#
# Required preamble
#

cmake_minimum_required(VERSION 3.4)

list(APPEND CMAKE_PREFIX_PATH $ENV{KIM_API_CMAKE_PREFIX_DIR})
find_package(KIM-API 2.0 REQUIRED CONFIG)
if(NOT TARGET kim-api)
  enable_testing()
  project("${KIM_API_PROJECT_NAME}" VERSION "${KIM_API_VERSION}"
    LANGUAGES CXX C Fortran)
endif()

# End preamble

# Extract Eigen library
execute_process(COMMAND tar xJf ${PROJECT_SOURCE_DIR}/eigen-v3.3.7.tar.xz -C ${CMAKE_CURRENT_BINARY_DIR})
set(CMAKE_CXX_STANDARD 11) # Eigen requires C++11

set(MODEL_DRIVER_NAME "DUNN__MD_292677547454_000")

add_kim_api_model_driver_library(
  NAME                    ${MODEL_DRIVER_NAME}
  CREATE_ROUTINE_NAME     "model_driver_create"
  CREATE_ROUTINE_LANGUAGE "cpp"
  )

target_sources(${MODEL_DRIVER_NAME} PRIVATE
  ANN.cpp
  ANNImplementation.cpp
  helper.cpp
  descriptor.cpp
  network.cpp
  )

# Eigen library v3.3.7
target_include_directories(${MODEL_DRIVER_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/eigen-v3.3.7)
