PDA

View Full Version : cmake build system patch



tanner
03-17-2009, 02:06 AM
Here is my cmake build patch. It's just the cmake build system. It -can- sit along side the autotools build system without any problems.

Here is how I tested.



$ svn co https://seq.svn.sourceforge.net/svnroot/seq/showeq/trunk
$ patch -p0 < cmake-build.patch
$ cmake -i
$ make
[snip]
Linking CXX executable showeq
[100%] Built target showeq


The 'cmake -i' goes into interactive mode and allows you to change the defaults. I recommend answering 'No' the the Advanced options and just mash return and accept my defaults :-)

You only need to do 'cmake -i' the first time to setup the defaults (or when you want to change the default).

I did change the PKGDATADIR to DATA_INSTALL_DIR to make my life easier.

There are also a compile src files changed to include the config.h to pick up the change cmake creates using the config.h.cmake file.

I host all of this on launchpad, https://launchpad.net/~showeq-team

Let me know if there's any questions.

Thanks.




Property changes on: .
__________________________________________________ _________________
Name: svn:ignore
- Makefile
Makefile.in
*.dbg
conf.h
config.cache
config.guess
config.log
config.status
config.sub
configure
libtool
ltmain.sh
stamp-h
stamp-h.in
*~
.*.swp
+ .bzr


Index: cmake/Modules/CheckMkdirArgs.cmake
================================================== =================
--- cmake/Modules/CheckMkdirArgs.cmake (revision 0)
+++ cmake/Modules/CheckMkdirArgs.cmake (revision 0)
@@ -0,0 +1,54 @@
+# - Check if the files can be included
+#
+# CHECK_MKDIR_ARGS(VARIABLE)
+#
+# VARIABLE - variable to return if mkdir/_mkdir need a single argument
+#
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+# CMAKE_REQUIRED_FLAGS = string of compile command line flags
+# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+# CMAKE_REQUIRED_INCLUDES = list of include directories
+
+MACRO(CHECK_MKDIR_ARGS VARIABLE)
+ IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ SET(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
+ IF(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_MKDIR_ARGS_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
+ ELSE(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_MKDIR_ARGS_INCLUDE_DIRS)
+ ENDIF(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_MKDIR_ARGS_CONTENT "/* */\n")
+ SET(MACRO_CHECK_MKDIR_ARGS_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ SET(CMAKE_CONFIGURABLE_FILE_CONTENT
+ "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n#include<direct.h>\nint main(){mkdir(\"\");}\n")
+ CONFIGURE_FILE("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckMkdirArgs.cxx" @ONLY IMMEDIATE)
+
+ MESSAGE(STATUS "Checking for single argument mkdir ${VARIABLE}")
+ TRY_COMPILE(${VARIABLE}
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckMkdirArgs.cxx
+ COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+ CMAKE_FLAGS
+ -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_MKDIR_AR GS_FLAGS}
+ "${CHECK_MKDIR_ARGS_INCLUDE_DIRS}"
+ OUTPUT_VARIABLE OUTPUT)
+ IF(${VARIABLE})
+ MESSAGE(STATUS "Checking for single argument mkdir ${VARIABLE} - found")
+ SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${VARIABLE}")
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}${CMAKE _FILES_DIRECTORY}/CMakeOutput.log
+ "Determining if files ${INCLUDE} "
+ "exist passed with the following output:\n"
+ "${OUTPUT}\n\n")
+ ELSE(${VARIABLE})
+ MESSAGE(STATUS "Checking for single argument mkdir ${VARIABLE} - not found.")
+ SET(${VARIABLE} "" CACHE INTERNAL "Have includes ${VARIABLE}")
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Determining if files ${INCLUDE} "
+ "exist failed with the following output:\n"
+ "${OUTPUT}\nSource:\n${CMAKE_CONFIGURABLE_FILE_CONT ENT}\n")
+ ENDIF(${VARIABLE})
+ ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ENDMACRO(CHECK_MKDIR_ARGS)
Index: cmake/Modules/FindZLIB.cmake
================================================== =================
--- cmake/Modules/FindZLIB.cmake (revision 0)
+++ cmake/Modules/FindZLIB.cmake (revision 0)
@@ -0,0 +1,50 @@
+# - Find zlib
+# Find the native ZLIB includes and library
+#
+# ZLIB_INCLUDE_DIR - where to find zlib.h, etc.
+# ZLIB_LIBRARIES - List of libraries when using zlib.
+# ZLIB_FOUND - True if zlib found.
+
+
+IF (ZLIB_INCLUDE_DIR)
+ # Already in cache, be silent
+ SET(ZLIB_FIND_QUIETLY TRUE)
+ENDIF (ZLIB_INCLUDE_DIR)
+
+FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;Insta llPath]/include"
+ /usr/local/include
+ /usr/include
+)
+
+SET(ZLIB_NAMES z zlib zdll)
+FIND_LIBRARY(ZLIB_LIBRARY
+ NAMES ${ZLIB_NAMES}
+ PATHS
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;Insta llPath]/lib"
+ /usr/lib /usr/local/lib ${CMAKE_SOURCE_DIR}/zlib
+)
+
+IF (ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY)
+ SET(ZLIB_FOUND TRUE)
+ SET( ZLIB_LIBRARIES ${ZLIB_LIBRARY} )
+ELSE (ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY)
+ SET(ZLIB_FOUND FALSE)
+ SET( ZLIB_LIBRARIES )
+ENDIF (ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY)
+
+IF (ZLIB_FOUND)
+ IF (NOT ZLIB_FIND_QUIETLY)
+ MESSAGE(STATUS "Found ZLIB: ${ZLIB_LIBRARY}")
+ ENDIF (NOT ZLIB_FIND_QUIETLY)
+ELSE (ZLIB_FOUND)
+ IF (ZLIB_FIND_REQUIRED)
+ MESSAGE(STATUS "Looked for Z libraries named ${ZLIBS_NAMES}.")
+ MESSAGE(FATAL_ERROR "Could NOT find z library")
+ ENDIF (ZLIB_FIND_REQUIRED)
+ENDIF (ZLIB_FOUND)
+
+MARK_AS_ADVANCED(
+ ZLIB_LIBRARY
+ ZLIB_INCLUDE_DIR
+ )
Index: cmake/Modules/CheckTypeSizeCXX.cxx.in
================================================== =================
--- cmake/Modules/CheckTypeSizeCXX.cxx.in (revision 0)
+++ cmake/Modules/CheckTypeSizeCXX.cxx.in (revision 0)
@@ -0,0 +1,28 @@
+#cmakedefine CHECK_TYPE_SIZE_CXX_TYPE @CHECK_TYPE_SIZE_CXX_TYPE@
+#ifdef CHECK_TYPE_SIZE_CXX_TYPE
+
+@CHECK_TYPE_SIZE_CXX_PREINCLUDE@
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif /* HAVE_STDINT_H */
+
+#ifdef HAVE_STDDEF_H
+# include <stddef.h>
+#endif /* HAVE_STDDEF_H */
+
+@CHECK_TYPE_SIZE_CXX_PREMAIN@
+
+int main(int ac, char*av[]){
+ if(ac > 1000){return *av[0];}
+ return sizeof(CHECK_TYPE_SIZE_CXX_TYPE);
+}
+
+#else /* CHECK_TYPE_SIZE_CXX_TYPE */
+
+# error "CHECK_TYPE_SIZE_CXX_TYPE has to specify the type"
+
+#endif /* CHECK_TYPE_SIZE_CXX_TYPE */
Index: cmake/Modules/CheckIncludeFilesCXX.cmake
================================================== =================
--- cmake/Modules/CheckIncludeFilesCXX.cmake (revision 0)
+++ cmake/Modules/CheckIncludeFilesCXX.cmake (revision 0)
@@ -0,0 +1,59 @@
+# - Check if the files can be included
+#
+# CHECK_INCLUDE_FILES_CXX(INCLUDE VARIABLE)
+#
+# INCLUDE - list of files to include
+# VARIABLE - variable to return result
+#
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+# CMAKE_REQUIRED_FLAGS = string of compile command line flags
+# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+# CMAKE_REQUIRED_INCLUDES = list of include directories
+
+MACRO(CHECK_INCLUDE_FILES_CXX INCLUDE VARIABLE)
+ IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ SET(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
+ IF(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_INCLUDE_FILES_CXX_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
+ ELSE(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_INCLUDE_FILES_CXX_INCLUDE_DIRS)
+ ENDIF(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_INCLUDE_FILES_CXX_CONTENT "/* */\n")
+ SET(MACRO_CHECK_INCLUDE_FILES_CXX_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ FOREACH(FILE ${INCLUDE})
+ SET(CMAKE_CONFIGURABLE_FILE_CONTENT
+ "${CMAKE_CONFIGURABLE_FILE_CONTENT}#include <${FILE}>\n")
+ ENDFOREACH(FILE)
+ SET(CMAKE_CONFIGURABLE_FILE_CONTENT
+ "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n\nint main(){return 0;}\n")
+ CONFIGURE_FILE("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.cxx" @ONLY IMMEDIATE)
+
+ MESSAGE(STATUS "Looking for include files ${VARIABLE}")
+ TRY_COMPILE(${VARIABLE}
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.cxx
+ COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+ CMAKE_FLAGS
+ -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_ FILES_CXX_FLAGS}
+ "${CHECK_INCLUDE_FILES_CXX_INCLUDE_DIRS}"
+ OUTPUT_VARIABLE OUTPUT)
+ IF(${VARIABLE})
+ MESSAGE(STATUS "Looking for include files ${VARIABLE} - found")
+ SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${VARIABLE}")
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}${CMAKE _FILES_DIRECTORY}/CMakeOutput.log
+ "Determining if files ${INCLUDE} "
+ "exist passed with the following output:\n"
+ "${OUTPUT}\n\n")
+ ELSE(${VARIABLE})
+ MESSAGE(STATUS "Looking for include files ${VARIABLE} - not found.")
+ SET(${VARIABLE} "" CACHE INTERNAL "Have includes ${VARIABLE}")
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Determining if files ${INCLUDE} "
+ "exist failed with the following output:\n"
+ "${OUTPUT}\nSource:\n${CMAKE_CONFIGURABLE_FILE_CONT ENT}\n")
+ ENDIF(${VARIABLE})
+ ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ENDMACRO(CHECK_INCLUDE_FILES_CXX)
Index: cmake/Modules/qt3uic.cmake
================================================== =================
--- cmake/Modules/qt3uic.cmake (revision 0)
+++ cmake/Modules/qt3uic.cmake (revision 0)
@@ -0,0 +1,20 @@
+
+
+# used internally by KDE3Macros.cmake
+# [email protected]
+
+
+EXECUTE_PROCESS(COMMAND ${KDE_UIC_EXECUTABLE}
+ -L ${KDE_UIC_PLUGIN_DIR} -nounload
+ -impl ${KDE_UIC_H_FILE}
+ ${KDE_UIC_FILE}
+ OUTPUT_VARIABLE _uic_CONTENTS
+ ERROR_QUIET
+ )
+
+STRING(REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
+STRING(REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
+
+FILE(WRITE ${KDE_UIC_CPP_FILE} "\n\n")
+FILE(APPEND ${KDE_UIC_CPP_FILE} "${_uic_CONTENTS}")
+
Index: cmake/Modules/DefineInstallationPaths.cmake
================================================== =================
--- cmake/Modules/DefineInstallationPaths.cmake (revision 0)
+++ cmake/Modules/DefineInstallationPaths.cmake (revision 0)
@@ -0,0 +1,105 @@
+IF (NOT APPLICATION_NAME)
+ MESSAGE(STATUS "${PROJECT_NAME} is used as APPLICATION_NAME")
+ SET(APPLICATION_NAME ${PROJECT_NAME})
+ENDIF (NOT APPLICATION_NAME)
+
+# Suffix for Linux
+SET(LIB_SUFFIX
+ CACHE STRING "Define suffix of directory name (32/64)"
+)
+
+SET(EXEC_INSTALL_PREFIX
+ "${CMAKE_INSTALL_PREFIX}"
+ CACHE PATH "Base directory for executables and libraries"
+ FORCE
+)
+SET(SHARE_INSTALL_PREFIX
+ "${CMAKE_INSTALL_PREFIX}/share"
+ CACHE PATH "Base directory for files which go to share/"
+ FORCE
+)
+SET(DATA_INSTALL_PREFIX
+ "${SHARE_INSTALL_PREFIX}/${APPLICATION_NAME}"
+ CACHE PATH "The parent directory where applications can install their data" FORCE)
+ # The following are directories where stuff will be installed to
+
+SET(BIN_INSTALL_DIR
+ "${EXEC_INSTALL_PREFIX}/bin"
+ CACHE PATH "The ${APPLICATION_NAME} binary install dir (default prefix/bin)"
+ FORCE
+)
+SET(SBIN_INSTALL_DIR
+ "${EXEC_INSTALL_PREFIX}/sbin"
+ CACHE PATH "The ${APPLICATION_NAME} sbin install dir (default prefix/sbin)"
+ FORCE
+)
+SET(LIB_INSTALL_DIR
+ "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}"
+ CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/lib)"
+ FORCE
+)
+SET(LIBEXEC_INSTALL_DIR
+ "${EXEC_INSTALL_PREFIX}/libexec"
+ CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/libexec)"
+ FORCE
+)
+SET(PLUGIN_INSTALL_DIR
+ "${LIB_INSTALL_DIR}/${APPLICATION_NAME}"
+ CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is prefix/lib/${APPLICATION_NAME})"
+ FORCE
+)
+SET(INCLUDE_INSTALL_DIR
+ "${CMAKE_INSTALL_PREFIX}/include"
+ CACHE PATH "The subdirectory to the header prefix (default prefix/include)"
+ FORCE
+)
+
+SET(DATA_INSTALL_DIR
+ "${DATA_INSTALL_PREFIX}"
+ CACHE PATH "The parent directory where applications can install their data (default prefix/share/${APPLICATION_NAME})"
+ FORCE
+)
+SET(HTML_INSTALL_DIR
+ "${DATA_INSTALL_PREFIX}/doc/HTML"
+ CACHE PATH "The HTML install dir for documentation (default data/doc/html)"
+ FORCE
+)
+SET(ICON_INSTALL_DIR
+ "${DATA_INSTALL_PREFIX}/icons"
+ CACHE PATH "The icon install dir (default data/icons/)"
+ FORCE
+)
+SET(SOUND_INSTALL_DIR
+ "${DATA_INSTALL_PREFIX}/sounds"
+ CACHE PATH "The install dir for sound files (default data/sounds)"
+ FORCE
+)
+
+SET(LOCALE_INSTALL_DIR
+ "${SHARE_INSTALL_PREFIX}/locale"
+ CACHE PATH "The install dir for translations (default prefix/share/locale)"
+ FORCE
+)
+
+
+SET(SYSCONF_INSTALL_DIR
+ "${EXEC_INSTALL_PREFIX}/etc"
+ CACHE PATH "The ${APPLICATION_NAME} sysconfig install dir (default prefix/etc)"
+ FORCE
+)
+SET(MAN_INSTALL_DIR
+ "${SHARE_INSTALL_PREFIX}/man"
+ CACHE PATH "The ${APPLICATION_NAME} man install dir (default prefix/man)"
+ FORCE
+)
+SET(INFO_INSTALL_DIR
+ "${SHARE_INSTALL_PREFIX}/info"
+ CACHE PATH "The ${APPLICATION_NAME} info install dir (default prefix/info)"
+ FORCE
+)
+
+SET(LOCALSTATE_INSTALL_DIR
+ "${CMAKE_INSTALL_PREFIX}/var"
+ CACHE PATH "The ${APPLICATION_NAME} local state install dir (default prefix/var)"
+ FORCE
+)
Index: cmake/Modules/QT3Macros.cmake
================================================== =================
--- cmake/Modules/QT3Macros.cmake (revision 0)
+++ cmake/Modules/QT3Macros.cmake (revision 0)
@@ -0,0 +1,393 @@
+#
+
+# See FindQT3.cmake for documentation.
+#
+# this file contains the following macros:
+# QT3_ADD_DCOP_SKELS
+# QT3_ADD_DCOP_STUBS
+# QT3_ADD_MOC_FILES
+# QT3_ADD_UI_FILES
+# QT3_ADD_KCFG_FILES
+# QT3_AUTOMOC
+# QT3_INSTALL_LIBTOOL_FILE
+# QT3_CREATE_FINAL_FILE
+# QT3_ADD_KPART
+# QT3_ADD_KDEINIT_EXECUTABLE
+# QT3_ADD_EXECUTABLE
+
+
+#[email protected]
+
+INCLUDE(AddFileDependencies)
+
+#create the kidl and skeletion file for dcop stuff
+#usage: KDE_ADD_COP_SKELS(foo_SRCS ${dcop_headers})
+MACRO(QT3_ADD_DCOP_SKELS _sources)
+ FOREACH (_current_FILE ${ARGN})
+
+ GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
+ GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
+
+ 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 ${QT3_DCOPIDL_EXECUTABLE}
+ ARGS ${_tmp_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 ${QT3_DCOPIDL2CPP_EXECUTABLE}
+ ARGS --c++-suffix cpp --no-signals --no-stub ${_kidl}
+ DEPENDS ${_kidl}
+ )
+
+ ENDIF (NOT HAVE_${_basename}_SKEL_RULE)
+
+ SET(${_sources} ${${_sources}} ${_skel})
+
+ ENDFOREACH (_current_FILE)
+
+ENDMACRO(QT3_ADD_DCOP_SKELS)
+
+
+MACRO(QT3_ADD_DCOP_STUBS _sources)
+ FOREACH (_current_FILE ${ARGN})
+
+ GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
+
+ GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
+
+ SET(_stub_CPP ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.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 ${QT3_DCOPIDL_EXECUTABLE}
+ ARGS ${_tmp_FILE} > ${_kidl}
+ DEPENDS ${_tmp_FILE}
+ )
+
+ ENDIF (NOT HAVE_${_basename}_KIDL_RULE)
+
+
+ IF (NOT HAVE_${_basename}_STUB_RULE)
+ SET(HAVE_${_basename}_STUB_RULE ON)
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_stub_CPP}
+ COMMAND ${QT3_DCOPIDL2CPP_EXECUTABLE}
+ ARGS --c++-suffix cpp --no-signals --no-skel ${_kidl}
+ DEPENDS ${_kidl}
+ )
+
+ ENDIF (NOT HAVE_${_basename}_STUB_RULE)
+
+ SET(${_sources} ${${_sources}} ${_stub_CPP})
+
+ ENDFOREACH (_current_FILE)
+
+ENDMACRO(QT3_ADD_DCOP_STUBS)
+
+
+MACRO(QT3_ADD_KCFG_FILES _sources)
+ FOREACH (_current_FILE ${ARGN})
+
+ GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
+
+ GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
+
+ FILE(READ ${_tmp_FILE} _contents)
+ STRING(REGEX REPLACE "^(.*\n)?File=([^\n]+)\n.*$" "\\2" _kcfg_FILE "${_contents}")
+
+ SET(_src_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+ SET(_header_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_src_FILE}
+ COMMAND ${QT3_KCFGC_EXECUTABLE}
+ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} ${_tmp_FILE}
+ DEPENDS ${_tmp_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} )
+
+ SET(${_sources} ${${_sources}} ${_src_FILE})
+
+ ENDFOREACH (_current_FILE)
+
+ENDMACRO(QT3_ADD_KCFG_FILES)
+
+
+#create the moc files and add them to the list of sources
+#usage: KDE_ADD_MOC_FILES(foo_SRCS ${moc_headers})
+MACRO(QT3_ADD_MOC_FILES _sources)
+ FOREACH (_current_FILE ${ARGN})
+
+ GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
+
+ 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 ${_tmp_FILE} -o ${_moc}
+ DEPENDS ${_tmp_FILE}
+ )
+
+ SET(${_sources} ${${_sources}} ${_moc})
+
+ ENDFOREACH (_current_FILE)
+ENDMACRO(QT3_ADD_MOC_FILES)
+
+
+GET_FILENAME_COMPONENT( QT3_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
+
+#create the implementation files from the ui files and add them to the list of sources
+#usage: KDE_ADD_UI_FILES(foo_SRCS ${ui_files})
+MACRO(QT3_ADD_UI_FILES _sources )
+ FOREACH (_current_FILE ${ARGN})
+
+ GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
+
+ 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)
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_header}
+ COMMAND ${QT_UIC_EXECUTABLE}
+ ARGS -L ${QT3_LIB_DIR}/kde3/plugins/designer -nounload -o ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}
+ DEPENDS ${_tmp_FILE}
+ )
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_src}
+ COMMAND ${CMAKE_COMMAND}
+ ARGS
+ -DKDE_UIC_PLUGIN_DIR:FILEPATH=${QT3_LIB_DIR}/kde3/plugins/designer
+ -DKDE_UIC_EXECUTABLE:FILEPATH=${QT_UIC_EXECUTABLE}
+ -DKDE_UIC_FILE:FILEPATH=${_tmp_FILE}
+ -DKDE_UIC_CPP_FILE:FILEPATH=${_src}
+ -DKDE_UIC_H_FILE:FILEPATH=${_header}
+ -P ${QT3_MODULE_DIR}/qt3uic.cmake
+ DEPENDS ${_header}
+ )
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
+ COMMAND ${QT_MOC_EXECUTABLE}
+ ARGS ${_header} -o ${_moc}
+ DEPENDS ${_header}
+ )
+
+ SET(${_sources} ${${_sources}} ${_src} ${_moc} )
+
+ ENDFOREACH (_current_FILE)
+ENDMACRO(QT3_ADD_UI_FILES)
+
+
+MACRO(QT3_AUTOMOC)
+ SET(_matching_FILES )
+ FOREACH (_current_FILE ${ARGN})
+
+ GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
+
+ # if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
+ # here. this is required to make bouic work correctly:
+ # we need to add generated .cpp files to the sources (to compile them),
+ # but we cannot let automoc handle them, as the .cpp files don't exist yet when
+ # cmake is run for the very first time on them -> however the .cpp files might
+ # exist at a later run. at that time we need to skip them, so that we don't add two
+ # different rules for the same moc file
+ GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC)
+
+ IF (EXISTS ${_abs_FILE} AND NOT _skip)
+
+ FILE(READ ${_abs_FILE} _contents)
+
+ GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH)
+
+ STRING(REGEX MATCHALL "#include +[^ ]+\\.moc[\">]" _match "${_contents}")
+ IF(_match)
+ FOREACH (_current_MOC_INC ${_match})
+ STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
+
+ GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE)
+# SET(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h)
+ SET(_header ${_abs_PATH}/${_basename}.h)
+ SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
+ COMMAND ${QT_MOC_EXECUTABLE}
+ ARGS ${_header} -o ${_moc}
+ DEPENDS ${_header}
+ )
+
+ ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
+
+ ENDFOREACH (_current_MOC_INC)
+ ENDIF(_match)
+
+ ENDIF (EXISTS ${_abs_FILE} AND NOT _skip)
+ ENDFOREACH (_current_FILE)
+ENDMACRO(QT3_AUTOMOC)
+
+# only used internally by QT3_INSTALL_ICONS
+MACRO (_QT3_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NAME _install_NAME)
+
+ # if the string doesn't match the pattern, the result is the full string, so all three have the same content
+ IF (NOT ${_group} STREQUAL ${_install_NAME} )
+ SET(_icon_GROUP "actions")
+
+ IF (${_group} STREQUAL "mime")
+ SET(_icon_GROUP "mimetypes")
+ ENDIF (${_group} STREQUAL "mime")
+
+ IF (${_group} STREQUAL "filesys")
+ SET(_icon_GROUP "filesystems")
+ ENDIF (${_group} STREQUAL "filesys")
+
+ IF (${_group} STREQUAL "device")
+ SET(_icon_GROUP "devices")
+ ENDIF (${_group} STREQUAL "device")
+
+ IF (${_group} STREQUAL "app")
+ SET(_icon_GROUP "apps")
+ ENDIF (${_group} STREQUAL "app")
+
+ IF (${_group} STREQUAL "action")
+ SET(_icon_GROUP "actions")
+ ENDIF (${_group} STREQUAL "action")
+
+# message(STATUS "icon: ${_current_ICON} size: ${_size} group: ${_group} name: ${_name}" )
+ INSTALL(FILES ${_orig_NAME} DESTINATION ${_install_PATH}/${_icon_GROUP}/ RENAME ${_install_NAME} )
+ ENDIF (NOT ${_group} STREQUAL ${_install_NAME} )
+
+ENDMACRO (_QT3_ADD_ICON_INSTALL_RULE)
+
+
+MACRO (QT3_INSTALL_ICONS _theme )
+ SET(_defaultpath "${CMAKE_INSTALL_PREFIX}/share/icons")
+ # first the png icons
+ FILE(GLOB _icons *.png)
+ FOREACH (_current_ICON ${_icons} )
+ STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\1" _size "${_current_ICON}")
+ STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\2" _group "${_current_ICON}")
+ STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\3" _name "${_current_ICON}")
+ _QT3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_ DIR}/install_icons.cmake
+ ${_defaultpath}/${_theme}/${_size}x${_size}
+ ${_group} ${_current_ICON} ${_name})
+ ENDFOREACH (_current_ICON)
+
+ # and now the svg icons
+ FILE(GLOB _icons *.svgz)
+ FOREACH (_current_ICON ${_icons} )
+ STRING(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\1" _group "${_current_ICON}")
+ STRING(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\2" _name "${_current_ICON}")
+ _QT3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_ DIR}/install_icons.cmake
+ ${_defaultpath}/${_theme}/scalable
+ ${_group} ${_current_ICON} ${_name})
+ ENDFOREACH (_current_ICON)
+
+ENDMACRO (QT3_INSTALL_ICONS)
+
+MACRO(QT3_INSTALL_LIBTOOL_FILE _target)
+ GET_TARGET_PROPERTY(_target_location ${_target} LOCATION)
+
+ GET_FILENAME_COMPONENT(_laname ${_target_location} NAME_WE)
+ GET_FILENAME_COMPONENT(_soname ${_target_location} NAME)
+ SET(_laname ${CMAKE_CURRENT_BINARY_DIR}/${_laname}.la)
+
+ FILE(WRITE ${_laname} "# ${_laname} - a libtool library file, generated by cmake \n")
+ FILE(APPEND ${_laname} "# The name that we can dlopen(3).\n")
+ FILE(APPEND ${_laname} "dlname='${_soname}'\n")
+ FILE(APPEND ${_laname} "# Names of this library\n")
+ FILE(APPEND ${_laname} "library_names='${_soname} ${_soname} ${_soname}'\n")
+ FILE(APPEND ${_laname} "# The name of the static archive\n")
+ FILE(APPEND ${_laname} "old_library=''\n")
+ FILE(APPEND ${_laname} "# Libraries that this one depends upon.\n")
+ FILE(APPEND ${_laname} "dependency_libs=''\n")
+# FILE(APPEND ${_laname} "dependency_libs='${${_target}_LIB_DEPENDS}'\n")
+ FILE(APPEND ${_laname} "# Version information.\ncurrent=0\nage=0\nrevision=0\n")
+ FILE(APPEND ${_laname} "# Is this an already installed library?\ninstalled=yes\n")
+ FILE(APPEND ${_laname} "# Should we warn about portability when linking against -modules?\nshouldnotlink=yes\n")
+ FILE(APPEND ${_laname} "# Files to dlopen/dlpreopen\ndlopen=''\ndlpreopen=''\n")
+ FILE(APPEND ${_laname} "# Directory that this library needs to be installed in:\n")
+ FILE(APPEND ${_laname} "libdir='${CMAKE_INSTALL_PREFIX}/lib/kde3'\n")
+
+ INSTALL_FILES(/lib/kde3 FILES ${_laname})
+ENDMACRO(QT3_INSTALL_LIBTOOL_FILE)
+
+
+MACRO(QT3_CREATE_FINAL_FILE _filename)
+ FILE(WRITE ${_filename} "//autogenerated file\n")
+ FOREACH (_current_FILE ${ARGN})
+ FILE(APPEND ${_filename} "#include \"${_current_FILE}\"\n")
+ ENDFOREACH (_current_FILE)
+
+ENDMACRO(QT3_CREATE_FINAL_FILE)
+
+
+OPTION(QT3_ENABLE_FINAL "Enable final all-in-one compilation")
+OPTION(QT3_BUILD_TESTS "Build the tests")
+
+
+MACRO(QT3_ADD_KPART _target_NAME _with_PREFIX)
+#is the first argument is "WITH_PREFIX" then keep the standard "lib" prefix, otherwise SET the prefix empty
+ IF (${_with_PREFIX} STREQUAL "WITH_PREFIX")
+ SET(_first_SRC)
+ ELSE (${_with_PREFIX} STREQUAL "WITH_PREFIX")
+ SET(_first_SRC ${_with_PREFIX})
+ ENDIF (${_with_PREFIX} STREQUAL "WITH_PREFIX")
+
+ IF (QT3_ENABLE_FINAL)
+ QT3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_first_SRC} ${ARGN})
+ ADD_LIBRARY(${_target_NAME} MODULE ${_target_NAME}_final.cpp)
+ ELSE (QT3_ENABLE_FINAL)
+ ADD_LIBRARY(${_target_NAME} MODULE ${_first_SRC} ${ARGN})
+ ENDIF (QT3_ENABLE_FINAL)
+
+ IF(_first_SRC)
+ SET_TARGET_PROPERTIES(${_target_NAME} PROPERTIES PREFIX "")
+ ENDIF(_first_SRC)
+
+ QT3_INSTALL_LIBTOOL_FILE(${_target_NAME})
+
+ENDMACRO(QT3_ADD_KPART)
+
+
+MACRO(QT3_ADD_KDEINIT_EXECUTABLE _target_NAME )
+
+ IF (QT3_ENABLE_FINAL)
+ QT3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN})
+ ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${_target_NAME}_final.cpp)
+ ELSE (QT3_ENABLE_FINAL)
+ ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${ARGN} )
+ ENDIF (QT3_ENABLE_FINAL)
+
+ CONFIGURE_FILE(${QT3_MODULE_DIR}/kde3init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)
+
+ ADD_EXECUTABLE( ${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp )
+ TARGET_LINK_LIBRARIES( ${_target_NAME} kdeinit_${_target_NAME} )
+
+ENDMACRO(QT3_ADD_KDEINIT_EXECUTABLE)
+
+
+MACRO(QT3_ADD_EXECUTABLE _target_NAME )
+
+ IF (QT3_ENABLE_FINAL)
+ QT3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN})
+ ADD_EXECUTABLE(${_target_NAME} ${_target_NAME}_final.cpp)
+ ELSE (QT3_ENABLE_FINAL)
+ ADD_EXECUTABLE(${_target_NAME} ${ARGN} )
+ ENDIF (QT3_ENABLE_FINAL)
+
+ENDMACRO(QT3_ADD_EXECUTABLE)
+
+
Index: cmake/Modules/CheckTypeSizeCXX.cmake
================================================== =================
--- cmake/Modules/CheckTypeSizeCXX.cmake (revision 0)
+++ cmake/Modules/CheckTypeSizeCXX.cmake (revision 0)
@@ -0,0 +1,68 @@
+# - Check sizeof a type
+# CHECK_TYPE_SIZE_CXX(TYPE VARIABLE)
+# Check if the type exists and determine size of type. if the type
+# exists, the size will be stored to the variable.
+# VARIABLE - variable to store size if the type exists.
+# HAVE_${VARIABLE} - does the variable exists or not
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+# CMAKE_REQUIRED_FLAGS = string of compile command line flags
+# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+# CMAKE_REQUIRED_INCLUDES = list of include directories
+# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+
+MACRO(CHECK_TYPE_SIZE_CXX TYPE VARIABLE)
+ SET(CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS 1)
+ IF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
+ SET(CHECK_TYPE_SIZE_CXX_TYPE "${TYPE}")
+ SET(MACRO_CHECK_TYPE_CXX_SIZE_FLAGS
+ "${CMAKE_REQUIRED_FLAGS}")
+ FOREACH(def HAVE_SYS_TYPES_H HAVE_STDINT_H HAVE_STDDEF_H)
+ IF("${def}")
+ SET(MACRO_CHECK_TYPE_SIZE_CXX_FLAGS
+ "${MACRO_CHECK_TYPE_SIZE_CXX_FLAGS} -D${def}")
+ ENDIF("${def}")
+ ENDFOREACH(def)
+ SET(CHECK_TYPE_SIZE_CXX_PREINCLUDE)
+ SET(CHECK_TYPE_SIZE_CXX_PREMAIN)
+ FOREACH(def ${CMAKE_EXTRA_INCLUDE_FILES})
+ SET(CHECK_TYPE_SIZE_CXX_PREMAIN "${CHECK_TYPE_SIZE_CXX_PREMAIN}#include \"${def}\"\n")
+ ENDFOREACH(def)
+ CONFIGURE_FILE("${CMAKE_MODULE_PATH}/CheckTypeSizeCXX.cxx.in"
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckTypeSizeCXX.cxx" IMMEDIATE @ONLY)
+ FILE(READ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckTypeSizeCXX.cxx"
+ CHECK_TYPE_SIZE_CXX_FILE_CONTENT)
+ MESSAGE(STATUS "Check size of ${TYPE}")
+ IF(CMAKE_REQUIRED_LIBRARIES)
+ SET(CHECK_TYPE_SIZE_CXX_ADD_LIBRARIES
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ ELSE(CMAKE_REQUIRED_LIBRARIES)
+ SET(CHECK_TYPE_SIZE_CXX_ADD_LIBRARIES)
+ ENDIF(CMAKE_REQUIRED_LIBRARIES)
+ IF(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_TYPE_SIZE_CXX_ADD_INCLUDES
+ "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLU DES}")
+ ELSE(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_TYPE_SIZE_CXX_ADD_INCLUDES)
+ ENDIF(CMAKE_REQUIRED_INCLUDES)
+ TRY_RUN(${VARIABLE} HAVE_${VARIABLE}
+ ${CMAKE_BINARY_DIR}
+ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckTypeSizeCXX.cxx"
+ COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZ E_CXX_FLAGS}
+ "${CHECK_TYPE_SIZE_CXX_ADD_LIBRARIES}"
+ "${CHECK_TYPE_SIZE_CXX_ADD_INCLUDES}"
+ OUTPUT_VARIABLE OUTPUT)
+ IF(HAVE_${VARIABLE})
+ MESSAGE(STATUS "Check size of ${TYPE} - done")
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Determining size of ${TYPE} passed with the following output:\n${OUTPUT}\n\n")
+ ELSE(HAVE_${VARIABLE})
+ MESSAGE(STATUS "Check size of ${TYPE} - failed")
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\nCheckTypeSizeCXX.cxx:\n${CHECK _TYPE_SIZE_CXX_FILE_CONTENT}\n\n")
+ ENDIF(HAVE_${VARIABLE})
+ ENDIF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
+ SET(CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS )
+ENDMACRO(CHECK_TYPE_SIZE_CXX)
Index: ConfigureChecks.cmake
================================================== =================
Index: conf/cmake_install.cmake
================================================== =================
--- conf/cmake_install.cmake (revision 0)
+++ conf/cmake_install.cmake (revision 0)
@@ -0,0 +1,34 @@
+# Install script for directory: /home/tanner/projects/showeq/svn.showeq/conf
+
+# Set the install prefix
+IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ SET(CMAKE_INSTALL_PREFIX "/usr/local")
+ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+IF(NOT CMAKE_INSTALL_CONFIG_NAME)
+ IF(BUILD_TYPE)
+ STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ ELSE(BUILD_TYPE)
+ SET(CMAKE_INSTALL_CONFIG_NAME "Debug")
+ ENDIF(BUILD_TYPE)
+ MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+ENDIF(NOT CMAKE_INSTALL_CONFIG_NAME)
+
+# Set the component getting installed.
+IF(NOT CMAKE_INSTALL_COMPONENT)
+ IF(COMPONENT)
+ MESSAGE(STATUS "Install component: \"${COMPONENT}\"")
+ SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ ELSE(COMPONENT)
+ SET(CMAKE_INSTALL_COMPONENT)
+ ENDIF(COMPONENT)
+ENDIF(NOT CMAKE_INSTALL_COMPONENT)
+
+# Install shared libraries without execute permission?
+IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ SET(CMAKE_INSTALL_SO_NO_EXE "1")
+ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+
Index: src/itemdbtool.cpp
================================================== =================
--- src/itemdbtool.cpp (revision 724)
+++ src/itemdbtool.cpp (working copy)
@@ -469,7 +469,7 @@

/////////////////////////////////
// Display database file information
- printstat(PKGDATADIR, "PKGDATADIR");
+ printstat(DATA_INSTALL_DIR, "DATA_INSTALL_DIR");

QString dbExt;

Index: src/map.cpp
================================================== =================
--- src/map.cpp (revision 724)
+++ src/map.cpp (working copy)
@@ -17,7 +17,7 @@


#include "map.h"
-#include "ui_mapicondialog.h"
+#include "mapicondialog.h"
#include "util.h"
#include "main.h"
#include "filtermgr.h"
Index: src/drawmap.cpp
================================================== =================
--- src/drawmap.cpp (revision 724)
+++ src/drawmap.cpp (working copy)
@@ -568,7 +568,7 @@
QRegExp slashExp("/");
mapName.replace(slashExp, "_");

- mapName.prepend(PKGDATADIR "maps/");
+ mapName.prepend(DATA_INSTALL_DIR "maps/");
loadFileMap ((const char*)mapName);
paintMap();
}
@@ -603,12 +603,12 @@
"</HTML>\n";

// otherwise display an HTML form to allow the user to choose a map
- QDir mapDir(PKGDATADIR "maps/", "*.map", (QDir::Name | QDir::IgnoreCase),
+ QDir mapDir(DATA_INSTALL_DIR "maps/", "*.map", (QDir::Name | QDir::IgnoreCase),
(QDir::Files | QDir::Readable));

if (!mapDir.exists())
{
- out << "<H1>The map directory '" PKGDATADIR "/maps/' doesn't exist!</H1>\n";
+ out << "<H1>The map directory '" DATA_INSTALL_DIR "/maps/' doesn't exist!</H1>\n";
out << footer;
return 0;
}
Index: src/CMakeCache.txt
================================================== =================
--- src/CMakeCache.txt (revision 0)
+++ src/CMakeCache.txt (revision 0)
@@ -0,0 +1,314 @@
+# This is the CMakeCache file.
+# For build in directory: /home/tanner/projects/showeq/svn.showeq/src
+# It was generated by CMake: /usr/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//For backwards compatibility, what version of CMake commands and
+// syntax should this version of CMake allow.
+CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4
+
+//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
+// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
+//
+CMAKE_BUILD_TYPE:STRING=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler.
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//Flags used by the compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=' '
+
+//Flags used by the compiler during debug builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the compiler during release minsize builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the compiler during release builds (/MD /Ob1 /Oi
+// /Ot /Oy /Gs will produce slightly less optimized but smaller
+// files).
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the compiler during Release with Debug Info builds.
+//
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g
+
+//C compiler.
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc
+
+//Flags for C compiler.
+CMAKE_C_FLAGS:STRING=' '
+
+//Flags used by the compiler during debug builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the compiler during release minsize builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the compiler during release builds (/MD /Ob1 /Oi
+// /Ot /Oy /Gs will produce slightly less optimized but smaller
+// files).
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the compiler during Release with Debug Info builds.
+//
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g
+
+//Flags used by the linker.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during debug builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+//
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
+
+//Flags used by the linker during the creation of modules.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during debug builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+//
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Flags used by the linker during the creation of dll's.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during debug builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+//
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when using shared libraries.
+//
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//If true, cmake will use relative paths in makefiles and projects.
+//
+CMAKE_USE_RELATIVE_PATHS:BOOL=OFF
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Single output directory for building all executables.
+EXECUTABLE_OUTPUT_PATH:PATH=
+
+//No help, variable specified on the command line.
+KDE3_HEADER:BOOL=ON
+
+//No help, variable specified on the command line.
+KDE3_IMPL:BOOL=ON
+
+//No help, variable specified on the command line.
+KDE_UIC_BASENAME:STRING=mapicondialog
+
+//No help, variable specified on the command line.
+KDE_UIC_CPP_FILE:FILEPATH=/home/tanner/projects/showeq/svn.showeq/src/mapicondialog.cpp
+
+//No help, variable specified on the command line.
+KDE_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic
+
+//No help, variable specified on the command line.
+KDE_UIC_FILE:FILEPATH=/home/tanner/projects/showeq/svn.showeq/src/mapicondialog.ui
+
+//No help, variable specified on the command line.
+KDE_UIC_H_FILE:FILEPATH=/home/tanner/projects/showeq/svn.showeq/src/mapicondialog.h
+
+//No help, variable specified on the command line.
+KDE_UIC_PLUGIN_DIR:FILEPATH=.
+
+//Single output directory for building all libraries.
+LIBRARY_OUTPUT_PATH:PATH=
+
+//Value Computed by CMake
+Project_BINARY_DIR:STATIC=/home/tanner/projects/showeq/svn.showeq/src
+
+//Value Computed by CMake
+Project_SOURCE_DIR:STATIC=/home/tanner/projects/showeq/svn.showeq/src
+
+//No help, variable specified on the command line.
+QT_UIC_CPP_FILE:FILEPATH=/home/tanner/projects/showeq/svn.showeq/src/mapicondialog.cpp
+
+//No help, variable specified on the command line.
+QT_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic
+
+//No help, variable specified on the command line.
+QT_UIC_FILE:FILEPATH=/home/tanner/projects/showeq/svn.showeq/src/mapicondialog.ui
+
+//No help, variable specified on the command line.
+QT_UIC_H_FILE:FILEPATH=/home/tanner/projects/showeq/svn.showeq/src/mapicondialog.h
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//Advanced flag for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_BUILD_TOOL
+CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1
+//What is the target build tool cmake is generating for.
+CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/make
+//This is the directory where this CMakeCahe.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/tanner/projects/showeq/svn.showeq/src
+//Major version of cmake used to create the current loaded cache
+//
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2
+//Minor version of cmake used to create the current loaded cache
+//
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=4
+//Major version of cmake used to create the current loaded cache
+//
+CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 7
+//Advanced flag for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//Advanced flag for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+CMAKE_CXX_COMPILER_WORKS:INTERNAL=1
+//Advanced flag for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+CMAKE_C_COMPILER_WORKS:INTERNAL=1
+//Advanced flag for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//Path to cache edit program executable.
+CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
+//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+//
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+//
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Start directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/tanner/projects/showeq/svn.showeq/src
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//Advanced flag for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+//
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+//
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+//
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=1
+//Advanced flag for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake-2.4
+//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+//
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+//
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+//
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//Result of TRY_RUN
+CMAKE_SIZEOF_VOID_P:INTERNAL=4
+//Advanced flag for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/bin/uname
+//Advanced flag for variable: CMAKE_USE_RELATIVE_PATHS
+CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1
+//Advanced flag for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//Result of TRY_COMPILE
+HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE
+
Index: src/datalocationmgr.cpp
================================================== =================
--- src/datalocationmgr.cpp (revision 724)
+++ src/datalocationmgr.cpp (working copy)
@@ -8,6 +8,7 @@
*
*/

+#include "config.h"
#include "datalocationmgr.h"
#include "diagnosticmessages.h"

Index: src/CMakeLists.txt
================================================== =================
--- src/CMakeLists.txt (revision 0)
+++ src/CMakeLists.txt (revision 0)
@@ -0,0 +1,62 @@
+# First setup the includes and link paths
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}/src
+ )
+
+set(seq_SOURCES
+ main.cpp spawn.cpp spawnshell.cpp spawnlist.cpp spellshell.cpp
+ spelllist.cpp vpacket.cpp editor.cpp filter.cpp packetfragment.cpp
+ packetstream.cpp packetinfo.cpp packet.cpp packetcapture.cpp
+ packetformat.cpp interface.cpp compass.cpp map.cpp util.cpp
+ experiencelog.cpp combatlog.cpp player.cpp skilllist.cpp statlist.cpp
+ filtermgr.cpp mapcore.cpp category.cpp compassframe.cpp group.cpp
+ guild.cpp netdiag.cpp logger.cpp xmlconv.cpp xmlpreferences.cpp
+ seqwindow.cpp seqlistview.cpp zonemgr.cpp spawnmonitor.cpp
+ spawnpointlist.cpp spawnlistcommon.cpp spawnlist2.cpp spells.cpp
+ datetimemgr.cpp spawnlog.cpp packetlog.cpp datalocationmgr.cpp
+ eqstr.cpp messages.cpp message.cpp messagefilter.cpp messagewindow.cpp
+ messageshell.cpp terminal.cpp filteredspawnlog.cpp
+ messagefilterdialog.cpp diagnosticmessages.cpp mapicon.cpp
+ filternotifications.cpp netstream.cpp guildshell.cpp guildlist.cpp
+ bazaarlog.cpp
+ )
+
+# This is needed to be compatible with existent code
+add_definitions("-DHAVE_CONFIG_H")
+
+if(WITH_FLAG_WALL)
+ add_definitions("-Wall")
+endif(WITH_FLAG_WALL)
+
+if(WITH_FLAG_ANSIPEDANTIC)
+ add_definitions("-pedantic -ansi")
+endif(WITH_FLAG_ANSIPEDANTIC)
+
+if (HAVE_LIBPCAP)
+ set(PCAP_LIBRARIES pcap)
+endif (HAVE_LIBPCAP)
+
+SET(seq_UI
+ mapicondialog.ui
+)
+
+QT3_ADD_UI_FILES(seq_SOURCES ${seq_UI})
+
+# Tell cmake to create .moc files for all files in the variable qtproject_SRCS
+# that require such a file. note: this assumes that you use <<#include
+# "header.moc">> in your files also note that you don't actually require kde
+# to use this command
+kde3_automoc(${seq_SOURCES})
+
+add_executable(
+ showeq
+ ${seq_SOURCES}
+)
+
+target_link_libraries(
+ showeq
+ ${ZLIB_LIBRARIES}
+ ${PCAP_LIBRARIES}
+ ${QT_LIBRARIES}
+)
Index: src/interface.cpp
================================================== =================
--- src/interface.cpp (revision 724)
+++ src/interface.cpp (working copy)
@@ -7,6 +7,7 @@
* Copyright 2000-2007 by the respective ShowEQ Developers
*/

+#include "config.h"
#include "interface.h"
#include "util.h"
#include "main.h"
@@ -3191,7 +3192,7 @@
}

QString value = pSEQPrefs->getPrefString(property, "Filters",
- "/usr/bin/esdplay " PKGDATADIR "/spawn.wav &");
+ "/usr/bin/esdplay " DATA_INSTALL_DIR "/spawn.wav &");

bool ok = false;
QString command =
Index: src/cmake_install.cmake
================================================== =================
--- src/cmake_install.cmake (revision 0)
+++ src/cmake_install.cmake (revision 0)
@@ -0,0 +1,34 @@
+# Install script for directory: /home/tanner/projects/showeq/svn.showeq/src
+
+# Set the install prefix
+IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ SET(CMAKE_INSTALL_PREFIX "/usr/local")
+ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+IF(NOT CMAKE_INSTALL_CONFIG_NAME)
+ IF(BUILD_TYPE)
+ STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ ELSE(BUILD_TYPE)
+ SET(CMAKE_INSTALL_CONFIG_NAME "Debug")
+ ENDIF(BUILD_TYPE)
+ MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+ENDIF(NOT CMAKE_INSTALL_CONFIG_NAME)
+
+# Set the component getting installed.
+IF(NOT CMAKE_INSTALL_COMPONENT)
+ IF(COMPONENT)
+ MESSAGE(STATUS "Install component: \"${COMPONENT}\"")
+ SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ ELSE(COMPONENT)
+ SET(CMAKE_INSTALL_COMPONENT)
+ ENDIF(COMPONENT)
+ENDIF(NOT CMAKE_INSTALL_COMPONENT)
+
+# Install shared libraries without execute permission?
+IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ SET(CMAKE_INSTALL_SO_NO_EXE "1")
+ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+
Index: doc/cmake_install.cmake
================================================== =================
--- doc/cmake_install.cmake (revision 0)
+++ doc/cmake_install.cmake (revision 0)
@@ -0,0 +1,34 @@
+# Install script for directory: /home/tanner/projects/showeq/svn.showeq/doc
+
+# Set the install prefix
+IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ SET(CMAKE_INSTALL_PREFIX "/usr/local")
+ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+IF(NOT CMAKE_INSTALL_CONFIG_NAME)
+ IF(BUILD_TYPE)
+ STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ ELSE(BUILD_TYPE)
+ SET(CMAKE_INSTALL_CONFIG_NAME "Debug")
+ ENDIF(BUILD_TYPE)
+ MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+ENDIF(NOT CMAKE_INSTALL_CONFIG_NAME)
+
+# Set the component getting installed.
+IF(NOT CMAKE_INSTALL_COMPONENT)
+ IF(COMPONENT)
+ MESSAGE(STATUS "Install component: \"${COMPONENT}\"")
+ SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ ELSE(COMPONENT)
+ SET(CMAKE_INSTALL_COMPONENT)
+ ENDIF(COMPONENT)
+ENDIF(NOT CMAKE_INSTALL_COMPONENT)
+
+# Install shared libraries without execute permission?
+IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ SET(CMAKE_INSTALL_SO_NO_EXE "1")
+ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+
Index: CMakeLists.txt
================================================== =================
--- CMakeLists.txt (revision 0)
+++ CMakeLists.txt (revision 0)
@@ -0,0 +1,83 @@
+# Required cmake version
+cmake_minimum_required(VERSION 2.4)
+
+if(COMMAND cmake_policy)
+ cmake_policy(SET CMP0003 NEW)
+endif(COMMAND cmake_policy)
+
+# Let me see the command line
+set(CMAKE_VERBOSE_MAKEFILE off)
+
+# Debug build please
+set(CMAKE_BUILD_TYPE Debug)
+
+# Put the include dirs which are in the source or build tree
+# before all other include dirs, so the headers in the sources
+# are prefered over the already installed ones
+# since cmake 2.4.1
+set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
+
+project(showeq)
+set(VERSION "5.13.2.0")
+set(PKGDATADIR ${DATA_INSTALL_DIR})
+
+message(STATUS "Version: ${VERSION}")
+message(STATUS "DATA_INSTALL_DIR: ${DATA_INSTALL_DIR}")
+message(STATUS "PKGDATADIR: ${PKGDATADIR}")
+
+option(WITH_ANSI "enforce strict ISO C++ conforming" ON)
+
+# Our own modules
+set(CMAKE_MODULE_PATH
+ ${CMAKE_SOURCE_DIR}/cmake/Modules
+)
+
+# Include used modules
+include(DefineInstallationPaths)
+include(CheckIncludeFileCXX)
+include(CheckIncludeFilesCXX)
+include(CheckFunctionExists)
+include(CheckLibraryExists)
+include(CheckTypeSizeCXX)
+include(CheckCXXCompilerFlag)
+include(CheckMkdirArgs)
+include(KDE3Macros)
+include(QT3Macros)
+
+# Setup short variable path names
+set(BINDIR ${BIN_INSTALL_DIR})
+set(SBINDIR ${SBIN_INSTALL_DIR})
+set(SYSCONFDIR ${SYSCONF_INSTALL_DIR})
+set(LOCALSTATEDIR ${LOCALSTATE_INSTALL_DIR})
+set(MANDIR ${MAN_INSTALL_DIR})
+set(DATADIR ${DATA_INSTALL_DIR})
+
+# library checks
+find_package(Qt3 REQUIRED)
+find_package(ZLIB REQUIRED)
+check_library_exists(pcap pcap_open_offline "" HAVE_LIBPCAP)
+
+check_include_file_cxx(netinet/in.h HAVE_NETINET_IN_H)
+check_include_file_cxx(netinet/ip.h HAVE_NETINET_IP_H)
+check_include_file_cxx(arpa/inet.h HAVE_ARPA_INET_H)
+check_include_file_cxx(sys/socket.h HAVE_SYS_SOCKET_H)
+check_include_file_cxx(pcap.h HAVE_PCAP_H)
+
+check_function_exists(strnlen HAVE_STRNLEN)
+
+# Defines and includes
+add_definitions(
+ ${PCAP_DEFINITIONS}
+ ${ZLIB_DEFINITIONS}
+ ${QT_DEFINITIONS}
+)
+
+include_directories(
+ ${PCAP_INCLUDE_DIR}
+ ${ZLIB_INCLUDE_DIR}
+ ${QT_INCLUDE_DIR}
+)
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+
+subdirs(src doc conf)
Index: cmake_install.cmake
================================================== =================
--- cmake_install.cmake (revision 0)
+++ cmake_install.cmake (revision 0)
@@ -0,0 +1,50 @@
+# Install script for directory: /home/tanner/projects/showeq/svn.showeq
+
+# Set the install prefix
+IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ SET(CMAKE_INSTALL_PREFIX "/usr/local")
+ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+IF(NOT CMAKE_INSTALL_CONFIG_NAME)
+ IF(BUILD_TYPE)
+ STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ ELSE(BUILD_TYPE)
+ SET(CMAKE_INSTALL_CONFIG_NAME "Debug")
+ ENDIF(BUILD_TYPE)
+ MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+ENDIF(NOT CMAKE_INSTALL_CONFIG_NAME)
+
+# Set the component getting installed.
+IF(NOT CMAKE_INSTALL_COMPONENT)
+ IF(COMPONENT)
+ MESSAGE(STATUS "Install component: \"${COMPONENT}\"")
+ SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ ELSE(COMPONENT)
+ SET(CMAKE_INSTALL_COMPONENT)
+ ENDIF(COMPONENT)
+ENDIF(NOT CMAKE_INSTALL_COMPONENT)
+
+# Install shared libraries without execute permission?
+IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ SET(CMAKE_INSTALL_SO_NO_EXE "1")
+ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+
+IF(NOT CMAKE_INSTALL_LOCAL_ONLY)
+ # Include the install script for each subdirectory.
+ INCLUDE("/home/tanner/projects/showeq/svn.showeq/src/cmake_install.cmake")
+ INCLUDE("/home/tanner/projects/showeq/svn.showeq/doc/cmake_install.cmake")
+ INCLUDE("/home/tanner/projects/showeq/svn.showeq/conf/cmake_install.cmake")
+
+ENDIF(NOT CMAKE_INSTALL_LOCAL_ONLY)
+IF(CMAKE_INSTALL_COMPONENT)
+ SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+ELSE(CMAKE_INSTALL_COMPONENT)
+ SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+ENDIF(CMAKE_INSTALL_COMPONENT)
+FILE(WRITE "/home/tanner/projects/showeq/svn.showeq/${CMAKE_INSTALL_MANIFEST}" "")
+FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES})
+ FILE(APPEND "/home/tanner/projects/showeq/svn.showeq/${CMAKE_INSTALL_MANIFEST}" "${file}\n")
+ENDFOREACH(file)
Index: config.h.cmake
================================================== =================
--- config.h.cmake (revision 0)
+++ config.h.cmake (revision 0)
@@ -0,0 +1,121 @@
+#ifndef SHOWEQ_CONFIG_H
+#define SHOWEQ_CONFIG_H
+
+#cmakedefine VERSION "@VERSION@"
+#cmakedefine PKGDATADIR "@DATA_INSTALL_DIR@"
+#cmakedefine DATA_INSTALL_DIR "@DATA_INSTALL_DIR@"
+
+#cmakedefine HAVE_FCNTL_H
+#cmakedefine HAVE_SYS_TIME_H
+#cmakedefine HAVE_SYS_SELECT_H
+#cmakedefine HAVE_UNISTD_H
+#cmakedefine HAVE_SYS_UTSNAME_H
+#cmakedefine HAVE_SYS_TIMEB_H
+#cmakedefine HAVE_SYS_SOCKET_H
+#cmakedefine HAVE_SYS_PARAM_H
+#cmakedefine HAVE_NETINET_IN_H
+#cmakedefine HAVE_NETINET_IP_H
+#cmakedefine HAVE_ARPA_INET_H
+#cmakedefine HAVE_NETDB_H
+#cmakedefine HAVE_TERMIOS_H
+#cmakedefine HAVE_SYS_TYPES_H
+#cmakedefine HAVE_SYS_WAIT_H
+#cmakedefine HAVE_SYS_IOCTL_H
+#cmakedefine HAVE_STDINT_H
+#cmakedefine HAVE_SYS_FILE_H
+#cmakedefine HAVE_POLL_H
+#cmakedefine HAVE_SYS_POLL_H
+#cmakedefine HAVE_SYS_STROPTS_H
+#cmakedefine HAVE_SYS_STAT_H
+#cmakedefine HAVE_PWD_H
+#cmakedefine HAVE_GRP_H
+#cmakedefine HAVE_DIR_H
+#cmakedefine HAVE_DIRENT_H
+#cmakedefine HAVE_NDIR_H
+#cmakedefine HAVE_SYS_DIR_H
+#cmakedefine HAVE_SYS_NDIR_H
+#cmakedefine HAVE_DIRECT_H
+#cmakedefine HAVE_SYS_MMAN_H
+#cmakedefine HAVE_SYS_EVENT_H
+#cmakedefine HAVE_SYS_EPOLL_H
+#cmakedefine HAVE_SYS_RESOURCE_H
+#cmakedefine HAVE_SQLITE3_H
+#cmakedefine HAVE_PCAP_H
+#cmakedefine HAVE_WINDOWS_H
+#cmakedefine HAVE_WINSOCK2_H
+#cmakedefine HAVE_PROCESS_H
+
+#cmakedefine SIZEOF_UNSIGNED_CHAR ${SIZEOF_UNSIGNED_CHAR}
+#cmakedefine SIZEOF_UNSIGNED_SHORT ${SIZEOF_UNSIGNED_SHORT}
+#cmakedefine SIZEOF_UNSIGNED_INT ${SIZEOF_UNSIGNED_INT}
+#cmakedefine SIZEOF_UNSIGNED_LONG ${SIZEOF_UNSIGNED_LONG}
+#cmakedefine SIZEOF_UNSIGNED_LONG_LONG ${SIZEOF_UNSIGNED_LONG_LONG}
+#cmakedefine SIZEOF_SIGNED_CHAR ${SIZEOF_SIGNED_CHAR}
+#cmakedefine SIZEOF_SIGNED_SHORT ${SIZEOF_SIGNED_SHORT}
+#cmakedefine SIZEOF_SIGNED_INT ${SIZEOF_SIGNED_INT}
+#cmakedefine SIZEOF_SIGNED_LONG ${SIZEOF_SIGNED_LONG}
+#cmakedefine SIZEOF_SIGNED_LONG_LONG ${SIZEOF_SIGNED_LONG_LONG}
+
+#cmakedefine HAVE_MMAP
+#cmakedefine HAVE_GETHOSTNAME
+#cmakedefine HAVE_GETTIMEOFDAY
+#cmakedefine HAVE_SELECT
+#cmakedefine HAVE_SOCKET
+#cmakedefine HAVE_STRDUP
+#cmakedefine HAVE_STRTOUL
+#cmakedefine HAVE_INET_ATON
+#cmakedefine HAVE_INET_NTOA
+#cmakedefine HAVE_UNAME
+#cmakedefine HAVE_RECV
+#cmakedefine HAVE_SEND
+#cmakedefine HAVE_RECVFROM
+#cmakedefine HAVE_SENDTO
+#cmakedefine HAVE_UNAME
+#cmakedefine HAVE_FORK
+#cmakedefine HAVE_GETPID
+#cmakedefine HAVE_SIGACTION
+#cmakedefine HAVE_SIGPROCMASK
+#cmakedefine HAVE_SIGADDSET
+#cmakedefine HAVE_SETPGID
+#cmakedefine HAVE_FTIME
+#cmakedefine HAVE_STRCASECMP
+#cmakedefine HAVE_STRNCASECMP
+#cmakedefine HAVE_STRICMP
+#cmakedefine HAVE_STRNICMP
+#cmakedefine HAVE_STRNLEN
+#cmakedefine HAVE_CHDIR
+#cmakedefine HAVE_DIFFTIME
+#cmakedefine HAVE_STRCHR
+#cmakedefine HAVE_STRRCHR
+#cmakedefine HAVE_INDEX
+#cmakedefine HAVE_RINDEX
+#cmakedefine HAVE_WAIT
+#cmakedefine HAVE_WAITPID
+#cmakedefine HAVE_PIPE
+#cmakedefine HAVE_GETENV
+#cmakedefine HAVE_IOCTL
+#cmakedefine HAVE_SETSID
+#cmakedefine HAVE_POLL
+#cmakedefine HAVE_GETHOSTBYNAME
+#cmakedefine HAVE_GETSERVBYNAME
+#cmakedefine HAVE_GETLOGIN
+#cmakedefine HAVE_GETPWNAME
+#cmakedefine HAVE_GETGRNAM
+#cmakedefine HAVE_GETUID
+#cmakedefine HAVE_GETGID
+#cmakedefine HAVE_SETUID
+#cmakedefine HAVE_MKDIR
+#cmakedefine HAVE__MKDIR
+#cmakedefine MKDIR_TAKES_ONE_ARG
+#cmakedefine HAVE_STRSEP
+#cmakedefine HAVE_GETOPT
+#cmakedefine HAVE_KQUEUE
+#cmakedefine HAVE_SETITIMER
+#cmakedefine HAVE_EPOLL_CREATE
+#cmakedefine HAVE_GETRLIMIT
+#cmakedefine HAVE_VSNPRINTF
+#cmakedefine HAVE__VSNPRINTF
+#cmakedefine HAVE_SNPRINTF
+#cmakedefine HAVE__SNPRINTF
+#cmakedefine HAVE_SETPGRP
+#endif

purple
03-17-2009, 10:27 AM
Will this cause any new dependencies for people using a tarball?

Does this cause any new dependencies to people using svn?

Did you mean to attach a patch or am I supposed to hack through the code block in the post or am I supposed to go somewhere in that launchpad thing? Make this easier on me because I don't truly care that much about this change to want to do extra work.

tanner
03-17-2009, 04:40 PM
Will this cause any new dependencies for people using a tarball?


Just the cmake binary



Does this cause any new dependencies to people using svn?


None.



Did you mean to attach a patch or am I supposed to hack through the code block in the post or am I supposed to go somewhere in that launchpad thing? Make this easier on me because I don't truly care that much about this change to want to do extra work.

Hack through the code block. When I attempt to upload either a .patch or .txt I get "Upload Errors ... unable to move/copy file". Upload File from a URL gives me "Invalid File" or "Upload failed due to failure writing temporary file"

Can download the patch from http://bazaar.frostmage.org/showeq/cmake-build.patch

Since you do not care, give me write access to svn and I'll do the work myself.

I always was willing to do that but you requested I submit a patch.

I prefer to do the work myself as I don't like putting the burden on other people.

purple
03-18-2009, 11:37 AM
So every single person who uses showeq will need this cmake thing? What is it? Is it standard on most distributions? I don't have it, for example.



cmmalone@sammy ~ $ cmake
-bash: cmake: command not found


What is going to make the users more likely to have it that will make going through this large configuration change worth it?

Why are we moving a burden on developers to have autoconf/automake to a burden on each end user to have cmake? What do we get out of it?

Can we not use cmake in the way we are using autoconf/automake to generate makefiles so that only developers need cmake?



Since you do not care, give me write access to svn and I'll do the work myself.


It has nothing to do with whether you have write access to svn. You're not relying on me because you're lazy. I'm not convinced this cmake thing is a good decision yet. You need to convince me. This means you'll have to be patient and answer my questions, or convince someone else. In general, we are interesting in keeping people happy by making sure skittles work. The general user populate won't care about this change because it doesn't impact skittles working.

That patch is riddled with your name. Is that supposed to be like that? Or did you not clean things up before making the patch?

tanner
03-18-2009, 05:21 PM
I had a nice convincing argument for cmake, list of benefits and reasons, etc.... Post was pretty long and the forums threw an error about being out of disk space and I lost the whole thing :-(

I don't have the energy to redo the posting.

So that must say something about the importance to me of cmake being in svn.

I withdraw the request for svn write access and merge of cmake into svn.

I'll just maintain the cmake stuff outside svn and lauchpad.

Sorry to have troubled everyone.

brainiac
03-18-2009, 08:43 PM
the cmake stuff doesn't change any existing behavior for people who are using the regular way of building afaik.

Its just in addition to the autoconf method, which is broken on svn.


As a side note, I've been using qmake lately with reasonable success.

purple
03-19-2009, 11:45 AM
I don't want to maintain one build configuration system I don't understand, let alone two.

tanner
03-20-2009, 11:11 PM
I don't want to maintain one build configuration system I don't understand, let alone two.

No problem. I plan to maintain it (cmake build) and do my work under bzr on https://launchpad.net/showeq. (https://launchpad.net/showeq)

If the day comes and attitudes change I will happily work with upstream developers to merge the cmake stuff back into svn.


You've made it very clear that you are not interested in change or experimentation with the build system (autotools) and I respect that.

It's not fun telling over-zealous contributors (me!) "No" to new features. But most projects have at least 1 developer that must take on that roll otherwise utter crap get committed to the repository.

purple
03-21-2009, 09:39 AM
Find me where I've said no to this change.

I've asked reasonable questions of you. If you don't think my attitude here is reasonable, that's fine. You can jump on the typical debian bandwagon of "upstream is mean to me. Wah. Wah."

I want to know what the showeq userbase would gain from this change. I want to know what hardships it will cause users. And I want to know why that patch has your name all over it.

I'm not willing to do the work to land this patch until I feel secure that the hassle it causes me is worth it to our users. That in no way says that the patch won't ever land. It just means you have more convincing to do.

We will not maintain two build systems. That's dumb. The choice here is either stick with what we have or move to this new thing.

Pros for staying put:
1) The users know how this works
2) ieatacid knows how to make releases
3) It works well enough
4) The active developers do not know how to maintain the cmake thing
5) The patch for moving to cmake says "tanner" in it all over the place
6) Users might have to install new software they may not already have if we move to cmake

Pros for moving:
1) The active developers have no idea how to maintain autoconf/automake either
2) cmake looks a little more intelligle from looking at the patch
3) It shuts Tanner up
4) It won't be hard to learn how to use the new system. It's actually easier than the current system.

I had a really long post praising how wonderful you are, but the internet ate it. I don't have the energy to redo the whole thing.

tanner
03-22-2009, 02:56 PM
You can jump on the typical debian bandwagon of "upstream is mean to me. Wah. Wah."


That comment shows "upstream is mean" (see below)



I want to know what the showeq userbase would gain from this change.


As stated before, userbase gains nothing. It's a developer/builder change.



We will not maintain two build systems. That's dumb. The choice here is either stick with what we have or move to this new thing.


I totally agree. Thus, I'll maintain it outside of svn.



3) It shuts Tanner up


Upstream is being mean. Waaah!



I had a really long post praising how wonderful you are, but the internet ate it. I don't have the energy to redo the whole thing.

Upsream is being mean. Waaah!

Dude, why the hate and personal attacks?

You have made issue with the patch, I acknowledge the reasons as good decisions -and- beneificial to the showeq project. Stating I'll move the patch to outide upstream and work on it there.

In return you branded a "debian cry-baby" and effectively tell me to shut-up.

In the end, purple you "win". Upstream doesn't change. Svn is not touched. Only end-user who want to experiment with a build system that "has my name all over it" are effected. So why dump all over me?

Since the discussion has degraded to personal attacks. This is the last I'll post regarding the issue.