
# add the library that runs 
add_library(Sprc spc_fast.cc spc_net.cc spc_slow.cc tri_typ.cc ihd_typ.cc
	spc_het.cc spc_pml.cc spc_typ.cc sis_typ.cc spc_init.cc spc_prep.cc
	psd_typ.cc spc_cor.cc spc_run.cc rph_typ.cc spc_d2d.cc
	spc_mds.cc spc_sis.cc spc_wdg.cc spc_pi.cc spc_aro.cc spc_sprs.cc
	)

target_compile_features(Sprc PUBLIC cxx_std_11) 

#target_link_libraries(Sprc Sarp Sprs Starc Omc Chn Tools Alex Aln Gsq Blst 
#	Hat Vsi Tax Pdb Afn Gsmo Psed conjugrad ccmpred 
#	)

target_link_libraries(Sprc Sarp Sprs Starc Omc Chn Hpt Tools Alex Aln Gsq Blst 
	Hat Vsi Tax Pdb Afn Gsmo Psed conjugrad ccmpred Darc
	)

# state that anybody linking to us needs to include the current source dir
# to find MathFunctions.h, while we don't.
include_directories("${PROJECT_SOURCE_DIR}/lib/libafn" 
	"${PROJECT_SOURCE_DIR}/lib/libgsq"
	"${PROJECT_SOURCE_DIR}/lib/libpdb"
	"${PROJECT_SOURCE_DIR}/lib/libblst"
	"${PROJECT_SOURCE_DIR}/lib/libalex"
	"${PROJECT_SOURCE_DIR}/lib/libaln"
	"${PROJECT_SOURCE_DIR}/lib/libtools"
	"${PROJECT_SOURCE_DIR}/lib/libtax"
	"${PROJECT_SOURCE_DIR}/lib/libvsi"
	"${PROJECT_SOURCE_DIR}/lib/libhpt"
	"${PROJECT_SOURCE_DIR}/lib/libchn"
	"${PROJECT_SOURCE_DIR}/lib/libgsmo"
	"${PROJECT_SOURCE_DIR}/lib/libhat"
	"${PROJECT_SOURCE_DIR}/lib/libomc"
	"${PROJECT_SOURCE_DIR}/lib/libsarp"
	"${PROJECT_SOURCE_DIR}/lib/libstarc"
	"${PROJECT_SOURCE_DIR}/lib/libpsed"
	"${PROJECT_SOURCE_DIR}/lib/libsprs"
#	"${PROJECT_SOURCE_DIR}/lib/libccm"
#	"${PROJECT_SOURCE_DIR}/lib/libconjugrad"
	"${PROJECT_SOURCE_DIR}/lib/libccmpred"
	"${PROJECT_SOURCE_DIR}/lib/libccmpred/libconjugrad"
	"${PROJECT_SOURCE_DIR}/lib/libdarc"
	"${PROJECT_SOURCE_DIR}/lib/libsprc"
	"${PROJECT_SOURCE_DIR}/lib/include") 

target_include_directories(Sprc
                           INTERFACE
                            $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
                            $<INSTALL_INTERFACE:include>
                           )

#target_compile_definitions(Sprc PRIVATE "$<$<BOOL:${USE_MYMATH}>:USE_MYMATH>")

# define the symbol stating we are using the declspec(dllexport) when
# building on windows
#target_compile_definitions(Sprc PRIVATE "EXPORTING_MYMATH")

# setup the version numbering
set_property(TARGET Sprc PROPERTY VERSION "1.0.0")
set_property(TARGET Sprc PROPERTY SOVERSION "1")

install(TARGETS Sprc DESTINATION lib EXPORT SprcTargets)

