Salome HOME
Simplify sketcher model. Remove obsolete files and classes.
[modules/shaper.git] / src / SketchSolver / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 # Avoid using SolveSpace
4 SET(NO_SolveSpace TRUE)
5
6 # Convert files in list to full name
7 FUNCTION(TO_FULL_PATH theFILES)
8   SET(locFiles "")
9   FOREACH(locFile ${${theFILES}})
10     SET(locFiles ${locFiles} ${CMAKE_CURRENT_SOURCE_DIR}/${locFile})
11   ENDFOREACH()
12   SET(${theFILES} ${locFiles} PARENT_SCOPE)
13 ENDFUNCTION(TO_FULL_PATH)
14
15
16 INCLUDE(Common)
17
18 SET(SKETCHSOLVER_HEADERS
19     SketchSolver.h
20     SketchSolver_Error.h
21     SketchSolver_Group.h
22     SketchSolver_IConstraintWrapper.h
23     SketchSolver_IEntityWrapper.h
24     SketchSolver_Manager.h
25     SketchSolver_Storage.h
26 )
27
28 SET(SKETCHSOLVER_CONSTRAINT_HEADERS
29     SketchSolver_Constraint.h
30     SketchSolver_ConstraintAngle.h
31     SketchSolver_ConstraintCoincidence.h
32     SketchSolver_ConstraintCollinear.h
33     SketchSolver_ConstraintDistance.h
34     SketchSolver_ConstraintEqual.h
35     SketchSolver_ConstraintLength.h
36     SketchSolver_ConstraintMiddle.h
37     SketchSolver_ConstraintMirror.h
38     SketchSolver_ConstraintFixed.h
39     SketchSolver_ConstraintTangent.h
40     SketchSolver_ConstraintMulti.h
41     SketchSolver_ConstraintMultiRotation.h
42     SketchSolver_ConstraintMultiTranslation.h
43 )
44
45 SET(SKETCHSOLVER_SOURCES
46     SketchSolver_Group.cpp
47     SketchSolver_Manager.cpp
48     SketchSolver_Storage.cpp
49 )
50
51 SET(SKETCHSOLVER_CONSTRAINT_SOURCES
52     SketchSolver_Constraint.cpp
53     SketchSolver_ConstraintAngle.cpp
54     SketchSolver_ConstraintCoincidence.cpp
55     SketchSolver_ConstraintCollinear.cpp
56     SketchSolver_ConstraintDistance.cpp
57     SketchSolver_ConstraintEqual.cpp
58     SketchSolver_ConstraintLength.cpp
59     SketchSolver_ConstraintMiddle.cpp
60     SketchSolver_ConstraintMirror.cpp
61     SketchSolver_ConstraintFixed.cpp
62     SketchSolver_ConstraintTangent.cpp
63     SketchSolver_ConstraintMulti.cpp
64     SketchSolver_ConstraintMultiRotation.cpp
65     SketchSolver_ConstraintMultiTranslation.cpp
66 )
67
68 SET(SKETCHSOLVER_LIBRARIES
69     Config
70     Events
71     ModelAPI
72     GeomAPI
73     GeomDataAPI
74 )
75
76 SET(SKETCHSOLVER_TEXT_RESOURCES
77     SketchSolver_msg_en.ts
78 )
79
80 INCLUDE_DIRECTORIES(
81     ${PROJECT_SOURCE_DIR}/src/Config
82     ${PROJECT_SOURCE_DIR}/src/SketchPlugin
83     ${PROJECT_SOURCE_DIR}/src/ModelAPI
84     ${PROJECT_SOURCE_DIR}/src/GeomAPI
85     ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
86     ${PROJECT_SOURCE_DIR}/src/Events
87 )
88
89 #SOURCE_GROUP ("Resource Files" FILES ${SKETCHSOLVER_TEXT_RESOURCES})
90 #
91 #ADD_DEFINITIONS(-DSKETCHSOLVER_EXPORTS)
92 #
93 #ADD_LIBRARY(SketchSolver SHARED ${SKETCHSOLVER_SOURCES} ${SKETCHSOLVER_CONSTRAINT_SOURCES} ${SKETCHSOLVER_HEADERS} ${SKETCHSOLVER_CONSTRAINT_HEADERS} ${SKETCHSOLVER_TEXT_RESOURCES}
94 #)
95 #
96 #TARGET_LINK_LIBRARIES(SketchSolver ${SKETCHSOLVER_LIBRARIES}
97 #)
98 #
99 #INSTALL(TARGETS SketchSolver DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
100 #INSTALL(FILES ${SKETCHSOLVER_TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
101
102 # Set full path to source files
103 TO_FULL_PATH(SKETCHSOLVER_SOURCES)
104 TO_FULL_PATH(SKETCHSOLVER_CONSTRAINT_SOURCES)
105 TO_FULL_PATH(SKETCHSOLVER_HEADERS)
106 TO_FULL_PATH(SKETCHSOLVER_CONSTRAINT_HEADERS)
107 TO_FULL_PATH(SKETCHSOLVER_TEXT_RESOURCES)
108
109
110 # Include specific solvers
111 IF(NO_SolveSpace)
112   SET(SSPath_FOUND FALSE)
113 ELSE()
114   FIND_FILE(SSPath "SolveSpaceSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
115   STRING(COMPARE NOTEQUAL ${SSPath} "SSPath-NOTFOUND" SSPath_FOUND)
116 ENDIF()
117
118 IF(NO_PlaneGCS)
119   SET(GCSPath_FOUND FALSE)
120 ELSE()
121   FIND_FILE(GCSPath "PlaneGCSSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
122   STRING(COMPARE NOTEQUAL ${GCSPath} "GCSPath-NOTFOUND" GCSPath_FOUND)
123 ENDIF()
124
125 IF(${SSPath_FOUND} OR ${GCSPath_FOUND})
126   IF(${SSPath_FOUND})
127     MESSAGE(STATUS "SolveSpaceSolver plugin found in ${SSPath}")
128     ADD_SUBDIRECTORY(SolveSpaceSolver)
129   ENDIF()
130   IF(${GCSPath_FOUND})
131     MESSAGE(STATUS "PlaneGCSSolver plugin found in ${GCSPath}")
132     ADD_SUBDIRECTORY(PlaneGCSSolver)
133   ENDIF()
134 ELSE()
135   MESSAGE(WARNING "No sketch solver plugin is found")
136 ENDIF()