cmake_minimum_required(VERSION 3.10)
project(sarp)

# control where the static and shared libraries are built so that on windows
# we don't need to tinker with the path to run the executable
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

option(BUILD_SHARED_LIBS "Build using shared libraries" ON)

# the version number.

# Note the use of the variable EXTRA_LIBS to collect up any optional libraries
# to later be linked into the executable. The variable EXTRA_INCLUDES is used
# similarly for optional header files. 
get_filename_component(PARENT_DIR ../ ABSOLUTE)
list(APPEND EXTRA_LIBS Sarp )
#list(APPEND EXTRA_LIBS Sprs Sarp Starc Omc Chn Vsi Tools Alex Psed Gsmo
#	Hat Aln Gsq Blst Tax Pdb Afn Mgs conjugrad ccmpred Darc )

list(APPEND EXTRA_INCLUDES 
	"${PARENT_DIR}/lib/libafn"
	"${PARENT_DIR}/lib/libaln" 
	"${PARENT_DIR}/lib/libblst" 
	"${PARENT_DIR}/lib/libtax" 
	"${PARENT_DIR}/lib/libalex" 
	"${PARENT_DIR}/lib/libtools" 
	"${PARENT_DIR}/lib/libpdb" 
	"${PARENT_DIR}/lib/libhpt" 
	"${PARENT_DIR}/lib/libchn" 
	"${PARENT_DIR}/lib/libsarp" 
	"${PARENT_DIR}/lib/libvsi" 
	"${PARENT_DIR}/lib/include" 
	)

# add the executable
add_executable(sarp run_sarp.cxx)
target_link_libraries(sarp ${EXTRA_LIBS} )
include_directories(${PARENT_DIR}/lib/include  ${EXTRA_INCLUDES})

# add the binary tree to the search path for include files
# so that we will find darcConfig.h
target_include_directories(sarp PUBLIC "${PROJECT_BINARY_DIR}" ${EXTRA_INCLUDES} )


