cmake_minimum_required(VERSION 3.8.0) project(meschach) if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) endif() set(meschach_srcs bdfactor.c bkpfacto.c chfactor.c copy.c err.c extras.c fft.c givens.c hessen.c hsehldr.c init.c iter0.c iternsym.c itersym.c ivecop.c lufactor.c machine.c matlab.c matop.c matrixio.c meminfo.c memory.c memstat.c mfunc.c norm.c otherio.c pxop.c qrfactor.c schur.c solve.c sparse.c sparseio.c spbkp.c spchfctr.c splufctr.c sprow.c spswap.c submat.c svd.c symmeig.c update.c vecop.c version.c zcopy.c zfunc.c zgivens.c zhessen.c zhsehldr.c zlufctr.c zmachine.c zmatio.c zmatlab.c zmatop.c zmemory.c znorm.c zqrfctr.c zschur.c zsolve.c ztorture.c zvecop.c ) file(GLOB meschach_headers "*.h") include_directories(".") if(BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() add_library(meschach ${meschach_srcs}) target_compile_definitions(meschach PRIVATE -DHAVE_MEMORY_H -DHAVE_COMPLEX_H) install( TARGETS meschach RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) if(NOT DISABLE_INSTALL_HEADERS) install(FILES ${meschach_headers} DESTINATION include/meschach) endif()