1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 # Avoid using SolveSpace
4 SET(NO_SolveSpace TRUE)
6 # Convert files in list to full name
7 FUNCTION(TO_FULL_PATH theFILES)
9 FOREACH(locFile ${${theFILES}})
10 SET(locFiles ${locFiles} ${CMAKE_CURRENT_SOURCE_DIR}/${locFile})
12 SET(${theFILES} ${locFiles} PARENT_SCOPE)
13 ENDFUNCTION(TO_FULL_PATH)
18 SET(SKETCHSOLVER_HEADERS
22 SketchSolver_Builder.h
23 SketchSolver_IConstraintWrapper.h
24 SketchSolver_IEntityWrapper.h
25 SketchSolver_ISolver.h
26 SketchSolver_Manager.h
27 SketchSolver_Storage.h
30 SET(SKETCHSOLVER_CONSTRAINT_HEADERS
31 SketchSolver_Constraint.h
32 SketchSolver_ConstraintAngle.h
33 SketchSolver_ConstraintCoincidence.h
34 SketchSolver_ConstraintCollinear.h
35 SketchSolver_ConstraintDistance.h
36 SketchSolver_ConstraintEqual.h
37 SketchSolver_ConstraintLength.h
38 SketchSolver_ConstraintMiddle.h
39 SketchSolver_ConstraintMirror.h
40 SketchSolver_ConstraintFixed.h
41 SketchSolver_ConstraintTangent.h
42 SketchSolver_ConstraintMulti.h
43 SketchSolver_ConstraintMultiRotation.h
44 SketchSolver_ConstraintMultiTranslation.h
47 SET(SKETCHSOLVER_SOURCES
48 SketchSolver_Group.cpp
49 SketchSolver_Builder.cpp
50 SketchSolver_Manager.cpp
51 SketchSolver_Storage.cpp
54 SET(SKETCHSOLVER_CONSTRAINT_SOURCES
55 SketchSolver_Constraint.cpp
56 SketchSolver_ConstraintAngle.cpp
57 SketchSolver_ConstraintCoincidence.cpp
58 SketchSolver_ConstraintCollinear.cpp
59 SketchSolver_ConstraintDistance.cpp
60 SketchSolver_ConstraintEqual.cpp
61 SketchSolver_ConstraintLength.cpp
62 SketchSolver_ConstraintMiddle.cpp
63 SketchSolver_ConstraintMirror.cpp
64 SketchSolver_ConstraintFixed.cpp
65 SketchSolver_ConstraintTangent.cpp
66 SketchSolver_ConstraintMulti.cpp
67 SketchSolver_ConstraintMultiRotation.cpp
68 SketchSolver_ConstraintMultiTranslation.cpp
71 SET(SKETCHSOLVER_LIBRARIES
79 SET(SKETCHSOLVER_TEXT_RESOURCES
80 SketchSolver_msg_en.ts
84 ${PROJECT_SOURCE_DIR}/src/Config
85 ${PROJECT_SOURCE_DIR}/src/SketchPlugin
86 ${PROJECT_SOURCE_DIR}/src/ModelAPI
87 ${PROJECT_SOURCE_DIR}/src/GeomAPI
88 ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
89 ${PROJECT_SOURCE_DIR}/src/Events
92 #SOURCE_GROUP ("Resource Files" FILES ${SKETCHSOLVER_TEXT_RESOURCES})
94 #ADD_DEFINITIONS(-DSKETCHSOLVER_EXPORTS)
96 #ADD_LIBRARY(SketchSolver SHARED ${SKETCHSOLVER_SOURCES} ${SKETCHSOLVER_CONSTRAINT_SOURCES} ${SKETCHSOLVER_HEADERS} ${SKETCHSOLVER_CONSTRAINT_HEADERS} ${SKETCHSOLVER_TEXT_RESOURCES}
99 #TARGET_LINK_LIBRARIES(SketchSolver ${SKETCHSOLVER_LIBRARIES}
102 #INSTALL(TARGETS SketchSolver DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
103 #INSTALL(FILES ${SKETCHSOLVER_TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
105 # Set full path to source files
106 TO_FULL_PATH(SKETCHSOLVER_SOURCES)
107 TO_FULL_PATH(SKETCHSOLVER_CONSTRAINT_SOURCES)
108 TO_FULL_PATH(SKETCHSOLVER_HEADERS)
109 TO_FULL_PATH(SKETCHSOLVER_CONSTRAINT_HEADERS)
110 TO_FULL_PATH(SKETCHSOLVER_TEXT_RESOURCES)
113 # Include specific solvers
115 SET(SSPath_FOUND FALSE)
117 FIND_FILE(SSPath "SolveSpaceSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
118 STRING(COMPARE NOTEQUAL ${SSPath} "SSPath-NOTFOUND" SSPath_FOUND)
122 SET(GCSPath_FOUND FALSE)
124 FIND_FILE(GCSPath "PlaneGCSSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
125 STRING(COMPARE NOTEQUAL ${GCSPath} "GCSPath-NOTFOUND" GCSPath_FOUND)
128 IF(${SSPath_FOUND} OR ${GCSPath_FOUND})
130 MESSAGE(STATUS "SolveSpaceSolver plugin found in ${SSPath}")
131 ADD_SUBDIRECTORY(SolveSpaceSolver)
134 MESSAGE(STATUS "PlaneGCSSolver plugin found in ${GCSPath}")
135 ADD_SUBDIRECTORY(PlaneGCSSolver)
138 MESSAGE(WARNING "No sketch solver plugin is found")