1 # Copyright (C) 2014-2019 CEA/DEN, EDF R&D
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 # Avoid using SolveSpace
21 SET(NO_SolveSpace TRUE)
23 # Convert files in list to full name
24 FUNCTION(TO_FULL_PATH theFILES)
26 FOREACH(locFile ${${theFILES}})
27 SET(locFiles ${locFiles} ${CMAKE_CURRENT_SOURCE_DIR}/${locFile})
29 SET(${theFILES} ${locFiles} PARENT_SCOPE)
30 ENDFUNCTION(TO_FULL_PATH)
35 SET(SKETCHSOLVER_HEADERS
38 SketchSolver_Manager.h
39 SketchSolver_Storage.h
42 SET(SKETCHSOLVER_CONSTRAINT_HEADERS
43 SketchSolver_Constraint.h
44 SketchSolver_ConstraintAngle.h
45 SketchSolver_ConstraintCoincidence.h
46 SketchSolver_ConstraintCollinear.h
47 SketchSolver_ConstraintDistance.h
48 SketchSolver_ConstraintEqual.h
49 SketchSolver_ConstraintLength.h
50 SketchSolver_ConstraintMiddle.h
51 SketchSolver_ConstraintMirror.h
52 SketchSolver_ConstraintFixed.h
53 SketchSolver_ConstraintPerpendicular.h
54 SketchSolver_ConstraintTangent.h
55 SketchSolver_ConstraintMulti.h
56 SketchSolver_ConstraintMultiRotation.h
57 SketchSolver_ConstraintMultiTranslation.h
58 SketchSolver_ConstraintMovement.h
61 SET(SKETCHSOLVER_SOURCES
62 SketchSolver_Group.cpp
63 SketchSolver_Manager.cpp
64 SketchSolver_Storage.cpp
67 SET(SKETCHSOLVER_CONSTRAINT_SOURCES
68 SketchSolver_Constraint.cpp
69 SketchSolver_ConstraintAngle.cpp
70 SketchSolver_ConstraintCoincidence.cpp
71 SketchSolver_ConstraintCollinear.cpp
72 SketchSolver_ConstraintDistance.cpp
73 SketchSolver_ConstraintEqual.cpp
74 SketchSolver_ConstraintLength.cpp
75 SketchSolver_ConstraintMiddle.cpp
76 SketchSolver_ConstraintMirror.cpp
77 SketchSolver_ConstraintFixed.cpp
78 SketchSolver_ConstraintPerpendicular.cpp
79 SketchSolver_ConstraintTangent.cpp
80 SketchSolver_ConstraintMulti.cpp
81 SketchSolver_ConstraintMultiRotation.cpp
82 SketchSolver_ConstraintMultiTranslation.cpp
83 SketchSolver_ConstraintMovement.cpp
86 SET(SKETCHSOLVER_LIBRARIES
94 SET(SKETCHSOLVER_TEXT_RESOURCES
95 SketchSolver_msg_en.ts
99 ${PROJECT_SOURCE_DIR}/src/Config
100 ${PROJECT_SOURCE_DIR}/src/SketchPlugin
101 ${PROJECT_SOURCE_DIR}/src/ModelAPI
102 ${PROJECT_SOURCE_DIR}/src/GeomAPI
103 ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
104 ${PROJECT_SOURCE_DIR}/src/Events
107 #SOURCE_GROUP ("Resource Files" FILES ${SKETCHSOLVER_TEXT_RESOURCES})
109 #ADD_DEFINITIONS(-DSKETCHSOLVER_EXPORTS)
111 #ADD_LIBRARY(SketchSolver SHARED ${SKETCHSOLVER_SOURCES} ${SKETCHSOLVER_CONSTRAINT_SOURCES} ${SKETCHSOLVER_HEADERS} ${SKETCHSOLVER_CONSTRAINT_HEADERS} ${SKETCHSOLVER_TEXT_RESOURCES}
114 #TARGET_LINK_LIBRARIES(SketchSolver ${SKETCHSOLVER_LIBRARIES}
117 #INSTALL(TARGETS SketchSolver DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
118 #INSTALL(FILES ${SKETCHSOLVER_TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
120 # Set full path to source files
121 TO_FULL_PATH(SKETCHSOLVER_SOURCES)
122 TO_FULL_PATH(SKETCHSOLVER_CONSTRAINT_SOURCES)
123 TO_FULL_PATH(SKETCHSOLVER_HEADERS)
124 TO_FULL_PATH(SKETCHSOLVER_CONSTRAINT_HEADERS)
125 TO_FULL_PATH(SKETCHSOLVER_TEXT_RESOURCES)
128 # Include specific solvers
130 SET(SSPath_FOUND FALSE)
132 FIND_FILE(SSPath "SolveSpaceSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
133 STRING(COMPARE NOTEQUAL ${SSPath} "SSPath-NOTFOUND" SSPath_FOUND)
137 SET(GCSPath_FOUND FALSE)
139 FIND_FILE(GCSPath "PlaneGCSSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
140 STRING(COMPARE NOTEQUAL ${GCSPath} "GCSPath-NOTFOUND" GCSPath_FOUND)
143 IF(${SSPath_FOUND} OR ${GCSPath_FOUND})
145 MESSAGE(STATUS "SolveSpaceSolver plugin found in ${SSPath}")
146 ADD_SUBDIRECTORY(SolveSpaceSolver)
149 MESSAGE(STATUS "PlaneGCSSolver plugin found in ${GCSPath}")
150 ADD_SUBDIRECTORY(PlaneGCSSolver)
153 MESSAGE(WARNING "No sketch solver plugin is found")