diff options
author | Alexander Neundorf <neundorf@kde.org> | 2006-07-04 14:28:46 +0000 |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2006-07-04 14:28:46 +0000 |
commit | 7554247f1269f3403538455e43ac5988d6793311 (patch) | |
tree | b2b236745bb6a3b85d9694be8d832cdbea97a361 | |
parent | 608aa9932705f9990413fba638ec2758d7c25591 (diff) | |
download | extra-cmake-modules-7554247f1269f3403538455e43ac5988d6793311.tar.gz extra-cmake-modules-7554247f1269f3403538455e43ac5988d6793311.tar.bz2 |
-support an additional optional basename parameter for QT4_ADD_DBUS_ADAPTER()
-support new and improved RPATH handling in cmake 2.4.3
-minor cleanups in kdelibs/CMakeLists.txt
-use ${BIN_INSTALL_DIR} instead of bin as install target
Alex
svn path=/trunk/KDE/kdelibs/; revision=558004
The following changes were in SVN, but were removed from git:
M pics/CMakeLists.txt
-rw-r--r-- | modules/FindKDE4Internal.cmake | 44 | ||||
-rw-r--r-- | modules/FindQt4.cmake | 11 |
2 files changed, 41 insertions, 14 deletions
diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake index 02a393cd..c25b9666 100644 --- a/modules/FindKDE4Internal.cmake +++ b/modules/FindKDE4Internal.cmake @@ -195,9 +195,9 @@ include (CheckCXXCompilerFlag) set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The kde info install dir (default prefix/info)" FORCE) set(SBIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/sbin" CACHE PATH "The kde info install dir (default prefix/info)" FORCE) set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib)" FORCE) - set(LIBEXEC_INSTALL_DIR "${LIB_INSTALL_DIR}/lib" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib)" FORCE) + set(LIBEXEC_INSTALL_DIR "${LIB_INSTALL_DIR}/kde4/libexec" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib)" FORCE) set(PLUGIN_INSTALL_DIR "${LIB_INSTALL_DIR}/kde4" CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is ${KDE4_LIB_INSTALL_DIR}/kde4)" FORCE) - set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE) + set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE) set(CONFIG_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/config" CACHE PATH "The config file install dir" FORCE) set(DATA_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/apps" CACHE PATH "The parent directory where applications can install their data" FORCE) set(HTML_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/doc/HTML" CACHE PATH "The HTML install dir for documentation" FORCE) @@ -464,6 +464,17 @@ if (WIN32) endif(CMAKE_COMPILER_2005) endif(MSVC) + + # for visual studio IDE set the path correctly for custom commands + # maybe under windows bat-files should be generated for running apps during the build + if(MSVC_IDE) + get_filename_component(PERL_LOCATION "${PERL_EXECUTABLE}" PATH) + file(TO_NATIVE_PATH "${PERL_LOCATION}" PERL_PATH_WINDOWS) + file(TO_NATIVE_PATH "${QT_BINARY_DIR}" QT_BIN_DIR_WINDOWS) + set(CMAKE_MSVCIDE_RUN_PATH "${PERL_PATH_WINDOWS}\;${QT_BIN_DIR_WINDOWS}" + CACHE STATIC "MSVC IDE Run path" FORCE) + endif(MSVC_IDE) + endif (WIN32) @@ -477,15 +488,26 @@ if (UNIX) if (APPLE) set(CMAKE_INSTALL_NAME_DIR ${LIB_INSTALL_DIR}) else (APPLE) - set(CMAKE_INSTALL_RPATH ${LIB_INSTALL_DIR} ${QT_LIBRARY_DIR} ) - # building something else than kdelibs/ ? - # then add the dir where the kde libraries are installed - if (NOT EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h) - set(CMAKE_INSTALL_RPATH ${KDE4_LIB_DIR} ${CMAKE_INSTALL_RPATH} ) - endif (NOT EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h) - - set(CMAKE_SKIP_BUILD_RPATH TRUE) - set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + if (CMAKE_PATCH_VERSION) # at least cmake 2.4.3, in earlier version CMAKE_PATCH_VERSION is empty + # add our LIB_INSTALL_DIR to the RPATH and use the RPATH figured out cmake when compiling + set(CMAKE_INSTALL_RPATH ${LIB_INSTALL_DIR} ) + set(CMAKE_SKIP_BUILD_RPATH ON) + set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + else (CMAKE_PATCH_VERSION) # at least cmake 2.4.3 + + set(CMAKE_INSTALL_RPATH ${LIB_INSTALL_DIR} ${QT_LIBRARY_DIR} ) + # building something else than kdelibs/ ? + # then add the dir where the kde libraries are installed + if (NOT EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h) + set(CMAKE_INSTALL_RPATH ${KDE4_LIB_DIR} ${CMAKE_INSTALL_RPATH} ) + endif (NOT EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h) + + set(CMAKE_SKIP_BUILD_RPATH TRUE) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + + endif (CMAKE_PATCH_VERSION) # at least cmake 2.4.3 + endif (APPLE) endif (UNIX) diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake index caf8a3c5..24dab37d 100644 --- a/modules/FindQt4.cmake +++ b/modules/FindQt4.cmake @@ -38,7 +38,7 @@ # for all listed interface xml files # the name will be automatically determined from the name of the xml file # -# macro QT4_ADD_DBUS_ADAPTOR(outfiles xmlfile parentheader parentclassname ) +# macro QT4_ADD_DBUS_ADAPTOR(outfiles xmlfile parentheader parentclassname [basename] ) # create a dbus adaptor (header and implementation file) from the xml file # describing the interface, and add it to the list of sources. The adaptor # forwards the calls to a parent class, defined in parentheader and named @@ -885,8 +885,13 @@ IF (QT4_QMAKE_FOUND) MACRO(QT4_ADD_DBUS_ADAPTOR _sources _xml_file _include _parentClass) GET_FILENAME_COMPONENT(_infile ${_xml_file} ABSOLUTE) - STRING(REGEX REPLACE "(.*[/\\.])?([^\\.]+)\\.xml" "\\2adaptor" _basename ${_infile}) - STRING(TOLOWER ${_basename} _basename) + + IF (ARGV1) + SET(_basename ${ARGV1} ) + ELSE (ARGV1) + STRING(REGEX REPLACE "(.*[/\\.])?([^\\.]+)\\.xml" "\\2adaptor" _basename ${_infile}) + STRING(TOLOWER ${_basename} _basename) + ENDIF (ARGV1) SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h) SET(_impl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp) |