Salome HOME
Flexible behavior of Dump feature configured in CMake
[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 )
46
47 SET(PROJECT_SOURCES
48     ExchangePlugin_Plugin.cpp
49     ExchangePlugin_ImportFeature.cpp
50     ExchangePlugin_ExportFeature.cpp
51     ExchangePlugin_Validators.cpp
52     ExchangePlugin_Tools.cpp
53     ExchangePlugin_Dump.cpp
54     ExchangePlugin_ImportPart.cpp
55     ExchangePlugin_ExportPart.cpp
56 )
57
58 SET(XML_RESOURCES
59     export_widget.xml
60     plugin-Exchange.xml
61 )
62
63 SET(TEXT_RESOURCES
64     ExchangePlugin_msg_en.ts
65     ExchangePlugin_msg_fr.ts
66 )
67
68 SET(PROJECT_LIBRARIES
69     Events
70     Config
71     ModelAPI
72     ModelHighAPI
73     GeomAPI
74     GeomAlgoAPI
75     GeomValidators
76     XAOShaper
77 )
78 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
79
80 # default dump approaches (will be set if not initialized)
81 SET(PYTHONDUMP_NAMING ON  CACHE BOOL "Dump named references to shapes")
82 SET(PYTHONDUMP_GEO    ON  CACHE BOOL "Dump references to shapes by the geometric properties")
83 SET(PYTHONDUMP_WEAK   OFF CACHE BOOL "Dump weak named references to shapes")
84
85 ADD_DEFINITIONS(-DEXCHANGEPLUGIN_EXPORTS)
86 IF(${PYTHONDUMP_NAMING})
87   ADD_DEFINITIONS(-DEXCHANGEPLUGIN_DUMP_NAMING)
88 ENDIF()
89 IF(${PYTHONDUMP_GEO})
90   ADD_DEFINITIONS(-DEXCHANGEPLUGIN_DUMP_GEO)
91 ENDIF()
92 IF(${PYTHONDUMP_WEAK})
93   ADD_DEFINITIONS(-DEXCHANGEPLUGIN_DUMP_WEAK)
94 ENDIF()
95 ADD_LIBRARY(ExchangePlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
96
97 TARGET_LINK_LIBRARIES(ExchangePlugin ${PROJECT_LIBRARIES})
98
99 INSTALL(TARGETS ExchangePlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
100 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
101 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Exchange)
102 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
103
104 ADD_UNIT_TESTS(
105   TestImport.py
106   TestExport.py
107   Test2290.py
108   Test2459.py
109   TestExportToXAOWithFields.py
110   TestExportToXAOWithGroupNotUpdated.py
111   TestExport_FiniteValidator.py
112   TestExportPart_Failure_1.py
113   TestExportPart_Failure_2.py
114   TestExportPart_Failure_3.py
115   TestExportPart_FullPartSet.py
116   TestExportPart_FullPart_1.py
117   TestExportPart_FullPart_2.py
118   TestExportPart_PartSet.py
119   TestExportPart_Results_1.py
120   TestExportPart_Results_2.py
121   TestExportPart_Results_3.py
122   TestExportPart_Results_4.py
123   TestExportPart_Results_5.py
124   TestExportPart_Results_6.py
125   TestExportPart_Results_7.py
126   TestExportPart_Results_8.py
127   TestImportPart_AfterCurrent_1.py
128   TestImportPart_AfterCurrent_2.py
129   TestImportPart_AfterLast_1.py
130   TestImportPart_AfterLast_2.py
131   TestImportPart_AfterLast_3.py
132   TestImportPart_AfterLast_4.py
133   TestImportPart_AfterLast_5.py
134   TestImportPart_AfterLast_6.py
135   TestImportPart_Construction_1.py
136   TestImportPart_Construction_2.py
137   TestImportPart_Construction_3.py
138   TestImportPart_Construction_4.py
139   TestImportPart_Multiple.py
140   TestImportPart_ToEmptyPart.py
141   TestImportPart_ToEmptyPartSet.py
142 )