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....)
7
#and the following user adjustable options:
11
OPTION(KDE_ENABLE_FINAL "Enable final all-in-one compilation")
12
OPTION(KDE_BUILD_TESTS "Build the tests")
14
MACRO(KDE_MAGIC_FILE_HANDLING _srcs_NAME)
17
FOREACH (_current_FILE ${ARGN})
19
GET_FILENAME_COMPONENT(_ext ${_current_FILE} EXT)
21
IF(${_ext} STREQUAL ".ui")
22
SET(_magic_UIS ${_magic_UIS} ${_current_FILE})
23
ENDIF(${_ext} STREQUAL ".ui")
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")
29
ENDFOREACH (_current_FILE)
32
KDE_ADD_UI_FILES(${_srcs_NAME} ${_magic_UIS} )
35
KDE_AUTOMOC(${${_srcs_NAME}})
36
ENDMACRO(KDE_MAGIC_FILE_HANDLING _target _SRCS)
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)
45
ENDMACRO(KDE_CREATE_FINAL_FILE _filename)
47
MACRO(KDE_ADD_KPART _target_NAME )
49
KDE_MAGIC_FILE_HANDLING(_magic_SRCS ${ARGN} )
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)
58
KDE_CREATE_LIBTOOL_FILE(${_target_NAME})
60
ENDMACRO(KDE_ADD_KPART _target_NAME)
62
MACRO(KDE_ADD_KLM _target_NAME )
64
KDE_MAGIC_FILE_HANDLING(_magic_SRCS ${ARGN} )
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)
73
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/kdeinit_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)
75
ADD_EXECUTABLE( ${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp )
76
TARGET_LINK_LIBRARIES( ${_target_NAME} kdeinit_${_target_NAME} )
78
ENDMACRO(KDE_ADD_KLM _target_NAME)
80
MACRO(KDE_ADD_EXECUTABLE _target_NAME )
82
KDE_MAGIC_FILE_HANDLING(_magic_SRCS ${ARGN} )
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)
91
ENDMACRO(KDE_ADD_EXECUTABLE _target_NAME)
94
#MACRO(KDE_ADD_CONV_LIB _target_NAME)
96
#ENDMACRO(KDE_ADD_CONV_LIB _target_NAME)