Salome HOME
updated copyright message
[modules/shaper.git] / src / BuildPlugin / CMakeLists.txt
1 # Copyright (C) 2014-2023  CEA, EDF
2 #
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.
7 #
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.
12 #
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
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 INCLUDE(Common)
21 INCLUDE(UnitTest)
22
23 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/Events
24                     ${PROJECT_SOURCE_DIR}/src/Config
25                     ${PROJECT_SOURCE_DIR}/src/ModelAPI
26                     ${PROJECT_SOURCE_DIR}/src/Locale
27                     ${PROJECT_SOURCE_DIR}/src/GeomAPI
28                     ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
29                     ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
30                     ${PROJECT_SOURCE_DIR}/src/GeomValidators
31                     ${PROJECT_SOURCE_DIR}/src/SketchPlugin
32                     ${PROJECT_SOURCE_DIR}/src/InitializationPlugin
33                     ${SUIT_INCLUDE}
34                     ${PYTHON_INCLUDE_DIR}
35 )
36
37 SET(PROJECT_HEADERS
38     BuildPlugin.h
39     BuildPlugin_Plugin.h
40     BuildPlugin_Shape.h
41     BuildPlugin_Vertex.h
42     BuildPlugin_Edge.h
43     BuildPlugin_Wire.h
44     BuildPlugin_Polyline.h
45     BuildPlugin_Interpolation.h
46     BuildPlugin_Face.h
47     BuildPlugin_Shell.h
48     BuildPlugin_Solid.h
49     BuildPlugin_CompSolid.h
50     BuildPlugin_Compound.h
51     BuildPlugin_SubShapes.h
52     BuildPlugin_Filling.h
53     BuildPlugin_Validators.h
54 )
55
56 SET(PROJECT_SOURCES
57     BuildPlugin_Plugin.cpp
58     BuildPlugin_Shape.cpp
59     BuildPlugin_Vertex.cpp
60     BuildPlugin_Edge.cpp
61     BuildPlugin_Wire.cpp
62     BuildPlugin_Polyline.cpp
63     BuildPlugin_Interpolation.cpp
64     BuildPlugin_Face.cpp
65     BuildPlugin_Shell.cpp
66     BuildPlugin_Solid.cpp
67     BuildPlugin_CompSolid.cpp
68     BuildPlugin_Compound.cpp
69     BuildPlugin_SubShapes.cpp
70     BuildPlugin_Filling.cpp
71     BuildPlugin_Validators.cpp
72 )
73
74 SET(XML_RESOURCES
75     plugin-Build.xml
76     vertex_widget.xml
77     edge_widget.xml
78     wire_widget.xml
79     polyline_widget.xml
80     interpolation_widget.xml
81     face_widget.xml
82     shell_widget.xml
83     solid_widget.xml
84     compsolid_widget.xml
85     compound_widget.xml
86     subshapes_widget.xml
87     filling_widget.xml
88 )
89
90 SET(TEXT_RESOURCES
91     BuildPlugin_msg_en.ts
92     BuildPlugin_msg_fr.ts
93 )
94
95 SOURCE_GROUP ("XML Files" FILES ${XML_RESOURCES})
96 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
97
98 SET(PROJECT_LIBRARIES
99     Events
100     Config
101     ModelAPI
102     GeomAPI
103     GeomAlgoAPI
104     GeomValidators
105     ${PyInterp}
106     ${PYTHON_LIBRARIES}
107 )
108
109 ADD_DEFINITIONS(-DBUILDPLUGIN_EXPORTS)
110 ADD_LIBRARY(BuildPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
111
112 TARGET_LINK_LIBRARIES(BuildPlugin ${PROJECT_LIBRARIES})
113
114 INSTALL(TARGETS BuildPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
115 INSTALL(FILES ${XML_RESOURCES} ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
116 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Build)
117
118 include(tests.set)
119
120 ADD_UNIT_TESTS(${TEST_NAMES})
121
122 if(${HAVE_SALOME})
123   enable_testing()
124   set(TEST_INSTALL_DIRECTORY "${SALOME_SHAPER_INSTALL_TESTS}/BuildPlugin")
125   
126   install(FILES CTestTestfileInstall.cmake
127   DESTINATION ${TEST_INSTALL_DIRECTORY}
128   RENAME CTestTestfile.cmake)
129   install(FILES tests.set DESTINATION ${TEST_INSTALL_DIRECTORY})
130   
131   set(TMP_TESTS_NAMES)
132   foreach(tfile ${TEST_NAMES})
133     list(APPEND TMP_TESTS_NAMES "Test/${tfile}")
134   endforeach(tfile ${TEST_NAMES})
135   
136   install(FILES ${TMP_TESTS_NAMES} DESTINATION ${TEST_INSTALL_DIRECTORY})
137 endif(${HAVE_SALOME})