aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2006-01-29 22:03:40 +0000
committerAlexander Neundorf <neundorf@kde.org>2006-01-29 22:03:40 +0000
commit667a03d2082372d02ee661f716b764baa028f2a8 (patch)
tree49a7648a48d706304772ff7d4488abb2d3c33be7 /modules
parent2f0842c4d9419a47aa1637909fc68cb709116690 (diff)
downloadextra-cmake-modules-667a03d2082372d02ee661f716b764baa028f2a8.tar.gz
extra-cmake-modules-667a03d2082372d02ee661f716b764baa028f2a8.tar.bz2
prepare support for the windows port
update the kde3 cmake files Alex svn path=/trunk/KDE/kdelibs/; revision=503684
Diffstat (limited to 'modules')
-rw-r--r--modules/FindKDE3.cmake10
-rw-r--r--modules/FindKDE4.cmake69
-rw-r--r--modules/FindQt4.cmake26
-rw-r--r--modules/KDE3Macros.cmake143
4 files changed, 141 insertions, 107 deletions
diff --git a/modules/FindKDE3.cmake b/modules/FindKDE3.cmake
index f5be090d..dba73688 100644
--- a/modules/FindKDE3.cmake
+++ b/modules/FindKDE3.cmake
@@ -31,7 +31,8 @@ SET(QT_MT_REQUIRED TRUE)
#SET(QT_MIN_VERSION "3.0.0")
#this line includes FindQt.cmake, which searches the Qt library and headers
-INCLUDE(FindQt3)
+FIND_PACKAGE(Qt3 REQUIRED)
+FIND_PACKAGE(X11 REQUIRED)
#add the definitions found by FindQt to the current definitions
#ADD_DEFINITIONS(${QT_DEFINITIONS} -DQT_CLEAN_NAMESPACE)
@@ -42,9 +43,9 @@ SET(QT_AND_KDECORE_LIBS ${QT_LIBRARIES} kdecore)
SET(KDE3_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)
#only on linux, but not e.g. on FreeBSD:
-IF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
SET(KDE3_DEFINITIONS ${KDE3_DEFINITIONS} -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE)
-ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
#SET(CMAKE_SHARED_LINKER_FLAGS "-avoid-version -module -Wl,--no-undefined -Wl,--allow-shlib-undefined")
@@ -65,7 +66,8 @@ FIND_PATH(KDE3_INCLUDE_DIR kurl.h
)
#now the KDE library directory
-FIND_PATH(KDE3_LIB_DIR libkdecore.so
+FIND_LIBRARY(KDE3_LIB_DIR NAMES kdecore
+ PATHS
$ENV{KDEDIR}/lib
/opt/kde/lib
/opt/kde3/lib
diff --git a/modules/FindKDE4.cmake b/modules/FindKDE4.cmake
index 09d1558b..d1c0886c 100644
--- a/modules/FindKDE4.cmake
+++ b/modules/FindKDE4.cmake
@@ -27,24 +27,34 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.2)
-IF(UNIX)
- IF(APPLE)
- SET(PLATFORM_DEFINITIONS -D__APPLE_KDE__)
- ELSE(APPLE)
- FIND_PACKAGE(X11 REQUIRED)
- ENDIF(APPLE)
-ELSE(UNIX)
- MESSAGE(FATAL_ERROR "Win32 not yet supported by FindKDE4.cmake and KDE4Macros.cmake, please edit them as required")
-ENDIF(UNIX)
-
#this line includes FindQt.cmake, which searches the Qt library and headers
FIND_PACKAGE(Qt4 REQUIRED)
SET(QT_AND_KDECORE_LIBS ${QT_QTCORE_LIBRARY} kdecore)
-#add some KDE specific stuff
-# not used in Qt4: QT_NO_COMPAT, QT_CLEAN_NAMESPACE, QT_THREAD_SUPPORT
-SET(KDE4_DEFINITIONS -DQT3_SUPPORT -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -DQT_NO_TRANSLATION -D_REENTRANT ${PLATFORM_DEFINITIONS} )
+
+# this will move into Windows-cl.cmake
+IF(WIN32 AND CMAKE_C_COMPILER MATCHES "cl\\.exe")
+ SET(MSVC TRUE)
+ENDIF(WIN32 AND CMAKE_C_COMPILER MATCHES "cl\\.exe")
+
+##################### and now the platform specific stuff ############################
+
+IF(UNIX AND NOT APPLE)
+ FIND_PACKAGE(X11 REQUIRED)
+ENDIF(UNIX AND NOT APPLE)
+
+IF(CYGWIN)
+ MESSAGE(FATAL_ERROR "Support for Cygwin not yet implemented, please edit FindKDE4.cmake to enable it")
+ENDIF(CYGWIN)
+
+IF(MINGW)
+ MESSAGE(FATAL_ERROR "Support for MinGW not yet implemented, please edit FindKDE4.cmake to enable it")
+ENDIF(MINGW)
+
+IF(MSVC)
+ MESSAGE(FATAL_ERROR "Support for MSVC is not yet implemented, please edit FindKDE4.cmake to enable it")
+ENDIF(MSVC)
#only on linux, but not e.g. on FreeBSD:
@@ -56,16 +66,20 @@ IF(CMAKE_SYSTEM_NAME MATCHES Linux)
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 -fno-exceptions -fno-check-new -fno-common")
ENDIF(CMAKE_SYSTEM_NAME MATCHES Linux)
-IF(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+# works on FreeBSD, not tested on NetBSD and OpenBSD
+IF(CMAKE_SYSTEM_NAME MATCHES BSD)
SET(KDE4_DEFINITIONS ${KDE4_DEFINITIONS} -D_GNU_SOURCE)
SET(CMAKE_SHARED_LINKER_FLAGS "-avoid-version -lc")
SET(CMAKE_MODULE_LINKER_FLAGS "-avoid-version -lc")
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 -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")
-ENDIF(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+ENDIF(CMAKE_SYSTEM_NAME MATCHES BSD)
# This will need to be modified later to support either Qt/X11 or Qt/Mac builds
IF(APPLE)
+
+ SET(PLATFORM_DEFINITIONS -D__APPLE_KDE__)
+
# we need to set MACOSX_DEPLOYMENT_TARGET to (I believe) at least 10.2 or maybe 10.3 to allow
# -undefined dynamic_lookup; in the future we should do this programmatically
# hmm... why doesn't this work?
@@ -84,11 +98,14 @@ IF(APPLE)
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Os")
ENDIF(APPLE)
+########### end of platform specific stuff ##########################
-#SET(CMAKE_SHARED_LINKER_FLAGS "-avoid-version -module -Wl,--no-undefined -Wl,--allow-shlib-undefined")
+#add some KDE specific stuff
+# not used in Qt4: QT_NO_COMPAT, QT_CLEAN_NAMESPACE, QT_THREAD_SUPPORT
+SET(KDE4_DEFINITIONS ${KDE4_DEFINITIONS} -DQT3_SUPPORT -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -DQT_NO_TRANSLATION -D_REENTRANT ${PLATFORM_DEFINITIONS} )
-SET(KDE4_DIR ${CMAKE_INSTALL_PREFIX})
+SET(KDE4_DIR ${CMAKE_INSTALL_PREFIX})
SET(KDE4_APPS_DIR /share/applnk)
SET(KDE4_CONFIG_DIR /share/config)
SET(KDE4_DATA_DIR /share/apps)
@@ -128,7 +145,8 @@ IF(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
ELSE(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
- #at first the KDE include direcory
+ # at first the KDE include direcory
+ # this should better check for a header which didn't exist in KDE < 4
FIND_PATH(KDE4_INCLUDE_DIR kurl.h
$ENV{KDEDIR}/include
/opt/kde/include
@@ -139,8 +157,9 @@ ELSE(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
/usr/local/include/kde
)
- #now the KDE library directory
- FIND_PATH(KDE4_LIB_DIR libkdecore.so
+ # now the KDE library directory, kxmlcore is new with KDE4
+ FIND_LIBRARY(KDE4_LIB_DIR NAMES kxmlcore
+ PATHS
$ENV{KDEDIR}/lib
/opt/kde/lib
/opt/kde4/lib
@@ -148,14 +167,6 @@ ELSE(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
/usr/local/lib
)
-#now the KDE service types directory
-#FIND_PATH(KDE4_SERVICETYPES_DIR ktexteditor.desktop
-# $ENV{KDEDIR}/share/servicetypes/
-# /opt/kde/share/servicetypes/
-# /opt/kde4/share/servicetypes/
-#)
-
-
#now search for the dcop utilities
FIND_PROGRAM(KDE4_DCOPIDL_EXECUTABLE NAME dcopidl PATHS
$ENV{KDEDIR}/bin
@@ -241,6 +252,4 @@ ENDIF (NOT KDE4_FIND_QUIETLY)
#add the found Qt and KDE include directories to the current include path
SET(KDE4_INCLUDE_DIRS ${QT_INCLUDES} ${KDE4_INCLUDE_DIR} ${X11_INCLUDE_DIR} )
-#INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ${KDE4_INCLUDE_DIR} .)
-#LINK_DIRECTORIES(${KDE4_LIB_DIR})
diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake
index a32d80f9..cd01782a 100644
--- a/modules/FindQt4.cmake
+++ b/modules/FindQt4.cmake
@@ -607,21 +607,23 @@ IF(QT4_QMAKE_FOUND)
#
######################################
+ # this function takes a relative or absolute filename as argument in _filename
+ # and returns the absolute path in _abs_filename
+# it should work both with UNIX and Windows paths (Windows not tested), Alex
MACRO(QT4_GET_ABS_PATH _abs_filename _filename)
- IF(${_filename} MATCHES "^/.+")
- SET(${_abs_filename} ${_filename})
- ELSE(${_filename} MATCHES "^/.+")
-# if you are on windows and have problems converting relative paths to absolute paths
-# check if un-commenting the following lines works for you and let me know, Alex, neundorf@kde.org
-# IF(${_filename} MATCHES "^[a-zA-Z]:\\\\")
-# SET(${_abs_filename} ${_filename})
-# ELSE(${_filename} MATCHES "^[a-zA-Z]:\\\\")
- SET(${_abs_filename} ${CMAKE_CURRENT_SOURCE_DIR}/${_filename})
-# ENDIF(${_filename} MATCHES "^[a-zA-Z]:\\\\")
- ENDIF(${_filename} MATCHES "^/.+")
+ IF(${_filename} MATCHES "^([a-zA-Z]:)?/.+")
+ SET(${_abs_filename} ${_filename})
+ ELSE(${_filename} MATCHES "^([a-zA-Z]:)?/.+")
+ SET(${_abs_filename} ${CMAKE_CURRENT_SOURCE_DIR}/${_filename})
+ ENDIF(${_filename} MATCHES "^([a-zA-Z]:)?/.+")
+# the previous version, works only with UNIX paths
+# IF(${_filename} MATCHES "^/.+")
+# SET(${_abs_filename} ${_filename})
+# ELSE(${_filename} MATCHES "^/.+")
+# SET(${_abs_filename} ${CMAKE_CURRENT_SOURCE_DIR}/${_filename})
+# ENDIF(${_filename} MATCHES "^/.+")
ENDMACRO(QT4_GET_ABS_PATH)
-
MACRO(QT4_GET_MOC_INC_DIRS _moc_INC_DIRS)
SET(${_moc_INC_DIRS})
GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
diff --git a/modules/KDE3Macros.cmake b/modules/KDE3Macros.cmake
index 78b94fce..077771d3 100644
--- a/modules/KDE3Macros.cmake
+++ b/modules/KDE3Macros.cmake
@@ -18,7 +18,7 @@
#this should better be part of cmake:
#add an additional file to the list of files a source file depends on
-MACRO(ADD_FILE_DEPENDANCY file)
+MACRO(KDE3_ADD_FILE_DEPENDANCY file)
GET_SOURCE_FILE_PROPERTY(_deps ${file} OBJECT_DEPENDS)
IF (_deps)
@@ -29,29 +29,48 @@ MACRO(ADD_FILE_DEPENDANCY file)
SET_SOURCE_FILES_PROPERTIES(${file} PROPERTIES OBJECT_DEPENDS "${_deps}")
-ENDMACRO(ADD_FILE_DEPENDANCY)
+ENDMACRO(KDE3_ADD_FILE_DEPENDANCY)
+MACRO(KDE3_GET_ABS_PATH _abs_filename _filename)
+ IF(${_filename} MATCHES "^/.+")
+ SET(${_abs_filename} ${_filename})
+ ELSE(${_filename} MATCHES "^/.+")
+ SET(${_abs_filename} ${CMAKE_CURRENT_SOURCE_DIR}/${_filename})
+ ENDIF(${_filename} MATCHES "^/.+")
+ENDMACRO(KDE3_GET_ABS_PATH)
#create the kidl and skeletion file for dcop stuff
#usage: KDE_ADD_COP_SKELS(foo_SRCS ${dcop_headers})
MACRO(KDE3_ADD_DCOP_SKELS _sources)
FOREACH (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
- SET(_skel ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_skel_skel.cpp)
- SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_skel.kidl)
+ KDE3_GET_ABS_PATH(_tmp_FILE ${_current_FILE})
- ADD_CUSTOM_COMMAND(OUTPUT ${_kidl}
- COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
- ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} > ${_kidl}
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}
- )
+ GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
- ADD_CUSTOM_COMMAND(OUTPUT ${_skel}
- COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
- ARGS --c++-suffix cpp --no-signals --no-stub ${_kidl}
- DEPENDS ${_kidl}
- )
+ SET(_skel ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_skel.cpp)
+ SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
+
+ IF (NOT HAVE_${_basename}_KIDL_RULE)
+ SET(HAVE_${_basename}_KIDL_RULE ON)
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_kidl}
+ COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
+ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} > ${_kidl}
+ DEPENDS ${_tmp_FILE}
+ )
+ ENDIF (NOT HAVE_${_basename}_KIDL_RULE)
+
+ IF (NOT HAVE_${_basename}_SKEL_RULE)
+ SET(HAVE_${_basename}_SKEL_RULE ON)
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_skel}
+ COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
+ ARGS --c++-suffix cpp --no-signals --no-stub ${_kidl}
+ DEPENDS ${_kidl}
+ )
+
+ ENDIF (NOT HAVE_${_basename}_SKEL_RULE)
SET(${_sources} ${${_sources}} ${_skel})
@@ -62,29 +81,36 @@ ENDMACRO(KDE3_ADD_DCOP_SKELS)
MACRO(KDE3_ADD_DCOP_STUBS _sources)
FOREACH (_current_FILE ${ARGN})
- IF(${_current_FILE} MATCHES "^/.+") #abs path
- SET(_tmp_FILE ${_current_FILE})
- ELSE(${_current_FILE} MATCHES "^/.+")
- SET(_tmp_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE})
- ENDIF(${_current_FILE} MATCHES "^/.+")
+ KDE3_GET_ABS_PATH(_tmp_FILE ${_current_FILE})
GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
SET(_stub_CPP ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.cpp)
-# SET(_stub_H ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.h)
- SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.kidl)
+ SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
- ADD_CUSTOM_COMMAND(OUTPUT ${_kidl}
- COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
- ARGS ${tmp_FILE} > ${_kidl}
- DEPENDS ${tmp_FILE}
- )
+ IF (NOT HAVE_${_basename}_KIDL_RULE)
+ SET(HAVE_${_basename}_KIDL_RULE ON)
+
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_kidl}
+ COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
+ ARGS ${tmp_FILE} > ${_kidl}
+ DEPENDS ${tmp_FILE}
+ )
+
+ ENDIF (NOT HAVE_${_basename}_KIDL_RULE)
- ADD_CUSTOM_COMMAND(OUTPUT ${_stub_CPP}
- COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
- ARGS --c++-suffix cpp --no-signals --no-skel ${_kidl}
- DEPENDS ${_kidl}
- )
+
+ IF (NOT HAVE_${_basename}_STUB_RULE)
+ SET(HAVE_${_basename}_STUB_RULE ON)
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_stub_CPP}
+ COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
+ ARGS --c++-suffix cpp --no-signals --no-skel ${_kidl}
+ DEPENDS ${_kidl}
+ )
+
+ ENDIF (NOT HAVE_${_basename}_STUB_RULE)
SET(${_sources} ${${_sources}} ${_stub_CPP})
@@ -95,11 +121,7 @@ ENDMACRO(KDE3_ADD_DCOP_STUBS)
MACRO(KDE3_ADD_KCFG_FILES _sources)
FOREACH (_current_FILE ${ARGN})
- IF(${_current_FILE} MATCHES "^/.+") #abs path
- SET(_tmp_FILE ${_current_FILE})
- ELSE(${_current_FILE} MATCHES "^/.+")
- SET(_tmp_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE})
- ENDIF(${_current_FILE} MATCHES "^/.+")
+ KDE3_GET_ABS_PATH(_tmp_FILE ${_current_FILE})
GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
@@ -112,7 +134,7 @@ MACRO(KDE3_ADD_KCFG_FILES _sources)
ADD_CUSTOM_COMMAND(OUTPUT ${_src_FILE}
COMMAND ${KDE3_KCFGC_EXECUTABLE}
ARGS ${_kcfg_FILE} ${_tmp_FILE}
- DEPENDS ${_tmp_FILE} )
+ DEPENDS ${_tmp_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} )
SET(${_sources} ${${_sources}} ${_src_FILE})
@@ -125,14 +147,16 @@ ENDMACRO(KDE3_ADD_KCFG_FILES)
#usage: KDE_ADD_MOC_FILES(foo_SRCS ${moc_headers})
MACRO(KDE3_ADD_MOC_FILES _sources)
FOREACH (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
- GET_FILENAME_COMPONENT(_path ${_current_FILE} PATH)
+
+ KDE3_GET_ABS_PATH(_tmp_FILE ${_current_FILE})
+
+ GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
COMMAND ${QT_MOC_EXECUTABLE}
- ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} -o ${_moc}
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}
+ ARGS ${_tmp_FILE} -o ${_moc}
+ DEPENDS ${_tmp_FILE}
)
SET(${_sources} ${${_sources}} ${_moc})
@@ -146,7 +170,10 @@ ENDMACRO(KDE3_ADD_MOC_FILES)
MACRO(KDE3_ADD_UI_FILES _sources )
FOREACH (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
+ KDE3_GET_ABS_PATH(_tmp_FILE ${_current_FILE})
+
+
+ GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
SET(_src ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
@@ -154,7 +181,7 @@ MACRO(KDE3_ADD_UI_FILES _sources )
ADD_CUSTOM_COMMAND(OUTPUT ${_header}
COMMAND ${QT_UIC_EXECUTABLE}
ARGS -nounload -o ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}
+ DEPENDS ${_tmp_FILE}
)
# ADD_CUSTOM_COMMAND(OUTPUT ${_src}
@@ -166,7 +193,7 @@ MACRO(KDE3_ADD_UI_FILES _sources )
ADD_CUSTOM_COMMAND(OUTPUT ${_src}
COMMAND ${CMAKE_COMMAND}
ARGS
- -DKDE_UIC_FILE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}
+ -DKDE_UIC_FILE:STRING=${_tmp_FILE}
-DKDE_UIC_CPP_FILE:STRING=${_src}
-DKDE_UIC_H_FILE:STRING=${_header}
-P ${CMAKE_ROOT}/Modules/kde3uic.cmake
@@ -187,15 +214,13 @@ ENDMACRO(KDE3_ADD_UI_FILES)
MACRO(KDE3_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)
+ KDE3_GET_ABS_PATH(_tmp_FILE ${_current_FILE})
+
+ 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)
@@ -215,7 +240,7 @@ MACRO(KDE3_AUTOMOC)
DEPENDS ${_header}
)
- ADD_FILE_DEPENDANCY(${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} ${_moc})
+ KDE3_ADD_FILE_DEPENDANCY(${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} ${_moc})
ENDFOREACH (_current_MOC_INC)
ENDIF(_match)
@@ -227,8 +252,8 @@ ENDMACRO(KDE3_AUTOMOC)
MACRO(KDE3_INSTALL_ICONS _theme)
ADD_CUSTOM_TARGET(install_icons )
SET_TARGET_PROPERTIES(install_icons PROPERTIES POST_INSTALL_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake )
- FILE(WRITE install_icons.cmake "# icon installations rules\n")
- FILE(APPEND install_icons.cmake "SET(CMAKE_BACKWARDS_COMPATIBILITY \"2.2\") \n")
+ FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake "# icon installations rules\n")
+ FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake "SET(CMAKE_BACKWARDS_COMPATIBILITY \"2.2\") \n")
FILE(GLOB _icons *.png)
FOREACH(_current_ICON ${_icons} )
@@ -260,15 +285,12 @@ MACRO(KDE3_INSTALL_ICONS _theme)
# MESSAGE(STATUS "icon: ${_current_ICON} size: ${_size} group: ${_group} name: ${_name}" )
SET(_ICON_INSTALL_NAME ${CMAKE_INSTALL_PREFIX}/share/icons/${_theme}/${_size}x${_size}/${_icon_GROUP}/${_name})
- FILE(APPEND install_icons.cmake "MESSAGE(STATUS \"Installing ${_ICON_INSTALL_NAME}\") \n")
- FILE(APPEND install_icons.cmake "CONFIGURE_FILE( ${_current_ICON} ${_ICON_INSTALL_NAME} COPYONLY) \n")
+ FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake "MESSAGE(STATUS \"Installing ${_ICON_INSTALL_NAME}\") \n")
+ FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake "CONFIGURE_FILE( ${_current_ICON} ${_ICON_INSTALL_NAME} COPYONLY) \n")
ENDFOREACH (_current_ICON)
ENDMACRO(KDE3_INSTALL_ICONS _theme)
-MACRO(KDE3_PLACEHOLDER)
-ENDMACRO(KDE3_PLACEHOLDER)
-
MACRO(KDE3_CREATE_LIBTOOL_FILE _target)
GET_TARGET_PROPERTY(_target_location ${_target} LOCATION)
@@ -339,7 +361,6 @@ MACRO(KDE3_ADD_KLM _target_NAME )
ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${_target_NAME}_final.cpp)
ELSE (KDE3_ENABLE_FINAL)
ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${ARGN} )
- MESSAGE(STATUS "klm: kdeinit_${_target_NAME}")
ENDIF (KDE3_ENABLE_FINAL)
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/kde3init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)