Revision: 41136
          http://brlcad.svn.sourceforge.net/brlcad/?rev=41136&view=rev
Author:   starseeker
Date:     2010-10-25 19:16:36 +0000 (Mon, 25 Oct 2010)

Log Message:
-----------
Still not working, but add itk CMake and install init.tcl for tclsh.

Modified Paths:
--------------
    brlcad/branches/cmake/src/other/CMakeLists.txt
    brlcad/branches/cmake/src/other/tcl/CMakeLists.txt

Added Paths:
-----------
    brlcad/branches/cmake/src/other/incrTcl/itk/CMake/
    brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckCFileRuns.cmake
    brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckPrototypeExists.cmake
    
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckSystemFunctionality.cmake
    brlcad/branches/cmake/src/other/incrTcl/itk/CMake/ResolveCompilerPaths.cmake
    brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/
    
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_header_test.c
    brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_test.c
    brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/ctypes_test.c
    
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/sys_wait_test.c
    brlcad/branches/cmake/src/other/incrTcl/itk/CMakeLists.txt

Modified: brlcad/branches/cmake/src/other/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/src/other/CMakeLists.txt      2010-10-25 17:30:00 UTC 
(rev 41135)
+++ brlcad/branches/cmake/src/other/CMakeLists.txt      2010-10-25 19:16:36 UTC 
(rev 41136)
@@ -166,6 +166,9 @@
 IF(BRLCAD_BUILD_LOCAL_TCL)
        ADD_SUBDIRECTORY(incrTcl/itcl)
        ADD_DEPENDENCIES(itcl tcl)
+       SET(ITCL_LIBRARY itcl CACHE STRING "ITCL_LIBRARY" FORCE)
+       get_directory_property(ITCL_INCLUDE_PATH DIRECTORY incrTcl/itcl 
DEFINITION ITCL_INCLUDE_PATH)
+       SET(ITCL_INCLUDE_PATH "${ITCL_INCLUDE_PATH}" CACHE STRING "Itcl include 
paths" FORCE)
 ENDIF(BRLCAD_BUILD_LOCAL_TCL)
 IF(BRLCAD_BUILD_LOCAL_ITCL)
        SET(ITCL_VERSION "3.4" CACHE STRING "ITCL_VERSION" FORCE)
@@ -174,12 +177,9 @@
 ENDIF(BRLCAD_BUILD_LOCAL_ITCL)
 FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ITCL_VERSION        
\"${ITCL_VERSION}\"\n")
 
-IF(MSVC)
-       THIRD_PARTY_NMAKE_EXTERNAL_PROJECT(ITK itk src/other/incrTcl/itk win 
"TCLDIR=${CMAKE_SOURCE_DIR}/src/other/tcl;TKDIR=${CMAKE_SOURCE_DIR}/src/other/tk")
-ELSE(MSVC)
-       THIRD_PARTY_AUTOCONF_EXTERNAL_PROJECT(ITK itk src/other/incrTcl/itk "" 
"--with-tcl=${TCL_CONF_PREFIX};--with-tk=${TK_CONF_PREFIX};--with-tcl-private=${CMAKE_SOURCE_DIR}/src/other/tcl;--with-tk-private=${CMAKE_SOURCE_DIR}/src/other/tk")
-ENDIF(MSVC)
+#THIRD_PARTY_AUTOCONF_EXTERNAL_PROJECT(ITK itk src/other/incrTcl/itk "" 
"--with-tcl=${TCL_CONF_PREFIX};--with-tk=${TK_CONF_PREFIX};--with-tcl-private=${CMAKE_SOURCE_DIR}/src/other/tcl;--with-tk-private=${CMAKE_SOURCE_DIR}/src/other/tk")
 IF(BRLCAD_BUILD_LOCAL_ITK)
+       ADD_SUBDIRECTORY(incrTcl/itk)
        ADD_DEPENDENCIES(itk itcl tcl tk)
        SET(ITK_VERSION "3.3" CACHE STRING "ITK_VERSION" FORCE)
 ELSE(BRLCAD_BUILD_LOCAL_ITK)

Added: brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckCFileRuns.cmake
===================================================================
--- brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckCFileRuns.cmake      
                        (rev 0)
+++ brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckCFileRuns.cmake      
2010-10-25 19:16:36 UTC (rev 41136)
@@ -0,0 +1,84 @@
+# - Check if the given C source code compiles and runs.
+# CHECK_C_SOURCE_RUNS(<code> <var>)
+#  <code>   - source code to try to compile
+#  <var>    - variable to store the result
+#             (1 for success, empty for failure)
+# 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
+
+#=============================================================================
+# Copyright 2006-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distributed this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+MACRO(CHECK_C_FILE_RUNS SOURCE VAR)
+  IF("${VAR}" MATCHES "^${VAR}$")
+    SET(MACRO_CHECK_FUNCTION_DEFINITIONS 
+      "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+    IF(CMAKE_REQUIRED_LIBRARIES)
+      SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+        "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+    ELSE(CMAKE_REQUIRED_LIBRARIES)
+      SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+    ENDIF(CMAKE_REQUIRED_LIBRARIES)
+    IF(CMAKE_REQUIRED_INCLUDES)
+      SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+        "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+    ELSE(CMAKE_REQUIRED_INCLUDES)
+      SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+    ENDIF(CMAKE_REQUIRED_INCLUDES)
+
+    MESSAGE(STATUS "Performing Test ${VAR}")
+    TRY_RUN(${VAR}_EXITCODE ${VAR}_COMPILED
+      ${CMAKE_BINARY_DIR}
+      ${SOURCE}
+               COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} 
${FILE_RUN_DEFINITIONS}
+      CMAKE_FLAGS 
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+      -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
+      "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
+      "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
+      COMPILE_OUTPUT_VARIABLE OUTPUT)
+    # if it did not compile make the return value fail code of 1
+    IF(NOT ${VAR}_COMPILED)
+      SET(${VAR}_EXITCODE 1)
+    ENDIF(NOT ${VAR}_COMPILED)
+    # if the return value was 0 then it worked
+    IF("${${VAR}_EXITCODE}" EQUAL 0)
+      SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+      MESSAGE(STATUS "Performing Test ${VAR} - Success")
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log 
+        "Performing C SOURCE FILE Test ${VAR} succeded with the following 
output:\n"
+        "${OUTPUT}\n"
+        "Return value: ${${VAR}}\n"
+        "Source file was:\n${SOURCE}\n")
+    ELSE("${${VAR}_EXITCODE}" EQUAL 0)
+      IF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES  
"FAILED_TO_RUN")
+        SET(${VAR} "${${VAR}_EXITCODE}")
+      ELSE(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES  
"FAILED_TO_RUN")
+        SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+      ENDIF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES  
"FAILED_TO_RUN")
+
+      MESSAGE(STATUS "Performing Test ${VAR} - Failed")
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log 
+        "Performing C SOURCE FILE Test ${VAR} failed with the following 
output:\n"
+        "${OUTPUT}\n"
+        "Return value: ${${VAR}_EXITCODE}\n"
+        "Source file was:\n${SOURCE}\n")
+
+    ENDIF("${${VAR}_EXITCODE}" EQUAL 0)
+  ENDIF("${VAR}" MATCHES "^${VAR}$")
+ENDMACRO(CHECK_C_FILE_RUNS)
+


Property changes on: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckCFileRuns.cmake
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckPrototypeExists.cmake
===================================================================
--- 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckPrototypeExists.cmake    
                            (rev 0)
+++ 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckPrototypeExists.cmake    
    2010-10-25 19:16:36 UTC (rev 41136)
@@ -0,0 +1,41 @@
+# - Check if the prototype for a function exists.
+# CHECK_PROTOTYPE_EXISTS (FUNCTION HEADER VARIABLE)
+#
+#  FUNCTION - the name of the function you are looking for
+#  HEADER - the header(s) where the prototype should be declared
+#  VARIABLE - variable to store the 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
+
+# Copyright (c) 2006, Alexander Neundorf, <[email protected]>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+INCLUDE(CheckCXXSourceCompiles)
+
+MACRO (CHECK_PROTOTYPE_EXISTS _SYMBOL _HEADER _RESULT)
+   SET(_INCLUDE_FILES)
+   FOREACH (it ${_HEADER})
+      SET(_INCLUDE_FILES "${_INCLUDE_FILES}#include <${it}>\n")
+   ENDFOREACH (it)
+
+   SET(_CHECK_PROTO_EXISTS_SOURCE_CODE "
+${_INCLUDE_FILES}
+int main()
+{
+#ifndef ${_SYMBOL}
+   int i = sizeof(&${_SYMBOL});
+#endif
+  return 0;
+}
+")
+   CHECK_CXX_SOURCE_COMPILES("${_CHECK_PROTO_EXISTS_SOURCE_CODE}" ${_RESULT})
+ENDMACRO (CHECK_PROTOTYPE_EXISTS _SYMBOL _HEADER _RESULT)
+


Property changes on: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckPrototypeExists.cmake
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckSystemFunctionality.cmake
===================================================================
--- 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckSystemFunctionality.cmake
                            (rev 0)
+++ 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckSystemFunctionality.cmake
    2010-10-25 19:16:36 UTC (rev 41136)
@@ -0,0 +1,279 @@
+# CMake does not by default include functionality similar to autoheader in 
+# GNU Autotools, but is it not difficult to reproduce.  There are two aspects
+# to these tests - the first being the generation of a header file defining
+# variables, and the second being the running of various custom tests to 
establish
+# whether features actually work on a given platform.  The first step is 
handled
+# by creating wrapper macros for the standard CMake functions that also write
+# to a CONFIG_H_FILE if it is defined, with a couple extra conveniences.  The 
second
+# and more labor intensive step is to create tests using the CMake functions
+# that reproduce the functionality tests expected by source code using 
variables
+# defined by Autotools tests.  This file does not have all such tests, for 
each project 
+# has its own requirements and many thousands of these tests can be devised.  
The macro
+# collection below covers the requirements of the projects that have thus far 
been
+# converted to use this particular compilation mechanism, and will be added to 
as
+# needed.
+
+
+# Automate putting variables from tests into a config.h.in file,
+# and otherwise wrap check macros in extra logic as needed
+
+INCLUDE(CheckFunctionExists)
+INCLUDE(CheckIncludeFile)
+INCLUDE(CheckIncludeFiles)
+INCLUDE(CheckIncludeFileCXX)
+INCLUDE(CheckTypeSize)
+INCLUDE(CheckLibraryExists)
+INCLUDE(CheckStructHasMember)
+INCLUDE(CheckCSourceCompiles)
+INCLUDE(ResolveCompilerPaths)
+
+MACRO(CHECK_FUNCTION_EXISTS_H function var)
+  CHECK_FUNCTION_EXISTS(${function} ${var})
+  if(CONFIG_H_FILE AND ${var})
+     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+  endif(CONFIG_H_FILE AND ${var})
+ENDMACRO(CHECK_FUNCTION_EXISTS_H)
+
+MACRO(CHECK_INCLUDE_FILE_H filename var)
+  CHECK_INCLUDE_FILE(${filename} ${var})
+  if(CONFIG_H_FILE AND ${var})
+     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+  endif(CONFIG_H_FILE AND ${var})
+ENDMACRO(CHECK_INCLUDE_FILE_H)
+
+MACRO(CHECK_INCLUDE_FILE_USABILITY_H filename var)
+       CHECK_INCLUDE_FILE_H(${filename} HAVE_${var})
+       IF(HAVE_${var})
+               SET(HEADER_SRC "
+               #include <${filename}>
+               main(){};
+               ")
+               CHECK_C_SOURCE_COMPILES("${HEADER_SRC}" ${var}_USABLE)
+       ENDIF(HAVE_${var})
+       IF(NOT HAVE_${var} OR NOT ${var}_USABLE)
+               IF(CONFIG_H_FILE)
+                       FILE(APPEND ${CONFIG_H_FILE} "#define NO_${var} 1\n")
+               ENDIF(CONFIG_H_FILE)
+       ENDIF(NOT HAVE_${var} OR NOT ${var}_USABLE)
+ENDMACRO(CHECK_INCLUDE_FILE_USABILITY_H filename var)
+
+MACRO(CHECK_INCLUDE_FILE_CXX_H filename var)
+  CHECK_INCLUDE_FILE_CXX(${filename} ${var})
+  if(CONFIG_H_FILE AND ${var})
+     FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+  endif(CONFIG_H_FILE AND ${var})
+ENDMACRO(CHECK_INCLUDE_FILE_CXX_H)
+
+MACRO(CHECK_TYPE_SIZE_H typename var)
+       FOREACH(arg ${ARGN})
+               SET(headers ${headers} ${arg})
+       ENDFOREACH(arg ${ARGN})
+       SET(CHECK_EXTRA_INCLUDE_FILES ${headers})
+       CHECK_TYPE_SIZE(${typename} HAVE_${var}_T)
+       SET(CHECK_EXTRA_INCLUDE_FILES)
+       if(CONFIG_H_FILE AND HAVE_${var}_T)
+               FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_${var}_T 1\n")
+               FILE(APPEND ${CONFIG_H_FILE} "#define SIZEOF_${var} 
${HAVE_${var}_T}\n")
+       endif(CONFIG_H_FILE AND HAVE_${var}_T)
+ENDMACRO(CHECK_TYPE_SIZE_H)
+
+MACRO(CHECK_STRUCT_HAS_MEMBER_H structname member header var)
+       CHECK_STRUCT_HAS_MEMBER(${structname} ${member} ${header} HAVE_${var})
+       if(CONFIG_H_FILE AND HAVE_${var})
+               FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_${var} 1\n")
+       endif(CONFIG_H_FILE AND HAVE_${var})
+ENDMACRO(CHECK_STRUCT_HAS_MEMBER_H)
+
+MACRO(CHECK_LIBRARY targetname lname func)
+       IF(NOT ${targetname}_LIBRARY)
+               CHECK_LIBRARY_EXISTS(${lname} ${func} "" 
HAVE_${targetname}_${lname})
+               IF(HAVE_${targetname}_${lname})
+                       RESOLVE_LIBRARIES (${targetname}_LIBRARY "-l${lname}")
+                       SET(${targetname}_LINKOPT "-l${lname}")
+               ENDIF(HAVE_${targetname}_${lname})
+       ENDIF(NOT ${targetname}_LIBRARY)
+ENDMACRO(CHECK_LIBRARY lname func)
+
+# Functionality testing macros - these also assume a  CONFIG_H file.  In some
+# cases the minimal test code can be included in-line, but in others the 
problem
+# of quoting it correctly becomes rather involved.  In those cases, rather than
+# complicate the maintainance of the test, the code itself is stored in a file.
+# These files need to be present in a directory called test_sources, in one of
+# the directories in the CMAKE_MODULE_PATH variable.  The first step is to
+# locate such a directory.
+
+SET(CMAKE_TEST_SRCS_DIR "NOTFOUND")
+FOREACH($candidate_dir ${CMAKE_MODULE_PATH})
+       IF(NOT CMAKE_TEST_SRCS_DIR)
+               IF(EXISTS "${candidate_dir}/test_sources" AND IS_DIRECTORY 
"${candidate_dir}/test_sources")
+                       SET(CMAKE_TEST_SRCS_DIR ${candidate_dir}/test_sources)
+               ENDIF(EXISTS "${candidate_dir}/test_sources" AND IS_DIRECTORY 
"${candidate_dir}/test_sources")
+       ENDIF(NOT CMAKE_TEST_SRCS_DIR)
+ENDFOREACH($candidate_dir ${CMAKE_MODULE_PATH})
+
+INCLUDE(CheckPrototypeExists)
+INCLUDE(CheckCSourceRuns)
+INCLUDE(CheckCFileRuns)
+
+MACRO(CHECK_BASENAME)
+       SET(BASENAME_SRC "
+       #include <libgen.h>
+       int main(int argc, char *argv[]) {
+       (void)basename(argv[0]);
+       return 0;
+       }")
+       CHECK_C_SOURCE_RUNS("${BASENAME_SRC}" HAVE_BASENAME)
+       IF(HAVE_BASENAME)
+               FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_BASENAME 1\n")
+       ENDIF(HAVE_BASENAME)
+ENDMACRO(CHECK_BASENAME var)
+
+MACRO(CHECK_DIRNAME)
+       SET(DIRNAME_SRC "
+       #include <libgen.h>
+       int main(int argc, char *argv[]) {
+       (void)dirname(argv[0]);
+       return 0;
+       }")
+       CHECK_C_SOURCE_RUNS("${DIRNAME_SRC}" HAVE_DIRNAME)
+       IF(HAVE_DIRNAME)
+               FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_DIRNAME 1\n")
+       ENDIF(HAVE_DIRNAME)
+ENDMACRO(CHECK_DIRNAME var)
+
+# Based on AC_HEADER_STDC - using the source code for ctype
+# checking found in the generated configure file
+MACRO(CMAKE_HEADER_STDC)
+  CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
+  FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_STDLIB_H 1\n")
+  CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
+  CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
+  FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_STRING_H 1\n")
+  CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
+  FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_STRINGS_H 1\n")
+  CHECK_INCLUDE_FILE(float.h HAVE_FLOAT_H)
+  CHECK_PROTOTYPE_EXISTS(memchr string.h HAVE_STRING_H_MEMCHR)
+  CHECK_PROTOTYPE_EXISTS(free stdlib.h HAVE_STDLIB_H_FREE)
+  CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/ctypes_test.c WORKING_CTYPE_MACROS)
+  IF(HAVE_STDLIB_H AND HAVE_STDARG_H AND HAVE_STRING_H AND HAVE_FLOAT_H AND 
WORKING_CTYPE_MACROS)
+    FILE(APPEND ${CONFIG_H_FILE} "#define STDC_HEADERS 1\n")
+  ENDIF(HAVE_STDLIB_H AND HAVE_STDARG_H AND HAVE_STRING_H AND HAVE_FLOAT_H AND 
WORKING_CTYPE_MACROS)
+ENDMACRO(CMAKE_HEADER_STDC)
+
+# Based on AC_HEADER_SYS_WAIT
+MACRO(CMAKE_HEADER_SYS_WAIT)
+  CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/sys_wait_test.c WORKING_SYS_WAIT)
+  IF(WORKING_SYS_WAIT)
+    FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_SYS_WAIT_H 1\n")
+  ENDIF(WORKING_SYS_WAIT)
+ENDMACRO(CMAKE_HEADER_SYS_WAIT)
+
+# Based on AC_FUNC_ALLOCA
+MACRO(CMAKE_ALLOCA)
+       CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/alloca_header_test.c 
WORKING_ALLOCA_H)
+       IF(WORKING_ALLOCA_H)
+               FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_ALLOCA_H 1\n")
+               SET(FILE_RUN_DEFINITIONS "-DHAVE_ALLOCA_H")
+       ENDIF(WORKING_ALLOCA_H)
+       CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/alloca_test.c WORKING_ALLOCA)
+       IF(WORKING_ALLOCA)
+               FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_ALLOCA 1\n")
+       ENDIF(WORKING_ALLOCA)
+ENDMACRO(CMAKE_ALLOCA)
+
+MACRO(CHECK_COMPILER_SUPPORTS_HIDDEN)
+       SET(TEST_SRC"
+       #define MODULE_SCOPE extern __attribute__((__visibility__("hidden")))
+       main(){};
+       ")
+       CHECK_C_SOURCE_COMPILES("${TEST_SRC}" COMPILER_SUPPORTS_HIDDEN)
+ENDMACRO(CHECK_COMPILER_SUPPORTS_HIDDEN)
+
+MACRO(CHECK_GETADDERINFO_WORKING)
+       SET(GETADDERINFO_SRC "
+       #include <netdb.h>
+       int main () {
+       const char *name, *port;
+       struct addrinfo *aiPtr, hints;
+       (void)getaddrinfo(name,port, &hints, &aiPtr);
+       (void)freeaddrinfo(aiPtr);
+       return 0;
+       }")
+       CHECK_C_SOURCE_COMPILES("${GETADDERINFO_SRC}" WORKING_GETADDERINFO)
+       IF(WORKING_GETADDERINFO)
+               FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_GETADDERINFO 1\n")
+       ENDIF(WORKING_GETADDERINFO)
+ENDMACRO(CHECK_GETADDERINFO_WORKING)
+
+
+MACRO(TERMIOS_TERMIO_SGTTY)
+       SET(TERMIOS_SRC "
+       #include <termios.h>
+       int main() {
+       struct termios t;
+       if (tcgetattr(0, &t) == 0) {
+               cfsetospeed(&t, 0);
+               t.c_cflag |= PARENB | PARODD | CSIZE | CSTOPB;
+               return 0;
+       }
+               return 1;
+       }
+       ")
+       SET(TERMIO_SRC "
+       #include <termio.h>
+       int main() {
+       struct termio t;
+       if (ioctl(0, TCGETA, &t) == 0) {
+               t.c_cflag |= CBAUD | PARENB | PARODD | CSIZE | CSTOPB;
+               return 0;
+       }
+               return 1;
+       }
+   ")
+       SET(SGTTY_SRC "
+       #include <sgtty.h>
+       int main() {
+       struct sgttyb t;
+       if (ioctl(0, TIOCGETP, &t) == 0) {
+               t.sg_ospeed = 0;
+               t.sg_flags |= ODDP | EVENP | RAW;
+               return 0;
+       }
+               return 1;
+       }
+       ")
+       CHECK_C_SOURCE_RUNS("${TERMIOS_SRC}" HAVE_TERMIOS)
+       IF(NOT HAVE_TERMIOS)
+               CHECK_C_SOURCE_RUNS("${TERMIO_SRC}" HAVE_TERMIO)
+       ENDIF(NOT HAVE_TERMIOS)
+       IF(NOT HAVE_TERMIO AND NOT HAVE_TERMIOS)
+               CHECK_C_SOURCE_RUNS("${SGTTY_SRC}" HAVE_SGTTY)
+       ENDIF(NOT HAVE_TERMIO AND NOT HAVE_TERMIOS)
+ENDMACRO(TERMIOS_TERMIO_SGTTY)
+
+MACRO(CHECK_FD_SET_IN_TYPES_H)
+       SET(TEST_SRC "
+       #include <sys/types.h>
+       int main ()
+       {
+       fd_set readMask, writeMask;
+       return 0;
+       }
+       ")
+       CHECK_C_SOURCE_COMPILES("${TEST_SRC}" FD_SET_IN_TYPES_H)
+ENDMACRO(CHECK_FD_SET_IN_TYPES_H)
+
+MACRO(CHECK_TIME_AND_SYS_TIME)
+       SET(TEST_SRC "
+       #include <sys/types.h>
+       #include <sys/time.h>
+       #include <time.h>
+       int main()      {
+       if ((struct tm *) 0)
+               return 0;
+       return 0;
+       }
+       ")
+       CHECK_C_SOURCE_COMPILES("${TEST_SRC}" TIME_AND_SYS_TIME)
+ENDMACRO(CHECK_TIME_AND_SYS_TIME)
+


Property changes on: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/CheckSystemFunctionality.cmake
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/ResolveCompilerPaths.cmake
===================================================================
--- 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/ResolveCompilerPaths.cmake    
                            (rev 0)
+++ 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/ResolveCompilerPaths.cmake    
    2010-10-25 19:16:36 UTC (rev 41136)
@@ -0,0 +1,129 @@
+#=============================================================================
+# Copyright 2008 Jed Brown
+# All rights reserved.
+# 
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#  
+# * Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+# 
+# * Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+# 
+# * Neither the names of Kitware, Inc., the Insight Software Consortium,
+#   Jed Brown, nor the names of their contributors may be used to endorse 
+#   or promote products derived from this software without specific prior 
+#   written permission.
+# 
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# (Added license text after confirming with Jed Brown via email license
+# on his modules was the same as that of CMake - CY)
+#
+#=============================================================================
+# ResolveCompilerPaths - this module defines two macros
+#
+# RESOLVE_LIBRARIES (XXX_LIBRARIES LINK_LINE)
+#  This macro is intended to be used by FindXXX.cmake modules.
+#  It parses a compiler link line and resolves all libraries
+#  (-lfoo) using the library path contexts (-L/path) in scope.
+#  The result in XXX_LIBRARIES is the list of fully resolved libs.
+#  Example:
+#
+#    RESOLVE_LIBRARIES (FOO_LIBRARIES "-L/A -la -L/B -lb -lc -ld")
+#
+#  will be resolved to
+#
+#    FOO_LIBRARIES:STRING="/A/liba.so;/B/libb.so;/A/libc.so;/usr/lib/libd.so"
+#
+#  if the filesystem looks like
+#
+#    /A:       liba.so         libc.so
+#    /B:       liba.so libb.so
+#    /usr/lib: liba.so libb.so libc.so libd.so
+#
+#  and /usr/lib is a system directory.
+#
+#  Note: If RESOLVE_LIBRARIES() resolves a link line differently from
+#  the native linker, there is a bug in this macro (please report it).
+#
+# RESOLVE_INCLUDES (XXX_INCLUDES INCLUDE_LINE)
+#  This macro is intended to be used by FindXXX.cmake modules.
+#  It parses a compile line and resolves all includes
+#  (-I/path/to/include) to a list of directories.  Other flags are ignored.
+#  Example:
+#
+#    RESOLVE_INCLUDES (FOO_INCLUDES "-I/A -DBAR='\"irrelevant -I/string 
here\"' -I/B")
+#
+#  will be resolved to
+#
+#    FOO_INCLUDES:STRING="/A;/B"
+#
+#  assuming both directories exist.
+#  Note: as currently implemented, the -I/string will be picked up mistakenly 
(cry, cry)
+
+macro (RESOLVE_LIBRARIES LIBS LINK_LINE)
+  string (REGEX MATCHALL "((-L|-l|-Wl)([^\" ]+|\"[^\"]+\")|/[^\" 
]+(a|so|dll))" _all_tokens "${LINK_LINE}")
+  set (_libs_found)
+  set (_directory_list)
+  foreach (token ${_all_tokens})
+    if (token MATCHES "-L([^\" ]+|\"[^\"]+\")")
+      # If it's a library path, add it to the list
+      string (REGEX REPLACE "^-L" "" token ${token})
+      string (REGEX REPLACE "//" "/" token ${token})
+      list (APPEND _directory_list ${token})
+    elseif (token MATCHES "^(-l([^\" ]+|\"[^\"]+\")|/[^\" ]+(a|so|dll))")
+      # It's a library, resolve the path by looking in the list and then (by 
default) in system directories
+      string (REGEX REPLACE "^-l" "" token ${token})
+      set (_root)
+      if (token MATCHES "^/")  # We have an absolute path, add root to the 
search path
+       set (_root "/")
+      endif (token MATCHES "^/")
+      set (_lib "NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+      find_library (_lib ${token} HINTS ${_directory_list} ${_root})
+      if (_lib)
+       string (REPLACE "//" "/" _lib ${_lib})
+        list (APPEND _libs_found ${_lib})
+      else (_lib)
+        message (STATUS "Unable to find library ${token}")
+      endif (_lib)
+    endif (token MATCHES "-L([^\" ]+|\"[^\"]+\")")
+  endforeach (token)
+  set (_lib "NOTFOUND" CACHE INTERNAL "Scratch variable" FORCE)
+  # only the LAST occurence of each library is required since there should be 
no circular dependencies
+  if (_libs_found)
+    list (REVERSE _libs_found)
+    list (REMOVE_DUPLICATES _libs_found)
+    list (REVERSE _libs_found)
+  endif (_libs_found)
+  set (${LIBS} "${_libs_found}")
+endmacro (RESOLVE_LIBRARIES)
+
+macro (RESOLVE_INCLUDES INCS COMPILE_LINE)
+  string (REGEX MATCHALL "-I([^\" ]+|\"[^\"]+\")" _all_tokens 
"${COMPILE_LINE}")
+  set (_incs_found)
+  foreach (token ${_all_tokens})
+    string (REGEX REPLACE "^-I" "" token ${token})
+    string (REGEX REPLACE "//" "/" token ${token})
+    if (EXISTS ${token})
+      list (APPEND _incs_found ${token})
+    else (EXISTS ${token})
+      message (STATUS "Include directory ${token} does not exist")
+    endif (EXISTS ${token})
+  endforeach (token)
+  list (REMOVE_DUPLICATES _incs_found)
+  set (${INCS} "${_incs_found}")
+endmacro (RESOLVE_INCLUDES)


Property changes on: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/ResolveCompilerPaths.cmake
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_header_test.c
===================================================================
--- 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_header_test.c
                         (rev 0)
+++ 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_header_test.c
 2010-10-25 19:16:36 UTC (rev 41136)
@@ -0,0 +1,10 @@
+#include <alloca.h>
+int
+main ()
+{
+       char *p = (char *) alloca (2 * sizeof (int));
+       if (p) return 0;
+       ;
+       return 0;
+}
+


Property changes on: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_header_test.c
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_test.c
===================================================================
--- 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_test.c    
                            (rev 0)
+++ 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_test.c    
    2010-10-25 19:16:36 UTC (rev 41136)
@@ -0,0 +1,30 @@
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# else
+#  ifdef HAVE_ALLOCA_H
+#   include <alloca.h>
+#  else
+#   ifdef _AIX
+ #pragma alloca
+#   else
+#    ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+int
+main ()
+{
+       char *p = (char *) alloca (1);
+                                           if (p) return 0;
+                                             ;
+                                               return 0;
+}
+


Property changes on: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/alloca_test.c
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/ctypes_test.c
===================================================================
--- 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/ctypes_test.c    
                            (rev 0)
+++ 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/ctypes_test.c    
    2010-10-25 19:16:36 UTC (rev 41136)
@@ -0,0 +1,24 @@
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+                   (('a' <= (c) && (c) <= 'i') \
+                     || ('j' <= (c) && (c) <= 'r') \
+                     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+        || toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}


Property changes on: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/ctypes_test.c
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/sys_wait_test.c
===================================================================
--- 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/sys_wait_test.c  
                            (rev 0)
+++ 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/sys_wait_test.c  
    2010-10-25 19:16:36 UTC (rev 41136)
@@ -0,0 +1,19 @@
+#include <sys/types.h>
+#include <sys/wait.h>
+#ifndef WEXITSTATUS
+# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
+#endif
+#ifndef WIFEXITED
+# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
+#endif
+
+int
+main ()
+{
+  int s;
+  wait (&s);
+  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+  ;
+  return 0;
+}
+


Property changes on: 
brlcad/branches/cmake/src/other/incrTcl/itk/CMake/test_sources/sys_wait_test.c
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: brlcad/branches/cmake/src/other/incrTcl/itk/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/src/other/incrTcl/itk/CMakeLists.txt                  
        (rev 0)
+++ brlcad/branches/cmake/src/other/incrTcl/itk/CMakeLists.txt  2010-10-25 
19:16:36 UTC (rev 41136)
@@ -0,0 +1,362 @@
+#                     C M A K E L I S T S . T X T
+# SCL
+#
+# Copyright (c) 2010 United States Government as represented by
+# the U.S. Army Research Laboratory.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+#
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# *******************************************************************
+# ***                    Tcl CMakeLists.txt                       ***
+# *******************************************************************
+
+# Minimum required version of CMake
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+IF(COMMAND CMAKE_POLICY)
+  CMAKE_POLICY(SET CMP0003 NEW)
+ENDIF(COMMAND CMAKE_POLICY)
+
+# set CMake project name
+PROJECT(ITK)
+
+# build shared libs by default
+OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON)
+
+# build static libs by default
+OPTION(BUILD_STATIC_LIBS "Build static libraries" ON)
+
+# version numbers
+SET(ITK_MAJOR_VERSION 8)
+SET(ITK_MINOR_VERSION 5)
+SET(ITK_PATCH_LEVEL 9)
+
+SET(ITK_VERSION "${ITK_MAJOR_VERSION}.${ITK_MINOR_VERSION}.${ITK_PATCH_LEVEL}")
+
+#-----------------------------------------------------------------------------
+# Output directories.
+IF(NOT LIBRARY_OUTPUT_PATH)
+  SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "Single 
output directory for building all libraries.")
+ENDIF(NOT LIBRARY_OUTPUT_PATH)
+IF(NOT EXECUTABLE_OUTPUT_PATH)
+  SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "Single 
output directory for building all executables.")
+ENDIF(NOT EXECUTABLE_OUTPUT_PATH)
+
+#-----------------------------------------------------------------------------
+# Configure install locations. 
+
+IF(NOT CMAKE_INSTALL_PREFIX)
+       IF(WIN32)
+               SET(CMAKE_INSTALL_PREFIX "/usr/local")
+       ELSE(WIN32) 
+               SET(CMAKE_INSTALL_PREFIX "C:/Tcl")
+       ENDIF(WIN32) 
+ENDIF(NOT CMAKE_INSTALL_PREFIX)
+
+
+#-----------------------------------------------------------------------------
+# Check if the compiler supports pipe - if so, use it
+INCLUDE(CheckCCompilerFlag)
+CHECK_C_COMPILER_FLAG(-pipe PIPE_COMPILER_FLAG)
+IF(PIPE_COMPILER_FLAG)
+       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe")
+ENDIF(PIPE_COMPILER_FLAG)
+
+#-----------------------------------------------------------------------------
+# Set CMake module path
+SET(CMAKE_MODULE_PATH "${TCL_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
+
+#-----------------------------------------------------------------------------
+# Unlike the autotools based builds, CMake will always use itkConfig.h
+
+add_definitions(
+       -DHAVE_ITK_CONFIG_H
+)
+
+# We will need a tclConfig.h.in file to hold all the #cmakedefine statements,
+# which will in turn be used to generate a tclConfig.h file.  To succeed, the 
+# file must first be present, which we take care of here:
+
+SET(CONFIG_H_FILE "${CMAKE_BINARY_DIR}/include/itkConfig.h.in")
+FILE(WRITE ${CONFIG_H_FILE} "/**** itk define statements from CMake ****/\n")
+FILE(APPEND ${CONFIG_H_FILE} "#ifndef _ITKCONFIG\n")
+FILE(APPEND ${CONFIG_H_FILE} "#define _ITKCONFIG\n")
+
+INCLUDE(${ITK_SOURCE_DIR}/CMake/CheckSystemFunctionality.cmake)
+
+#----------------------------------------------------------------------------
+# First, get some standard options out of the way - things that are constant
+# between various platforms or pertain to specific OS definitions
+FILE(APPEND ${CONFIG_H_FILE} "#define PACKAGE_NAME \"Itk\"\n")
+FILE(APPEND ${CONFIG_H_FILE} "#define PACKAGE_TARNAME \"Itk\"\n")
+FILE(APPEND ${CONFIG_H_FILE} "#define PACKAGE_VERSION 
\"${ITK_MAJOR_VERSION}.${ITK_MINOR_VERSION}\"\n")
+FILE(APPEND ${CONFIG_H_FILE} "#define PACKAGE_STRING \"Itk 
${ITK_MAJOR_VERSION}.${ITK_MINOR_VERSION}\"\n")
+FILE(APPEND ${CONFIG_H_FILE} "#define PACKAGE_BUGREPORT \"\"\n")
+FILE(APPEND ${CONFIG_H_FILE} "#define STDC_HEADERS 1\n")
+FILE(APPEND ${CONFIG_H_FILE} "#define ITK_LIBRARY 
\"${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}itk${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}\"\n")
+FILE(APPEND ${CONFIG_H_FILE} "#define USE_TCL_STUBS 1\n")
+
+#----------------------------------------------------------------------------
+# Define a number of variables to be controlled by options
+OPTION(TCL_THREADS "Enable Tcl Thread support" ON)
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine TCL_THREADS 1\n")
+IF(TCL_THREADS)
+       FILE(APPEND ${CONFIG_H_FILE} "#define USE_THREAD_ALLOC 1\n")
+       FILE(APPEND ${CONFIG_H_FILE} "#define _REENTRANT 1\n")
+       FILE(APPEND ${CONFIG_H_FILE} "#define _THREAD_SAFE 1\n")
+       IF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
+               FILE(APPEND ${CONFIG_H_FILE} "#define _POSIX_PTHREAD_SEMANTICS 
1\n")
+       ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
+ENDIF(TCL_THREADS)
+
+#----------------------------------------------------------------------------
+# Run tests for system headers and functionality
+CHECK_INCLUDE_FILE_H(sys/types.h HAVE_SYS_TYPES_H)
+CHECK_INCLUDE_FILE_H(sys/stat.h HAVE_SYS_STAT_H)
+CHECK_INCLUDE_FILE_H(sys/fstatfs.h HAVE_SYS_FSTATFS_H)
+IF(NOT HAVE_SYS_FSTATFS_H)
+   FILE(APPEND ${CONFIG_H_FILE} "#define NO_FSTATFS 1\n")
+ENDIF(NOT HAVE_SYS_FSTATFS_H)
+CHECK_INCLUDE_FILE_H(stdlib.h HAVE_STDLIB_H)
+CHECK_INCLUDE_FILE_H(string.h HAVE_STRING_H)
+CHECK_INCLUDE_FILE_H(memory.h HAVE_MEMORY_H)
+CHECK_INCLUDE_FILE_H(strings.h HAVE_STRINGS_H)
+CHECK_INCLUDE_FILE_H(inttypes.h HAVE_INTTYPES_H)
+CHECK_INCLUDE_FILE_H(stdint.h HAVE_STDINT_H)
+CHECK_INCLUDE_FILE_H(unistd.h HAVE_UNISTD_H)
+
+CHECK_INCLUDE_FILE_H(dirent.h HAVE_DIRENT_H)
+IF(NOT HAVE_DIRENT_H)
+       FILE(APPEND ${CONFIG_H_FILE} "#define NO_DIRENT_H 1\n")
+ENDIF(NOT HAVE_DIRENT_H)
+
+CHECK_INCLUDE_FILE_USABILITY_H(float.h FLOAT_H)
+CHECK_INCLUDE_FILE_USABILITY_H(values.h VALUES_H)
+CHECK_INCLUDE_FILE_USABILITY_H(limits.h LIMITS_H)
+CHECK_INCLUDE_FILE_USABILITY_H(sys/wait.h SYS_WAIT_H)
+CHECK_INCLUDE_FILE_USABILITY_H(dlfcn.h DLFCN_H)
+CHECK_INCLUDE_FILE_USABILITY_H(sys/param.h SYS_PARAM_H)
+
+
+CHECK_LIBRARY(M m sin)
+CHECK_LIBRARY(IEEE ieee main)
+CHECK_LIBRARY(INET inet main)
+
+CHECK_INCLUDE_FILE_USABILITY_H(net/errno.h NET_ERRNO_H)
+
+CHECK_FUNCTION_EXISTS(connect HAVE_CONNECT)
+CHECK_FUNCTION_EXISTS(gethostbyname HAVE_GETHOSTBYNAME)
+IF(NOT HAVE_GETHOSTBYNAME)
+       CHECK_LIBRARY(GHBN lnsl gethostbyname)
+       SET(HAVE_GETHOSTBYNAME ${GHBN})
+ENDIF(NOT HAVE_GETHOSTBYNAME)
+
+CHECK_COMPILER_SUPPORTS_HIDDEN()
+
+CHECK_LIBRARY(DL dl dlopen)
+
+CHECK_FUNCTION_EXISTS_H(getcwd HAVE_GETCWD)
+CHECK_FUNCTION_EXISTS_H(opendir HAVE_OPENDIR)
+CHECK_FUNCTION_EXISTS_H(strtol HAVE_STRTOL)
+CHECK_FUNCTION_EXISTS_H(waitpid HAVE_WAITPID)
+CHECK_FUNCTION_EXISTS_H(strerror HAVE_STRERROR)
+CHECK_FUNCTION_EXISTS_H(getwd HAVE_GETWD)
+CHECK_FUNCTION_EXISTS_H(wait3 HAVE_WAIT3)
+CHECK_FUNCTION_EXISTS_H(uname HAVE_UNAME)
+CHECK_FUNCTION_EXISTS_H(realpath HAVE_REALPATH)
+CHECK_FUNCTION_EXISTS(getaddrinfo HAVE_GETADDRINFO)
+IF(HAVE_GETADDRINFO)
+       CHECK_GETADDERINFO_WORKING()
+ENDIF(HAVE_GETADDRINFO)
+
+
+CHECK_INCLUDE_FILE_USABILITY_H(sys/modem.h SYS_MODEM_H)
+
+TERMIOS_TERMIO_SGTTY()
+
+CHECK_FD_SET_IN_TYPES_H()
+
+CHECK_INCLUDE_FILE_USABILITY_H(sys/time.h HAVE_SYS_TIME_H)
+CHECK_TIME_AND_SYS_TIME()
+
+CHECK_FUNCTION_EXISTS_H(gmtime_r HAVE_GMTIME_R)
+CHECK_FUNCTION_EXISTS_H(localtime_r HAVE_LOCALTIME_R)
+CHECK_FUNCTION_EXISTS_H(mktime HAVE_MKTIME)
+
+CHECK_STRUCT_HAS_MEMBER_H("struct tm" tm_tzadj time.h HAVE_TM_TZADJ)
+CHECK_STRUCT_HAS_MEMBER_H("struct tm" tm_gmtoff time.h HAVE_TM_GMTOFF)
+
+CHECK_INCLUDE_FILE_H(copyfile.h HAVE_COPYFILE_H)
+CHECK_FUNCTION_EXISTS_H(copyfile HAVE_COPYFILE)
+
+CHECK_INCLUDE_FILE_H(sys/ioctl.h HAVE_SYS_IOCTL_H)
+CHECK_INCLUDE_FILE_H(sys/filio.h HAVE_SYS_FILIO_H)
+
+
+
+#CHECK_FUNCTION_EXISTS_H( HAVE_GETPWUID_R_5)
+CHECK_FUNCTION_EXISTS_H(getpwuid HAVE_GETPWUID_R)
+#CHECK_FUNCTION_EXISTS_H( HAVE_GETPWNAM_R_5)
+CHECK_FUNCTION_EXISTS_H(getpwnam HAVE_GETPWNAM_R)
+#CHECK_FUNCTION_EXISTS_H( HAVE_GETGRGID_R_5)
+CHECK_FUNCTION_EXISTS_H(getgrgid HAVE_GETGRGID_R)
+#CHECK_FUNCTION_EXISTS_H( HAVE_GETGRNAM_R_5)
+CHECK_FUNCTION_EXISTS_H(getgrnam HAVE_GETGRNAM_R)
+#CHECK_FUNCTION_EXISTS_H( HAVE_MTSAFE_GETHOSTBYNAME)
+#CHECK_FUNCTION_EXISTS_H( HAVE_MTSAFE_GETHOSTBYADDR)
+#CHECK_FUNCTION_EXISTS_H( HAVE_STRUCT_STAT_ST_BLOCKS)
+#CHECK_FUNCTION_EXISTS_H( HAVE_STRUCT_STAT_ST_BLKSIZE)
+CHECK_TYPE_SIZE_H(blkcnt_t HAVE_BLKCNT_T)
+CHECK_TYPE_SIZE_H(intptr_t HAVE_INTPTR_T)
+CHECK_TYPE_SIZE_H(uintptr_t HAVE_UINTPTR_T)
+#CHECK_TYPE_SIZE_H( HAVE_SIGNED_CHAR)
+#CHECK_TYPE_SIZE_H( HAVE_LANGINFO)
+#CHECK_TYPE_SIZE_H( HAVE_CHFLAGS)
+CHECK_FUNCTION_EXISTS_H(getattrlist HAVE_GETATTRLIST)
+CHECK_INCLUDE_FILE_H(libkern/OSAtomic.h HAVE_LIBKERN_OSATOMIC_H)
+CHECK_FUNCTION_EXISTS_H(OSSpinLockLock HAVE_OSSPINLOCKLOCK)
+CHECK_FUNCTION_EXISTS_H(pthread_atfork HAVE_PTHREAD_ATFORK)
+#CHECK_INCLUDE_FILE_H( USE_VFORK)
+#CHECK_INCLUDE_FILE_H( TCL_WIDE_INT_TYPE long\ long\n")
+#CHECK_INCLUDE_FILE_H( TCL_CFG_DEBUG)
+#CHECK_INCLUDE_FILE_H( USE_TERMIOS)
+#CHECK_INCLUDE_FILE_H( TIME_WITH_SYS_TIME)
+#CHECK_INCLUDE_FILE_H( HAVE_TM_GMTOFF)
+#CHECK_INCLUDE_FILE_H( HAVE_TIMEZONE_VAR)
+#CHECK_INCLUDE_FILE_H( HAVE_STRUCT_STAT64)
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine M_PREC 4\n")
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine TCL_DEFAULT_ENCODING \"utf-8\"\n")
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine TCL_LOAD_FROM_MEMORY 1\n")
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine TCL_WIDE_CLICKS 1\n")
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_AVAILABILITYMACROS_H 1\n")
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_WEAK_IMPORT 1\n")
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine _DARWIN_C_SOURCE 1\n")
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_FTS 1\n")
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine TCL_UNLOAD_DLLS 1\n")
+FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine USE_DTRACE 1\n")
+
+FIND_PACKAGE(Threads)
+
+# Now that all the tests are done, configure the itkConfig.h file:
+FILE(APPEND ${CONFIG_H_FILE} "#endif /*_ITKCONFIG*/\n")
+configure_file(${CONFIG_H_FILE} ${ITK_BINARY_DIR}/include/itkConfig.h)
+
+SET(ITK_GENERIC_SRCS
+       generic/itkStubInit.c
+       generic/itkStubLib.c
+       generic/itk_archetype.c
+       generic/itk_cmds.c
+       generic/itk_option.c
+       generic/itk_util.c
+)
+
+SET(ITK_STUB_SRCS
+       generic/itkStubLib.c
+)
+
+# When it comes to identification of the location of the Tcl
+# sources, the convention is as follows:
+#
+# 1.  If TCL_INCLUDE_PATH is defined, use it
+# 2.  Else, if TCL_PREFIX is defined build include paths from it
+# 3.  If TCL_INCLUDE_PATH is not defined and TCL_BIN_PREFIX is,
+#     add include directories based on the presumption of the
+#     binary build dir (and hence tclConfig.h) being in a non-src
+#     location.
+#
+# It's still possible, depending on how Tcl was built, to 
+# have a situation where TCL_INCLUDE_PATH has to be augmented
+# manually.  However, the logic below should cover the most common cases.
+
+IF(NOT TCL_INCLUDE_PATH)
+       IF(TCL_PREFIX)
+               SET(TCL_INCLUDE_PATH ${TCL_PREFIX}/generic 
${TCL_PREFIX}/libtommath)
+               IF(WIN32)
+                       SET(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH} 
${TCL_PREFIX}/win)
+               ELSE(WIN32)
+                       SET(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH} 
${TCL_PREFIX}/unix)
+               ENDIF(WIN32)
+       ENDIF(TCL_PREFIX)
+       IF(TCL_BIN_PREFIX)
+               SET(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH} 
${TCL_BIN_PREFIX}/include)
+       ENDIF(TCL_BIN_PREFIX)
+ENDIF(NOT TCL_INCLUDE_PATH)
+
+IF(NOT ITCL_INCLUDE_PATH)
+       IF(ITCL_PREFIX)
+               SET(ITCL_INCLUDE_PATH ${ITCL_PREFIX}/generic 
${ITCL_PREFIX}/libtommath)
+               IF(WIN32)
+                       SET(ITCL_INCLUDE_PATH ${ITCL_INCLUDE_PATH} 
${ITCL_PREFIX}/win)
+               ELSE(WIN32)
+                       SET(ITCL_INCLUDE_PATH ${ITCL_INCLUDE_PATH} 
${ITCL_PREFIX}/unix)
+               ENDIF(WIN32)
+       ENDIF(ITCL_PREFIX)
+       IF(ITCL_BIN_PREFIX)
+               SET(ITCL_INCLUDE_PATH ${ITCL_INCLUDE_PATH} 
${ITCL_BIN_PREFIX}/include)
+       ENDIF(ITCL_BIN_PREFIX)
+ENDIF(NOT ITCL_INCLUDE_PATH)
+
+IF(NOT TK_INCLUDE_PATH)
+       IF(TK_PREFIX)
+               SET(TK_INCLUDE_PATH ${TK_PREFIX}/generic 
${TK_PREFIX}/libtommath)
+               IF(WIN32)
+                       SET(TK_INCLUDE_PATH ${TK_INCLUDE_PATH} ${TK_PREFIX}/win)
+               ELSE(WIN32)
+                       SET(TK_INCLUDE_PATH ${TK_INCLUDE_PATH} 
${TK_PREFIX}/unix)
+               ENDIF(WIN32)
+       ENDIF(TK_PREFIX)
+       IF(TK_BIN_PREFIX)
+               SET(TK_INCLUDE_PATH ${TK_INCLUDE_PATH} ${TK_BIN_PREFIX}/include)
+       ENDIF(TK_BIN_PREFIX)
+ENDIF(NOT TK_INCLUDE_PATH)
+
+
+SET(ITK_INCLUDE_PATH ${ITK_SOURCE_DIR}/generic ${ITK_BINARY_DIR}/include)
+
+include_directories(
+       ${TCL_INCLUDE_PATH}
+       ${TK_INCLUDE_PATH}
+       ${ITCL_INCLUDE_PATH}
+       ${ITK_INCLUDE_PATH}
+)
+
+add_library(itk ${ITK_GENERIC_SRCS})
+target_link_libraries(itk ${M_LIBRARY} ${TCL_LIBRARY} ${TK_LIBRARY} 
${ITCL_LIBRARY})
+install(TARGETS itk DESTINATION 
lib/Itk${ITK_MAJOR_VERSION}.${ITK_MINOR_VERSION})
+
+FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl "package ifneeded Itk 
${ITK_MAJOR_VERSION}.${ITK_MINOR_VERSION} [list load [file join $dir 
libitk${CMAKE_SHARED_LIBRARY_SUFFIX}] Itk]")
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl DESTINATION 
lib/Itk${ITK_MAJOR_VERSION}.${ITK_MINOR_VERSION})
+
+SET(ITK_LIBRARY_FILES
+       library/Archetype.itk
+       library/Toplevel.itk
+       library/Widget.itk
+       library/itk.tcl
+       library/tclIndex
+)
+install(FILES ${ITK_LIBRARY_FILES} DESTINATION 
lib/Itk${ITK_MAJOR_VERSION}.${ITK_MINOR_VERSION})


Property changes on: brlcad/branches/cmake/src/other/incrTcl/itk/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Modified: brlcad/branches/cmake/src/other/tcl/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMakeLists.txt  2010-10-25 17:30:00 UTC 
(rev 41135)
+++ brlcad/branches/cmake/src/other/tcl/CMakeLists.txt  2010-10-25 19:16:36 UTC 
(rev 41136)
@@ -538,3 +538,5 @@
 target_link_libraries(tclsh tcl)
 install(TARGETS tclsh DESTINATION bin)
 SET(TCL_TCLSH tclsh)
+
+install(FILES library/init.tcl DESTINATION 
lib/tcl${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION})


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to