# 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}
+ ${PROJECT_BINARY_DIR}
+ ${PROJECT_BINARY_DIR}/idl
+ )
+
+IF(SALOME_BUILD_GUI)
+ INCLUDE_DIRECTORIES(
+ ${QT_INCLUDE_DIRS}
+ ${GUI_INCLUDE_DIRS}
+ ${GEOM_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_engine_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_gui_LIBRARIES
+ SalomeIDLDXFPlugin
+ ${GEOM_GEOMObject}
+ ${GEOM_GEOMBase}
+ ${GEOM_GEOMBase}
+ )
+ENDIF()
+
+
+# --- headers ---
+
+SET(DXFPluginEngine_HEADERS
+ DXFPlugin_IOperations_i.hh
+ DXFPlugin_Engine.hxx
+ DXFPlugin_OperationsCreator.hxx
+ 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_GUI.h
+ )
+ENDIF()
+
+# --- sources ---
+
+IF(SALOME_BUILD_GUI)
+ # sources / moc wrappings
+ QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
+
+ SET(DXFPluginGUI_SOURCES
+ DXFPlugin_GUI.cxx
+ ${_moc_SOURCES}
+ )
+ENDIF()
+
+SET(DXFPluginEngine_SOURCES
+ DXFPlugin_Engine.cxx
+ DXFPlugin_OperationsCreator.cxx
+ DXFPlugin_IOperations_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_engine_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_gui_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)