add_subdirectory( core        )
add_subdirectory( gui         )
add_subdirectory( flowparts   )
add_subdirectory( micro       )
add_subdirectory( mechanics   )
add_subdirectory( electronics )
add_subdirectory( languages   )
add_subdirectory( drawparts   )

include_directories(
  ${CMAKE_BINARY_DIR}
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${TDE_INCLUDE_DIR}
  ${TQT_INCLUDE_DIRS}
  ${CMAKE_SOURCE_DIR}/src/drawparts
  ${CMAKE_SOURCE_DIR}/src/electronics
  ${CMAKE_SOURCE_DIR}/src/electronics/components
  ${CMAKE_SOURCE_DIR}/src/electronics/simulation
  ${CMAKE_SOURCE_DIR}/src/flowparts
  ${CMAKE_SOURCE_DIR}/src/gui
  ${CMAKE_SOURCE_DIR}/src/languages
  ${CMAKE_SOURCE_DIR}/src/mechanics
  ${CMAKE_SOURCE_DIR}/src/micro
  ${GPSIM_INCLUDE_DIRS}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${TDE_LIB_DIR}
)

##### ktechlab (executable)

tde_add_executable( ${PROJECT_NAME} AUTOMOC

  SOURCES
        docmanageriface.skel viewiface.skel documentiface.skel
        ktechlab.cpp node.cpp connector.cpp itemlibrary.cpp
        libraryitem.cpp projectmanager.cpp picitem.cpp
        variant.cpp canvasitemparts.cpp flowcontainer.cpp
        microsettings.cpp fpnode.cpp cells.cpp
        asmformatter.cpp conrouter.cpp nodegroup.cpp
        canvasmanipulator.cpp iteminterface.cpp
        itemgroup.cpp ciwidgetmgr.cpp filemetainfo.cpp
        resizeoverlay.cpp document.cpp view.cpp
        docmanager.cpp cnitem.cpp item.cpp cnitemgroup.cpp
        itemview.cpp itemdocument.cpp textview.cpp
        textdocument.cpp circuitdocument.cpp
        flowcodedocument.cpp icnview.cpp icndocument.cpp
        viewcontainer.cpp circuitview.cpp flowcodeview.cpp
        eventinfo.cpp oscilloscopedata.cpp
        itemdocumentdata.cpp docmanageriface.cpp
        documentiface.cpp viewiface.cpp simulator.cpp
        katemdi.cpp debugmanager.cpp recentfilesaction.cpp
        variablelabel.cpp
  LINK
     tdecore-shared
     tdeui-shared
     tdeprint-shared
     tdeparts-shared
     tdeutils-shared
     tdetexteditor-shared
     core-static
     gui-static
     micro-static
     flowparts-static
     mechanics-static
     electronics-static
     components-static
     languages-static
     drawparts-static
     ${GPSIM_LIBRARIES}

  DESTINATION ${BIN_INSTALL_DIR}
)


##### other data

install(
    FILES ktechlabui.rc error_messages_en_gb
          ktechlabcircuitui.rc ktechlabflowcodeui.rc
          ktechlabitemviewui.rc ktechlabmechanicsui.rc
          ktechlabtextui.rc ktechlabkateui.rc
    DESTINATION ${DATA_INSTALL_DIR}/${PROJECT_NAME}
)

install(
    FILES microbe.xml
    DESTINATION ${DATA_INSTALL_DIR}/katepart/syntax
)

tde_create_translated_desktop(
    SOURCE x-circuit.desktop x-flowcode.desktop
           x-ktechlab.desktop x-microbe.desktop
    DESTINATION ${MIME_INSTALL_DIR}/application
)

tde_create_translated_desktop( ${PROJECT_NAME}.desktop )
