 119763cf38
			
		
	
	
		119763cf38
		
	
	
	
	
		
			
			CMake complains that the package name does not match when the case differs, e.g.: ``` CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message): The package name passed to `find_package_handle_standard_args` (UMFPACK) does not match the name of the calling package (Umfpack). This can lead to problems in calling code that expects `find_package` result variables (e.g., `_FOUND`) to follow a certain pattern. Call Stack (most recent call first): cmake/FindUmfpack.cmake:50 (find_package_handle_standard_args) bench/spbench/CMakeLists.txt:24 (find_package) This warning is for project developers. Use -Wno-dev to suppress it. ``` Here we rename the libraries to match their true cases.
		
			
				
	
	
		
			93 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
 | |
| 
 | |
| set(BLAS_FOUND TRUE)
 | |
| set(LAPACK_FOUND TRUE)
 | |
| set(BLAS_LIBRARIES eigen_blas_static)
 | |
| set(LAPACK_LIBRARIES eigen_lapack_static)
 | |
| 
 | |
| set(SPARSE_LIBS "")
 | |
| 
 | |
| # find_library(PARDISO_LIBRARIES pardiso412-GNU450-X86-64)
 | |
| # if(PARDISO_LIBRARIES)
 | |
| #   add_definitions("-DEIGEN_PARDISO_SUPPORT")
 | |
| #   set(SPARSE_LIBS ${SPARSE_LIBS} ${PARDISO_LIBRARIES})
 | |
| # endif()
 | |
| 
 | |
| find_package(CHOLMOD)
 | |
| if(CHOLMOD_FOUND AND BLAS_FOUND AND LAPACK_FOUND)
 | |
|   add_definitions("-DEIGEN_CHOLMOD_SUPPORT")
 | |
|   include_directories(${CHOLMOD_INCLUDES})
 | |
|   set(SPARSE_LIBS ${SPARSE_LIBS} ${CHOLMOD_LIBRARIES} ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES})
 | |
|   set(CHOLMOD_ALL_LIBS  ${CHOLMOD_LIBRARIES} ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES})
 | |
| endif()
 | |
| 
 | |
| find_package(UMFPACK)
 | |
| if(UMFPACK_FOUND AND BLAS_FOUND)
 | |
|   add_definitions("-DEIGEN_UMFPACK_SUPPORT")
 | |
|   include_directories(${UMFPACK_INCLUDES})
 | |
|   set(SPARSE_LIBS ${SPARSE_LIBS} ${UMFPACK_LIBRARIES} ${BLAS_LIBRARIES})
 | |
|   set(UMFPACK_ALL_LIBS ${UMFPACK_LIBRARIES} ${BLAS_LIBRARIES})
 | |
| endif()
 | |
| 
 | |
| find_package(KLU)
 | |
| if(KLU_FOUND)
 | |
|   add_definitions("-DEIGEN_KLU_SUPPORT")
 | |
|   include_directories(${KLU_INCLUDES})
 | |
|   set(SPARSE_LIBS ${SPARSE_LIBS} ${KLU_LIBRARIES})
 | |
| endif()
 | |
| 
 | |
| find_package(SuperLU 4.0)
 | |
| if(SuperLU_FOUND AND BLAS_FOUND)
 | |
|   add_definitions("-DEIGEN_SUPERLU_SUPPORT")
 | |
|   include_directories(${SUPERLU_INCLUDES})
 | |
|   set(SPARSE_LIBS ${SPARSE_LIBS} ${SUPERLU_LIBRARIES} ${BLAS_LIBRARIES})
 | |
|   set(SUPERLU_ALL_LIBS ${SUPERLU_LIBRARIES} ${BLAS_LIBRARIES})
 | |
| endif()
 | |
| 
 | |
| 
 | |
| find_package(PASTIX QUIET COMPONENTS METIS SCOTCH)
 | |
| # check that the PASTIX found is a version without MPI
 | |
| find_path(PASTIX_pastix_nompi.h_INCLUDE_DIRS
 | |
|   NAMES pastix_nompi.h
 | |
|   HINTS ${PASTIX_INCLUDE_DIRS}
 | |
| )
 | |
| if (NOT PASTIX_pastix_nompi.h_INCLUDE_DIRS)
 | |
|   message(STATUS "A version of Pastix has been found but pastix_nompi.h does not exist in the include directory."
 | |
|                  " Because Eigen tests require a version without MPI, we disable the Pastix backend.")
 | |
| endif()
 | |
| if(PASTIX_FOUND AND PASTIX_pastix_nompi.h_INCLUDE_DIRS AND BLAS_FOUND)
 | |
|   add_definitions("-DEIGEN_PASTIX_SUPPORT")
 | |
|   include_directories(${PASTIX_INCLUDE_DIRS_DEP})
 | |
|   if(SCOTCH_FOUND)
 | |
|     include_directories(${SCOTCH_INCLUDE_DIRS})
 | |
|     set(PASTIX_LIBRARIES ${PASTIX_LIBRARIES} ${SCOTCH_LIBRARIES})
 | |
|   elseif(METIS_FOUND)
 | |
|     include_directories(${METIS_INCLUDE_DIRS})
 | |
|     set(PASTIX_LIBRARIES ${PASTIX_LIBRARIES} ${METIS_LIBRARIES})  
 | |
|   endif()
 | |
|   set(SPARSE_LIBS ${SPARSE_LIBS} ${PASTIX_LIBRARIES_DEP} ${ORDERING_LIBRARIES})
 | |
|   set(PASTIX_ALL_LIBS ${PASTIX_LIBRARIES_DEP})
 | |
| endif()
 | |
| 
 | |
| if(METIS_FOUND)
 | |
|   include_directories(${METIS_INCLUDE_DIRS})
 | |
|   set (SPARSE_LIBS ${SPARSE_LIBS} ${METIS_LIBRARIES})
 | |
|   add_definitions("-DEIGEN_METIS_SUPPORT")
 | |
| endif()
 | |
| 
 | |
| find_library(RT_LIBRARY rt)
 | |
| if(RT_LIBRARY)
 | |
|   set(SPARSE_LIBS ${SPARSE_LIBS} ${RT_LIBRARY})
 | |
| endif()
 | |
| 
 | |
| add_executable(spbenchsolver spbenchsolver.cpp)
 | |
| target_link_libraries (spbenchsolver ${SPARSE_LIBS})
 | |
| 
 | |
| add_executable(spsolver sp_solver.cpp)
 | |
| target_link_libraries (spsolver ${SPARSE_LIBS})
 | |
| 
 | |
| 
 | |
| add_executable(test_sparseLU test_sparseLU.cpp)
 | |
| target_link_libraries (test_sparseLU ${SPARSE_LIBS})
 | |
| 
 |