Salome HOME
Implementation of DXFPLUGIN as a GEOM plugin (removed and renamed files)
[plugins/dxfplugin.git] / src / CMakeLists.txt
index 5eb403f77b3995d853a8c2697814f1b3b3704531..c6a6cabd96560ad1661e8314b2fd8b2a9f8d3d97 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2014  OPEN CASCADE
+# Copyright (C) 2014  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
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-ADD_SUBDIRECTORY(common)
-ADD_SUBDIRECTORY(DXFExport)
-ADD_SUBDIRECTORY(DXFImport)
+IF(SALOME_BUILD_GUI)
+  INCLUDE(UseQt4Ext)
+  INCLUDE(${QT_USE_FILE})
+ENDIF()
+
+# --- options ---
+
+# additional include directories
+INCLUDE_DIRECTORIES(
+  ${CAS_INCLUDE_DIRS}
+  ${DXF_INCLUDE_DIRS}
+  ${KERNEL_INCLUDE_DIRS}
+  ${GUI_INCLUDE_DIRS}
+  ${PROJECT_BINARY_DIR}
+  ${PROJECT_BINARY_DIR}/idl
+  )
+  
+IF(SALOME_BUILD_GUI)
+  INCLUDE_DIRECTORIES(
+    ${QT_INCLUDE_DIRS}
+    )
+ENDIF()
+
+# additional preprocessor / compiler flags
+ADD_DEFINITIONS(
+  ${CAS_DEFINITIONS}
+  )
+  
+IF(SALOME_BUILD_GUI)
+ADD_DEFINITIONS(
+  ${QT_DEFINITIONS}
+  )
+ENDIF()
+
+# libraries to link to
+SET(_link_LIBRARIES
+  ${CAS_TKXSBase}
+  ${DXF_LIBRARIES}
+  ${KERNEL_SALOMEBasics}
+  ${KERNEL_SALOMELocalTrace}
+  ${KERNEL_OpUtil}
+  ${GEOM_SalomeIDLGEOM}
+  ${GEOM_GEOMEngine}
+  ${GEOM_GEOMImpl}
+  ${GEOM_GEOMClient}
+  SalomeIDLDXFPlugin
+  )
+  
+IF(SALOME_BUILD_GUI)
+  SET(_link_LIBRARIES
+    ${_link_LIBRARIES}
+    ${GEOM_GEOMBase}
+    )
+ENDIF()
+
+
+# --- headers ---
+
+SET(DXFPluginEngine_HEADERS
+  DXFPlugin_Operations_i.hh
+  DXFPlugin_Engine.hxx
+  DXFPlugin_OperationsCreator.hh
+  DXFPlugin_IOperations.hxx
+  DXFPlugin_IExport.hxx 
+  DXFPlugin_IImport.hxx
+  DXFPlugin_ImportDriver.hxx 
+  DXFPlugin_ExportDriver.hxx
+  DXFPlugin_IECallBack.hxx
+  )
+
+IF(SALOME_BUILD_GUI)  
+  # header files / to be processed by moc
+  SET(_moc_HEADERS
+    DXFPlugin_ExportDlg.h
+    DXFPlugin_ImportDlg.h
+    )
+ENDIF()
+
+# --- sources ---
+
+IF(SALOME_BUILD_GUI)
+  # sources / moc wrappings
+  QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
+
+  SET(DXFPluginGUI_SOURCES
+    DXFPluginGUI.cxx
+    DXFPlugin_ExportDlg.cxx
+    DXFPlugin_ImportDlg.cxx
+    ${_moc_SOURCES}
+    )
+ENDIF()
+  
+SET(DXFPluginEngine_SOURCES
+  DXFPluginEngine.cxx
+  DXFPlugin_OperationsCreator.cc
+  DXFPlugin_Operations_i.cc
+  DXFPlugin_IOperations.cxx
+  DXFPlugin_ExportDriver.cxx
+  DXFPlugin_ImportDriver.cxx
+  DXFPlugin_IECallBack.cxx
+  )
+  
+# resource files / to be processed by lrelease
+SET(DXFPlugin_RESOURCES
+  resources/DXFPlugin_msg_en.ts
+  resources/DXFPlugin_msg_fr.ts
+  resources/DXFPlugin_msg_ja.ts
+  )
+
+# DXF plugin scripts
+SET(_python_DXF_SCRIPTS
+  DXFPluginBuilder.py
+  __init__.py
+)
+
+# --- rules ---
+
+# install Engine library
+ADD_LIBRARY(DXFPluginEngine ${DXFPluginEngine_SOURCES})
+TARGET_LINK_LIBRARIES(DXFPluginEngine ${_link_LIBRARIES})
+INSTALL(TARGETS DXFPluginEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
+
+# install GUI library
+IF(SALOME_BUILD_GUI)
+  ADD_LIBRARY(DXFPluginGUI ${DXFPluginGUI_SOURCES})
+  TARGET_LINK_LIBRARIES(DXFPluginGUI ${_link_LIBRARIES})
+  INSTALL(TARGETS DXFPluginGUI EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
+  # install resources
+  QT4_INSTALL_TS_RESOURCES("${DXFPlugin_RESOURCES}" "${SALOME_DXFPLUGIN_INSTALL_RES_DATA}")
+ENDIF()
+
+# install headers
+INSTALL(FILES ${DXFPluginEngine_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
+
+# install python scripts
+SALOME_INSTALL_SCRIPTS("${_python_DXF_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/DXFPlugin DEF_PERMS)
+
+# configure license file
+CONFIGURE_FILE(DXFPlugin_license.h.in DXFPlugin_license.h)