Skip to content

Commit 72621bd

Browse files
fredroyhugtalbot
andauthored
[All] CMake: an other round of speedup (configure stage) (#5611)
* wip * apply to sofa.component * even faster with global keyword at project scale * Update Sofa.TypeConfig.cmake.in --------- Co-authored-by: Hugo <hugo.talbot@sofa-framework.org>
1 parent ea0b18b commit 72621bd

76 files changed

Lines changed: 220 additions & 141 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ project(Sofa
55

66
include(CMakeDependentOption)
77

8+
9+
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0")
10+
set(CMAKE_FIND_PACKAGE_TARGETS_GLOBAL ON)
11+
# https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_PACKAGE_TARGETS_GLOBAL.html
12+
endif()
13+
814
# Manually define VERSION
915
set(Sofa_VERSION_MAJOR 25)
1016
set(Sofa_VERSION_MINOR 12)

Sofa/Component/AnimationLoop/Sofa.Component.AnimationLoopConfig.cmake.in

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
@PACKAGE_GUARD@
44
@PACKAGE_INIT@
55

6-
find_package(Sofa.Simulation.Core QUIET REQUIRED)
7-
find_package(Sofa.Component.Constraint.Lagrangian QUIET REQUIRED)
6+
find_package(Sofa.Config QUIET REQUIRED)
7+
sofa_find_package(Sofa.Simulation.Core QUIET REQUIRED)
8+
sofa_find_package(Sofa.Component.Constraint.Lagrangian QUIET REQUIRED)
89

910
if(NOT TARGET @PROJECT_NAME@)
1011
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")

Sofa/Component/Collision/Detection/Algorithm/Sofa.Component.Collision.Detection.AlgorithmConfig.cmake.in

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
@PACKAGE_GUARD@
44
@PACKAGE_INIT@
55

6-
find_package(Sofa.Simulation.Core QUIET REQUIRED)
7-
find_package(Sofa.Component.Collision.Geometry QUIET REQUIRED)
6+
find_package(Sofa.Config QUIET REQUIRED)
7+
sofa_find_package(Sofa.Simulation.Core QUIET REQUIRED)
8+
sofa_find_package(Sofa.Component.Collision.Geometry QUIET REQUIRED)
89

910
if(NOT TARGET @PROJECT_NAME@)
1011
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")

Sofa/Component/Collision/Detection/Intersection/Sofa.Component.Collision.Detection.IntersectionConfig.cmake.in

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
@PACKAGE_GUARD@
44
@PACKAGE_INIT@
55

6-
find_package(Sofa.Simulation.Core QUIET REQUIRED)
7-
find_package(Sofa.Component.Collision.Geometry QUIET REQUIRED)
6+
find_package(Sofa.Config QUIET REQUIRED)
7+
sofa_find_package(Sofa.Simulation.Core QUIET REQUIRED)
8+
sofa_find_package(Sofa.Component.Collision.Geometry QUIET REQUIRED)
89

910
if(NOT TARGET @PROJECT_NAME@)
1011
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")

Sofa/Component/Collision/Detection/Sofa.Component.Collision.DetectionConfig.cmake.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55

66
set(SOFACOMPONENTCOLLISIONDETECTION_TARGETS @SOFACOMPONENTCOLLISIONDETECTION_TARGETS@)
77

8+
find_package(Sofa.Config QUIET REQUIRED)
89
foreach(target ${SOFACOMPONENTCOLLISIONDETECTION_TARGETS})
9-
find_package(${target} QUIET REQUIRED)
10+
sofa_find_package(${target} QUIET REQUIRED)
1011
endforeach()
1112

1213
if(NOT TARGET @PROJECT_NAME@)

Sofa/Component/Collision/Geometry/Sofa.Component.Collision.GeometryConfig.cmake.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
@PACKAGE_GUARD@
44
@PACKAGE_INIT@
55

6-
find_package(Sofa.Simulation.Core QUIET REQUIRED)
6+
find_package(Sofa.Config QUIET REQUIRED)
7+
sofa_find_package(Sofa.Simulation.Core QUIET REQUIRED)
78

89
if(NOT TARGET @PROJECT_NAME@)
910
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")

Sofa/Component/Collision/Response/Contact/Sofa.Component.Collision.Response.ContactConfig.cmake.in

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
@PACKAGE_GUARD@
44
@PACKAGE_INIT@
55

6-
find_package(Sofa.Simulation.Core QUIET REQUIRED)
7-
find_package(Sofa.Component.Collision.Geometry QUIET REQUIRED)
8-
find_package(Sofa.Component.Collision.Response.Mapper QUIET REQUIRED)
9-
find_package(Sofa.Component.Constraint.Lagrangian QUIET REQUIRED) # FrictionContact needs UnilateralCC, StickContact BilateralInteractionConstraint
10-
find_package(Sofa.Component.SolidMechanics.Spring QUIET REQUIRED)
6+
find_package(Sofa.Config QUIET REQUIRED)
7+
sofa_find_package(Sofa.Simulation.Core QUIET REQUIRED)
8+
sofa_find_package(Sofa.Component.Collision.Geometry QUIET REQUIRED)
9+
sofa_find_package(Sofa.Component.Collision.Response.Mapper QUIET REQUIRED)
10+
sofa_find_package(Sofa.Component.Constraint.Lagrangian QUIET REQUIRED)
11+
sofa_find_package(Sofa.Component.SolidMechanics.Spring QUIET REQUIRED)
1112

1213
if(NOT TARGET @PROJECT_NAME@)
1314
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")

Sofa/Component/Collision/Response/Mapper/Sofa.Component.Collision.Response.MapperConfig.cmake.in

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
@PACKAGE_GUARD@
44
@PACKAGE_INIT@
55

6-
find_package(Sofa.Simulation.Core QUIET REQUIRED)
7-
find_package(Sofa.Component.Collision.Geometry QUIET REQUIRED)
8-
find_package(Sofa.Component.Mapping.Linear QUIET REQUIRED)
9-
find_package(Sofa.Component.Mapping.NonLinear QUIET REQUIRED)
10-
find_package(Sofa.Component.StateContainer QUIET REQUIRED) # BarycentricMapper needs MechanicalObject
6+
find_package(Sofa.Config QUIET REQUIRED)
7+
sofa_find_package(Sofa.Simulation.Core QUIET REQUIRED)
8+
sofa_find_package(Sofa.Component.Collision.Geometry QUIET REQUIRED)
9+
sofa_find_package(Sofa.Component.Mapping.Linear QUIET REQUIRED)
10+
sofa_find_package(Sofa.Component.Mapping.NonLinear QUIET REQUIRED)
11+
sofa_find_package(Sofa.Component.StateContainer QUIET REQUIRED)
1112

1213
if(NOT TARGET @PROJECT_NAME@)
1314
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")

Sofa/Component/Collision/Response/Sofa.Component.Collision.ResponseConfig.cmake.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55

66
set(SOFACOMPONENTCOLLISIONRESPONSE_TARGETS @SOFACOMPONENTCOLLISIONRESPONSE_TARGETS@)
77

8+
find_package(Sofa.Config QUIET REQUIRED)
89
foreach(target ${SOFACOMPONENTCOLLISIONRESPONSE_TARGETS})
9-
find_package(${target} QUIET REQUIRED)
10+
sofa_find_package(${target} QUIET REQUIRED)
1011
endforeach()
1112

1213
if(NOT TARGET @PROJECT_NAME@)

Sofa/Component/Collision/Sofa.Component.CollisionConfig.cmake.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55

66
set(SOFACOMPONENTCOLLISION_TARGETS @SOFACOMPONENTCOLLISION_TARGETS@)
77

8+
find_package(Sofa.Config QUIET REQUIRED)
89
foreach(target ${SOFACOMPONENTCOLLISION_TARGETS})
9-
find_package(${target} QUIET REQUIRED)
10+
sofa_find_package(${target} QUIET REQUIRED)
1011
endforeach()
1112

1213
if(NOT TARGET @PROJECT_NAME@)

0 commit comments

Comments
 (0)