aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2006-02-07 21:49:31 +0000
committerAlexander Neundorf <neundorf@kde.org>2006-02-07 21:49:31 +0000
commitfce52d437088520993f5f0df591408aa7e8e6eb4 (patch)
tree99b58b5ce2657a75b95a118c157c92ac0612b8f6
parent33ef2dcde9be9d37e41a3c905f85849e918a240a (diff)
downloadextra-cmake-modules-fce52d437088520993f5f0df591408aa7e8e6eb4.tar.gz
extra-cmake-modules-fce52d437088520993f5f0df591408aa7e8e6eb4.tar.bz2
two new macros: macro_append_directory_properties() and macro_append_source_files_properties()
don't use CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH in FindKDE4.cmake clean more files Alex svn path=/trunk/KDE/kdelibs/; revision=506927
-rw-r--r--modules/FindKDE4.cmake13
-rw-r--r--modules/KDE4Macros.cmake29
-rw-r--r--modules/MacroAppendDirectoryProperties.cmake19
-rw-r--r--modules/MacroAppendSourceFilesProperties.cmake21
-rw-r--r--modules/MacroLibrary.cmake2
5 files changed, 67 insertions, 17 deletions
diff --git a/modules/FindKDE4.cmake b/modules/FindKDE4.cmake
index b7ef270d..08ad73be 100644
--- a/modules/FindKDE4.cmake
+++ b/modules/FindKDE4.cmake
@@ -35,6 +35,8 @@ FIND_PACKAGE(Qt4 REQUIRED)
SET(QT_AND_KDECORE_LIBS ${QT_QTCORE_LIBRARY} kdecore)
+INCLUDE (MacroLibrary)
+
#add some KDE specific stuff
@@ -171,21 +173,24 @@ IF (WIN32)
# at first find the kdewin32 library, this has to be compiled and installed before kdelibs/
- FIND_LIBRARY(KDEWIN32_LIBRARY NAMES kdewin32 PATHS ${CMAKE_LIBRARY_PATH})
- FIND_PATH(KDEWIN32_INCLUDE_DIR winposix_export.h ${CMAKE_INCLUDE_PATH})
+ FIND_LIBRARY(KDEWIN32_LIBRARY NAMES kdewin32 PATHS )
+ FIND_PATH(KDEWIN32_INCLUDE_DIR winposix_export.h )
# kdelibs/win/ has to be built before the rest of kdelibs/
# eventually it will be moved out from kdelibs/
IF (NOT KDEWIN32_LIBRARY OR NOT KDEWIN32_INCLUDE_DIR)
MESSAGE(FATAL_ERROR "Could not find kdewin32 library, build and install kdelibs/win/ before building kdelibs/")
ENDIF (NOT KDEWIN32_LIBRARY OR NOT KDEWIN32_INCLUDE_DIR)
+
+ # add the winsock2 library, using find_library or something like this would probably be better
+ SET(KDEWIN32_LIBRARY ${KDEWIN32_LIBRARY} ws2_32)
IF(MINGW)
#mingw compiler
- SET(KDEWIN32_INCLUDES ${KDEWIN32_INCLUDE_DIR} ${KDEWIN32_INCLUDE_DIR}/mingw ${QT_INCLUDES} ${CMAKE_INCLUDE_PATH})
+ SET(KDEWIN32_INCLUDES ${KDEWIN32_INCLUDE_DIR} ${KDEWIN32_INCLUDE_DIR}/mingw ${QT_INCLUDES})
ELSE(MINGW)
# msvc compiler
- SET(KDEWIN32_INCLUDES ${KDEWIN32_INCLUDE_DIR} ${KDEWIN32_INCLUDE_DIR}/msvc ${QT_INCLUDES} ${CMAKE_INCLUDE_PATH})
+ SET(KDEWIN32_INCLUDES ${KDEWIN32_INCLUDE_DIR} ${KDEWIN32_INCLUDE_DIR}/msvc ${QT_INCLUDES})
# add the MS SDK include directory if available
SET(MS_SDK_DIR $ENV{MSSdk})
diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake
index d8566dab..db49f3a2 100644
--- a/modules/KDE4Macros.cmake
+++ b/modules/KDE4Macros.cmake
@@ -18,18 +18,18 @@
#this should better be part of cmake:
#add an additional file to the list of files a source file depends on
-MACRO(KDE4_ADD_FILE_DEPENDANCY file)
-
- GET_SOURCE_FILE_PROPERTY(_deps ${file} OBJECT_DEPENDS)
- IF (_deps)
- SET(_deps ${_deps} ${ARGN})
- ELSE (_deps)
- SET(_deps ${ARGN})
- ENDIF (_deps)
-
- SET_SOURCE_FILES_PROPERTIES(${file} PROPERTIES OBJECT_DEPENDS "${_deps}")
-
-ENDMACRO(KDE4_ADD_FILE_DEPENDANCY)
+#MACRO(KDE4_ADD_FILE_DEPENDANCY file)
+#
+# GET_SOURCE_FILE_PROPERTY(_deps ${file} OBJECT_DEPENDS)
+# IF (_deps)
+# SET(_deps ${_deps} ${ARGN})
+# ELSE (_deps)
+# SET(_deps ${ARGN})
+# ENDIF (_deps)
+#
+# SET_SOURCE_FILES_PROPERTIES(${file} PROPERTIES OBJECT_DEPENDS "${_deps}")
+#
+#ENDMACRO(KDE4_ADD_FILE_DEPENDANCY)
#create the kidl and skeletion file for dcop stuff
@@ -275,7 +275,8 @@ MACRO(KDE4_AUTOMOC)
DEPENDS ${_header}
)
- KDE4_ADD_FILE_DEPENDANCY(${_tmp_FILE} ${_moc})
+# KDE4_ADD_FILE_DEPENDANCY(${_tmp_FILE} ${_moc})
+ MACRO_APPEND_SOURCE_FILES_PROPERTIES(${_tmp_FILE} PROPERTIES OBJECT_DEPENDS ${_moc} )
ENDFOREACH (_current_MOC_INC)
ENDIF(_match)
@@ -396,6 +397,7 @@ MACRO(KDE4_CREATE_LIBTOOL_FILE _target _subdir)
FILE(APPEND ${_laname} "libdir='${CMAKE_INSTALL_PREFIX}/${KDE4_LIB_INSTALL_DIR}/${_subdir}'\n")
INSTALL_FILES(${KDE4_LIB_INSTALL_DIR}/${_subdir} FILES ${_laname})
+ MACRO_APPEND_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${_laname})
ENDMACRO(KDE4_CREATE_LIBTOOL_FILE)
@@ -448,6 +450,7 @@ ENDMACRO(KDE4_ADD_PLUGIN _target_NAME _with_PREFIX)
MACRO(KDE4_ADD_KDEINIT_EXECUTABLE _target_NAME )
CONFIGURE_FILE(${KDE4_MODULE_DIR}/kde4init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)
+ MACRO_APPEND_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp )
# IF (WIN32)
# # under windows, just build a normal executable
diff --git a/modules/MacroAppendDirectoryProperties.cmake b/modules/MacroAppendDirectoryProperties.cmake
new file mode 100644
index 00000000..2fed5a55
--- /dev/null
+++ b/modules/MacroAppendDirectoryProperties.cmake
@@ -0,0 +1,19 @@
+# - MACRO_APPEND_DIRECTORY_PROPERTIES(PROPERTIES key values...)
+# MACRO_OPTIONAL_FIND_PACKAGE( <name> [QUIT] )
+
+MACRO(MACRO_APPEND_DIRECTORY_PROPERTIES _properties _property)
+ GET_DIRECTORY_PROPERTY(_tmp_DIR_PROPS ${_property} )
+ IF (NOT _tmp_DIR_PROPS)
+ SET(_tmp_DIR_PROPS)
+ ENDIF (NOT _tmp_DIR_PROPS)
+ FOREACH(_value ${ARGN})
+ IF (_tmp_DIR_PROPS)
+ SET(_tmp_DIR_PROPS ${_tmp_DIR_PROPS} ${_value})
+ ELSE (_tmp_DIR_PROPS)
+ SET(_tmp_DIR_PROPS ${_value})
+ ENDIF (_tmp_DIR_PROPS)
+ ENDFOREACH(_value ${ARGN})
+
+ SET_DIRECTORY_PROPERTIES(${_properties} ${_property} "${_tmp_DIR_PROPS}")
+ENDMACRO(MACRO_APPEND_DIRECTORY_PROPERTIES)
+
diff --git a/modules/MacroAppendSourceFilesProperties.cmake b/modules/MacroAppendSourceFilesProperties.cmake
new file mode 100644
index 00000000..4d387e20
--- /dev/null
+++ b/modules/MacroAppendSourceFilesProperties.cmake
@@ -0,0 +1,21 @@
+# - MACRO_APPEND_SOURCE_FILES_PROPERTIES(<file> PROPERTIES key values...)
+# MACRO_OPTIONAL_FIND_PACKAGE( <name> [QUIT] )
+
+MACRO(MACRO_APPEND_SOURCE_FILES_PROPERTIES _file _properties _property)
+ GET_SOURCE_FILE_PROPERTY(_tmp_FILE_PROPS ${_file} ${_property})
+
+ IF (NOT _tmp_FILE_PROPS) # make sure it's empty not e.g. "NOTFOUND" or "FALSE"
+ SET(_tmp_FILE_PROPS)
+ ENDIF (NOT _tmp_FILE_PROPS)
+
+ FOREACH(_value ${ARGN})
+ IF (_tmp_FILE_PROPS)
+ SET(_tmp_FILE_PROPS ${_tmp_FILE_PROPS} ${_value})
+ ELSE (_tmp_FILE_PROPS)
+ SET(_tmp_FILE_PROPS ${_value})
+ ENDIF (_tmp_FILE_PROPS)
+ ENDFOREACH(_value ${ARGN})
+
+ SET_SOURCE_FILES_PROPERTIES(${_file} ${_properties} ${_property} "${_tmp_FILE_PROPS}")
+ENDMACRO(MACRO_APPEND_SOURCE_FILES_PROPERTIES)
+
diff --git a/modules/MacroLibrary.cmake b/modules/MacroLibrary.cmake
index 25abc38d..337a1087 100644
--- a/modules/MacroLibrary.cmake
+++ b/modules/MacroLibrary.cmake
@@ -2,4 +2,6 @@
# OPTIONAL_FIND_PACKAGE( <name> [QUIT] )
INCLUDE (MacroOptionalFindPackage)
+INCLUDE (MacroAppendDirectoryProperties)
+INCLUDE (MacroAppendSourceFilesProperties)