@@ -22,6 +22,53 @@ else()
2222 set (ExternalInstallDir "${PROJECT_BINARY_DIR} " CACHE INTERNAL "External install directory" )
2323endif ()
2424
25+ include (ExternalProject)
26+ set (EigenDir "${CMAKE_SOURCE_DIR} /extern/eigen" )
27+
28+
29+ set (EXT_CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} )
30+ if (NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug" )
31+ set (EXT_CMAKE_BUILD_TYPE "Release" )
32+ endif ()
33+
34+ ## Discregrid
35+ if ((DEFINED Discregrid_INCLUDE_DIR) AND (DEFINED Discregrid_DEBUG_LIB) AND (DEFINED Discregrid_LIB))
36+ message (STATUS "Using ${Discregrid_INCLUDE_DIR} " )
37+ set (Discregrid_LIBRARIES optimized ${Discregrid_LIB} debug ${Discregrid_DEBUG_LIB} )
38+ else ()
39+ ExternalProject_Add(
40+ Ext_Discregrid
41+ PREFIX "${ExternalInstallDir} /Discregrid"
42+ GIT_REPOSITORY https://github.com/InteractiveComputerGraphics/Discregrid.git
43+ GIT_TAG "c0fb5aeac4c8a83e9f37c720315f13a834409b81"
44+ INSTALL_DIR ${ExternalInstallDir} /Discregrid
45+ CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING =${EXT_CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX:PATH =${ExternalInstallDir} /Discregrid -DBUILD_CMD_EXECUTABLE:BOOL =0 -DEIGEN3_INCLUDE_DIR:PATH =${EigenDir}
46+ )
47+ ExternalProject_Get_Property(Ext_Discregrid INSTALL_DIR)
48+ set (Discregrid_INCLUDE_DIR ${INSTALL_DIR} /include )
49+ set (Discregrid_LIBRARIES optimized ${INSTALL_DIR} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} Discregrid${CMAKE_STATIC_LIBRARY_SUFFIX}
50+ debug ${INSTALL_DIR} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} Discregrid_d${CMAKE_STATIC_LIBRARY_SUFFIX} )
51+ unset (INSTALL_DIR)
52+ message (STATUS "Building ${Discregrid_INCLUDE_DIR} " )
53+ endif ()
54+
55+ if (DEFINED GenericParameters_INCLUDE_DIR)
56+ message (STATUS "Using ${GenericParameters_INCLUDE_DIR} " )
57+ else ()
58+ ## GenericParameters
59+ ExternalProject_Add(
60+ Ext_GenericParameters
61+ PREFIX "${ExternalInstallDir} /GenericParameters"
62+ GIT_REPOSITORY https://github.com/InteractiveComputerGraphics/GenericParameters.git
63+ GIT_TAG "b1ad669fac8d106515f6aa8514a03598d5766a36"
64+ INSTALL_DIR ${ExternalInstallDir} /GenericParameters
65+ CMAKE_ARGS -DCMAKE_BUILD_TYPE=${EXT_CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX:PATH =${ExternalInstallDir} /GenericParameters -DGENERICPARAMETERS_NO_TESTS:BOOL =1
66+ )
67+ ExternalProject_Get_Property(Ext_GenericParameters INSTALL_DIR)
68+ set (GenericParameters_INCLUDE_DIR ${INSTALL_DIR} /include )
69+ unset (INSTALL_DIR)
70+ endif ()
71+
2572add_subdirectory (PositionBasedDynamics)
2673add_subdirectory (Simulation)
2774add_subdirectory (Utils)
@@ -35,34 +82,6 @@ if (NOT PBD_NO_DEMOS)
3582 add_subdirectory (Demos)
3683endif ()
3784
38- include (ExternalProject)
39- set (EigenDir "${CMAKE_SOURCE_DIR} /extern/eigen" )
40-
41-
42- set (EXT_CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} )
43- if (NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug" )
44- set (EXT_CMAKE_BUILD_TYPE "Release" )
45- endif ()
46-
47- ## Discregrid
48- ExternalProject_Add(
49- Ext_Discregrid
50- PREFIX "${ExternalInstallDir} /Discregrid"
51- GIT_REPOSITORY https://github.com/InteractiveComputerGraphics/Discregrid.git
52- GIT_TAG "c0fb5aeac4c8a83e9f37c720315f13a834409b81"
53- INSTALL_DIR ${ExternalInstallDir} /Discregrid
54- CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING =${EXT_CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX:PATH =${ExternalInstallDir} /Discregrid -DBUILD_CMD_EXECUTABLE:BOOL =0 -DEIGEN3_INCLUDE_DIR:PATH =${EigenDir}
55- )
56-
57- ## GenericParameters
58- ExternalProject_Add(
59- Ext_GenericParameters
60- PREFIX "${ExternalInstallDir} /GenericParameters"
61- GIT_REPOSITORY https://github.com/InteractiveComputerGraphics/GenericParameters.git
62- GIT_TAG "b1ad669fac8d106515f6aa8514a03598d5766a36"
63- INSTALL_DIR ${ExternalInstallDir} /GenericParameters
64- CMAKE_ARGS -DCMAKE_BUILD_TYPE=${EXT_CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX:PATH =${ExternalInstallDir} /GenericParameters -DGENERICPARAMETERS_NO_TESTS:BOOL =1
65- )
6685
6786install (DIRECTORY ./Common
6887DESTINATION include
0 commit comments