Fix no newlines warnings. Patch by Peter Oberndorfer
[kdevelopdvcssupport.git] / kross / CMakeLists.txt
blobd28e94486354fc91d7a0baf9184a08b355784361
1 project(krosssupport)
2 add_subdirectory(xmltokross)
4 #Aleix's note: please, don't add it yet until I can commit everything (involving the uiless shell)
5 option(GENERATE_INTERFACES "Generate kross interfaces at compile-time? You need kdevcpp to use it" OFF)
6 if(GENERATE_INTERFACES)
7     get_directory_property(include_DIRS INCLUDE_DIRECTORIES)
8     
9     get_directory_property(inclist INCLUDE_DIRECTORIES)
10     foreach(inc ${inclist})
11         set(incs ${incs}:${inc})
12     endforeach(inc)
13     
14     macro(kdev_create_kross_iface interface output includes)
15         get_filename_component(weFile ${output} NAME_WE)
16         get_filename_component(outPath ${output} PATH)
17         get_filename_component(ifacePath ${interface} PATH)
18         
19         add_custom_command(OUTPUT ${output} ${headerFile}
20                            COMMAND ${CMAKE_CURRENT_BINARY_DIR}/xmltokross/duchaintokross ${interface}
21                                                 -I${ifacePath}:${incs} -F${weFile} -i${includes} -D${outPath} -o ${output}
22                            MAIN_DEPENDENCY ${interface}
23                            DEPENDS xmltokross/duchaintokross )
24         set(mocFile ${weFile}.moc)
25         qt4_generate_moc( ${output} ${CMAKE_CURRENT_BINARY_DIR}/${mocFile})
26     endmacro(kdev_create_kross_iface)
28     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/interfaces/idocument.h
29         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossidocument.cpp interfaces/idocument.h)
30     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/interfaces/iuicontroller.h
31         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossiuicontroller.cpp interfaces/iuicontroller.h)
32     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/interfaces/context.h
33         ${CMAKE_SOURCE_DIR}/kross/wrappers/krosscontext.cpp interfaces/context.h)
34     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/interfaces/contextmenuextension.h
35         ${CMAKE_SOURCE_DIR}/kross/wrappers/krosscontextmenuextension.cpp interfaces/contextmenuextension.h)
36     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/project/projectmodel.h
37         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossprojectmodel.cpp project/projectmodel.h)
38     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/vcs/vcsrevision.h
39         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossvcsrevision.cpp vcs/vcsrevision.h)
40     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/vcs/vcslocation.h
41         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossvcslocation.cpp vcs/vcslocation.h)
42     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/interfaces/ilanguage.h
43         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossilanguage.cpp interfaces/ilanguage.h)
44     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/language/duchain/topducontext.h
45         ${CMAKE_SOURCE_DIR}/kross/wrappers/krosstopducontext.cpp
46         language/duchain/topducontext.h:language/duchain/parsingenvironment.h:language/interfaces/iproblem.h:language/editor/simplecursor.h)
47     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/language/duchain/ducontext.h
48         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossducontext.cpp language/duchain/ducontext.h:language/duchain/topducontext.h)
49     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/language/duchain/declaration.h
50         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossdeclaration.cpp language/duchain/declaration.h:language/duchain/declarationid.h:language/duchain/types/indexedtype.h:language/duchain/topducontext.h)
51     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/language/interfaces/iproblem.h
52         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossiproblem.cpp language/interfaces/iproblem.h)
53     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/language/duchain/use.h
54         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossuse.cpp language/duchain/use.h)
55     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/language/duchain/symboltable.h
56         ${CMAKE_SOURCE_DIR}/kross/wrappers/krosssymboltable.cpp language/duchain/symboltable.h)
57     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/language/duchain/identifier.h
58         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossidentifier.cpp language/duchain/identifier.h:language/duchain/indexedstring.h)
59     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/language/duchain/duchainlock.h
60         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossduchainlock.cpp language/duchain/duchainlock.h)
61     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/project/interfaces/ibuildsystemmanager.h
62         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossibuildsystemmanager.cpp project/interfaces/ibuildsystemmanager.h)
63     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/project/interfaces/iprojectfilemanager.h
64         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossiprojectfilemanager.cpp project/interfaces/iprojectfilemanager.h)
65     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/project/interfaces/iprojectbuilder.h
66         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossiprojectbuilder.cpp project/interfaces/iprojectbuilder.h)
67     kdev_create_kross_iface(${CMAKE_SOURCE_DIR}/interfaces/irun.h
68         ${CMAKE_SOURCE_DIR}/kross/wrappers/krossirun.cpp interfaces/irun.h)
73 else(GENERATE_INTERFACES)
74     message(STATUS "The used interfaces will be the ones from svn instead of generating them.")
75 endif(GENERATE_INTERFACES)
77 set(kdevkrossplugin_SRCS
78     krossplugin.cpp
79     krossbuildsystemmanager.cpp
80     krossdistributedversioncontrol.cpp
81     krosstoolviewfactory.cpp
82     krossvcsjob.cpp
83     wrappers/krossiuicontroller.cpp
84     wrappers/krossidocument.cpp
85     wrappers/krosscontext.cpp
86     wrappers/krosscontextmenuextension.cpp
87     wrappers/krossvcsrevision.cpp
88     wrappers/krossvcslocation.cpp
89     wrappers/krosstopducontext.cpp
90     wrappers/krossducontext.cpp
91     wrappers/krossprojectmodel.cpp
92     wrappers/krossilanguage.cpp
93     wrappers/krossdeclaration.cpp
94     wrappers/krossuse.cpp
95     wrappers/krossidentifier.cpp
96     wrappers/krossduchainlock.cpp
97     wrappers/krossiproblem.cpp
98     wrappers/krossibuildsystemmanager.cpp
99     wrappers/krossiprojectfilemanager.cpp
100     wrappers/krossiprojectbuilder.cpp
101     wrappers/krossirun.cpp
104 kde4_add_plugin(kdevkrossplugin ${kdevkrossplugin_SRCS})
105 target_link_libraries(kdevkrossplugin ${KDE4_KDEUI_LIBS} ${KDE4_KTEXTEDITOR_LIBS}
106     kdevplatforminterfaces kdevplatformproject kdevplatformvcs kdevplatformlanguage ${KDE4_KROSSUI_LIBS})
108 install(TARGETS kdevkrossplugin DESTINATION ${PLUGIN_INSTALL_DIR})
109 install(FILES kdevkrossplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR})