diff options
Diffstat (limited to 'modules/KDE4Macros.cmake')
-rw-r--r-- | modules/KDE4Macros.cmake | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index 376e6a38..f5632c8a 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -54,8 +54,6 @@ MACRO(KDE4_ADD_DCOP_SKELS _sources) ) ENDIF (NOT HAVE_${_basename}_KIDL_RULE) - - IF (NOT HAVE_${_basename}_SKEL_RULE) SET(HAVE_${_basename}_SKEL_RULE ON) @@ -92,7 +90,7 @@ MACRO(KDE4_ADD_DCOP_STUBS _sources) COMMAND ${KDE4_DCOPIDL_EXECUTABLE} ARGS --srcdir ${KDE4_KALYPTUS_DIR} ${_tmp_FILE} > ${_kidl} DEPENDS ${_tmp_FILE} - ) + ) ENDIF (NOT HAVE_${_basename}_KIDL_RULE) IF (NOT HAVE_${_basename}_STUB_RULE) @@ -153,6 +151,12 @@ ENDMACRO(KDE4_ADD_KCFG_FILES) # ENDFOREACH (_current_FILE) #ENDMACRO(KDE4_ADD_MOC_FILES) +IF(EXISTS "${CMAKE_ROOT}/Modules/kde4init_dummy.cpp.in") + SET(KDE4_MODULE_DIR "${CMAKE_ROOT}/Modules") +ELSE(EXISTS "${CMAKE_ROOT}/Modules/kde4init_dummy.cpp.in") + SET(KDE4_MODULE_DIR "${CMAKE_SOURCE_DIR}/cmake/modules") +ENDIF(EXISTS "${CMAKE_ROOT}/Modules/kde4init_dummy.cpp.in") + #create the implementation files from the ui files and add them to the list of sources #usage: KDE_ADD_UI_FILES(foo_SRCS ${ui_files}) @@ -174,7 +178,7 @@ MACRO(KDE4_ADD_UI_FILES _sources ) -DKDE_UIC_FILE:FILEPATH=${_tmp_FILE} -DKDE_UIC_H_FILE:FILEPATH=${_header} -DKDE_UIC_BASENAME:STRING=${_basename} - -P ${CMAKE_ROOT}/Modules/kde4uic.cmake + -P ${KDE4_MODULE_DIR}/kde4uic.cmake DEPENDS ${_tmp_FILE} ) ENDFOREACH (_current_FILE) @@ -209,7 +213,7 @@ MACRO(KDE4_ADD_UI3_FILES _sources ) -DKDE_UIC_H_FILE:FILEPATH=${_header} -DKDE_UIC_BASENAME:STRING=${_basename} -DKDE_UIC_PLUGIN_DIR:FILEPATH="." - -P ${CMAKE_ROOT}/Modules/kde4uic.cmake + -P ${KDE4_MODULE_DIR}/kde4uic.cmake DEPENDS ${_tmp_FILE} ) @@ -225,7 +229,7 @@ MACRO(KDE4_ADD_UI3_FILES _sources ) -DKDE_UIC_H_FILE:FILEPATH=${_header} -DKDE_UIC_BASENAME:STRING=${_basename} -DKDE_UIC_PLUGIN_DIR:FILEPATH="." - -P ${CMAKE_ROOT}/Modules/kde4uic.cmake + -P ${KDE4_MODULE_DIR}/kde4uic.cmake DEPENDS ${_header} ) @@ -357,13 +361,19 @@ MACRO(KDE4_CREATE_LIBTOOL_FILE _target) ENDMACRO(KDE4_CREATE_LIBTOOL_FILE) -MACRO(KDE4_CREATE_FINAL_FILE _filename) - FILE(WRITE ${_filename} "//autogenerated file\n") +MACRO(KDE4_CREATE_FINAL_FILES _filenameCPP _filenameC ) + FILE(WRITE ${_filenameCPP} "//autogenerated file\n") + FILE(WRITE ${_filenameC} "/*autogenerated file*/\n") FOREACH (_current_FILE ${ARGN}) - FILE(APPEND ${_filename} "#include \"${_current_FILE}\"\n") + STRING(REGEX MATCH ".+\\.c$" _isCFile ${_current_FILE}) + IF(_isCFile) + FILE(APPEND ${_filenameC} "#include \"${_current_FILE}\"\n") + ELSE(_isCFile) + FILE(APPEND ${_filenameCPP} "#include \"${_current_FILE}\"\n") + ENDIF(_isCFile) ENDFOREACH (_current_FILE) -ENDMACRO(KDE4_CREATE_FINAL_FILE _filename) +ENDMACRO(KDE4_CREATE_FINAL_FILES) OPTION(KDE4_ENABLE_FINAL "Enable final all-in-one compilation") @@ -378,8 +388,8 @@ MACRO(KDE4_ADD_PLUGIN _target_NAME _with_PREFIX) ENDIF (${_with_PREFIX} STREQUAL "WITH_PREFIX") IF (KDE4_ENABLE_FINAL) - KDE4_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_first_SRC} ${ARGN}) - ADD_LIBRARY(${_target_NAME} MODULE ${_target_NAME}_final.cpp) + KDE4_CREATE_FINAL_FILES(${_target_NAME}_final_cpp.cpp ${_target_NAME}_final_c.c ${_first_SRC} ${ARGN}) + ADD_LIBRARY(${_target_NAME} MODULE ${_target_NAME}_final_cpp.cpp ${_target_NAME}_final_c.c) ELSE (KDE4_ENABLE_FINAL) ADD_LIBRARY(${_target_NAME} MODULE ${_first_SRC} ${ARGN}) ENDIF (KDE4_ENABLE_FINAL) @@ -395,14 +405,14 @@ ENDMACRO(KDE4_ADD_PLUGIN _target_NAME _with_PREFIX) MACRO(KDE4_ADD_KLM _target_NAME ) IF (KDE4_ENABLE_FINAL) - KDE4_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN}) - ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${_target_NAME}_final.cpp) + KDE4_CREATE_FINAL_FILES(${_target_NAME}_final_cpp.cpp ${_target_NAME}_final_c.c ${ARGN}) + ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${_target_NAME}_final_cpp.cpp ${_target_NAME}_final_c.c) ELSE (KDE4_ENABLE_FINAL) ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${ARGN} ) # MESSAGE(STATUS "klm: kdeinit_${_target_NAME}") ENDIF (KDE4_ENABLE_FINAL) - CONFIGURE_FILE(${CMAKE_ROOT}/Modules/kde4init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp) + CONFIGURE_FILE(${KDE4_MODULE_DIR}/kde4init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp) ADD_EXECUTABLE( ${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp ) TARGET_LINK_LIBRARIES( ${_target_NAME} kdeinit_${_target_NAME} ) @@ -413,8 +423,8 @@ ENDMACRO(KDE4_ADD_KLM _target_NAME) MACRO(KDE4_ADD_EXECUTABLE _target_NAME ) IF (KDE4_ENABLE_FINAL) - KDE4_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN}) - ADD_EXECUTABLE(${_target_NAME} ${_target_NAME}_final.cpp) + KDE4_CREATE_FINAL_FILES(${_target_NAME}_final_cpp.cpp ${_target_NAME}_final_c.c ${ARGN}) + ADD_EXECUTABLE(${_target_NAME} ${_target_NAME}_final_cpp.cpp ${_target_NAME}_final_c.c) ELSE (KDE4_ENABLE_FINAL) ADD_EXECUTABLE(${_target_NAME} ${ARGN} ) ENDIF (KDE4_ENABLE_FINAL) @@ -441,8 +451,8 @@ MACRO(KDE4_ADD_LIBRARY _target_NAME _lib_TYPE) ENDIF (${_lib_TYPE} STREQUAL "MODULE") IF (KDE4_ENABLE_FINAL) - KDE4_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_first_SRC} ${ARGN}) - ADD_LIBRARY(${_target_NAME} ${_add_lib_param} ${_target_NAME}_final.cpp) + KDE4_CREATE_FINAL_FILES(${_target_NAME}_final_cpp.cpp ${_target_NAME}_final_c.c ${_first_SRC} ${ARGN}) + ADD_LIBRARY(${_target_NAME} ${_add_lib_param} ${_target_NAME}_final_cpp.cpp ${_target_NAME}_final_c.c) ELSE (KDE4_ENABLE_FINAL) ADD_LIBRARY(${_target_NAME} ${_add_lib_param} ${_first_SRC} ${ARGN}) ENDIF (KDE4_ENABLE_FINAL) |