aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2006-01-18 22:54:09 +0000
committerAlexander Neundorf <neundorf@kde.org>2006-01-18 22:54:09 +0000
commit68d6f53496e05bd43e2777479a0fe441524d1d9e (patch)
treee64d68ab4951df7bb02f09ddd8eeaac83dbe95cb
parent0d87c6e52d0dae7cda5b61991089738c95fe8067 (diff)
downloadextra-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-xam2cmake4
-rw-r--r--kde4/FindKDE4.cmake16
-rw-r--r--kde4/KDE4Macros.cmake34
-rw-r--r--kde4/potential_problems3
4 files changed, 39 insertions, 18 deletions
diff --git a/am2cmake b/am2cmake
index bd9f7b9a..298447db 100755
--- a/am2cmake
+++ b/am2cmake
@@ -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