diff options
author | Alexander Neundorf <neundorf@kde.org> | 2006-01-18 22:54:09 +0000 |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2006-01-18 22:54:09 +0000 |
commit | 68d6f53496e05bd43e2777479a0fe441524d1d9e (patch) | |
tree | e64d68ab4951df7bb02f09ddd8eeaac83dbe95cb | |
parent | 0d87c6e52d0dae7cda5b61991089738c95fe8067 (diff) | |
download | extra-cmake-modules-68d6f53496e05bd43e2777479a0fe441524d1d9e.tar.gz extra-cmake-modules-68d6f53496e05bd43e2777479a0fe441524d1d9e.tar.bz2 |
-improve automoc with absolute file paths
-use ${QT_INCLUDES} everywhere
-recognize QT3SUPPORTLIB and DCOP_LIB in am2cmake
Alex
svn path=/trunk/KDE/kdesdk/cmake/; revision=499877
-rwxr-xr-x | am2cmake | 4 | ||||
-rw-r--r-- | kde4/FindKDE4.cmake | 16 | ||||
-rw-r--r-- | kde4/KDE4Macros.cmake | 34 | ||||
-rw-r--r-- | kde4/potential_problems | 3 |
4 files changed, 39 insertions, 18 deletions
@@ -125,6 +125,8 @@ class BuildTarget previousWasVersionInfo=false libs.split.each do |currentLib| lib=case currentLib + when "$(LIB_QT3SUPPORT)" then "${QT_QT3SUPPORT_LIBRARY}" + when "$(DCOP_LIB)" then "DCOP" when "$(LIB_KDEUI)" then "kdeui" # when "${LIB_KDECORE}" then "${QT_AND_KDECORE_LIBS}" when "$(LIB_KIO)" then "kio" @@ -203,7 +205,7 @@ class CMakeFile @includeDirs.push("${QT_INCLUDE_DIR}") elsif $buildType==BuildKDE4 @includeDirs.push("${KDE4_INCLUDE_DIR}") - @includeDirs.push("${QT_INCLUDE_DIR}") + @includeDirs.push("${QT_INCLUDES}") end @includeDirs.push("${CMAKE_CURRENT_SOURCE_DIR}") @includeDirs.push("${CMAKE_CURRENT_BINARY_DIR}") diff --git a/kde4/FindKDE4.cmake b/kde4/FindKDE4.cmake index 77e5b338..30bb1714 100644 --- a/kde4/FindKDE4.cmake +++ b/kde4/FindKDE4.cmake @@ -33,10 +33,13 @@ INCLUDE(FindQt4) #add the definitions found by FindQt to the current definitions #ADD_DEFINITIONS(${QT_DEFINITIONS} -DQT_CLEAN_NAMESPACE) -SET(QT_AND_KDECORE_LIBS ${QT_LIBRARIES} kdecore) +SET(QT_AND_KDECORE_LIBS ${QT_QTCORE_LIBRARY} kdecore) #add some KDE specific stuff -SET(KDE4_DEFINITIONS -DQT_CLEAN_NAMESPACE -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common) +SET(KDE4_DEFINITIONS -DQT3_SUPPORT -DQT_CLEAN_NAMESPACE ) + +SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-common") +SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common") #only on linux, but not e.g. on FreeBSD: IF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") @@ -82,7 +85,8 @@ IF(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h) SET(KDE4_INCLUDE_DIR ${CMAKE_SOURCE_DIR}) SET(KDE4_LIB_DIR ${LIBRARY_OUTPUT_PATH}) - SET(KDE4_DCOPIDL_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/dcopidl ) + SET(KDE4_DCOPIDL_EXECUTABLE ${CMAKE_SOURCE_DIR}/dcop/dcopidlng/dcopidl ) + SET(KDE4_KALYPTUS_DIR ${CMAKE_SOURCE_DIR}/dcop/dcopidlng/ ) SET(KDE4_DCOPIDL2CPP_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/dcopidl2cpp ) SET(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/kconfig_compiler ) @@ -123,6 +127,12 @@ ELSE(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h) /opt/kde4/bin ) + FIND_PATH(KDE4_KALYPTUS_DIR kalyptus + $ENV{KDEDIR}/share/apps/dcopidl + /opt/kde/share/apps/dcopidl + /opt/kde4/share/apps/dcopidl + ) + FIND_PROGRAM(KDE4_DCOPIDL2CPP_EXECUTABLE NAME dcopidl2cpp PATHS $ENV{KDEDIR}/bin /opt/kde/bin diff --git a/kde4/KDE4Macros.cmake b/kde4/KDE4Macros.cmake index cfba562e..b1c4c9e0 100644 --- a/kde4/KDE4Macros.cmake +++ b/kde4/KDE4Macros.cmake @@ -43,7 +43,7 @@ MACRO(KDE4_ADD_DCOP_SKELS _sources) ADD_CUSTOM_COMMAND(OUTPUT ${_kidl} COMMAND ${KDE4_DCOPIDL_EXECUTABLE} - ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} > ${_kidl} + ARGS --srcdir ${KDE4_KALYPTUS_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} > ${_kidl} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} ) @@ -197,7 +197,7 @@ MACRO(KDE4_ADD_UI3_FILES _sources ) ADD_CUSTOM_COMMAND(OUTPUT ${_moc} COMMAND ${QT_MOC_EXECUTABLE} - ARGS ${_header} -o ${_moc} + ARGS -I ${QT_INCLUDE_DIR} ${_header} -o ${_moc} DEPENDS ${_header} ) SET(${_sources} ${${_sources}} ${_src} ${_moc} ) @@ -205,19 +205,25 @@ MACRO(KDE4_ADD_UI3_FILES _sources ) ENDFOREACH (_current_FILE) ENDMACRO(KDE4_ADD_UI3_FILES) +IF(UNIX) + SET(_HACK_MOC_DEFINE -DQ_WS_X11) +ENDIF(UNIX) + MACRO(KDE4_AUTOMOC) SET(_matching_FILES ) FOREACH (_current_FILE ${ARGN}) - IF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}) - FILE(READ ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} _contents) + IF(${_current_FILE} MATCHES "^/.+") + SET(_tmp_FILE ${_current_FILE}) + ELSE(${_current_FILE} MATCHES "^/.+") + SET(_tmp_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}) + ENDIF(${_current_FILE} MATCHES "^/.+") + + IF (EXISTS ${_tmp_FILE}) + + FILE(READ ${_tmp_FILE} _contents) - IF(${_current_FILE} MATCHES "^/.+") - SET(_tmp_FILE ${_current_FILE}) - ELSE(${_current_FILE} MATCHES "^/.+") - SET(_tmp_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}) - ENDIF(${_current_FILE} MATCHES "^/.+") GET_FILENAME_COMPONENT(_abs_FILE ${_tmp_FILE} ABSOLUTE) GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH) @@ -230,19 +236,19 @@ MACRO(KDE4_AUTOMOC) # SET(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h) SET(_header ${_abs_PATH}/${_basename}.h) SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC}) - +# MESSAGE(STATUS "----- moc: ${_moc}") ADD_CUSTOM_COMMAND(OUTPUT ${_moc} COMMAND ${QT_MOC_EXECUTABLE} - ARGS ${_header} -o ${_moc} + ARGS ${_HACK_MOC_DEFINE} ${_header} -o ${_moc} DEPENDS ${_header} ) - KDE4_ADD_FILE_DEPENDANCY(${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} ${_moc}) + KDE4_ADD_FILE_DEPENDANCY(${_tmp_FILE} ${_moc}) ENDFOREACH (_current_MOC_INC) ENDIF(_match) - ENDIF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}) + ENDIF (EXISTS ${_tmp_FILE}) ENDFOREACH (_current_FILE) ENDMACRO(KDE4_AUTOMOC) @@ -366,7 +372,7 @@ MACRO(KDE4_ADD_KLM _target_NAME ) ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${_target_NAME}_final.cpp) ELSE (KDE4_ENABLE_FINAL) ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${ARGN} ) - MESSAGE(STATUS "klm: kdeinit_${_target_NAME}") +# 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) diff --git a/kde4/potential_problems b/kde4/potential_problems new file mode 100644 index 00000000..233949c5 --- /dev/null +++ b/kde4/potential_problems @@ -0,0 +1,3 @@ +/CMakeLists.txt find_package(Perl REQUIRED) +KDE4_AUTOMOC: -DQ_WS_X11 +test for bzip2 |