Salome HOME
Merge remote-tracking branch 'remotes/origin/master' into azv/SketchSolver_Refactoring
[modules/shaper.git] / src / SketchSolver / PlaneGCSSolver / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 FIND_PACKAGE(PlaneGCS REQUIRED)
4
5 SET(PLANEGCSSOLVER_HEADERS
6     PlaneGCSSolver_Defs.h
7     PlaneGCSSolver_Solver.h
8     PlaneGCSSolver_Storage.h
9     PlaneGCSSolver_ConstraintWrapper.h
10     PlaneGCSSolver_EntityWrapper.h
11     PlaneGCSSolver_PointWrapper.h
12     PlaneGCSSolver_ScalarWrapper.h
13     PlaneGCSSolver_AngleWrapper.h
14     PlaneGCSSolver_Tools.h
15 )
16
17 SET(PLANEGCSSOLVER_SOURCES
18     PlaneGCSSolver_Solver.cpp
19     PlaneGCSSolver_Storage.cpp
20     PlaneGCSSolver_ConstraintWrapper.cpp
21     PlaneGCSSolver_EntityWrapper.cpp
22     PlaneGCSSolver_PointWrapper.cpp
23     PlaneGCSSolver_ScalarWrapper.cpp
24     PlaneGCSSolver_AngleWrapper.cpp
25     PlaneGCSSolver_Tools.cpp
26 )
27
28 SET(PLANEGCSSOLVER_BUILDER_HEADERS
29     PlaneGCSSolver_EntityBuilder.h
30     PlaneGCSSolver_AttributeBuilder.h
31     PlaneGCSSolver_FeatureBuilder.h
32     PlaneGCSSolver_EntityDestroyer.h
33 )
34
35 SET(PLANEGCSSOLVER_BUILDER_SOURCES
36     PlaneGCSSolver_AttributeBuilder.cpp
37     PlaneGCSSolver_FeatureBuilder.cpp
38     PlaneGCSSolver_EntityDestroyer.cpp
39 )
40
41 SET(PLANEGCSSOLVER_UPDATER_HEADERS
42     PlaneGCSSolver_Update.h
43     PlaneGCSSolver_UpdateFeature.h
44     PlaneGCSSolver_UpdateCoincidence.h
45 )
46
47 SET(PLANEGCSSOLVER_UPDATER_SOURCES
48     PlaneGCSSolver_UpdateFeature.cpp
49     PlaneGCSSolver_UpdateCoincidence.cpp
50 )
51
52 SET(PROJECT_LIBRARIES
53     ${PLANEGCS_LIBRARIES}
54     ${SKETCHSOLVER_LIBRARIES}
55 )
56
57 INCLUDE_DIRECTORIES(
58     ${Boost_INCLUDE_DIRS}
59     ${EIGEN3_INCLUDE_DIR}
60     ${PLANEGCS_INCLUDE_DIRS}
61     ${PROJECT_SOURCE_DIR}/src/SketchSolver
62     ${PROJECT_SOURCE_DIR}/src/SketchPlugin
63     ${PROJECT_SOURCE_DIR}/src/ModelAPI
64     ${PROJECT_SOURCE_DIR}/src/GeomAPI
65     ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
66 )
67
68 SOURCE_GROUP ("Resource Files" FILES ${SKETCHSOLVER_TEXT_RESOURCES})
69 SOURCE_GROUP ("Header Files\\Builders" FILES ${PLANEGCSSOLVER_BUILDER_HEADERS})
70 SOURCE_GROUP ("Source Files\\Builders" FILES ${PLANEGCSSOLVER_BUILDER_SOURCES})
71 SOURCE_GROUP ("Header Files\\Updaters" FILES ${PLANEGCSSOLVER_UPDATER_HEADERS})
72 SOURCE_GROUP ("Source Files\\Updaters" FILES ${PLANEGCSSOLVER_UPDATER_SOURCES})
73 SOURCE_GROUP ("Header Files\\SketchSolver" FILES ${SKETCHSOLVER_HEADERS})
74 SOURCE_GROUP ("Source Files\\SketchSolver" FILES ${SKETCHSOLVER_SOURCES})
75 SOURCE_GROUP ("Header Files\\Constraints" FILES ${SKETCHSOLVER_CONSTRAINT_HEADERS})
76 SOURCE_GROUP ("Source Files\\Constraints" FILES ${SKETCHSOLVER_CONSTRAINT_SOURCES})
77 SOURCE_GROUP ("Header Files\\PlaneGCS" FILES ${PLANEGCSSOLVER_HEADERS})
78 SOURCE_GROUP ("Source Files\\PlaneGCS" FILES ${PLANEGCSSOLVER_SOURCES})
79
80 SET(PROJECT_HEADERS
81     ${PLANEGCSSOLVER_HEADERS}
82     ${PLANEGCSSOLVER_BUILDER_HEADERS}
83     ${PLANEGCSSOLVER_UPDATER_HEADERS}
84     ${SKETCHSOLVER_HEADERS}
85     ${SKETCHSOLVER_CONSTRAINT_HEADERS}
86 )
87
88 SET(PROJECT_SOURCES
89     ${PLANEGCSSOLVER_SOURCES}
90     ${PLANEGCSSOLVER_BUILDER_SOURCES}
91     ${PLANEGCSSOLVER_UPDATER_SOURCES}
92     ${SKETCHSOLVER_SOURCES}
93     ${SKETCHSOLVER_CONSTRAINT_SOURCES}
94 )
95
96 ADD_LIBRARY(PlaneGCSSolver MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${SKETCHSOLVER_TEXT_RESOURCES})
97 TARGET_LINK_LIBRARIES(PlaneGCSSolver ${PROJECT_LIBRARIES} ${SKETCHSOLVER_LIBRARIES})
98 INSTALL(TARGETS PlaneGCSSolver DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
99 INSTALL(FILES ${SKETCHSOLVER_TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})