Skip to content
Snippets Groups Projects
Unverified Commit c6183a1c authored by Jianfeng Yan's avatar Jianfeng Yan Committed by Jean-Christophe Fillion-Robin
Browse files

TMP: added CMakeLists.txt

parent 196c7b95
No related branches found
No related tags found
No related merge requests found
Showing
with 167 additions and 12 deletions
...@@ -5,8 +5,11 @@ set(VegaFEM_VERSION 4.0) ...@@ -5,8 +5,11 @@ set(VegaFEM_VERSION 4.0)
# Minimum required version of CMake # Minimum required version of CMake
cmake_minimum_required(VERSION 3.0) cmake_minimum_required(VERSION 3.0)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
include(VegaFEMMacros)
# Add Options # Add Options
option(VegaFEM_BUILD_UTILITIES "Build utility classes in addition to libraries." ON) option(VegaFEM_BUILD_UTILITIES "Build utility classes in addition to libraries." OFF)
option(VegaFEM_BUILD_MODEL_REDUCTION "Build model-reduction" OFF) option(VegaFEM_BUILD_MODEL_REDUCTION "Build model-reduction" OFF)
...@@ -23,8 +26,19 @@ option(VegaFEM_ENABLE_OpenGL_SUPPORT "Should modules that require OpenGL be enab ...@@ -23,8 +26,19 @@ option(VegaFEM_ENABLE_OpenGL_SUPPORT "Should modules that require OpenGL be enab
option(VegaFEM_ENABLE_CLOTH_SUPPORT "Should modules that require OpenGL be enabled?" ON) option(VegaFEM_ENABLE_CLOTH_SUPPORT "Should modules that require OpenGL be enabled?" ON)
if (VegaFEM_ENABLE_OpenGL_SUPPORT AND VegaFEM_BUILD_UTILITIES)
find_package(GLUI)
if(NOT GLUI_FOUND)
add_subdirectory(thirdparty/glui/2.36/src)
set(GLUI_LIBRARY glui)
set(GLUI_INCLUDE_DIR) # Empty this as library will export its own includes.
endif()
endif()
set(VegaFEM_MODULES set(VegaFEM_MODULES
animationHelper
basicAlgorithms basicAlgorithms
clothBW
configFile configFile
constrainedDOFs constrainedDOFs
corotationalLinearFEM corotationalLinearFEM
...@@ -33,6 +47,7 @@ elasticForceModel ...@@ -33,6 +47,7 @@ elasticForceModel
exactArithmetic exactArithmetic
forceModel forceModel
getopts getopts
glslPhong
graph graph
hashTable hashTable
imageIO imageIO
...@@ -141,4 +156,4 @@ install( ...@@ -141,4 +156,4 @@ install(
if(VegaFEM_BUILD_UTILITIES) if(VegaFEM_BUILD_UTILITIES)
add_subdirectory(utilities) add_subdirectory(utilities)
endif(VegaFEM_BUILD_UTILITIES) endif(VegaFEM_BUILD_UTILITIES)
\ No newline at end of file
...@@ -2,4 +2,4 @@ foreach(mod ${VegaFEM_Modules}) ...@@ -2,4 +2,4 @@ foreach(mod ${VegaFEM_Modules})
add_subdirectory(${mod}) add_subdirectory(${mod})
endforeach() endforeach()
add_subdirectory(include) # add_subdirectory(include)
\ No newline at end of file
# vega_add_library(camera vega_add_library(camera
add_library(camera
SOURCES SOURCES
camera.cpp camera.cpp
cameraChangeLoad.cpp cameraChangeLoad.cpp
......
...@@ -8,10 +8,10 @@ set(clothbw_headers ...@@ -8,10 +8,10 @@ set(clothbw_headers
clothBWFromObjMesh.h clothBWFromObjMesh.h
) )
if(VegaFEM_ENABLE_PTHREADS_SUPPORT) # if(VegaFEM_ENABLE_PTHREADS_SUPPORT)
list(APPEND clothbw_headers clothBWMT.h) # list(APPEND clothbw_headers clothBWMT.h)
list(APPEND clothbw_sources clothBWMT.cpp) # list(APPEND clothbw_sources clothBWMT.cpp)
endif() # endif()
vega_add_library(clothBW vega_add_library(clothBW
SOURCES SOURCES
...@@ -26,4 +26,4 @@ target_link_libraries(clothBW ...@@ -26,4 +26,4 @@ target_link_libraries(clothBW
minivector minivector
sparseMatrix sparseMatrix
#Threads::Threads #Threads::Threads
) )
\ No newline at end of file
...@@ -17,4 +17,5 @@ target_link_libraries(distanceField ...@@ -17,4 +17,5 @@ target_link_libraries(distanceField
performanceCounter performanceCounter
matrixIO matrixIO
configFile configFile
basicAlgorithms
) )
...@@ -2,6 +2,9 @@ vega_add_library(immersionMesher ...@@ -2,6 +2,9 @@ vega_add_library(immersionMesher
SOURCES SOURCES
immersionMesher.cpp immersionMesher.cpp
immersionGraphNode.cpp immersionGraphNode.cpp
immersionMesherBuildGraph.cpp
immersionMesherCellComplex.cpp
immersionMesherGenerateTetMesh.cpp
PUBLIC_HEADERS PUBLIC_HEADERS
immersionMesher.h immersionMesher.h
immersionGraphNode.h immersionGraphNode.h
...@@ -12,5 +15,9 @@ target_link_libraries(immersionMesher ...@@ -12,5 +15,9 @@ target_link_libraries(immersionMesher
exactArithmetic exactArithmetic
mesh mesh
basicAlgorithms basicAlgorithms
interpolationCoordinates
performanceCounter performanceCounter
libiglInterface
minivector
listIO
) )
...@@ -4,6 +4,7 @@ vega_add_library(integratorDense ...@@ -4,6 +4,7 @@ vega_add_library(integratorDense
implicitBackwardEulerDense.cpp implicitBackwardEulerDense.cpp
implicitNewmarkDense.cpp implicitNewmarkDense.cpp
integratorBaseDense.cpp integratorBaseDense.cpp
integratorMulti1D.cpp
PUBLIC_HEADERS PUBLIC_HEADERS
implicitNewmarkDenseMulti1D.h implicitNewmarkDenseMulti1D.h
integratorMulti1D.h integratorMulti1D.h
...@@ -16,6 +17,7 @@ vega_add_library(integratorDense ...@@ -16,6 +17,7 @@ vega_add_library(integratorDense
target_link_libraries(integratorDense target_link_libraries(integratorDense
PUBLIC PUBLIC
matrix matrix
matrixIO
integrator integrator
performanceCounter performanceCounter
reducedForceModel reducedForceModel
......
...@@ -5,10 +5,12 @@ vega_add_library(interpolationCoordinates ...@@ -5,10 +5,12 @@ vega_add_library(interpolationCoordinates
interpolationCoordinates.h interpolationCoordinates.h
barycentricCoordinates.h barycentricCoordinates.h
) )
target_link_libraries(interpolationCoordinates target_link_libraries(interpolationCoordinates
PUBLIC PUBLIC
minivector minivector
objMesh objMesh
volumetricMesh volumetricMesh
mesh mesh
sparseMatrix
) )
...@@ -6,8 +6,8 @@ vega_add_library(laplacianMatrix ...@@ -6,8 +6,8 @@ vega_add_library(laplacianMatrix
) )
target_link_libraries(laplacianMatrix target_link_libraries(laplacianMatrix
PUBLIC PUBLIC
parseMatrix sparseMatrix
volumetricMesh volumetricMesh
minivector # minivector
sparseSolver sparseSolver
) )
vega_add_library(ligiglInterface
SOURCES
iglRemeshSelfIntersection.cpp
PUBLIC_HEADERS
iglRemeshSelfIntersection.h
)
target_link_libraries(ligiglInterface
PUBLIC
configFile
${IGL_LIBRARIES}
${CGAL_LIBRARIES}
)
vega_add_library(lighting vega_add_library(lighting
SOURCES SOURCES
lighting.cpp lighting.cpp
cameraLighting.cpp
PUBLIC_HEADERS PUBLIC_HEADERS
lighting.h lighting.h
cameraLighting.h
) )
target_link_libraries(lighting target_link_libraries(lighting
PUBLIC PUBLIC
......
vega_add_library(listIO
SOURCES
listIO.cpp
PUBLIC_HEADERS
listIO.h
)
set(massspringsystem_srcs
massSpringSystemFromObjMeshConfigFile.cpp
massSpringSystemFromObjMesh.cpp
massSpringSystemFromTetMeshConfigFile.cpp
massSpringSystemFromTetMesh.cpp
massSpringSystem.cpp
massSpringSystemFromCubicMesh.cpp
massSpringSystemFromCubicMeshConfigFile.cpp
)
set(massspringsystem_hdrs
massSpringSystem.h
massSpringSystemFromCubicMesh.h
massSpringSystemFromCubicMeshConfigFile.h
massSpringSystemFromObjMesh.h
massSpringSystemFromObjMeshConfigFile.h
massSpringSystemFromTetMesh.h
massSpringSystemFromTetMeshConfigFile.h
)
if(VegaFEM_ENABLE_PTHREADS_SUPPORT)
list(APPEND massspringsystem_srcs massSpringSystemMT.cpp)
list(APPEND massspringsystem_hdrs massSpringSystemMT.h)
endif()
if (VegaFEM_ENABLE_OpenGL_SUPPORT)
list(APPEND massspringsystem_srcs renderSprings.cpp)
list(APPEND massspringsystem_hdrs renderSprings.h)
endif()
vega_add_library(massSpringSystem
SOURCES
${massspringsystem_srcs}
PUBLIC_HEADERS
${massspringsystem_hdrs}
)
target_link_libraries(massSpringSystem
PUBLIC
objMesh
volumetricMesh
configFile
sparseMatrix
Threads::Threads
INTERFACE
minivector
)
if (VegaFEM_ENABLE_OpenGL_SUPPORT)
target_link_libraries(massSpringSystem
PUBLIC
${OPENGL_gl_LIBRARY}
${OPENGL_glu_LIBRARY}
)
endif()
set(matrix_srcs
matrixProjection.cpp
matrixPCA.cpp
matrixBLAS.cpp
matrixLAPACK.cpp
matrixBLASOptimized.cpp
matrix.cpp
)
set(matrix_hdrs
expokit_xgpadm.h
matrix.h
matrixBLAS.h
matrixLAPACK.h
matrixPCA.h
matrixProjection.h
)
if (VegaFEM_ENABLE_ExpoKit_SUPPORT)
set(matrix_srcs
${matrix_srcs}
matrixExp.cpp
)
set(matrix_hdrs
${matrix_hdrs}
matrixExp.h
)
endif()
vega_add_library(matrix
SOURCES
${matrix_srcs}
PUBLIC_HEADERS
${matrix_hdrs}
)
target_link_libraries(matrix
PUBLIC
matrixIO
${BLAS}
${CBLAS_LIBRARY}
${LAPACK_LIBRARIES}
)
vega_add_library(matrixIO
SOURCES
matrixIO.cpp
matrixMacros.h
multiMatrixIO.cpp
PUBLIC_HEADERS
matrixIO.h
matrixMacros.h
multiMatrixIO.h
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment