Salome HOME
Update of CheckDone
[modules/smesh.git] / src / Tools / padder / meshjob / impl / CMakeLists.txt
1 # Copyright (C) 2012-2024  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(${SWIG_USE_FILE})
21
22 # --- options ---
23 INCLUDE_DIRECTORIES(
24   ${CMAKE_CURRENT_SOURCE_DIR}
25   ${KERNEL_INCLUDE_DIRS}
26   ${GEOM_INCLUDE_DIRS}
27   ${OpenCASCADE_INCLUDE_DIR}
28   ${Boost_INCLUDE_DIRS}
29   ${OMNIORB_INCLUDE_DIR}
30   ${LIBXML2_INCLUDE_DIR}
31   ${MEDCOUPLING_INCLUDE_DIRS}
32   ${PROJECT_SOURCE_DIR}/src/SMESH
33   ${PROJECT_SOURCE_DIR}/src/SMESH_I
34   ${PROJECT_SOURCE_DIR}/src/SMESHDS
35   ${PROJECT_SOURCE_DIR}/src/SMDS
36   ${PROJECT_SOURCE_DIR}/src/SMESHUtils
37   ${PROJECT_BINARY_DIR}/src/Tools/padder/meshjob/idl
38   ${PROJECT_BINARY_DIR}/idl
39 )
40
41 # additional preprocessor / compiler flags
42 ADD_DEFINITIONS(
43   ${OpenCASCADE_DEFINITIONS}
44   ${BOOST_DEFINITIONS}
45   ${LIBXML2_DEFINITIONS}
46   ${OMNIORB_DEFINITIONS}
47 )
48
49 IF(WIN32)
50   ADD_DEFINITIONS(-DNOGDI)
51 ENDIF(WIN32)
52
53 # libraries to link to
54 SET(MeshJobManagerEngine_LIBRARIES
55   ${KERNEL_SalomeContainer}
56   ${KERNEL_SalomeKernelHelpers}
57   ${KERNEL_SalomeLifeCycleCORBA}
58   SalomeIDLSPADDER
59 )
60
61 SET(SPADDERPluginTesterEngine_LIBRARIES
62   ${KERNEL_SalomeContainer}
63   ${KERNEL_SalomeKernelHelpers}
64   SMESHimpl
65   SMESHEngine
66   SMESHDS
67   SMDS
68   SMESHUtils
69   SalomeIDLSPADDER
70 )
71
72 # --- headers ---
73
74 # header files / no moc processing
75 SET(MeshJobManagerEngine_HEADERS
76   MeshJobManager_i.hxx
77 )
78
79 # --- sources ---
80
81 # sources / static
82 SET(MeshJobManagerEngine_SOURCES
83   MeshJobManager_i.cxx 
84 )
85
86 SET(SPADDERPluginTesterEngine_SOURCES
87   SPADDERPluginTester_i.hxx
88   SPADDERPluginTester_i.cxx
89 )
90
91 # - swiggy pop
92
93 SET(SMeshPadderHelper_HEADERS SMeshPadderHelper.h SMeshPadderHelper.i)
94 SET(SMeshPadderHelper_SOURCES SMeshPadderHelper.cxx ${SMeshPadderHelper_HEADERS})
95 SET_SOURCE_FILES_PROPERTIES(SMeshPadderHelper.i PROPERTIES CPLUSPLUS ON)
96 SET_SOURCE_FILES_PROPERTIES(SMeshPadderHelper.i PROPERTIES SWIG_FLAGS "-py3")
97 SET_SOURCE_FILES_PROPERTIES(SMeshPadderHelper_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
98 SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/SMeshPadderHelper.py )
99 IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
100   SWIG_ADD_MODULE(SMeshPadderHelper python ${SMeshPadderHelper_SOURCES})
101 ELSE()
102   SWIG_ADD_LIBRARY(SMeshPadderHelper LANGUAGE python SOURCES ${SMeshPadderHelper_SOURCES})
103 ENDIF()
104 SWIG_LINK_LIBRARIES(SMeshPadderHelper ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} MeshJobManagerEngine )
105 SWIG_CHECK_GENERATION(SMeshPadderHelper)
106 IF(WIN32)
107   SET_TARGET_PROPERTIES(_SMeshPadderHelper PROPERTIES DEBUG_OUTPUT_NAME _SMeshPadderHelper_d)
108 ENDIF(WIN32)
109 install(TARGETS _SMeshPadderHelper DESTINATION ${SALOME_INSTALL_LIBS})
110 install(FILES ${SMeshPadderHelper_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
111 SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}"  ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_SMeshPadderHelper_REAL_NAME}")
112
113 # --- rules ---
114
115 ADD_LIBRARY(MeshJobManagerEngine ${MeshJobManagerEngine_SOURCES})
116 TARGET_LINK_LIBRARIES(MeshJobManagerEngine ${MeshJobManagerEngine_LIBRARIES} )
117 INSTALL(TARGETS MeshJobManagerEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
118
119 ADD_LIBRARY(SPADDERPluginTesterEngine ${SPADDERPluginTesterEngine_SOURCES})
120 TARGET_LINK_LIBRARIES(SPADDERPluginTesterEngine ${SPADDERPluginTesterEngine_LIBRARIES} )
121 INSTALL(TARGETS SPADDERPluginTesterEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
122
123
124 INSTALL(FILES ${MeshJobManagerEngine_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})