[brlcad-commits] SF.net SVN: brlcad:[43145] geomcore/trunk
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <sta...@us...> - 2011-02-08 21:38:11
|
Revision: 43145 http://brlcad.svn.sourceforge.net/brlcad/?rev=43145&view=rev Author: starseeker Date: 2011-02-08 21:38:02 +0000 (Tue, 08 Feb 2011) Log Message: ----------- Start rework of the CMake build - no longer generating libutility.h and friends, so update the code accordingly Modified Paths: -------------- geomcore/trunk/CMakeLists.txt geomcore/trunk/cmake/FindTCL.cmake geomcore/trunk/include/EventManager.h geomcore/trunk/include/GSClient.h geomcore/trunk/include/GeometryService.h geomcore/trunk/include/JobManager.h geomcore/trunk/include/NetMsg.h geomcore/trunk/include/NetMsgFactory.h geomcore/trunk/include/Portal.h geomcore/trunk/include/PortalManager.h geomcore/trunk/include/RouteMsgJob.h geomcore/trunk/src/CMakeLists.txt geomcore/trunk/src/GE/CMakeLists.txt geomcore/trunk/src/GS/CMakeLists.txt geomcore/trunk/src/GS/DataManager.cxx geomcore/trunk/src/GS/FileDataSource.cxx geomcore/trunk/src/GS/GSClient.cxx geomcore/trunk/src/GS/GSCmdLineClient.cxx geomcore/trunk/src/GS/SessionManager.cxx geomcore/trunk/src/GS/cmds/LoginCmd.cxx geomcore/trunk/src/GS/cmds/LogoutCmd.cxx geomcore/trunk/src/GS/cmds/PingCmd.cxx geomcore/trunk/src/GS/cmds/ShutdownCmd.cxx geomcore/trunk/src/GS/geoclient.cxx geomcore/trunk/src/GS/geoserv.cxx geomcore/trunk/src/libEvent/CMakeLists.txt geomcore/trunk/src/libEvent/SubmitEventJob.h geomcore/trunk/src/libJob/CMakeLists.txt geomcore/trunk/src/libJob/JobManager.cxx geomcore/trunk/src/libJob/JobWorker.h geomcore/trunk/src/libNet/CMakeLists.txt geomcore/trunk/src/libNet/netMsg/GenericMultiByteMsg.cxx geomcore/trunk/src/libNet/netMsg/GenericOneStringMsg.cxx geomcore/trunk/src/libNet/netMsg/GeometryManifestMsg.cxx geomcore/trunk/src/libNet/netMsg/NetMsg.cxx geomcore/trunk/src/libNet/netMsg/NewSessionReqMsg.cxx geomcore/trunk/src/libNet/netMsg/SessionInfoMsg.cxx geomcore/trunk/src/libPkgCpp/CMakeLists.txt geomcore/trunk/src/other/sqlite/CMakeLists.txt geomcore/trunk/src/utility/CMakeLists.txt Removed Paths: ------------- geomcore/trunk/cmake/PrintHeader.cmake Modified: geomcore/trunk/CMakeLists.txt =================================================================== --- geomcore/trunk/CMakeLists.txt 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/CMakeLists.txt 2011-02-08 21:38:02 UTC (rev 43145) @@ -1,6 +1,6 @@ -######################################################################### +# C M A K E L I S T S . T X T # -# BRL-CAD +# BRL-CAD - Geometry Core # # Copyright (c) 1997-2011 United States Government as represented by # the U.S. Army Research Laboratory. @@ -18,135 +18,146 @@ # License along with this file; see the file named COPYING for more # information. # -######################################################################### -# @file /CMakeLists.txt -# -# $Revision: $ -# $Author: $ -# -######################################################################### CMAKE_MINIMUM_REQUIRED(VERSION 2.2) -IF(COMMAND cmake_policy) +IF(COMMAND CMAKE_POLICY) CMAKE_POLICY(SET CMP0003 NEW) -ENDIF(COMMAND cmake_policy) + CMAKE_POLICY(SET CMP0007 OLD) +ENDIF(COMMAND CMAKE_POLICY) -################################# -INCLUDE (cmake/PrintHeader.cmake) -################################# +PROJECT(GEOMCORE) -#Shortcut for root dir -SET(RT3_ROOT ${CMAKE_SOURCE_DIR}) - #Set path for cmake modules. -SET(CMAKE_MODULE_PATH "${RT3_ROOT}/cmake") +SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") -INCLUDE (cmake/rt3commons.cmake) +#--------------------------------------------------------------------- +# We want to check /usr/local by default, so add it +SET(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /usr/local) +SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /usr/local/include) -# -# Globals -# +#--------------------------------------------------------------------- +# The location in which to install BRLCAD. Need a good Debug location +# for Windows. Only do this if CMAKE_INSTALL_PREFIX hasn't been set +# already, to try and allow parent builds (if any) some control. +IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + IF(NOT WIN32) + IF ("${CMAKE_BUILD_TYPE}" MATCHES "Debug") + SET(CMAKE_INSTALL_PREFIX "${GEOMCORE_SOURCE_DIR}/../geomcore-install") + ELSE("${CMAKE_BUILD_TYPE}" MATCHES "Debug") + SET(CMAKE_INSTALL_PREFIX "/usr/brlcad") + ENDIF ("${CMAKE_BUILD_TYPE}" MATCHES "Debug") + ENDIF(NOT WIN32) + SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE STRING "GEOMCORE install prefix" FORCE) + SET(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 0) +ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) +SET(GEOMCORE_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE STRING "GEOMCORE install prefix") -MESSAGE(STATUS "System Name: ${CMAKE_SYSTEM_NAME}") -MESSAGE(STATUS "System Processor: ${CMAKE_SYSTEM_PROCESSOR}") -MESSAGE(STATUS "System Version: ${CMAKE_SYSTEM_VERSION}") +#--------------------------------------------------------------------- +# The following logic is what allows binaries to run successfully in +# the build directory AND install directory. Thanks to plplot for +# identifying the necessity of setting CMAKE_INSTALL_NAME_DIR on OSX. -SET(RT3_PUBLIC_HEADER_DIR ${CMAKE_SOURCE_DIR}/include) +# use, i.e. don't skip the full RPATH for the build tree +SET(CMAKE_SKIP_BUILD_RPATH FALSE) -# -# Global include var -# +# when building, don't use the install RPATH already +# (but later on when installing) +SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) -SET(GLOBAL_INCLUDE_DIRS ${RT3_PUBLIC_HEADER_DIR} CACHE INTERNAL "") -MESSAGE(STATUS "GLOBAL_INCLUDE_DIRS: ${GLOBAL_INCLUDE_DIRS}") -MESSAGE(STATUS "") +# the RPATH/INSTALL_NAME_DIR to be used when installing +if (NOT APPLE) + SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:\$ORIGIN/../lib") +endif(NOT APPLE) +SET(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") -# -# FLAGS -# +# add the automatically determined parts of the RPATH which point to +# directories outside the build tree to the install RPATH +SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) -#Flag for setting to ON by anything that needs to warn the user of a potential issue. -SET (RT3_COMPILE_WARNINGS OFF CACHE INTERNAL "") -SET (RT3_LAST_WARNING_MSG "" CACHE INTERNAL "") +#--------------------------------------------------------------------- +# Output directories - this is where built library and executable +# files will be placed after building but prior to install. +IF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY) + IF(WIN32) + SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GEOMCORE_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all libraries.") + ELSE(WIN32) + SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GEOMCORE_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.") + ENDIF(WIN32) +ENDIF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY) +IF(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY) + SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${GEOMCORE_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.") +ENDIF(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY) +IF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GEOMCORE_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.") +ENDIF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) -#Verbose option -SET (RT3_VERBOSE_CMAKE_OUTPUT OFF CACHE BOOL "Verbose cmake output. When Set to ON, each project will print its include paths and libraries required for linking.") +FOREACH(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES}) + STRING(TOUPPER "${CFG_TYPE}" CFG_TYPE) + IF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}") + IF(WIN32) + SET("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${GEOMCORE_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all libraries.") + ELSE(WIN32) + SET("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${GEOMCORE_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.") + ENDIF(WIN32) + ENDIF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}") + IF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}") + SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}" ${GEOMCORE_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.") + ENDIF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}") + IF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}") + SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}" ${GEOMCORE_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.") + ENDIF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}") +ENDFOREACH() -#BRLCAD install prefix -SET (BRLCAD_BASE_DIR CACHE FILEPATH "Used for specifying a non-standard install location.") +# Build shared libs by default. Mark this as advanced - turning off +# ALL shared library building is unlikely to result in a working build +# and is not a typical configuration. Note that turning this option off +# will not disable libraries specifically added as SHARED. +OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON) +MARK_AS_ADVANCED(BUILD_SHARED_LIBS) -SET (RT3_BUILD_TESTS ON CACHE BOOL "Build tests in /test dir") +# Build static libs by default. Standard practice is to build and +# install both dynamic and static versions of libraries. This option +# is off by default in Debug configuration. Note that turning this +# option off will not disable libraries specifically added as STATIC +IF(CMAKE_BUILD_TYPE) + # If we're doing a debug build, don't build the static libs unless + # they're specifically asked for (i.e. there is a situation where + # the developer wants to look into the static libs specifically. + # Note that this won't turn off libs that are built ONLY as static + IF ("${CMAKE_BUILD_TYPE}" MATCHES "Debug" AND NOT MSVC) + OPTION(BUILD_STATIC_LIBS "Build static libraries" OFF) + ENDIF ("${CMAKE_BUILD_TYPE}" MATCHES "Debug" AND NOT MSVC) +ELSE(CMAKE_BUILD_TYPE) + OPTION(BUILD_STATIC_LIBS "Build static libraries" ON) +ENDIF(CMAKE_BUILD_TYPE) -MESSAGE(STATUS "Finding Required Dependancies...") +# We need BRL-CAD +find_package(BRLCAD REQUIRED) -# -# Required packages -# +# If BRL-CAD doesn't provide TCL, we need to find it +find_package(TCL REQUIRED) -#Find X11 -FIND_PACKAGE ( X11 REQUIRED ) -IF (NOT X11_FOUND) - MESSAGE(STATUS "\tDid not find X11") -# RETURN() -ENDIF (NOT X11_FOUND) +# For the moment, we need Qt +find_package(Qt4 REQUIRED QtCore QtNetwork) -#Find TCL -FIND_PACKAGE ( TCL REQUIRED ) -IF (NOT TCL_FOUND) - MESSAGE(STATUS "\tDid not find TCL!") - RETURN() -ENDIF (NOT TCL_FOUND) +# Configure QT4 +ADD_DEFINITIONS(${QT_DEFINITIONS}) +include(${QT_USE_FILE}) +SET(QT_VERSION "${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}") -#Find BRLCAD -FIND_PACKAGE ( BRLCAD REQUIRED ) -IF (NOT BRLCAD_FOUND) - MESSAGE(STATUS "\tDid not find BRLCAD!") - RETURN() -ENDIF (NOT BRLCAD_FOUND) +# Always include the toplevel include dir +include_directories( + ${GEOMCORE_SOURCE_DIR}/include + ) -#Search for QT4 -MESSAGE(STATUS "\tSearching for QT4...") +# Global setup done, on to specific projects +ADD_SUBDIRECTORY(src) -FIND_PACKAGE ( Qt4 REQUIRED Network ) -IF (NOT QT4_FOUND) - MESSAGE(STATUS "\tDid not find QT4!") - RETURN() -ENDIF (NOT QT4_FOUND) +# Set up Docs +#ADD_SUBDIRECTORY(docs) -#Configure QT4 -ADD_DEFINITIONS( ${QT_DEFINITIONS} ) - -SET (QT_USE_QTNETWORK TRUE) -INCLUDE (${QT_USE_FILE}) - -SET(QT_VERSION "${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}") - -MESSAGE(STATUS "\t\tInclude dirs: \t${QT_INCLUDE_DIR}") -MESSAGE(STATUS "\t\tQt Version: \t${QT_VERSION}") -MESSAGE(STATUS "All Dependancies Found") -MESSAGE(STATUS "") - -#Decend into the source tree. -MESSAGE(STATUS "Configuring Projects...") -ADD_SUBDIRECTORY(./src) -MESSAGE(STATUS "All Projects configured.") -MESSAGE(STATUS "") - #Decend into the test tree. IF (RT3_BUILD_TESTS) - MESSAGE(STATUS "Configuring Tests...") - ADD_SUBDIRECTORY(./tests) - MESSAGE(STATUS "All Tests configured.") - MESSAGE(STATUS "") + ADD_SUBDIRECTORY(tests) ENDIF (RT3_BUILD_TESTS) -################################# -INCLUDE (./cmake/PrintFooter.cmake) -################################# - -IF (RT3_COMPILE_WARNINGS) - MESSAGE(STATUS "There were some Build Config Errors!") - MESSAGE(STATUS "\tLast Error: ${RT3_LAST_WARNING_MSG}") -ENDIF (RT3_COMPILE_WARNINGS) - - Modified: geomcore/trunk/cmake/FindTCL.cmake =================================================================== --- geomcore/trunk/cmake/FindTCL.cmake 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/cmake/FindTCL.cmake 2011-02-08 21:38:02 UTC (rev 43145) @@ -1,6 +1,6 @@ # - Find Tcl/Tk commands, includes and libraries. # -# Copyright (c) 2011 United States Government as represented by +# Copyright (c) 2010 United States Government as represented by # the U.S. Army Research Laboratory. # # Copyright 2001-2009 Kitware, Inc. @@ -249,7 +249,7 @@ FILE(WRITE ${tkwin_scriptfile} ${tkwin_script}) EXEC_PROGRAM(${wishcmd} ARGS ${tkwin_scriptfile} OUTPUT_VARIABLE EXECOUTPUT) FILE(READ ${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM readresultvar) - STRING(REGEX REPLACE "\n" "" ${resultvar} ${readresultvar}) + STRING(REGEX REPLACE "\n" "" "${resultvar}" "${readresultvar}") ENDMACRO() @@ -267,7 +267,7 @@ FILE(WRITE ${tclversion_scriptfile} ${tclversion_script}) EXEC_PROGRAM(${tclshcmd} ARGS ${tclversion_scriptfile} OUTPUT_VARIABLE EXECOUTPUT) FILE(READ ${CMAKE_BINARY_DIR}/CMakeTmp/TCL_VERSION readresultvar) - STRING(REGEX REPLACE "\n" "" ${resultvar} ${readresultvar}) + STRING(REGEX REPLACE "\n" "" "${resultvar}" "${readresultvar}") ENDMACRO() @@ -285,7 +285,7 @@ FILE(WRITE ${tclthreaded_scriptfile} ${tclthreaded_script}) EXEC_PROGRAM(${tclshcmd} ARGS ${tclthreaded_scriptfile} OUTPUT_VARIABLE EXECOUTPUT) FILE(READ ${CMAKE_BINARY_DIR}/CMakeTmp/TCL_THREADED readresultvar) - STRING(REGEX REPLACE "\n" "" ${resultvar} ${readresultvar}) + STRING(REGEX REPLACE "\n" "" "${resultvar}" "${readresultvar}") ENDMACRO() #----------------------------------------------------------------------------- @@ -523,9 +523,13 @@ SET(TCL_VERSION_MAJOR "NOTFOUND") SET(TCL_VERSION_MINOR "NOTFOUND") SET(TCL_VERSION_PATCH "NOTFOUND") + SET(TCL_INCLUDE_DIRS "NOTFOUND") SET(TCL_INCLUDE_PATH "NOTFOUND") + SET(TCL_LIBRARIES "NOTFOUND") SET(TCL_LIBRARY "NOTFOUND") + SET(TCL_STUB_LIBRARIES "NOTFOUND") SET(TCL_STUB_LIBRARY "NOTFOUND") + SET(TCL_TCLSH "NOTFOUND") SET(TCL_TCLSH_EXECUTABLE "NOTFOUND") ENDMACRO() @@ -537,6 +541,7 @@ SET(TCL_TK_LIBRARY "NOTFOUND") SET(TCL_TK_STUB_LIBRARY "NOTFOUND") SET(TCL_WISH_EXECUTABLE "NOTFOUND") + SET(TK_WISH "NOTFOUND") ENDMACRO() MACRO(VALIDATE_TCL_VARIABLES validvar) @@ -601,24 +606,22 @@ endif() IF(${line} MATCHES "TCL_EXEC_PREFIX") IF(MSVC) - STRING(REGEX REPLACE ".*TCL_EXEC_PREFIX='(.+)'.*" "\\1" TCL_TCLSH_EXECUTABLE ${line}) - IF (EXISTS "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}.exe") - SET(TCL_TCLSH_EXECUTABLE "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}.exe") - ELSE() - IF (EXISTS "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}.exe") - SET(TCL_TCLSH_EXECUTABLE "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}.exe") - ENDIF() - ENDIF() + SET(TCL_EXE_SUFFICX ".exe") ELSE(MSVC) - STRING(REGEX REPLACE ".*TCL_EXEC_PREFIX='(.+)'.*" "\\1" TCL_TCLSH_EXECUTABLE ${line}) - IF (EXISTS "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}") - SET(TCL_TCLSH_EXECUTABLE "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}") - ELSE() - IF (EXISTS "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}") - SET(TCL_TCLSH_EXECUTABLE "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}") - ENDIF() - ENDIF() + SET(TCL_EXE_SUFFICX "") ENDIF(MSVC) + STRING(REGEX REPLACE ".*TCL_EXEC_PREFIX='(.+)'.*" "\\1" TCL_TCLSH_EXECUTABLE ${line}) + IF (EXISTS "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}${TCL_EXE_SUFFIX}") + SET(TCL_TCLSH_EXECUTABLE "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}${TCL_EXE_SUFFIX}") + ELSEIF(EXISTS "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}${TCL_EXE_SUFFIX}") + SET(TCL_TCLSH_EXECUTABLE "${TCL_TCLSH_EXECUTABLE}/bin/tclsh${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}${TCL_EXE_SUFFIX}") + ELSEIF(EXISTS "${TCL_TCLSH_EXECUTABLE}/bin/tclsh-${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}${TCL_EXE_SUFFIX}") + SET(TCL_TCLSH_EXECUTABLE "${TCL_TCLSH_EXECUTABLE}/bin/tclsh-${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}${TCL_EXE_SUFFIX}") + ELSEIF(EXISTS "${TCL_TCLSH_EXECUTABLE}/bin/tclsh-${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}${TCL_EXE_SUFFIX}") + SET(TCL_TCLSH_EXECUTABLE "${TCL_TCLSH_EXECUTABLE}/bin/tclsh-${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}${TCL_EXE_SUFFIX}") + ELSEIF(EXISTS "${TCL_TCLSH_EXECUTABLE}/bin/tclsh") + SET(TCL_TCLSH_EXECUTABLE "${TCL_TCLSH_EXECUTABLE}/bin/tclsh") + ENDIF() endif() IF(${line} MATCHES "TCL_STUB_LIB_PATH") STRING(REGEX REPLACE ".*TCL_STUB_LIB_PATH='(.+)/lib.*" "\\1" TCL_STUB_LIB_PATH ${line}) @@ -653,24 +656,22 @@ endif() IF(${line} MATCHES "TK_EXEC_PREFIX") IF(MSVC) - STRING(REGEX REPLACE ".*TK_EXEC_PREFIX='(.+)'.*" "\\1" TCL_WISH_EXECUTABLE ${line}) - IF (EXISTS "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}${TK_VERSION_MINOR}.exe") - SET(TCL_WISH_EXECUTABLE "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}${TK_VERSION_MINOR}.exe") - ELSE() - IF (EXISTS "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}.exe") - SET(TCL_WISH_EXECUTABLE "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}.exe") - ENDIF() - ENDIF() + SET(TK_EXE_SUFFIX ".exe") ELSE(MSVC) - STRING(REGEX REPLACE ".*TK_EXEC_PREFIX='(.+)'.*" "\\1" TCL_WISH_EXECUTABLE ${line}) - IF (EXISTS "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}${TK_VERSION_MINOR}") - SET(TCL_WISH_EXECUTABLE "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}${TK_VERSION_MINOR}") - ELSE() - IF (EXISTS "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}") - SET(TCL_WISH_EXECUTABLE "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}") - ENDIF() - ENDIF() + SET(TK_EXE_SUFFIX "") ENDIF(MSVC) + STRING(REGEX REPLACE ".*TK_EXEC_PREFIX='(.+)'.*" "\\1" TCL_WISH_EXECUTABLE ${line}) + IF (EXISTS "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}${TK_VERSION_MINOR}${TK_EXE_SUFFIX}") + SET(TCL_WISH_EXECUTABLE "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}${TK_VERSION_MINOR}${TK_EXE_SUFFIX}") + ELSEIF(EXISTS "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}${TK_EXE_SUFFIX}") + SET(TCL_WISH_EXECUTABLE "${TCL_WISH_EXECUTABLE}/bin/wish${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}${TK_EXE_SUFFIX}") + ELSEIF(EXISTS "${TCL_WISH_EXECUTABLE}/bin/wish-${TK_VERSION_MAJOR}${TK_VERSION_MINOR}${TK_EXE_SUFFIX}") + SET(TCL_WISH_EXECUTABLE "${TCL_WISH_EXECUTABLE}/bin/wish-${TK_VERSION_MAJOR}${TK_VERSION_MINOR}${TK_EXE_SUFFIX}") + ELSEIF(EXISTS "${TCL_WISH_EXECUTABLE}/bin/wish-${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}${TK_EXE_SUFFIX}") + SET(TCL_WISH_EXECUTABLE "${TCL_WISH_EXECUTABLE}/bin/wish-${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}${TK_EXE_SUFFIX}") + ELSEIF(EXISTS "${TCL_WISH_EXECUTABLE}/bin/wish") + SET(TCL_WISH_EXECUTABLE "${TCL_WISH_EXECUTABLE}/bin/wish") + ENDIF() endif() ENDFOREACH(line ${ENT}) IF(NOT TK_INCLUDE_PATH) @@ -764,192 +765,18 @@ # #----------------------------------------------------------------------------- - -# Try to be a bit forgiving with the TCL prefix - if someone gives the -# full path to the lib directory, catch that by adding the parent path -# to the list to check -IF(TCL_PREFIX) - SET(TCL_LIBRARY "NOTFOUND") - SET(TCL_PREFIX_LIBDIRS ${TCL_PREFIX_LIBDIRS} ${TCL_PREFIX}/lib) - SET(TCL_PREFIX_LIBDIRS ${TCL_PREFIX_LIBDIRS} ${TCL_PREFIX}) - GET_FILENAME_COMPONENT(TCL_LIB_PATH_PARENT "${TCL_PREFIX}" PATH) - SET(TCL_PREFIX_LIBDIRS ${TCL_PREFIX_LIBDIRS} ${TCL_LIB_PATH_PARENT}/lib) - SET(TCL_PREFIX_LIBDIRS ${TCL_PREFIX_LIBDIRS} ${TCL_LIB_PATH_PARENT}) - LIST(REMOVE_DUPLICATES TCL_PREFIX_LIBDIRS) - FIND_LIBRARY_VERSIONS(tcl TCL_PREFIX_LIBDIRS NO_SYSTEM_PATH) - SET(FOUND_FILES "${TCL_tcl_LIST}") - FIND_CONFIG_FILES(FOUND_FILES TCLCONFIG_LIST tclConfig.sh) - IF(TCL_REQUIRE_TK) - FIND_LIBRARY_VERSIONS(tk TCL_PREFIX_LIBDIRS NO_SYSTEM_PATH) - SET(FOUND_FILES "${TCL_tk_LIST}") - FIND_CONFIG_FILES(FOUND_FILES TKCONFIG_LIST tkConfig.sh) - ENDIF(TCL_REQUIRE_TK) -ELSE(TCL_PREFIX) - SET(TCLCONFIG_LIST "") - IF(APPLE) - INCLUDE(CMakeFindFrameworks) - CMAKE_FIND_FRAMEWORKS(Tcl) - FOREACH(dir ${Tcl_FRAMEWORKS}) - set(tclconf "tclConfig.sh-NOTFOUND") - find_file(tclconf tclConfig.sh PATHS ${dir}) - if(NOT tclconf MATCHES "NOTFOUND$") - SET(TCLCONFIG_LIST "${TCLCONFIG_LIST}${tclconf};") - endif(NOT tclconf MATCHES "NOTFOUND$") - ENDFOREACH(dir ${Tcl_FRAMEWORKS}) - IF(TCL_REQUIRE_TK) - CMAKE_FIND_FRAMEWORKS(Tk) - FOREACH(dir ${Tk_FRAMEWORKS}) - set(tkconf "tkConfig.sh-NOTFOUND") - find_file(tkconf tkConfig.sh PATHS ${dir}) - if(NOT tkconf MATCHES "NOTFOUND$") - SET(TKCONFIG_LIST "${TKCONFIG_LIST}${tkconf};") - endif(NOT tkconf MATCHES "NOTFOUND$") - ENDFOREACH(dir ${Tk_FRAMEWORKS}) - ENDIF(TCL_REQUIRE_TK) - ENDIF(APPLE) - IF(NOT APPLE OR NOT TCL_USE_FRAMEWORK_ONLY) - SET(PATHLIST "$ENV{LD_LIBRARY_PATH}:$ENV{DYLD_LIBRARY_PATH}:$ENV{DYLD_FALLBACK_LIBRARY_PATH}:$ENV{PATH}") - SET(PATHLIST "${TCL_ADDITIONAL_SEARCH_PATHS}:${PATHLIST}") - IF(WIN32) - WIN32TCLPATHS(PATHLIST "") - ENDIF(WIN32) - STRING(REGEX REPLACE "/s?bin:" ":" PATHLIST "${PATHLIST}") - STRING(REGEX REPLACE "/s?bin;" ":" PATHLIST "${PATHLIST}") - STRING(REGEX REPLACE "/lib6?4?:" ":" PATHLIST "${PATHLIST}") - STRING(REGEX REPLACE "/lib6?4?;" ":" PATHLIST "${PATHLIST}") - STRING(REGEX REPLACE ":" ";" PATHLIST "${PATHLIST}") - LIST(REMOVE_DUPLICATES PATHLIST) - FOREACH(foundpath ${PATHLIST}) - FOREACH(pattern ${TCL_PATH_NOMATCH_PATTERNS}) - if(foundpath MATCHES "${pattern}") - LIST(REMOVE_ITEM PATHLIST ${foundpath}) - endif(foundpath MATCHES "${pattern}") - ENDFOREACH(pattern ${TCL_PATH_NOMATCH_PATTERNS}) - ENDFOREACH() - SET(TCLPATHLIST "${PATHLIST}") - SET(TKPATHLIST "${PATHLIST}") - FIND_POSSIBLE_PATHS("tclsh" "tcl" TCLPATHLIST NO_SYSTEM_PATH) - IF(TCL_REQUIRE_TK) - FIND_POSSIBLE_PATHS("wish" "tk" TKPATHLIST NO_SYSTEM_PATH) - ENDIF(TCL_REQUIRE_TK) - # Hunt up tclConfig.sh files - FIND_CONFIG_FILES(TCLPATHLIST TCLCONFIG_LIST tclConfig.sh) - # Hunt up tkConfig.sh files - FIND_CONFIG_FILES(TKPATHLIST TKCONFIG_LIST tkConfig.sh) - ENDIF(NOT APPLE OR NOT TCL_USE_FRAMEWORK_ONLY) -ENDIF(TCL_PREFIX) -SET(TCLVALID 0) -RESET_TCL_VARS() -FOREACH(tcl_config_file ${TCLCONFIG_LIST}) - IF(NOT TCLVALID) - RESET_TCL_VARS() - READ_TCLCONFIG_FILE(${tcl_config_file}) - SET(TCLVALID 1) - SET(CURRENTTCLVERSION "${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}.${TCL_VERSION_PATCH}") - VALIDATE_VERSION(TCLVALID ${CURRENTTCLVERSION}) - IF(TCLVALID) - GET_FILENAME_COMPONENT(TCL_CONF_PREFIX "${tcl_config_file}" PATH) - GET_FILENAME_COMPONENT(TCL_LIBRARY_DIR2 "${TCL_CONF_PREFIX}" PATH) - FIND_LIBRARY_PATHS(TCL_LIBRARY_SEARCH_PATHS TCL_PREFIX ${TCL_VERSION_MAJOR} ${TCL_VERSION_MINOR}) - SET(TCL_LIBRARY_SEARCH_PATHS "${TCL_CONF_PREFIX};${TCL_LIBRARY_DIR2};${TCL_LIBRARY_SEARCH_PATHS}") - FIND_LIBRARY(TCL_LIBRARY tcl Tcl tcl${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR} tcl${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR} PATHS ${TCL_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH) - FIND_LIBRARY(TCL_STUB_LIBRARY tclstub${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR} tclstub${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR} PATHS ${TCL_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH) - ENDIF(TCLVALID) - VALIDATE_TCL(TCLVALID) - IF(TCLVALID) - IF(TCL_REQUIRE_TK) - SET(TKVALID 0) - FOREACH(tk_config_file ${TKCONFIG_LIST}) - IF(NOT TKVALID) - RESET_TK_VARS() - READ_TKCONFIG_FILE(${tk_config_file}) - SET(TKVALID 0) - SET(CURRENTTKVERSION "${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}.${TK_VERSION_PATCH}") - SET(vtcltkcompare 0) - IF(${CURRENTTCLVERSION} VERSION_EQUAL ${CURRENTTKVERSION}) - SET(TKVALID 1) - ELSE() - SET(TKVALID 0) - ENDIF() - IF(TKVALID) - GET_FILENAME_COMPONENT(TCL_TK_CONF_PREFIX "${tk_config_file}" PATH) - GET_FILENAME_COMPONENT(TCL_TK_LIBRARY_DIR2 "${TCL_TK_CONF_PREFIX}" PATH) - FIND_LIBRARY_PATHS(TCL_TK_LIBRARY_SEARCH_PATHS TK_PREFIX ${TK_VERSION_MAJOR} ${TK_VERSION_MINOR}) - SET(TCL_TK_LIBRARY_SEARCH_PATHS "${TCL_TK_CONF_PREFIX};${TCL_TK_LIBRARY_DIR2};${TCL_TK_LIBRARY_SEARCH_PATHS}") - FIND_LIBRARY(TCL_TK_LIBRARY tk Tk tk${TK_VERSION_MAJOR}.${TK_VERSION_MINOR} tk${TK_VERSION_MAJOR}${TK_VERSION_MINOR} PATHS ${TCL_TK_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH) - FIND_LIBRARY(TCL_TK_STUB_LIBRARY tkstub tkstub${TK_VERSION_MAJOR}.${TK_VERSION_MINOR} tkstub${TK_VERSION_MAJOR}${TK_VERSION_MINOR} PATHS ${TCL_TK_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH) - VALIDATE_TK(TKVALID) - ENDIF(TKVALID) - ENDIF(NOT TKVALID) - ENDFOREACH(tk_config_file ${TKCONFIG_LIST}) - IF(NOT TKVALID) - SET(TCLVALID 0) - ENDIF(NOT TKVALID) - ENDIF(TCL_REQUIRE_TK) - ENDIF(TCLVALID) - ENDIF(NOT TCLVALID) -ENDFOREACH(tcl_config_file ${TCLCONFIG_LIST}) - -# If we still don't have anything by now, we may have a system without tclConfig.sh and tkConfig.sh -# Back to trying to guess values, using the TCLPATHLIST and TKPATHLIST arrays of paths. This is -# attempted ONLY if we are looking for a Tcl/Tk installation to call as a scripting engine and not -# as C libraries to build against - the autotools/TEA based Tcl/Tk world requires those files be -# present and any ExternalProject build attempting to use a Tcl/Tk installation without them would -# not succeed. -IF(NOT TCLVALID AND NOT TCL_NEED_HEADERS) - SET(PATHLIST "${TCLPATHLIST};${TKPATHLIST}") - LIST(REMOVE_DUPLICATES PATHLIST) - FOREACH(MAJORNUM ${TCL_POSSIBLE_MAJOR_VERSIONS}) - FOREACH(MINORNUM ${TCL_POSSIBLE_MINOR_VERSIONS}) - FOREACH(SPATH ${PATHLIST}) - IF(NOT TCLVALID) - RESET_TCL_VARS() - SET(CURRENT_SEARCH_VERSION "${MAJORNUM}.${MINORNUM}") - VALIDATE_VERSION(dosearch ${CURRENT_SEARCH_VERSION}) - IF(dosearch) - FIND_LIBRARY_PATHS(TCL_LIBRARY_SEARCH_PATHS SPATH ${MAJORNUM} ${MINORNUM}) - FIND_PROGRAM_PATHS(TCL_PROGRAM_SEARCH_PATHS SPATH ${MAJORNUM} ${MINORNUM}) - FIND_PROGRAM(TCL_TCLSH_EXECUTABLE NAMES tclsh${MAJORNUM}.${MINORNUM} tclsh${MAJORNUM}${MINORNUM} PATHS ${TCL_PROGRAM_SEARCH_PATHS} NO_SYSTEM_PATH) - ENDIF(dosearch) - VALIDATE_TCL(TCLVALID) - IF(TCLVALID) - IF(TCL_REQUIRE_TK) - SET(TKVALID 0) - RESET_TK_VARS() - FIND_PROGRAM(TCL_WISH_EXECUTABLE NAMES wish${MAJORNUM}.${MINORNUM} wish${MAJORNUM}${MINORNUM} PATHS ${TCL_PROGRAM_SEARCH_PATHS} NO_SYSTEM_PATH) - VALIDATE_TK(TKVALID) - IF(NOT TKVALID) - SET(TCLVALID 0) - RESET_TCL_VARS() - RESET_TK_VARS() - ENDIF(NOT TKVALID) - ENDIF(TCL_REQUIRE_TK) - ELSE(TCLVALID) - RESET_TCL_VARS() - ENDIF(TCLVALID) - ENDIF(NOT TCLVALID) - ENDFOREACH(SPATH ${PATHLIST}) - ENDFOREACH() - ENDFOREACH() -ENDIF(NOT TCLVALID AND NOT TCL_NEED_HEADERS) - -# By this point we have found everything we're going to find - set variables to be exposed as results - -SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_PATH} ${TK_INCLUDE_PATH}) -SET(TCL_LIBRARIES ${TCL_LIBRARY} ${TK_LIBRARY}) -SET(TCL_STUB_LIBRARIES ${TCL_STUB_LIBRARY} ${TK_STUB_LIBRARY}) -SET(TCL_ROOT_PATH ${TCL_CONF_PREFIX}) -SET(TCL_VERSION_STRING "${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}.${TCL_VERSION_PATCH}") - -# Set TCL_FOUND to TRUE if all listed variables are TRUE +# Because it is not out of the question for a build system to be building +# its own local copy of Tcl/Tk (and hence define the needed variables +# on its own) we check up front to see if all of the options have already +# been satisfied by a mechanism other than find_package INCLUDE(FindPackageHandleStandardArgs) SET(PACKAGE_HANDLE_VARS "TCL_TCLSH_EXECUTABLE") SET(TCL_TCLSH ${TCL_TCLSH_EXECUTABLE}) #Deprecated SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TCL_TCLSH") IF(TCL_NEED_HEADERS) - SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TCL_LIBRARIES TCL_INCLUDE_DIRS TCL_CONF_PREFIX TCL_LIBRARY") + SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TCL_LIBRARIES TCL_INCLUDE_DIRS TCL_CONF_PREFIX TCL_LIBRARY TCL_INCLUDE_PATH") IF(TCL_NEED_STUB_LIBS) - SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TCL_STUB_LIBRARIES") + SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS} TCL_STUB_LIBRARIES TCL_STUB_LIBRARY") ENDIF(TCL_NEED_STUB_LIBS) IF(TCL_REQUIRE_TK) @@ -970,19 +797,207 @@ ENDIF(TCL_REQUIRE_TK) ENDIF(TCL_NEED_HEADERS) STRING(REGEX REPLACE " " ";" PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS}") -FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL DEFAULT_MSG TCL_LIBRARY ${PACKAGE_HANDLE_VARS}) -# Hmm - looks like not all the values are being set in the cache. -# Put these values in the cache - since this FindTCL routine can be a bit expensive, -# run it once and then rely on the cache unless the parent CMake turns off TCL_FOUND -# explicitly or the cache is edited. -FOREACH(tclvar ${PACKAGE_HANDLE_VARS}) - SET(${tclvar} ${${tclvar}} CACHE STRING "Set by FindTCL.cmake" FORCE) -ENDFOREACH(tclvar ${PACKAGE_HANDLE_VARS}) -IF(TCL_REQUIRE_TK) - SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS};TCL_LIBRARY") - FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK DEFAULT_MSG TCL_TK_LIBRARY ${PACKAGE_HANDLE_VARS}) -ENDIF(TCL_REQUIRE_TK) +SET(TCL_FOUND TRUE) +FOREACH(REQUIRED_VAR ${PACKAGE_HANDLE_VARS}) + IF(NOT ${REQUIRED_VAR}) + SET(TCL_FOUND FALSE) + ENDIF(NOT ${REQUIRED_VAR}) +ENDFOREACH(REQUIRED_VAR ${PACKAGE_HANDLE_VARS}) + +# Try to be a bit forgiving with the TCL prefix - if someone gives the +# full path to the lib directory, catch that by adding the parent path +# to the list to check +IF(NOT TCL_FOUND) + IF(TCL_PREFIX) + SET(TCL_LIBRARY "NOTFOUND") + SET(TCL_PREFIX_LIBDIRS ${TCL_PREFIX_LIBDIRS} ${TCL_PREFIX}/lib) + SET(TCL_PREFIX_LIBDIRS ${TCL_PREFIX_LIBDIRS} ${TCL_PREFIX}) + GET_FILENAME_COMPONENT(TCL_LIB_PATH_PARENT "${TCL_PREFIX}" PATH) + SET(TCL_PREFIX_LIBDIRS ${TCL_PREFIX_LIBDIRS} ${TCL_LIB_PATH_PARENT}/lib) + SET(TCL_PREFIX_LIBDIRS ${TCL_PREFIX_LIBDIRS} ${TCL_LIB_PATH_PARENT}) + LIST(REMOVE_DUPLICATES TCL_PREFIX_LIBDIRS) + FIND_LIBRARY_VERSIONS(tcl TCL_PREFIX_LIBDIRS NO_SYSTEM_PATH) + SET(FOUND_FILES "${TCL_tcl_LIST}") + FIND_CONFIG_FILES(FOUND_FILES TCLCONFIG_LIST tclConfig.sh) + IF(TCL_REQUIRE_TK) + FIND_LIBRARY_VERSIONS(tk TCL_PREFIX_LIBDIRS NO_SYSTEM_PATH) + SET(FOUND_FILES "${TCL_tk_LIST}") + FIND_CONFIG_FILES(FOUND_FILES TKCONFIG_LIST tkConfig.sh) + ENDIF(TCL_REQUIRE_TK) + ELSE(TCL_PREFIX) + SET(TCLCONFIG_LIST "") + IF(APPLE) + INCLUDE(CMakeFindFrameworks) + CMAKE_FIND_FRAMEWORKS(Tcl) + FOREACH(dir ${Tcl_FRAMEWORKS}) + set(tclconf "tclConfig.sh-NOTFOUND") + find_file(tclconf tclConfig.sh PATHS ${dir}) + if(NOT tclconf MATCHES "NOTFOUND$") + SET(TCLCONFIG_LIST "${TCLCONFIG_LIST}${tclconf};") + endif(NOT tclconf MATCHES "NOTFOUND$") + ENDFOREACH(dir ${Tcl_FRAMEWORKS}) + IF(TCL_REQUIRE_TK) + CMAKE_FIND_FRAMEWORKS(Tk) + FOREACH(dir ${Tk_FRAMEWORKS}) + set(tkconf "tkConfig.sh-NOTFOUND") + find_file(tkconf tkConfig.sh PATHS ${dir}) + if(NOT tkconf MATCHES "NOTFOUND$") + SET(TKCONFIG_LIST "${TKCONFIG_LIST}${tkconf};") + endif(NOT tkconf MATCHES "NOTFOUND$") + ENDFOREACH(dir ${Tk_FRAMEWORKS}) + ENDIF(TCL_REQUIRE_TK) + ENDIF(APPLE) + IF(NOT APPLE OR NOT TCL_USE_FRAMEWORK_ONLY) + SET(PATHLIST "$ENV{LD_LIBRARY_PATH}:$ENV{DYLD_LIBRARY_PATH}:$ENV{DYLD_FALLBACK_LIBRARY_PATH}:$ENV{PATH}") + SET(PATHLIST "${TCL_ADDITIONAL_SEARCH_PATHS}:${PATHLIST}") + IF(WIN32) + WIN32TCLPATHS(PATHLIST "") + ENDIF(WIN32) + STRING(REGEX REPLACE "/s?bin:" ":" PATHLIST "${PATHLIST}") + STRING(REGEX REPLACE "/s?bin;" ":" PATHLIST "${PATHLIST}") + STRING(REGEX REPLACE "/lib6?4?:" ":" PATHLIST "${PATHLIST}") + STRING(REGEX REPLACE "/lib6?4?;" ":" PATHLIST "${PATHLIST}") + STRING(REGEX REPLACE ":" ";" PATHLIST "${PATHLIST}") + LIST(REMOVE_DUPLICATES PATHLIST) + FOREACH(foundpath ${PATHLIST}) + FOREACH(pattern ${TCL_PATH_NOMATCH_PATTERNS}) + if(foundpath MATCHES "${pattern}") + LIST(REMOVE_ITEM PATHLIST ${foundpath}) + endif(foundpath MATCHES "${pattern}") + ENDFOREACH(pattern ${TCL_PATH_NOMATCH_PATTERNS}) + ENDFOREACH() + SET(TCLPATHLIST "${PATHLIST}") + SET(TKPATHLIST "${PATHLIST}") + FIND_POSSIBLE_PATHS("tclsh" "tcl" TCLPATHLIST NO_SYSTEM_PATH) + IF(TCL_REQUIRE_TK) + FIND_POSSIBLE_PATHS("wish" "tk" TKPATHLIST NO_SYSTEM_PATH) + ENDIF(TCL_REQUIRE_TK) + # Hunt up tclConfig.sh files + FIND_CONFIG_FILES(TCLPATHLIST TCLCONFIG_LIST tclConfig.sh) + # Hunt up tkConfig.sh files + FIND_CONFIG_FILES(TKPATHLIST TKCONFIG_LIST tkConfig.sh) + ENDIF(NOT APPLE OR NOT TCL_USE_FRAMEWORK_ONLY) + ENDIF(TCL_PREFIX) + SET(TCLVALID 0) + RESET_TCL_VARS() + FOREACH(tcl_config_file ${TCLCONFIG_LIST}) + IF(NOT TCLVALID) + RESET_TCL_VARS() + READ_TCLCONFIG_FILE(${tcl_config_file}) + SET(TCLVALID 1) + SET(CURRENTTCLVERSION "${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}.${TCL_VERSION_PATCH}") + VALIDATE_VERSION(TCLVALID ${CURRENTTCLVERSION}) + IF(TCLVALID) + GET_FILENAME_COMPONENT(TCL_CONF_PREFIX "${tcl_config_file}" PATH) + GET_FILENAME_COMPONENT(TCL_LIBRARY_DIR2 "${TCL_CONF_PREFIX}" PATH) + FIND_LIBRARY_PATHS(TCL_LIBRARY_SEARCH_PATHS TCL_PREFIX ${TCL_VERSION_MAJOR} ${TCL_VERSION_MINOR}) + SET(TCL_LIBRARY_SEARCH_PATHS "${TCL_CONF_PREFIX};${TCL_LIBRARY_DIR2};${TCL_LIBRARY_SEARCH_PATHS}") + FIND_LIBRARY(TCL_LIBRARY tcl Tcl tcl${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR} tcl${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR} PATHS ${TCL_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH) + FIND_LIBRARY(TCL_STUB_LIBRARY tclstub${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR} tclstub${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR} PATHS ${TCL_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH) + ENDIF(TCLVALID) + VALIDATE_TCL(TCLVALID) + IF(TCLVALID) + IF(TCL_REQUIRE_TK) + SET(TKVALID 0) + FOREACH(tk_config_file ${TKCONFIG_LIST}) + IF(NOT TKVALID) + RESET_TK_VARS() + READ_TKCONFIG_FILE(${tk_config_file}) + SET(TKVALID 0) + SET(CURRENTTKVERSION "${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}.${TK_VERSION_PATCH}") + SET(vtcltkcompare 0) + IF(${CURRENTTCLVERSION} VERSION_EQUAL ${CURRENTTKVERSION}) + SET(TKVALID 1) + ELSE() + SET(TKVALID 0) + ENDIF() + IF(TKVALID) + GET_FILENAME_COMPONENT(TCL_TK_CONF_PREFIX "${tk_config_file}" PATH) + GET_FILENAME_COMPONENT(TCL_TK_LIBRARY_DIR2 "${TCL_TK_CONF_PREFIX}" PATH) + FIND_LIBRARY_PATHS(TCL_TK_LIBRARY_SEARCH_PATHS TK_PREFIX ${TK_VERSION_MAJOR} ${TK_VERSION_MINOR}) + SET(TCL_TK_LIBRARY_SEARCH_PATHS "${TCL_TK_CONF_PREFIX};${TCL_TK_LIBRARY_DIR2};${TCL_TK_LIBRARY_SEARCH_PATHS}") + FIND_LIBRARY(TCL_TK_LIBRARY tk Tk tk${TK_VERSION_MAJOR}.${TK_VERSION_MINOR} tk${TK_VERSION_MAJOR}${TK_VERSION_MINOR} PATHS ${TCL_TK_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH) + FIND_LIBRARY(TCL_TK_STUB_LIBRARY tkstub tkstub${TK_VERSION_MAJOR}.${TK_VERSION_MINOR} tkstub${TK_VERSION_MAJOR}${TK_VERSION_MINOR} PATHS ${TCL_TK_LIBRARY_SEARCH_PATHS} NO_SYSTEM_PATH) + VALIDATE_TK(TKVALID) + ENDIF(TKVALID) + ENDIF(NOT TKVALID) + ENDFOREACH(tk_config_file ${TKCONFIG_LIST}) + IF(NOT TKVALID) + SET(TCLVALID 0) + RESET_TCL_VARS() + RESET_TK_VARS() + ENDIF(NOT TKVALID) + ENDIF(TCL_REQUIRE_TK) + ENDIF(TCLVALID) + ENDIF(NOT TCLVALID) + ENDFOREACH(tcl_config_file ${TCLCONFIG_LIST}) + + # If we still don't have anything by now, we may have a system without tclConfig.sh and tkConfig.sh + # Back to trying to guess values, using the TCLPATHLIST and TKPATHLIST arrays of paths. This is + # attempted ONLY if we are looking for a Tcl/Tk installation to call as a scripting engine and not + # as C libraries to build against - the autotools/TEA based Tcl/Tk world requires those files be + # present and any ExternalProject build attempting to use a Tcl/Tk installation without them would + # not succeed. + IF(NOT TCLVALID AND NOT TCL_NEED_HEADERS) + SET(PATHLIST "${TCLPATHLIST};${TKPATHLIST}") + LIST(REMOVE_DUPLICATES PATHLIST) + FOREACH(MAJORNUM ${TCL_POSSIBLE_MAJOR_VERSIONS}) + FOREACH(MINORNUM ${TCL_POSSIBLE_MINOR_VERSIONS}) + FOREACH(SPATH ${PATHLIST}) + IF(NOT TCLVALID) + RESET_TCL_VARS() + SET(CURRENT_SEARCH_VERSION "${MAJORNUM}.${MINORNUM}") + VALIDATE_VERSION(dosearch ${CURRENT_SEARCH_VERSION}) + IF(dosearch) + FIND_LIBRARY_PATHS(TCL_LIBRARY_SEARCH_PATHS SPATH ${MAJORNUM} ${MINORNUM}) + FIND_PROGRAM_PATHS(TCL_PROGRAM_SEARCH_PATHS SPATH ${MAJORNUM} ${MINORNUM}) + FIND_PROGRAM(TCL_TCLSH_EXECUTABLE NAMES tclsh${MAJORNUM}.${MINORNUM} tclsh${MAJORNUM}${MINORNUM} PATHS ${TCL_PROGRAM_SEARCH_PATHS} NO_SYSTEM_PATH) + ENDIF(dosearch) + VALIDATE_TCL(TCLVALID) + IF(TCLVALID) + IF(TCL_REQUIRE_TK) + SET(TKVALID 0) + RESET_TK_VARS() + FIND_PROGRAM(TCL_WISH_EXECUTABLE NAMES wish${MAJORNUM}.${MINORNUM} wish${MAJORNUM}${MINORNUM} PATHS ${TCL_PROGRAM_SEARCH_PATHS} NO_SYSTEM_PATH) + VALIDATE_TK(TKVALID) + IF(NOT TKVALID) + SET(TCLVALID 0) + RESET_TCL_VARS() + RESET_TK_VARS() + ENDIF(NOT TKVALID) + ENDIF(TCL_REQUIRE_TK) + ELSE(TCLVALID) + RESET_TCL_VARS() + ENDIF(TCLVALID) + ENDIF(NOT TCLVALID) + ENDFOREACH(SPATH ${PATHLIST}) + ENDFOREACH() + ENDFOREACH() + ENDIF(NOT TCLVALID AND NOT TCL_NEED_HEADERS) + + # By this point we have found everything we're going to find - set variables to be exposed as results + SET(TCL_TCLSH ${TCL_TCLSH_EXECUTABLE}) + SET(TK_WISH ${TCL_WISH_EXECUTABLE}) + SET(TK_LIBRARY ${TCL_TK_LIBRARY}) # Deprecated + SET(TK_STUB_LIBRARY ${TCL_TK_STUB_LIBRARY}) + SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_PATH} ${TK_INCLUDE_PATH} ${TCL_INCLUDE_PATH}/../generic) + SET(TCL_LIBRARIES ${TCL_LIBRARY} ${TK_LIBRARY}) + SET(TCL_STUB_LIBRARIES ${TCL_STUB_LIBRARY} ${TK_STUB_LIBRARY}) + SET(TCL_ROOT_PATH ${TCL_CONF_PREFIX}) + SET(TCL_VERSION_STRING "${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}.${TCL_VERSION_PATCH}") + FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL DEFAULT_MSG TCL_LIBRARY ${PACKAGE_HANDLE_VARS}) + IF(TCL_REQUIRE_TK) + SET(PACKAGE_HANDLE_VARS "${PACKAGE_HANDLE_VARS};TCL_LIBRARY") + FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK DEFAULT_MSG TCL_TK_LIBRARY ${PACKAGE_HANDLE_VARS}) + ENDIF(TCL_REQUIRE_TK) + + FOREACH(pkgvar ${PACKAGE_HANDLE_VARS}) + SET(${pkgvar} ${${pkgvar}} CACHE STRING "set by FindTCL" FORCE) + ENDFOREACH(pkgvar ${PACKAGE_HANDLE_VARS}) + +ENDIF(NOT TCL_FOUND) + MARK_AS_ADVANCED( TCL_INCLUDE_DIRS TCL_INCLUDE_PATH @@ -1003,3 +1018,21 @@ TCL_TK_CONF_PREFIX ) +# Other variables to hide +MARK_AS_ADVANCED( + TCL_CURRENTPATH + TCL_MIN_VERSION + TCL_MAX_VERSION + TCL_NEED_HEADERS + TCL_NEED_STUB_LIBS + TCL_PATH_NOMATCH_PATTERNS + TCL_REQUIRE_THREADS + TCL_REQUIRE_TK + TCL_USE_FRAMEWORK_ONLY + TK_NATIVE_GRAPHICS + TK_X11_GRAPHICS + conffile + USE_TCL_STUBS + USE_TK_STUBS + ) + Deleted: geomcore/trunk/cmake/PrintHeader.cmake =================================================================== --- geomcore/trunk/cmake/PrintHeader.cmake 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/cmake/PrintHeader.cmake 2011-02-08 21:38:02 UTC (rev 43145) @@ -1,35 +0,0 @@ -######################################################################### -# -# BRL-CAD -# -# Copyright (c) 1997-2011 United States Government as represented by -# the U.S. Army Research Laboratory. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# version 2.1 as published by the Free Software Foundation. -# -# This library is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this file; see the file named COPYING for more -# information. -# -######################################################################### -# @file /CMakeModules/PrintHeader.cmake -# -# CMakeModule that prints the Build System Header. -# -# $Revision: 361 $ -# $Author: Claymore1977 $ -# -######################################################################### - -MESSAGE(STATUS "") -MESSAGE(STATUS "####################################################") -MESSAGE(STATUS "## Configuring rt^3 via CMake ##") -MESSAGE(STATUS "####################################################") -MESSAGE(STATUS "") Modified: geomcore/trunk/include/EventManager.h =================================================================== --- geomcore/trunk/include/EventManager.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/include/EventManager.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -27,8 +27,9 @@ #define __EVENTMANAGER_H__ #include "Event.h" -#include "libutility.h" #include "commonDefines.h" +#include "Logger.h" +#include "JobManager.h" #include <QtCore/QMutex> Modified: geomcore/trunk/include/GSClient.h =================================================================== --- geomcore/trunk/include/GSClient.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/include/GSClient.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -25,8 +25,9 @@ #ifndef __GSCLIENT_H__ #define __GSCLIENT_H__ -#include "libutility.h" -#include "libnet.h" +#include "NetMsg.h" +#include "PortalManager.h" +#include "JobManager.h" #include <QtCore/QString> #include <QtCore/QStringList> Modified: geomcore/trunk/include/GeometryService.h =================================================================== --- geomcore/trunk/include/GeometryService.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/include/GeometryService.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -26,9 +26,11 @@ #ifndef __GEOMETRYSERVICE_H__ #define __GEOMETRYSERVICE_H__ -#include "libutility.h" -#include "libnet.h" #include "DataManager.h" +#include "ControlledThread.h" +#include "PortalManager.h" +#include "NetMsgRouter.h" +#include "FailureMsg.h" #include <QtCore/QString> #include <QtNetwork/QHostAddress> Modified: geomcore/trunk/include/JobManager.h =================================================================== --- geomcore/trunk/include/JobManager.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/include/JobManager.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -27,7 +27,7 @@ #define __JOBMANAGER_H__ #include "AbstractJob.h" -#include "libutility.h" +#include "Logger.h" #include <QtCore/QList> #include <QtCore/QMutex> Modified: geomcore/trunk/include/NetMsg.h =================================================================== --- geomcore/trunk/include/NetMsg.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/include/NetMsg.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -26,8 +26,6 @@ #ifndef __NETMSG_H__ #define __NETMSG_H__ -#include "libutility.h" - #include <sstream> #include <QtCore/QDataStream> Modified: geomcore/trunk/include/NetMsgFactory.h =================================================================== --- geomcore/trunk/include/NetMsgFactory.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/include/NetMsgFactory.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -26,7 +26,6 @@ #ifndef __NETMSGFACTORY_H__ #define __NETMSGFACTORY_H__ -#include "libutility.h" #include "NetMsg.h" #include "brlcad/pkg.h" Modified: geomcore/trunk/include/Portal.h =================================================================== --- geomcore/trunk/include/Portal.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/include/Portal.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -31,6 +31,7 @@ #include "INetMsgHandler.h" #include "PkgTcpClient.h" #include "NetMsg.h" +#include "Logger.h" #include "brlcad/pkg.h" Modified: geomcore/trunk/include/PortalManager.h =================================================================== --- geomcore/trunk/include/PortalManager.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/include/PortalManager.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -26,11 +26,11 @@ #ifndef __PORTALMANAGER_H__ #define __PORTALMANAGER_H__ -#include "libutility.h" #include "ControlledThread.h" #include "PkgTcpServer.h" #include "INetMsgHandler.h" #include "TypeOnlyMsg.h" +#include "Logger.h" #include <sys/select.h> Modified: geomcore/trunk/include/RouteMsgJob.h =================================================================== --- geomcore/trunk/include/RouteMsgJob.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/include/RouteMsgJob.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -26,8 +26,8 @@ #ifndef __ROUTEMSGJOB_H__ #define __ROUTEMSGJOB_H__ -#include "libjob.h" #include "NetMsg.h" +#include "AbstractJob.h" class RouteMsgJob : public AbstractJob { Modified: geomcore/trunk/src/CMakeLists.txt =================================================================== --- geomcore/trunk/src/CMakeLists.txt 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/CMakeLists.txt 2011-02-08 21:38:02 UTC (rev 43145) @@ -19,7 +19,7 @@ # information. # ######################################################################### -# @file rt^3/src/CMakeLists.txt +# @file geomcore/src/CMakeLists.txt # # $Revision: $ # $Author: $ @@ -27,20 +27,20 @@ ########################################################################## #Deps first -ADD_SUBDIRECTORY(./other/) +ADD_SUBDIRECTORY(other) #Libs next -ADD_SUBDIRECTORY(./GE) -ADD_SUBDIRECTORY(./utility) -ADD_SUBDIRECTORY(./libJob) -ADD_SUBDIRECTORY(./libEvent) -ADD_SUBDIRECTORY(./libPkgCpp) -ADD_SUBDIRECTORY(./libNet) -ADD_SUBDIRECTORY(./coreInterface) +ADD_SUBDIRECTORY(GE) +ADD_SUBDIRECTORY(utility) +ADD_SUBDIRECTORY(libJob) +ADD_SUBDIRECTORY(libEvent) +ADD_SUBDIRECTORY(libPkgCpp) +ADD_SUBDIRECTORY(libNet) +#ADD_SUBDIRECTORY(coreInterface) #Apps Last -ADD_SUBDIRECTORY(./GS) -#ADD_SUBDIRECTORY(./adminpanel) +ADD_SUBDIRECTORY(GS) +#ADD_SUBDIRECTORY(adminpanel) # Client Library set ADD_SUBDIRECTORY(interfaces) Modified: geomcore/trunk/src/GE/CMakeLists.txt =================================================================== --- geomcore/trunk/src/GE/CMakeLists.txt 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GE/CMakeLists.txt 2011-02-08 21:38:02 UTC (rev 43145) @@ -26,29 +26,27 @@ # ########################################################################## -RT3_PROJECT(ge) +PROJECT(GEOMETRY_ENGINE) -#Set Include Dirs -RT3_PROJECT_ADD_INCLUDE_DIRS( -) +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ) -#Set Libs -RT3_PROJECT_ADD_LIBS( -) +IF(BUILD_SHARED_LIBS) + add_library(libgeomengine SHARED GeometryEngine.cxx) + #target_link_libraries(libgeomengine ${CMAKE_THREAD_LIBS_INIT}) + set_target_properties(libgeomengine PROPERTIES PREFIX "") + install(TARGETS libgeomengine DESTINATION lib) +ENDIF(BUILD_SHARED_LIBS) +IF(BUILD_STATIC_LIBS) + add_library(libgeomengine-static STATIC GeometryEngine.cxx) + #target_link_libraries(libgeomengine-static ${CMAKE_THREAD_LIBS_INIT}) + IF(NOT WIN32) + set_target_properties(libgeomengine-static PROPERTIES PREFIX "") + set_target_properties(libgeomengine-static PROPERTIES OUTPUT_NAME "libgeomengine") + ELSE(NOT WIN32) + set_target_properties(libgeomengine-static PROPERTIES PREFIX "lib") + ENDIF(NOT WIN32) + install(TARGETS libgeomengine-static DESTINATION lib) +ENDIF(BUILD_STATIC_LIBS) -#set Source files -RT3_PROJECT_ADD_SOURCES ( - GeometryEngine.cxx -) - -#Set INST Headers -RT3_PROJECT_ADD_INST_HEADERS( -) - -#Set NOINST headers -RT3_PROJECT_ADD_NOINST_HEADERS( - GeometryEngine.h -) - -#Build the project -RT3_PROJECT_BUILD_LIB() Modified: geomcore/trunk/src/GS/CMakeLists.txt =================================================================== --- geomcore/trunk/src/GS/CMakeLists.txt 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/CMakeLists.txt 2011-02-08 21:38:02 UTC (rev 43145) @@ -19,30 +19,22 @@ # information. # ######################################################################### -# @file rt^3/src/GS/CMakeLists.txt +# @file geomcore/src/GS/CMakeLists.txt # # $Revision: $ # $Author: $ # ########################################################################## -RT3_PROJECT(gs) +PROJECT(GEOMETRY_SERVICE) -#Set Include Dirs -RT3_PROJECT_ADD_INCLUDE_DIRS( - ${QT_INCLUDE_DIR} - ${BRLCAD_INC_DIRS} -) +include_directories( + ${QT_INCLUDE_DIR} + ${BRLCAD_INC_DIRS} + ${CMAKE_CURRENT_SOURCE_DIR} + ) -#Set Libs -RT3_PROJECT_ADD_LIBS( - ${QT_LIBRARIES} - net - utility -) - -#set Source files -RT3_PROJECT_ADD_SOURCES ( +SET(geomserv_SRCS GeometryService.cxx DataManager.cxx FileDataSource.cxx @@ -54,7 +46,7 @@ Account.cxx AccountManager.cxx GSClient.cxx - GSCmdLineClient.cxx + GSCmdLineClient.cxx cmds/ClientCmdRegistry.cxx cmds/AbstractClientCmd.cxx cmds/HelpCmd.cxx @@ -63,21 +55,37 @@ cmds/ShutdownCmd.cxx cmds/ExitCmd.cxx cmds/PingCmd.cxx -) + ) +IF(BUILD_SHARED_LIBS) + add_library(libgeomserv SHARED ${geomserv_SRCS}) + target_link_libraries(libgeomserv ${QT_LIBRARIES} libNet libgcutil) + set_target_properties(libgeomserv PROPERTIES PREFIX "") + install(TARGETS libgeomserv DESTINATION lib) +ENDIF(BUILD_SHARED_LIBS) +IF(BUILD_STATIC_LIBS) + add_library(libgeomserv-static STATIC ${geomserv_SRCS}) + target_link_libraries(libgeomserv-static ${QT_LIBRARIES} libNet libgcutil) + IF(NOT WIN32) + set_target_properties(libgeomserv-static PROPERTIES PREFIX "") + set_target_properties(libgeomserv-static PROPERTIES OUTPUT_NAME "${libname}") + ELSE(NOT WIN32) + set_target_properties(libgeomserv-static PROPERTIES PREFIX "lib") + ENDIF(NOT WIN32) + install(TARGETS libgeomserv-static DESTINATION lib) +ENDIF(BUILD_STATIC_LIBS) -#Set INST Headers -RT3_PROJECT_ADD_INST_HEADERS( +SET(geomserv_inst_HDRS Session.h SessionManager.h Account.h AccountManager.h GeometryService.h DataManager.h - IDataSource.h - FileDataSource.h + IDataSource.h + FileDataSource.h DbObject.h GSClient.h - GSCmdLineClient.h + GSCmdLineClient.h ClientCmdRegistry.h AbstractClientCmd.h HelpCmd.h @@ -85,97 +93,13 @@ LogoutCmd.h ShutdownCmd.h ExitCmd.h -) + ) +INSTALL(FILES ${geomserv_inst_HDRS} DESTINATION include) -#Set NOINST headers -RT3_PROJECT_ADD_NOINST_HEADERS( - DbObjectManifest.h - GeometryProcessor.h -) +add_executable(geoserv geoserv.cxx) +target_link_libraries(geoserv libgcutil libNet libgeomserv ${QT_LIBRARIES}) +install(TARGETS geoserv DESTINATION bin) -#Set QT INST headers -RT3_PROJECT_ADD_QT_INST_HEADERS() - -#Set QT NOINST headers -RT3_PROJECT_ADD_QT_NOINST_HEADERS() - -#Build the project -RT3_PROJECT_BUILD_LIB() - -############## -############## -############## - -RT3_PROJECT(geoserv) - -#Set Include Dirs -RT3_PROJECT_ADD_INCLUDE_DIRS( - ${QT_INCLUDE_DIR} -) - -#Set Libs -RT3_PROJECT_ADD_LIBS( - ${QT_LIBRARIES} - utility - gs - net -) - -#set Source files -RT3_PROJECT_ADD_SOURCES ( - geoserv.cxx -) - -#Set INST Headers -RT3_PROJECT_ADD_INST_HEADERS() - -#Set NOINST headers -RT3_PROJECT_ADD_NOINST_HEADERS() - -#Set QT INST headers -RT3_PROJECT_ADD_QT_INST_HEADERS() - -#Set QT NOINST headers -RT3_PROJECT_ADD_QT_NOINST_HEADERS() - -#Build the project -RT3_PROJECT_BUILD_EXE() - -############## -############## -############## - -RT3_PROJECT(geoclient) - -#Set Include Dirs -RT3_PROJECT_ADD_INCLUDE_DIRS( - ${QT_INCLUDE_DIR} -) - -#Set Libs -RT3_PROJECT_ADD_LIBS( - ${QT_LIBRARIES} - utility - gs - net -) - -#set Source files -RT3_PROJECT_ADD_SOURCES ( - geoclient.cxx -) - -#Set INST Headers -RT3_PROJECT_ADD_INST_HEADERS() - -#Set NOINST headers -RT3_PROJECT_ADD_NOINST_HEADERS() - -#Set QT INST headers -RT3_PROJECT_ADD_QT_INST_HEADERS() - -#Set QT NOINST headers -RT3_PROJECT_ADD_QT_NOINST_HEADERS() - -#Build the project -RT3_PROJECT_BUILD_EXE() +add_executable(geoclient geoclient.cxx) +target_link_libraries(geoclient libgcutil libNet libgeomserv ${QT_LIBRARIES}) +install(TARGETS geoclient DESTINATION bin) Modified: geomcore/trunk/src/GS/DataManager.cxx =================================================================== --- geomcore/trunk/src/GS/DataManager.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/DataManager.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -25,7 +25,9 @@ */ #include "DataManager.h" -#include "libnet.h" +#include "NetMsgTypes.h" +#include "TypeOnlyMsg.h" +#include "GeometryManifestMsg.h" #include <QtCore/QMutexLocker> Modified: geomcore/trunk/src/GS/FileDataSource.cxx =================================================================== --- geomcore/trunk/src/GS/FileDataSource.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/FileDataSource.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -24,6 +24,7 @@ */ #include "FileDataSource.h" +#include "GSThread.h" #include <QtCore/QMutexLocker> #include <QtCore/QFile> Modified: geomcore/trunk/src/GS/GSClient.cxx =================================================================== --- geomcore/trunk/src/GS/GSClient.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/GSClient.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -23,9 +23,12 @@ */ #include "GSClient.h" +#include "Portal.h" #include "NetMsgRouter.h" +#include "SessionInfoMsg.h" +#include "FailureMsg.h" +#include "PongMsg.h" - GSClient::GSClient(QString localNodeName) { this->log = Logger::getInstance(); this->jobMan = JobManager::getInstance(); Modified: geomcore/trunk/src/GS/GSCmdLineClient.cxx =================================================================== --- geomcore/trunk/src/GS/GSCmdLineClient.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/GSCmdLineClient.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -32,6 +32,7 @@ #include "LogoutCmd.h" #include "ShutdownCmd.h" #include "PingCmd.h" +#include "Portal.h" const std::string GSCmdLineClient::defaultPrompt ="geoclient> "; Modified: geomcore/trunk/src/GS/SessionManager.cxx =================================================================== --- geomcore/trunk/src/GS/SessionManager.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/SessionManager.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -26,7 +26,6 @@ #include "SessionManager.h" #include "AccountManager.h" #include "NetMsgTypes.h" -#include "libutility.h" #include "FailureMsg.h" #include <QtCore/QMutexLocker> Modified: geomcore/trunk/src/GS/cmds/LoginCmd.cxx =================================================================== --- geomcore/trunk/src/GS/cmds/LoginCmd.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/cmds/LoginCmd.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -25,6 +25,7 @@ */ #include "LoginCmd.h" +#include "Portal.h" #include "PortalManager.h" #include "NewSessionReqMsg.h" Modified: geomcore/trunk/src/GS/cmds/LogoutCmd.cxx =================================================================== --- geomcore/trunk/src/GS/cmds/LogoutCmd.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/cmds/LogoutCmd.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -25,8 +25,10 @@ */ #include "LogoutCmd.h" +#include "Portal.h" #include "PortalManager.h" #include "TypeOnlyMsg.h" +#include "NetMsgTypes.h" LogoutCmd::LogoutCmd() : AbstractClientCmd("logout") {} LogoutCmd::~LogoutCmd() {} Modified: geomcore/trunk/src/GS/cmds/PingCmd.cxx =================================================================== --- geomcore/trunk/src/GS/cmds/PingCmd.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/cmds/PingCmd.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -23,7 +23,9 @@ * Created on: Dec 22, 2010 */ +#include "Portal.h" #include "PingCmd.h" +#include "PingMsg.h" PingCmd::PingCmd(): AbstractClientCmd("ping"){} Modified: geomcore/trunk/src/GS/cmds/ShutdownCmd.cxx =================================================================== --- geomcore/trunk/src/GS/cmds/ShutdownCmd.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/cmds/ShutdownCmd.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -22,6 +22,7 @@ * */ +#include "Portal.h" #include "ShutdownCmd.h" #include "NetMsgTypes.h" Modified: geomcore/trunk/src/GS/geoclient.cxx =================================================================== --- geomcore/trunk/src/GS/geoclient.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/geoclient.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -25,7 +25,7 @@ #include "GSClient.h" #include "GSCmdLineClient.h" -#include "libutility.h" +#include "Config.h" #include <QtCore/QString> #include <QtCore/QUuid> Modified: geomcore/trunk/src/GS/geoserv.cxx =================================================================== --- geomcore/trunk/src/GS/geoserv.cxx 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/GS/geoserv.cxx 2011-02-08 21:38:02 UTC (rev 43145) @@ -26,8 +26,8 @@ #include "GeometryService.h" #include "FileDataSource.h" -#include "libutility.h" -#include "libevent.h" +#include "JobManager.h" +#include "Config.h" #include <iostream> #include <stdlib.h> Modified: geomcore/trunk/src/libEvent/CMakeLists.txt =================================================================== --- geomcore/trunk/src/libEvent/CMakeLists.txt 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/libEvent/CMakeLists.txt 2011-02-08 21:38:02 UTC (rev 43145) @@ -19,29 +19,18 @@ # information. # ######################################################################### -# @file rt^3/src/libEvent/CMakeLists.txt +# @file geomcore/src/libEvent/CMakeLists.txt # # Event Library # -# ########################################################################## -RT3_PROJECT(event) - -#Set Include Dirs -RT3_PROJECT_ADD_INCLUDE_DIRS( +include_directories( ${QT_INCLUDE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} ) -#Set Libs -RT3_PROJECT_ADD_LIBS( - utility - job - ${QT_LIBRARIES} -) - -#set Source files -RT3_PROJECT_ADD_SOURCES ( +SET(libEvent_SRCS Event.cxx EventManager.cxx EventPublisher.cxx @@ -51,21 +40,30 @@ SubmitEventJob.cxx ) -#Set INST Headers -RT3_PROJECT_ADD_INST_HEADERS( +IF(BUILD_SHARED_LIBS) + add_library(libEvent SHARED ${libEvent_SRCS}) + target_link_libraries(libEvent libgcutil libJob ${QT_LIBRARIES}) + set_target_properties(libEvent PROPERTIES PREFIX "") + install(TARGETS libEvent DESTINATION lib) +ENDIF(BUILD_SHARED_LIBS) +IF(BUILD_STATIC_LIBS) + add_library(libEvent-static STATIC ${libEvent_SRCS}) + target_link_libraries(libEvent-static libgcutil libJob ${QT_LIBRARIES}) + IF(NOT WIN32) + set_target_properties(libEvent-static PROPERTIES PREFIX "") + set_target_properties(libEvent-static PROPERTIES OUTPUT_NAME "libEvent") + ELSE(NOT WIN32) + set_target_properties(libEvent-static PROPERTIES PREFIX "lib") + ENDIF(NOT WIN32) + install(TARGETS libEvent-static DESTINATION lib) +ENDIF(BUILD_STATIC_LIBS) + +SET(libEvent_inst_HDRS Event.h EventTypes.h EventManager.h EventPublisher.h EventSubscriber.h ) +INSTALL(FILES ${libEvent_inst_HDRS} DESTINATION include) -#Set NOINST headers -RT3_PROJECT_ADD_NOINST_HEADERS( - EventSubscription.h - DeliverEventJob.h - SubmitEventJob.h -) - -#Build the project -RT3_PROJECT_BUILD_LIB() \ No newline at end of file Modified: geomcore/trunk/src/libEvent/SubmitEventJob.h =================================================================== --- geomcore/trunk/src/libEvent/SubmitEventJob.h 2011-02-08 20:43:43 UTC (rev 43144) +++ geomcore/trunk/src/libEvent/SubmitEventJob.h 2011-02-08 21:38:02 UTC (rev 43145) @@ -26,8 +26,8 @@ #ifndef __SUBMITEVENTJOB_H__ #define __SUBMITEVENTJOB_H__ -#include "libjob.h" #include "Event.h" +#include "AbstractJob.h" class SubmitEvent... [truncated message content] |