]> SALOME platform Git repositories - modules/shaper.git/blob - src/SketchSolver/CMakeLists.txt
Salome HOME
First phase of SketchSolver refactoring
[modules/shaper.git] / src / SketchSolver / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 INCLUDE(Common)
4
5 SET(PROJECT_HEADERS
6     SketchSolver.h
7     SketchSolver_Error.h
8     SketchSolver_Constraint.h
9     SketchSolver_ConstraintAngle.h
10     SketchSolver_ConstraintCoincidence.h
11     SketchSolver_ConstraintDistance.h
12     SketchSolver_ConstraintEqual.h
13     SketchSolver_ConstraintLength.h
14     SketchSolver_ConstraintMirror.h
15     SketchSolver_ConstraintFixed.h
16     SketchSolver_ConstraintTangent.h
17     SketchSolver_ConstraintMulti.h
18     SketchSolver_ConstraintMultiRotation.h
19     SketchSolver_ConstraintMultiTranslation.h
20     SketchSolver_ConstraintMovement.h
21 #    SketchSolver_ConstraintParametric.h
22     SketchSolver_Group.h
23     SketchSolver_Builder.h
24     SketchSolver_IConstraintWrapper.h
25     SketchSolver_IEntityWrapper.h
26     SketchSolver_IParameterWrapper.h
27     SketchSolver_ISolver.h
28     SketchSolver_Manager.h
29     SketchSolver_Storage.h
30 )
31
32 SET(PROJECT_SOURCES
33     SketchSolver_Constraint.cpp
34     SketchSolver_ConstraintAngle.cpp
35     SketchSolver_ConstraintCoincidence.cpp
36     SketchSolver_ConstraintDistance.cpp
37     SketchSolver_ConstraintEqual.cpp
38     SketchSolver_ConstraintLength.cpp
39     SketchSolver_ConstraintMirror.cpp
40     SketchSolver_ConstraintFixed.cpp
41     SketchSolver_ConstraintTangent.cpp
42     SketchSolver_ConstraintMulti.cpp
43     SketchSolver_ConstraintMultiRotation.cpp
44     SketchSolver_ConstraintMultiTranslation.cpp
45     SketchSolver_ConstraintMovement.cpp
46 #    SketchSolver_ConstraintParametric.cpp
47     SketchSolver_Group.cpp
48     SketchSolver_Builder.cpp
49     SketchSolver_Manager.cpp
50     SketchSolver_Storage.cpp
51 )
52
53 SET(PROJECT_LIBRARIES
54     Config
55     Events
56     ModelAPI
57     GeomAPI
58 )
59
60 INCLUDE_DIRECTORIES(
61     ${PROJECT_SOURCE_DIR}/src/Config
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     ${PROJECT_SOURCE_DIR}/src/Events
67 )
68
69 ADD_DEFINITIONS(-DSKETCHSOLVER_EXPORTS)
70
71 ADD_LIBRARY(SketchSolver SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS}
72 )
73
74 TARGET_LINK_LIBRARIES(SketchSolver ${PROJECT_LIBRARIES}
75 )
76
77 INSTALL(TARGETS SketchSolver DESTINATION plugins)
78
79
80 # Include specific solvers
81 FIND_FILE(SSPath "SolveSpaceSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
82 STRING(COMPARE NOTEQUAL ${SSPath} "SSPath-NOTFOUND" SSPath_FOUND)
83 FIND_FILE(GCSPath "PlainGCSSolver/CMakeLists.txt" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
84 STRING(COMPARE NOTEQUAL ${GCSPath} "GCSPath-NOTFOUND" GCSPath_FOUND)
85
86 IF(${SSPath_FOUND} OR ${GCSPath_FOUND})
87   IF(${SSPath_FOUND})
88     MESSAGE(STATUS "SolveSpaceSolver plugin found in ${SSPath}")
89     ADD_SUBDIRECTORY(SolveSpaceSolver)
90   ENDIF()
91   IF(${GCSPath_FOUND})
92     MESSAGE(STATUS "PlainGCSSolver plugin found in ${GCSPath}")
93     ADD_SUBDIRECTORY(PlainGCSSolver)
94   ENDIF()
95 ELSE()
96   MESSAGE(WARNING "No sketch solver plugin is found")
97 ENDIF()