Salome HOME
Porting SALOME SMESH module to the CMake build system: initial version.
[modules/smesh.git] / src / DriverMED / CMakeLists.txt
diff --git a/src/DriverMED/CMakeLists.txt b/src/DriverMED/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8d4d58a
--- /dev/null
@@ -0,0 +1,98 @@
+# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+# --- options ---
+# additional include directories
+INCLUDE_DIRECTORIES(
+  ${HDF5_INCLUDE_DIRS}
+  ${KERNEL_INCLUDE_DIRS}
+  ${CAS_INCLUDE_DIRS}
+  ${VTK_INCLUDE_DIRS}
+  ${Boost_INCLUDE_DIRS}
+  ${PROJECT_SOURCE_DIR}/src/MEDWrapper/Base
+  ${PROJECT_SOURCE_DIR}/src/MEDWrapper/Factory
+  ${PROJECT_SOURCE_DIR}/src/Driver
+  ${PROJECT_SOURCE_DIR}/src/SMDS
+  ${PROJECT_SOURCE_DIR}/src/SMESHUtils
+  ${PROJECT_SOURCE_DIR}/src/SMESHDS
+)
+
+# additional preprocessor / compiler flags
+ADD_DEFINITIONS(
+  ${HDF5_DEFINITIONS}
+  ${CAS_DEFINITIONS}
+  ${BOOST_DEFINITIONS}
+)
+
+# libraries to link to
+SET(_link_LIBRARIES
+  ${Boost_LIBRARIES}
+  MeshDriver
+  MEDWrapper
+  MEDWrapperBase
+  MEDWrapper_V2_2
+)
+
+SET(_link_LIBRARIES_bin
+  ${_link_LIBRARIES}
+  ${KERNEL_OpUtil}
+  ${KERNEL_SALOMELocalTrace}
+  ${KERNEL_SALOMEBasics}
+  ${KERNEL_SalomeIDLKERNEL}
+  SMDS
+  SMESHDS
+)
+
+# --- headers ---
+
+# header files / no moc processing
+SET(MeshDriverMED_HEADERS
+  DriverMED.hxx
+  DriverMED_R_SMESHDS_Mesh.h
+  DriverMED_W_SMESHDS_Mesh.h
+  DriverMED_Family.h
+  SMESH_DriverMED.hxx
+)
+
+# --- sources ---
+
+# sources / static
+SET(MeshDriverMED_SOURCES
+  DriverMED_R_SMESHDS_Mesh.cxx
+  DriverMED_W_SMESHDS_Mesh.cxx
+  DriverMED_Family.cxx
+)
+
+# bin programs
+SET(MeshDriverMED_bin_SOURCES
+  MED_Test.cxx
+)
+
+# --- rules ---
+
+ADD_LIBRARY(MeshDriverMED ${MeshDriverMED_SOURCES})
+TARGET_LINK_LIBRARIES(MeshDriverMED ${_link_LIBRARIES} )
+INSTALL(TARGETS MeshDriverMED EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
+
+ADD_EXECUTABLE(MED_Test_bin ${MeshDriverMED_bin_SOURCES})
+TARGET_LINK_LIBRARIES(MED_Test_bin ${_link_LIBRARIES_bin} MeshDriverMED)
+SET_TARGET_PROPERTIES(MED_Test_bin PROPERTIES OUTPUT_NAME "MED_Test")
+INSTALL(TARGETS MED_Test_bin EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
+
+INSTALL(FILES ${MeshDriverMED_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})