Salome HOME
Merge remote-tracking branch 'origin/EDF_IMPROVEMENTS_2020'
[modules/shaper.git] / src / ExchangePlugin / CMakeLists.txt
1 # Copyright (C) 2014-2019  CEA/DEN, EDF R&D
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/ModelHighAPI
27                     ${PROJECT_SOURCE_DIR}/src/GeomAPI
28                     ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
29                     ${PROJECT_SOURCE_DIR}/src/GeomValidators
30                     ${PROJECT_SOURCE_DIR}/src/XAO
31                     ${PROJECT_SOURCE_DIR}/src/ConstructionPlugin
32                     ${PROJECT_SOURCE_DIR}/src/PartSetPlugin
33 )
34
35 SET(PROJECT_HEADERS
36     ExchangePlugin.h
37     ExchangePlugin_Plugin.h
38     ExchangePlugin_ImportFeature.h
39     ExchangePlugin_ExportFeature.h
40     ExchangePlugin_Validators.h
41     ExchangePlugin_Tools.h
42     ExchangePlugin_Dump.h
43     ExchangePlugin_ImportPart.h
44     ExchangePlugin_ExportPart.h
45     ExchangePlugin_Import.h
46 )
47
48 SET(PROJECT_SOURCES
49     ExchangePlugin_Plugin.cpp
50     ExchangePlugin_ImportFeature.cpp
51     ExchangePlugin_ExportFeature.cpp
52     ExchangePlugin_Validators.cpp
53     ExchangePlugin_Tools.cpp
54     ExchangePlugin_Dump.cpp
55     ExchangePlugin_ImportPart.cpp
56     ExchangePlugin_ExportPart.cpp
57     ExchangePlugin_Import.cpp
58 )
59
60 SET(XML_RESOURCES
61     export_widget.xml
62     plugin-Exchange.xml
63 )
64
65 SET(TEXT_RESOURCES
66     ExchangePlugin_msg_en.ts
67     ExchangePlugin_msg_fr.ts
68 )
69
70 SET(PROJECT_LIBRARIES
71     Events
72     Config
73     ModelAPI
74     ModelHighAPI
75     GeomAPI
76     GeomAlgoAPI
77     GeomValidators
78     XAOShaper
79 )
80 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
81
82 # default dump approaches (will be set if not initialized)
83 SET(PYTHONDUMP_NAMING ON  CACHE BOOL "Dump named references to shapes")
84 SET(PYTHONDUMP_GEO    ON  CACHE BOOL "Dump references to shapes by the geometric properties")
85 SET(PYTHONDUMP_WEAK   OFF CACHE BOOL "Dump weak named references to shapes")
86
87 ADD_DEFINITIONS(-DEXCHANGEPLUGIN_EXPORTS)
88 IF(${PYTHONDUMP_NAMING})
89   ADD_DEFINITIONS(-DEXCHANGEPLUGIN_DUMP_NAMING)
90 ENDIF()
91 IF(${PYTHONDUMP_GEO})
92   ADD_DEFINITIONS(-DEXCHANGEPLUGIN_DUMP_GEO)
93 ENDIF()
94 IF(${PYTHONDUMP_WEAK})
95   ADD_DEFINITIONS(-DEXCHANGEPLUGIN_DUMP_WEAK)
96 ENDIF()
97 ADD_LIBRARY(ExchangePlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
98
99 TARGET_LINK_LIBRARIES(ExchangePlugin ${PROJECT_LIBRARIES})
100
101 INSTALL(TARGETS ExchangePlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
102 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
103 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Exchange)
104 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
105
106 ADD_UNIT_TESTS(
107   TestImport.py
108   TestExport.py
109   Test2290.py
110   Test2459.py
111   Test18710.py
112   TestExportToXAOWithFields.py
113   TestExportToXAOWithGroupNotUpdated.py
114   TestExport_FiniteValidator.py
115   TestExportPart_Failure_1.py
116   TestExportPart_Failure_2.py
117   TestExportPart_Failure_3.py
118   TestExportPart_FullPartSet.py
119   TestExportPart_FullPart_1.py
120   TestExportPart_FullPart_2.py
121   TestExportPart_PartSet.py
122   TestExportPart_Results_1.py
123   TestExportPart_Results_2.py
124   TestExportPart_Results_3.py
125   TestExportPart_Results_4.py
126   TestExportPart_Results_5.py
127   TestExportPart_Results_6.py
128   TestExportPart_Results_7.py
129   TestExportPart_Results_8.py
130   TestImportPart_AfterCurrent_1.py
131   TestImportPart_AfterCurrent_2.py
132   TestImportPart_AfterLast_1.py
133   TestImportPart_AfterLast_2.py
134   TestImportPart_AfterLast_3.py
135   TestImportPart_AfterLast_4.py
136   TestImportPart_AfterLast_5.py
137   TestImportPart_AfterLast_6.py
138   TestImportPart_Construction_1.py
139   TestImportPart_Construction_2.py
140   TestImportPart_Construction_3.py
141   TestImportPart_Construction_4.py
142   TestImportPart_Multiple.py
143   TestImportPart_ToEmptyPart.py
144   TestImportPart_ToEmptyPartSet.py
145 )