You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							53 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							53 lines
						
					
					
						
							1.6 KiB
						
					
					
				
								# option: global linear system solver (CHOLMOD, EIGEN)
							 | 
						|
								set(LINSYSSOLVER "CHOLMOD" CACHE STRING "Linear system solver to use, options: CHOLMOD (default), EIGEN")
							 | 
						|
								
							 | 
						|
								file(GLOB SRCFILES
							 | 
						|
								        "*.cpp"
							 | 
						|
								        "LinSysSolver/*.cpp")
							 | 
						|
								
							 | 
						|
								# Static Simulation Project
							 | 
						|
								add_library(StaticSim STATIC ${SRCFILES})
							 | 
						|
								
							 | 
						|
								target_include_directories(StaticSim PUBLIC LinSysSolver)
							 | 
						|
								
							 | 
						|
								target_link_libraries(StaticSim PUBLIC mshio::mshio)
							 | 
						|
								# json
							 | 
						|
								target_link_libraries(StaticSim PUBLIC nlohmann::json)
							 | 
						|
								
							 | 
						|
								# eigen
							 | 
						|
								target_link_libraries(StaticSim PUBLIC Eigen3::Eigen)
							 | 
						|
								
							 | 
						|
								# igl
							 | 
						|
								include(libigl)
							 | 
						|
								target_link_libraries(StaticSim PUBLIC
							 | 
						|
								        igl::core
							 | 
						|
								        igl::predicates
							 | 
						|
								        )
							 | 
						|
								target_link_libraries(StaticSim PUBLIC spdlog::spdlog)
							 | 
						|
								
							 | 
						|
								# tbb
							 | 
						|
								find_package(TBB REQUIRED)
							 | 
						|
								target_link_libraries(StaticSim PUBLIC TBB::tbb)
							 | 
						|
								target_compile_definitions(StaticSim PUBLIC USE_TBB)
							 | 
						|
								
							 | 
						|
								if(LINSYSSOLVER STREQUAL "CHOLMOD")
							 | 
						|
								    target_compile_definitions(StaticSim PUBLIC LINSYSSOLVER_USE_CHOLMOD)
							 | 
						|
								    target_compile_definitions(StaticSim PUBLIC USE_CHOLMOD)
							 | 
						|
								else()
							 | 
						|
								    target_compile_definitions(StaticSim PUBLIC LINSYSSOLVER_USE_EIGEN)
							 | 
						|
								endif()
							 | 
						|
								
							 | 
						|
								# code only support 3D
							 | 
						|
								message(STATUS "Building for three dimensions (3D)")
							 | 
						|
								target_compile_definitions(StaticSim PUBLIC DIM_=3)
							 | 
						|
								
							 | 
						|
								if(LINSYSSOLVER STREQUAL "CHOLMOD")
							 | 
						|
								    # SuiteSparse
							 | 
						|
								    find_package(SuiteSparse REQUIRED)
							 | 
						|
								
							 | 
						|
								    target_link_libraries(StaticSim PUBLIC ${SUITESPARSE_LIBRARIES})
							 | 
						|
								    target_include_directories(StaticSim PUBLIC ${SUITESPARSE_INCLUDE_DIRS})
							 | 
						|
								endif()
							 | 
						|
								
							 | 
						|
								find_package(Boost COMPONENTS filesystem REQUIRED)
							 | 
						|
								target_link_libraries(StaticSim PUBLIC ${Boost_LIBRARIES})
							 | 
						|
								
							 |