~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to cmake/KDEMagic.cmake

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Lainé
  • Date: 2006-05-23 18:39:42 UTC
  • Revision ID: james.westby@ubuntu.com-20060523183942-hucifbvh68k2bwz7
Tags: upstream-3.3.2
Import upstream version 3.3.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#this file contains the following macros
 
2
#KDE_MAGIC_FILE_HANDLING
 
3
#KDE_CREATE_FINAL_FILE(filename srcs...)
 
4
#KDE_ADD_KPART(target srcs....)
 
5
#KDE_ADD_KLM()
 
6
#KDE_ADD_EXECUTABLE()
 
7
#and the following user adjustable options:
 
8
#KDE_ENAABLE_FINAL
 
9
#KDE_BUILD_TESTS
 
10
 
 
11
OPTION(KDE_ENABLE_FINAL "Enable final all-in-one compilation")
 
12
OPTION(KDE_BUILD_TESTS  "Build the tests")
 
13
 
 
14
MACRO(KDE_MAGIC_FILE_HANDLING _srcs_NAME)
 
15
 
 
16
   SET( ${_srcs_NAME} )
 
17
   FOREACH (_current_FILE ${ARGN})
 
18
 
 
19
      GET_FILENAME_COMPONENT(_ext ${_current_FILE} EXT)
 
20
 
 
21
      IF(${_ext} STREQUAL ".ui")
 
22
         SET(_magic_UIS ${_magic_UIS} ${_current_FILE})
 
23
      ENDIF(${_ext} STREQUAL ".ui")
 
24
 
 
25
      IF(${_ext} STREQUAL ".c" OR ${_ext} STREQUAL ".C" OR ${_ext} STREQUAL ".cpp" OR ${_ext} STREQUAL ".cxx" OR ${_ext} STREQUAL ".cc" )
 
26
         SET(${_srcs_NAME} ${${_srcs_NAME}} ${_current_FILE})
 
27
      ENDIF(${_ext} STREQUAL ".c" OR ${_ext} STREQUAL ".C" OR ${_ext} STREQUAL ".cpp" OR ${_ext} STREQUAL ".cxx"  OR ${_ext} STREQUAL ".cc")
 
28
 
 
29
   ENDFOREACH (_current_FILE)
 
30
 
 
31
   IF(_magic_UIS)
 
32
      KDE_ADD_UI_FILES(${_srcs_NAME} ${_magic_UIS} )
 
33
   ENDIF(_magic_UIS)
 
34
 
 
35
   KDE_AUTOMOC(${${_srcs_NAME}})
 
36
ENDMACRO(KDE_MAGIC_FILE_HANDLING _target _SRCS)
 
37
 
 
38
 
 
39
MACRO(KDE_CREATE_FINAL_FILE _filename)
 
40
   FILE(WRITE ${_filename} "//autogenerated file\n")
 
41
   FOREACH (_current_FILE ${ARGN})
 
42
      FILE(APPEND ${_filename} "#include \"${_current_FILE}\"\n")
 
43
   ENDFOREACH (_current_FILE)
 
44
 
 
45
ENDMACRO(KDE_CREATE_FINAL_FILE _filename)
 
46
 
 
47
MACRO(KDE_ADD_KPART _target_NAME )
 
48
 
 
49
   KDE_MAGIC_FILE_HANDLING(_magic_SRCS ${ARGN} )
 
50
 
 
51
   IF (KDE_ENABLE_FINAL)
 
52
      KDE_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_magic_SRCS})
 
53
      ADD_LIBRARY(${_target_NAME} MODULE  ${_target_NAME}_final.cpp)
 
54
   ELSE (KDE_ENABLE_FINAL)
 
55
      ADD_LIBRARY(${_target_NAME} MODULE ${_magic_SRCS} )
 
56
   ENDIF (KDE_ENABLE_FINAL)
 
57
 
 
58
   KDE_CREATE_LIBTOOL_FILE(${_target_NAME})
 
59
 
 
60
ENDMACRO(KDE_ADD_KPART _target_NAME)
 
61
 
 
62
MACRO(KDE_ADD_KLM _target_NAME )
 
63
 
 
64
   KDE_MAGIC_FILE_HANDLING(_magic_SRCS ${ARGN} )
 
65
 
 
66
   IF (KDE_ENABLE_FINAL)
 
67
      KDE_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_magic_SRCS})
 
68
      ADD_LIBRARY(kdeinit_${_target_NAME} SHARED  ${_target_NAME}_final.cpp)
 
69
   ELSE (KDE_ENABLE_FINAL)
 
70
      ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${_magic_SRCS} )
 
71
   ENDIF (KDE_ENABLE_FINAL)
 
72
 
 
73
   CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/kdeinit_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)
 
74
 
 
75
   ADD_EXECUTABLE( ${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp )
 
76
   TARGET_LINK_LIBRARIES( ${_target_NAME} kdeinit_${_target_NAME} )
 
77
 
 
78
ENDMACRO(KDE_ADD_KLM _target_NAME)
 
79
 
 
80
MACRO(KDE_ADD_EXECUTABLE _target_NAME )
 
81
 
 
82
   KDE_MAGIC_FILE_HANDLING(_magic_SRCS ${ARGN} )
 
83
 
 
84
   IF (KDE_ENABLE_FINAL)
 
85
      KDE_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_magic_SRCS})
 
86
      ADD_EXECUTABLE(${_target_NAME} ${_target_NAME}_final.cpp)
 
87
   ELSE (KDE_ENABLE_FINAL)
 
88
      ADD_EXECUTABLE(${_target_NAME} ${_magic_SRCS} )
 
89
   ENDIF (KDE_ENABLE_FINAL)
 
90
 
 
91
ENDMACRO(KDE_ADD_EXECUTABLE _target_NAME)
 
92
 
 
93
 
 
94
#MACRO(KDE_ADD_CONV_LIB _target_NAME)
 
95
 
 
96
#ENDMACRO(KDE_ADD_CONV_LIB _target_NAME)
 
97