# CMakelists.txt for DNA module of Manyo-lib
# $ cd Utsusemi-DNA
# $ mkdir build; cd build
# $ rm -rf *; cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/Manyo [-DMULTH=<n>[, -DMXML_PATH=/path/to/mxml, -DMXML_VER=4, -DNEXUS_PATH=/path/to/nexul, -DMANYO_INSTTYPE=(N/O)]]
# $ make install

cmake_minimum_required(VERSION 3.13)
project(Utsusemi CXX)

# Find Python
find_package(Python COMPONENTS Interpreter Development)
#include_directories(${Python_INCLUDE_DIRS})

# Check macOS
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  set(MACOS TRUE)
endif()

# Set MANYO_MULTH
if (DEFINED MULTH)
  set(MANYO_MULTH ${MULTH})
else (DEFINED MULTH)
  set(MANYO_MULTH 8)
endif (DEFINED MULTH)

# Set MANYO_NEXUS_PATH
if (DEFINED NEXUS_PATH)
  set(MANYO_NEXUS_PATH ${NEXUS_PATH})
else ()
  set(MANYO_NEXUS_PATH ${CMAKE_INSTALL_PREFIX})
endif ()
message("MANYO_NEXUS_PATH=" ${MANYO_NEXUS_PATH})

# Set MXML environment
if (DEFINED MXML_PATH)
  set(MANYO_MXML_LIB_PATH ${MXML_PATH}/lib)
  set(MANYO_MXML_INC_PATH ${MXML_PATH}/include)
elseif(MACOS)
  set(MANYO_MXML_LIB_PATH /opt/homebrew/lib)
  set(MANYO_MXML_INC_PATH /opt/homebrew/include)
endif ()

if ((DEFINED MXML_VER) AND (${MXML_VER} MATCHES "4"))
    message("Define LIBMXML4")
    set(LIBMXML mxml4)
else()
    set(LIBMXML mxml)
endif()

# Installation type
# MANYO_LIB_PATH is the relative path to libManyo and other manyo libraries from CMAKE_INSTALL_PREFIX
# as "lib/python3.11/dist-package"
# Therefor MANYO_PATH is ${CMAKE_INSTALL_PREFIX}/${MANYO_LIB_PATH}
if ((DEFINED MANYO_INSTTYPE) AND (${MANYO_INSTTYPE} MATCHES "N"))
  message("MANYO_INSTTYPE = New")
  set(MANYO_LIB_PATH lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/dist-packages)
  set(MANYO_PATH ${CMAKE_INSTALL_PREFIX}/${MANYO_LIB_PATH})
else()
  message("MANYO_INSTTYPE = Old")
  set(MANYO_LIB_PATH lib)
  set(MANYO_PATH ${CMAKE_INSTALL_PREFIX})
endif()


# Add subdirectories for Manyo lib
add_subdirectory(lib-levmar/2.5)
add_subdirectory(manyo-LevmarTools)
add_subdirectory(manyo)

