]> SALOME platform Git repositories - modules/shaper.git/blob - src/SketchSolver/CMakeLists.txt
Salome HOME
Task 2.4. Ability to modify the radius of circles and arcs of circle with the mouse
[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_Error.h
20     SketchSolver_Group.h
21     SketchSolver_Manager.h
22     SketchSolver_Storage.h
23 )
24
25 SET(SKETCHSOLVER_CONSTRAINT_HEADERS
26     SketchSolver_Constraint.h
27     SketchSolver_ConstraintAngle.h
28     SketchSolver_ConstraintCoincidence.h
29     SketchSolver_ConstraintCollinear.h
30     SketchSolver_ConstraintDistance.h
31     SketchSolver_ConstraintEqual.h
32     SketchSolver_ConstraintLength.h
33     SketchSolver_ConstraintMiddle.h
34     SketchSolver_ConstraintMirror.h
35     SketchSolver_ConstraintFixed.h
36     SketchSolver_ConstraintTangent.h
37     SketchSolver_ConstraintMulti.h
38     SketchSolver_ConstraintMultiRotation.h
39     SketchSolver_ConstraintMultiTranslation.h
40     SketchSolver_ConstraintMovement.h
41 )
42
43 SET(SKETCHSOLVER_SOURCES
44     SketchSolver_Group.cpp
45     SketchSolver_Manager.cpp
46     SketchSolver_Storage.cpp
47 )
48
49 SET(SKETCHSOLVER_CONSTRAINT_SOURCES
50     SketchSolver_Constraint.cpp
51     SketchSolver_ConstraintAngle.cpp
52     SketchSolver_ConstraintCoincidence.cpp
53     SketchSolver_ConstraintCollinear.cpp
54     SketchSolver_ConstraintDistance.cpp
55     SketchSolver_ConstraintEqual.cpp
56     SketchSolver_ConstraintLength.cpp
57     SketchSolver_ConstraintMiddle.cpp
58     SketchSolver_ConstraintMirror.cpp
59     SketchSolver_ConstraintFixed.cpp
60     SketchSolver_ConstraintTangent.cpp
61     SketchSolver_ConstraintMulti.cpp
62     SketchSolver_ConstraintMultiRotation.cpp
63     SketchSolver_ConstraintMultiTranslation.cpp
64     SketchSolver_ConstraintMovement.cpp
65 )
66
67 SET(SKETCHSOLVER_LIBRARIES
68     Config
69     Events
70     ModelAPI
71     GeomAPI
72     GeomDataAPI
73 )
74
75 SET(SKETCHSOLVER_TEXT_RESOURCES
76     SketchSolver_msg_en.ts
77 )
78
79 INCLUDE_DIRECTORIES(
80     ${PROJECT_SOURCE_DIR}/src/Config
81     ${PROJECT_SOURCE_DIR}/src/SketchPlugin
82     ${PROJECT_SOURCE_DIR}/src/ModelAPI
83     ${PROJECT_SOURCE_DIR}/src/GeomAPI
84     ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
85     ${PROJECT_SOURCE_DIR}/src/Events
86 )
87
88 #SOURCE_GROUP ("Resource Files" FILES ${SKETCHSOLVER_TEXT_RESOURCES})
89 #
90 #ADD_DEFINITIONS(-DSKETCHSOLVER_EXPORTS)
91 #
92 #ADD_LIBRARY(SketchSolver SHARED ${SKETCHSOLVER_SOURCES} ${SKETCHSOLVER_CONSTRAINT_SOURCES} ${SKETCHSOLVER_HEADERS} ${SKETCHSOLVER_CONSTRAINT_HEADERS} ${SKETCHSOLVER_TEXT_RESOURCES}
93 #)
94 #
95 #TARGET_LINK_LIBRARIES(SketchSolver ${SKETCHSOLVER_LIBRARIES}
96 #)
97 #
98 #INSTALL(TARGETS SketchSolver DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
99 #INSTALL(FILES ${SKETCHSOLVER_TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
100
101 # Set full path to source files
102 TO_FULL_PATH(SKETCHSOLVER_SOURCES)
103 TO_FULL_PATH(SKETCHSOLVER_CONSTRAINT_SOURCES)
104 TO_FULL_PATH(SKETCHSOLVER_HEADERS)
105 TO_FULL_PATH(SKETCHSOLVER_CONSTRAINT_HEADERS)
106 TO_FULL_PATH(SKETCHSOLVER_TEXT_RESOURCES)
107
108
109 # Include specific solvers
110 IF(NO_SolveSpace)
111   SET(SSPath_FOUND FALSE)
112 ELSE()
113   FIND_FILE(SSPath "SolveSpaceSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
114   STRING(COMPARE NOTEQUAL ${SSPath} "SSPath-NOTFOUND" SSPath_FOUND)
115 ENDIF()
116
117 IF(NO_PlaneGCS)
118   SET(GCSPath_FOUND FALSE)
119 ELSE()
120   FIND_FILE(GCSPath "PlaneGCSSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
121   STRING(COMPARE NOTEQUAL ${GCSPath} "GCSPath-NOTFOUND" GCSPath_FOUND)
122 ENDIF()
123
124 IF(${SSPath_FOUND} OR ${GCSPath_FOUND})
125   IF(${SSPath_FOUND})
126     MESSAGE(STATUS "SolveSpaceSolver plugin found in ${SSPath}")
127     ADD_SUBDIRECTORY(SolveSpaceSolver)
128   ENDIF()
129   IF(${GCSPath_FOUND})
130     MESSAGE(STATUS "PlaneGCSSolver plugin found in ${GCSPath}")
131     ADD_SUBDIRECTORY(PlaneGCSSolver)
132   ENDIF()
133 ELSE()
134   MESSAGE(WARNING "No sketch solver plugin is found")
135 ENDIF()