Revision: 45925
http://brlcad.svn.sourceforge.net/brlcad/?rev=45925&view=rev
Author: starseeker
Date: 2011-08-11 19:40:01 +0000 (Thu, 11 Aug 2011)
Log Message:
-----------
Take a stab at moving the itcl compilation logic over to the cleaned up logic
being used for tcl itself
Modified Paths:
--------------
brlcad/trunk/src/other/incrTcl/itcl/CMake/CheckSystemFunctionality.cmake
brlcad/trunk/src/other/incrTcl/itcl/CMake/tcl.cmake
brlcad/trunk/src/other/incrTcl/itcl/CMakeLists.txt
Added Paths:
-----------
brlcad/trunk/src/other/incrTcl/itcl/CMake/ac_std_funcs.cmake
Modified:
brlcad/trunk/src/other/incrTcl/itcl/CMake/CheckSystemFunctionality.cmake
===================================================================
--- brlcad/trunk/src/other/incrTcl/itcl/CMake/CheckSystemFunctionality.cmake
2011-08-11 14:19:39 UTC (rev 45924)
+++ brlcad/trunk/src/other/incrTcl/itcl/CMake/CheckSystemFunctionality.cmake
2011-08-11 19:40:01 UTC (rev 45925)
@@ -56,9 +56,7 @@
IF(CONFIG_H_FILE)
FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
ENDIF(CONFIG_H_FILE)
- IF(CONFIG_CFLAGS)
- SET(${CONFIG_CFLAGS} "${${CONFIG_CFLAGS}} -D${var}=1"
CACHE STRING "${CONFIG_CFLAGS}" FORCE)
- ENDIF(CONFIG_CFLAGS)
+ add_definitions(-D${var}=1)
ENDIF(${var})
ENDMACRO(CONFIG_CHECK_FUNCTION_EXISTS)
@@ -68,9 +66,7 @@
IF(CONFIG_H_FILE)
FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
ENDIF(CONFIG_H_FILE)
- IF(CONFIG_CFLAGS)
- SET(${CONFIG_CFLAGS} "${${CONFIG_CFLAGS}} -D${var}=1"
CACHE STRING "${CONFIG_CFLAGS}" FORCE)
- ENDIF(CONFIG_CFLAGS)
+ add_definitions(-D${var}=1)
ENDIF(${var})
ENDMACRO(CONFIG_CHECK_INCLUDE_FILE)
@@ -87,9 +83,7 @@
IF(CONFIG_H_FILE)
FILE(APPEND ${CONFIG_H_FILE} "#define NO_${var} 1\n")
ENDIF(CONFIG_H_FILE)
- IF(CONFIG_CFLAGS)
- SET(${CONFIG_CFLAGS} "${${CONFIG_CFLAGS}}
-DNO_${var}=1" CACHE STRING "${CONFIG_CFLAGS}" FORCE)
- ENDIF(CONFIG_CFLAGS)
+ add_definitions(-DNO_${var}=1)
ENDIF(NOT HAVE_${var} OR NOT ${var}_USABLE)
ENDMACRO(CONFIG_CHECK_INCLUDE_FILE_USABILITY filename var)
@@ -99,9 +93,7 @@
IF(CONFIG_H_FILE)
FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
ENDIF(CONFIG_H_FILE)
- IF(CONFIG_CFLAGS)
- SET(${CONFIG_CFLAGS} "${${CONFIG_CFLAGS}} -D${var}=1"
CACHE STRING "${CONFIG_CFLAGS}" FORCE)
- ENDIF(CONFIG_CFLAGS)
+ add_definitions(-D${var}=1)
ENDIF(${var})
ENDMACRO(CONFIG_CHECK_INCLUDE_FILE_CXX)
@@ -117,10 +109,8 @@
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)
- IF(CONFIG_CFLAGS)
- SET(${CONFIG_CFLAGS} "${${CONFIG_CFLAGS}}
-DHAVE_${var}_T=1" CACHE STRING "${CONFIG_CFLAGS}" FORCE)
- SET(${CONFIG_CFLAGS} "${${CONFIG_CFLAGS}}
-DSIZEOF${var}=${HAVE_${var}_T}" CACHE STRING "${CONFIG_CFLAGS}" FORCE)
- ENDIF(CONFIG_CFLAGS)
+ add_definitions(-DHAVE_${var}_T=1)
+ add_definitions(-DSIZEOF${var}=${HAVE_${var}_T})
ENDIF(HAVE_${var}_T)
ENDMACRO(CONFIG_CHECK_TYPE_SIZE)
@@ -130,9 +120,7 @@
IF(CONFIG_H_FILE)
FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_${var}
1\n")
ENDIF(CONFIG_H_FILE)
- IF(CONFIG_CFLAGS)
- SET(${CONFIG_CFLAGS} "${${CONFIG_CFLAGS}}
-DHAVE_${var}=1" CACHE STRING "${CONFIG_CFLAGS}" FORCE)
- ENDIF(CONFIG_CFLAGS)
+ add_definitions(-DHAVE_${var}=1)
ENDIF(HAVE_${var})
ENDMACRO(CONFIG_CHECK_STRUCT_HAS_MEMBER)
Added: brlcad/trunk/src/other/incrTcl/itcl/CMake/ac_std_funcs.cmake
===================================================================
--- brlcad/trunk/src/other/incrTcl/itcl/CMake/ac_std_funcs.cmake
(rev 0)
+++ brlcad/trunk/src/other/incrTcl/itcl/CMake/ac_std_funcs.cmake
2011-08-11 19:40:01 UTC (rev 45925)
@@ -0,0 +1,97 @@
+# Standard tests and wrappers for CMake functions
+
+INCLUDE(CheckCCompilerFlag)
+INCLUDE(CheckFunctionExists)
+INCLUDE(CheckIncludeFile)
+INCLUDE(CheckIncludeFiles)
+INCLUDE(CheckIncludeFileCXX)
+INCLUDE(CheckTypeSize)
+INCLUDE(CheckLibraryExists)
+INCLUDE(CheckStructHasMember)
+INCLUDE(CheckCSourceCompiles)
+INCLUDE(ResolveCompilerPaths)
+
+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_D)
+ 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)
+ add_definitions(-DHAVE_BASENAME=1)
+ ENDIF(HAVE_BASENAME)
+ENDMACRO(CHECK_BASENAME_D)
+
+MACRO(CHECK_DIRNAME_D)
+ 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)
+ add_definitions(-DHAVE_DIRNAME=1)
+ ENDIF(HAVE_DIRNAME)
+ENDMACRO(CHECK_DIRNAME_D)
+
+# Based on AC_HEADER_STDC - using the source code for ctype
+# checking found in the generated configure file
+MACRO(CMAKE_HEADER_STDC_D)
+ CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
+ IF(HAVE_STDLIB_H)
+ add_definitions(-DHAVE_STDLIB_H=1)
+ ENDIF(HAVE_STDLIB_H)
+ CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
+ CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
+ IF(HAVE_STRING_H)
+ add_definitions(-DHAVE_STRING_H=1)
+ ENDIF(HAVE_STRING_H)
+ CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
+ IF(HAVE_STRINGS_H)
+ add_definitions(-DHAVE_STRINGS_H=1)
+ ENDIF(HAVE_STRINGS_H)
+ 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)
+ add_definitions(-DSTDC_HEADERS=1)
+ ENDIF(HAVE_STDLIB_H AND HAVE_STDARG_H AND HAVE_STRING_H AND HAVE_FLOAT_H AND
WORKING_CTYPE_MACROS)
+ENDMACRO(CMAKE_HEADER_STDC_D)
+
+# Based on AC_HEADER_SYS_WAIT
+MACRO(CMAKE_HEADER_SYS_WAIT_D)
+ CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/sys_wait_test.c WORKING_SYS_WAIT)
+ IF(WORKING_SYS_WAIT)
+ add_definitions(-DHAVE_SYS_WAIT_H=1)
+ ENDIF(WORKING_SYS_WAIT)
+ENDMACRO(CMAKE_HEADER_SYS_WAIT_D)
+
+# Based on AC_FUNC_ALLOCA
+MACRO(CMAKE_ALLOCA_D)
+ CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/alloca_header_test.c
WORKING_ALLOCA_H)
+ IF(WORKING_ALLOCA_H)
+ add_definitions(-DHAVE_ALLOCA_H=1)
+ ENDIF(WORKING_ALLOCA_H)
+ CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/alloca_test.c WORKING_ALLOCA)
+ IF(WORKING_ALLOCA)
+ add_definitions(-DHAVE_ALLOCA=1)
+ ENDIF(WORKING_ALLOCA)
+ENDMACRO(CMAKE_ALLOCA_D)
+
Property changes on:
brlcad/trunk/src/other/incrTcl/itcl/CMake/ac_std_funcs.cmake
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Modified: brlcad/trunk/src/other/incrTcl/itcl/CMake/tcl.cmake
===================================================================
--- brlcad/trunk/src/other/incrTcl/itcl/CMake/tcl.cmake 2011-08-11 14:19:39 UTC
(rev 45924)
+++ brlcad/trunk/src/other/incrTcl/itcl/CMake/tcl.cmake 2011-08-11 19:40:01 UTC
(rev 45925)
@@ -15,8 +15,10 @@
INCLUDE(CheckCSourceRuns)
INCLUDE(CheckCFileRuns)
+INCLUDE(ac_std_funcs)
+
MACRO(ADD_TCL_CFLAG TCL_CFLAG)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -D${TCL_CFLAG}=1" CACHE STRING "TCL
CFLAGS" FORCE)
+ add_definitions(-D${TCL_CFLAG}=1)
ENDMACRO(ADD_TCL_CFLAG)
# Note - for these path and load functions, should move the FindTCL.cmake
@@ -76,7 +78,7 @@
# SC_ENABLE_THREADS
#------------------------------------------------------------------------
MACRO(SC_ENABLE_THREADS)
- OPTION(TCL_THREADS "Enable Tcl Thread support" ON)
+ OPTION(TCL_THREADS "Enable Tcl Thread support" OFF)
IF(TCL_THREADS)
ADD_TCL_CFLAG(TCL_THREADS)
ADD_TCL_CFLAG(USE_THREAD_ALLOC)
@@ -135,6 +137,7 @@
ELSE(HAVE_LANGINFO)
SET(ENABLE_LANGINFO OFF CACHE STRING "Langinfo off"
FORCE)
ENDIF(HAVE_LANGINFO)
+ MARK_AS_ADVANCED(ENABLE_LANGINFO)
ENDIF(ENABLE_LANGINFO)
ENDMACRO(SC_ENABLE_LANGINFO)
@@ -278,7 +281,7 @@
MACRO(SC_MISSING_POSIX_HEADERS)
CONFIG_CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
IF(NOT HAVE_DIRENT_H)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_DIRENT_H=1")
+ add_definitions(-DNO_DIRENT_H=1)
ENDIF(NOT HAVE_DIRENT_H)
CONFIG_CHECK_INCLUDE_FILE_USABILITY(float.h FLOAT_H)
CONFIG_CHECK_INCLUDE_FILE_USABILITY(values.h VALUES_H)
@@ -286,7 +289,7 @@
CONFIG_CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
CONFIG_CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
IF(NOT HAVE_STRING_H)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_STRING_H=1")
+ add_definitions(-DNO_STRING_H=1)
ENDIF(NOT HAVE_STRING_H)
CONFIG_CHECK_INCLUDE_FILE_USABILITY(sys/wait.h SYS_WAIT_H)
CONFIG_CHECK_INCLUDE_FILE_USABILITY(dlfcn.h DLFCN_H)
@@ -402,6 +405,7 @@
MESSAGE("-- Looking for IEEE library - not found")
ENDIF(IEEE_LIBRARY)
SET(IEEE_QUIET 1 CACHE STRING "IEEE quiet")
+ MARK_AS_ADVANCED(IEEE_QUIET)
ENDIF(NOT IEEE_LIBRARY AND NOT IEEE_QUIET)
IF(NOT INET_LIBRARY AND NOT INET_QUIET)
MESSAGE("-- Looking for INET library")
@@ -412,23 +416,36 @@
MESSAGE("-- Looking for INET library - not found")
ENDIF(INET_LIBRARY)
SET(INET_QUIET 1 CACHE STRING "INET quiet")
+ MARK_AS_ADVANCED(INET_QUIET)
ENDIF(NOT INET_LIBRARY AND NOT INET_QUIET)
+ IF(TCL_LINK_LIBS)
+ SET(TCL_LINK_LIBS "${TCL_LINK_LIBS} ${IEEE_LIBRARY}
${M_LIBRARY} ${INET_LIBRARY}")
+ ELSEIF(TCL_LINK_LIBS)
+ SET(TCL_LINK_LIBS "${IEEE_LIBRARY} ${M_LIBRARY}
${INET_LIBRARY}")
+ ENDIF(TCL_LINK_LIBS)
+ MARK_AS_ADVANCED(TCL_LINK_LIBS)
- SET(TCL_LINK_LIBS ${TCL_LINK_LIBS} ${IEEE_LIBRARY} ${M_LIBRARY}
${INET_LIBRARY} CACHE STRING "TCL CFLAGS" FORCE)
-
CONFIG_CHECK_INCLUDE_FILE_USABILITY(net/errno.h NET_ERRNO_H)
CHECK_FUNCTION_EXISTS(connect HAVE_CONNECT)
IF(NOT HAVE_CONNECT)
CHECK_FUNCTION_EXISTS(setsockopt HAVE_SETSOCKOPT)
IF(NOT HAVE_SETSOCKOPT)
CONFIG_CHECK_LIBRARY(SOCKET socket setsocket)
- SET(TCL_LINK_LIBS ${TCL_LINK_LIBS} ${SOCKET_LIBRARY}
CACHE STRING "TCL CFLAGS" FORCE)
+ IF(TCL_LINK_LIBS)
+ SET(TCL_LINK_LIBS "${TCL_LINK_LIBS}
${SOCKET_LIBRARY}")
+ ELSE(TCL_LINK_LIBS)
+ SET(TCL_LINK_LIBS "${SOCKET_LIBRARY}")
+ ENDIF(TCL_LINK_LIBS)
ENDIF(NOT HAVE_SETSOCKOPT)
ENDIF(NOT HAVE_CONNECT)
CHECK_FUNCTION_EXISTS(gethostbyname HAVE_GETHOSTBYNAME)
IF(NOT HAVE_GETHOSTBYNAME)
CONFIG_CHECK_LIBRARY(NLS nls gethostbyname)
- SET(TCL_LINK_LIBS ${TCL_LINK_LIBS} ${NLS_LIBRARY} CACHE STRING
"TCL CFLAGS" FORCE)
+ IF(TCL_LINK_LIBS)
+ SET(TCL_LINK_LIBS "${TCL_LINK_LIBS} ${NLS_LIBRARY}")
+ ELSE(TCL_LINK_LIBS)
+ SET(TCL_LINK_LIBS "${NLS_LIBRARY}")
+ ENDIF(TCL_LINK_LIBS)
ENDIF(NOT HAVE_GETHOSTBYNAME)
ENDMACRO(SC_TCL_LINK_LIBS)
@@ -469,9 +486,13 @@
#--------------------------------------------------------------------
MACRO(SC_TCL_CFG_ENCODING)
IF(NOT TCL_CFGVAL_ENCODING)
- SET(TCL_CFGVAL_ENCODING "iso8859-1")
+ IF(WIN32)
+ SET(TCL_CFGVAL_ENCODING "cp1252")
+ ELSE(WIN32)
+ SET(TCL_CFGVAL_ENCODING "iso8859-1")
+ ENDIF(WIN32)
ENDIF(NOT TCL_CFGVAL_ENCODING)
- SET(TCL_CFLAGS "${TCL_CFLAGS}
-DTCL_CFGVAL_ENCODING=\\\"${TCL_CFGVAL_ENCODING}\\\"" CACHE STRING "TCL CFLAGS"
FORCE)
+ add_definitions(-DTCL_CFGVAL_ENCODING="${TCL_CFGVAL_ENCODING}")
ENDMACRO(SC_TCL_CFG_ENCODING)
@@ -558,7 +579,7 @@
(void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop);
return 0;}
")
- CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYNAME_R_6_SRC}"
HAVE_GETHOSTBYNAME_R_5)
+ CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYNAME_R_6_SRC}"
HAVE_GETHOSTBYNAME_R_6)
IF(HAVE_GETHOSTBYNAME_R_6)
ADD_TCL_CFLAG(HAVE_GETHOSTBYNAME_R_6)
ELSE(HAVE_GETHOSTBYNAME_R_6)
Modified: brlcad/trunk/src/other/incrTcl/itcl/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/incrTcl/itcl/CMakeLists.txt 2011-08-11 14:19:39 UTC
(rev 45924)
+++ brlcad/trunk/src/other/incrTcl/itcl/CMakeLists.txt 2011-08-11 19:40:01 UTC
(rev 45925)
@@ -45,11 +45,29 @@
# set CMake project name
PROJECT(ITCL)
-# set local CFLAGS name
-SET(CFLAGS_NAME ITCL)
-SET(ITCL_CFLAGS "")
-MARK_AS_ADVANCED(ITCL_CFLAGS)
-SET(CONFIG_CFLAGS ITCL_CFLAGS)
+# Without Tcl libraries AND sources, we can't build Tk. Use TCL_SRC_PREFIX
+# and TCL_BIN_PREFIX to identify the location of the Tcl we are to use.
+IF(TCL_SRC_PREFIX AND TCL_BIN_PREFIX)
+ SET(TCL_INCLUDE_DIRS ${TCL_SRC_PREFIX}/generic ${TCL_SRC_PREFIX}/libtommath)
+ IF(WIN32)
+ SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS} ${TCL_SRC_PREFIX}/win)
+ ELSE(WIN32)
+ SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS} ${TCL_SRC_PREFIX}/unix)
+ ENDIF(WIN32)
+ # Locate the TCL libraries. We allow these to be overridden so that a
parent
+ # build can use a CMake target instead of an actual library path.
+ IF(NOT TCL_LIBRARY)
+ find_library(TCL_LIBRARY tcl PATHS ${TCL_BIN_PREFIX}/lib)
+ ENDIF(NOT TCL_LIBRARY)
+ IF(NOT TCL_STUB_LIBRARY)
+ find_library(TCL_STUB_LIBRARY tclstub PATHS ${TCL_BIN_PREFIX}/lib)
+ ENDIF(NOT TCL_STUB_LIBRARY)
+ IF(NOT TCL_LIBRARY OR NOT TCL_STUB_LIBRARY)
+ MESSAGE(FATAL_ERROR "Could not find Tcl libraries in ${TCL_BIN_PREFIX} -
please specify the parent directory for the libraries in the TCL_BIN_PREFIX
variable (e.g. \${TCL_BIN_PREFIX}/lib)")
+ ENDIF(NOT TCL_LIBRARY OR NOT TCL_STUB_LIBRARY)
+ELSE(TCL_SRC_PREFIX and TCL_BIN_PREFIX)
+ MESSAGE(FATAL_ERROR "Please specify the source and library locations of Tcl
using the TCL_SRC_PREFIX and TCL_BIN_PREFIX variables.")
+ENDIF(TCL_SRC_PREFIX AND TCL_BIN_PREFIX)
# build shared libs by default
OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON)
@@ -63,27 +81,62 @@
SET(ITCL_VERSION "${ITCL_MAJOR_VERSION}.${ITCL_MINOR_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.
+
+# use, i.e. don't skip the full RPATH for the build tree
+SET(CMAKE_SKIP_BUILD_RPATH FALSE)
+
+# when building, don't use the install RPATH already
+# (but later on when installing)
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+
+# 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")
+
+# 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)
+
+
+#----------------------------------------------------------------------------
+# The location in which to install Tcl. 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 "/usr/local/tcldev-${TCL_VERSION}")
+ ELSE ("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+ SET(CMAKE_INSTALL_PREFIX "/usr")
+ ENDIF ("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+ ENDIF(NOT WIN32)
+ SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE STRING "TCL install
prefix" FORCE)
+ SET(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 0)
+ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+
#-----------------------------------------------------------------------------
# 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_LIBRARY_OUTPUT_DIRECTORY)
+ IF(WIN32)
+ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin CACHE
INTERNAL "Single output directory for building all libraries.")
+ ELSE(WIN32)
+ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_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 ${CMAKE_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 ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL
"Single output directory for building all executables.")
+ENDIF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
-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)
@@ -94,40 +147,49 @@
#-----------------------------------------------------------------------------
# Set CMake module path
-SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
+SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
#-----------------------------------------------------------------------------
# Tcl/Tk's normal build system uses autotools macros, referred to as the
# TEA system. An attempt to duplicate the required functionality from
# TEA is found in tcl.cmake
INCLUDE(${ITCL_SOURCE_DIR}/CMake/CheckSystemFunctionality.cmake)
+INCLUDE(${ITCL_SOURCE_DIR}/CMake/ac_std_funcs.cmake)
INCLUDE(${ITCL_SOURCE_DIR}/CMake/tcl.cmake)
#----------------------------------------------------------------------------
# First, get some standard options out of the way - things that are constant
# between various platforms or pertain to specific OS definitions
-SET(ITCL_CFLAGS "${ITCL_CFLAGS} -DPACKAGE_NAME=\\\"itcl\\\"")
-SET(ITCL_CFLAGS "${ITCL_CFLAGS} -DPACKAGE_TARNAME=\\\"itcl\\\"")
-SET(ITCL_CFLAGS "${ITCL_CFLAGS}
-DPACKAGE_VERSION=\\\"${ITCL_MAJOR_VERSION}.${ITCL_MINOR_VERSION}\\\"")
-SET(ITCL_CFLAGS "${ITCL_CFLAGS} -DPACKAGE_BUGREPORT=\\\"\\\"")
-SET(ITCL_CFLAGS "${ITCL_CFLAGS} -DSTDC_HEADERS=1")
+add_definitions(-DPACKAGE_NAME="itcl")
+add_definitions(-DPACKAGE_TARNAME="itcl")
+add_definitions(-DPACKAGE_VERSION="${ITCL_MAJOR_VERSION}.${ITCL_MINOR_VERSION}")
+add_definitions(-DPACKAGE_BUGREPORT="")
-#----------------------------------------------------------------------------
+# First, get some standard options out of the way - things that are constant
+# between various platforms or pertain to specific OS definitions
+ADD_TCL_CFLAG(STDC_HEADERS)
# Windows specific flags
IF(WIN32)
- SET(ITCL_CFLAGS "${ITCL_CFLAGS} -D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEP -Ot -Oi -fp:strict -Gs -GS -GL -MD")
- SET(ITCL_CFLAGS "${ITCL_CFLAGS} -Dinline=__inline -DBUILD_itcl")
+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEP -Ot
-Oi -fp:strict -Gs -GS -GL -MD)
+ add_definitions(-Dinline=__inline -DBUILD_itcl)
ENDIF(WIN32)
+INCLUDE(CheckLibraryExists)
+INCLUDE(ResolveCompilerPaths)
+IF(NOT WIN32)
+ CHECK_LIBRARY_EXISTS(m cos "" HAVE_M_LIBRARY)
+ IF(HAVE_M_LIBRARY)
+ RESOLVE_LIBRARIES(M_LIBRARY "-lm")
+ ENDIF(HAVE_M_LIBRARY)
+ENDIF(NOT WIN32)
-SET(TCL_CFLAGS "")
+#----------------------------------------------------------------------------
SC_MISSING_POSIX_HEADERS()
SC_ENABLE_THREADS()
-
SC_TCL_CFG_ENCODING()
SC_TCL_LINK_LIBS()
@@ -142,58 +204,58 @@
INCLUDE(TestBigEndian)
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
IF(WORDS_BIGENDIAN)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DWORDS_BIGENDIAN=1")
+ ADD_TCL_CFLAG(WORDS_BIGENDIAN)
ENDIF(WORDS_BIGENDIAN)
ENDIF(NOT MSVC)
# POSIX substitutes
CONFIG_CHECK_FUNCTION_EXISTS(getcwd HAVE_GETCWD)
IF(NOT HAVE_GETCWD)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DUSEGETWD=1")
+ add_definitions(-DUSEGETWD=1)
ENDIF(NOT HAVE_GETCWD)
IF(NOT HAVE_GETCWD)
- CONFIG_CHECK_FUNCTION_EXISTS(getwd HAVE_GETWD)
- IF(NOT HAVE_GETWD)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_GETWD=1")
- ENDIF(NOT HAVE_GETWD)
+ CONFIG_CHECK_FUNCTION_EXISTS(getwd HAVE_GETWD)
+ IF(NOT HAVE_GETWD)
+ ADD_TCL_CFLAG(NO_GETWD)
+ ENDIF(NOT HAVE_GETWD)
ENDIF(NOT HAVE_GETCWD)
CONFIG_CHECK_FUNCTION_EXISTS(opendir HAVE_OPENDIR)
IF(NOT HAVE_OPENDIR)
- SET(COMPAT_SRCS ${COMPAT_SRCS} compat/opendir.c)
- ADD_TCL_CFLAG(USE_DIRENT2_H)
+ SET(COMPAT_SRCS ${COMPAT_SRCS} compat/opendir.c)
+ ADD_TCL_CFLAG(USE_DIRENT2_H)
ENDIF(NOT HAVE_OPENDIR)
CONFIG_CHECK_FUNCTION_EXISTS(strtol HAVE_STRTOL)
IF(NOT HAVE_STRTOL)
- SET(COMPAT_SRCS ${COMPAT_SRCS} compat/strtol.c)
+ SET(COMPAT_SRCS ${COMPAT_SRCS} compat/strtol.c)
ENDIF(NOT HAVE_STRTOL)
CONFIG_CHECK_FUNCTION_EXISTS(waitpid HAVE_WAITPID)
IF(NOT HAVE_WAITPID)
- SET(COMPAT_SRCS ${COMPAT_SRCS} compat/waitpid.c)
+ SET(COMPAT_SRCS ${COMPAT_SRCS} compat/waitpid.c)
ENDIF(NOT HAVE_WAITPID)
CONFIG_CHECK_FUNCTION_EXISTS(strerror HAVE_STRERROR)
IF(NOT HAVE_STRERROR)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_STRERROR=1")
+ ADD_TCL_CFLAG(NO_STRERROR)
ENDIF(NOT HAVE_STRERROR)
CHECK_FUNCTION_EXISTS(wait3 HAVE_WAIT3)
IF(NOT HAVE_WAIT3)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_WAIT3=1")
+ ADD_TCL_CFLAG(NO_WAIT3)
ENDIF(NOT HAVE_WAIT3)
CONFIG_CHECK_FUNCTION_EXISTS(uname HAVE_UNAME)
IF(NOT HAVE_UNAME)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_UNAME=1")
+ ADD_TCL_CFLAG(NO_UNAME)
ENDIF(NOT HAVE_UNAME)
-# Should be checking for early Darwin version here - realpath
+# Check for early Darwin version here - realpath
# is not threadsafe prior to Darwin 7
CHECK_FUNCTION_EXISTS(realpath HAVE_REALPATH)
IF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$" AND TCL_THREADS AND HAVE_REALPATH)
- STRING(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION
${CMAKE_SYSTEM_VERSION})
- IF (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 7)
- MESSAGE("realpath is not threadsafe in Darwin versions prior to
7, disabling")
- SET(HAVE_REALPATH)
- ENDIF (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 7)
+ STRING(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION
${CMAKE_SYSTEM_VERSION})
+ IF (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 7)
+ MESSAGE("realpath is not threadsafe in Darwin versions prior to 7,
disabling")
+ SET(HAVE_REALPATH)
+ ENDIF (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 7)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$" AND TCL_THREADS AND
HAVE_REALPATH)
IF(NOT HAVE_REALPATH)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_REALPATH=1")
+ ADD_TCL_CFLAG(NO_REALPATH)
ENDIF(NOT HAVE_REALPATH)
SC_TCL_GETADDRINFO()
@@ -218,21 +280,21 @@
SC_TCL_GETHOSTBYADDR_R()
SC_TCL_GETHOSTBYNAME_R()
- IF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
- STRING(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION
${CMAKE_SYSTEM_VERSION})
- IF (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 5)
- SET(TCL_CFLAGS "${TCL_CFLAGS}
-DHAVE_MTSAFE_GETHOSTBYNAME=1")
- SET(TCL_CFLAGS "${TCL_CFLAGS}
-DHAVE_MTSAFE_GETHOSTBYADDR=1")
- ENDIF (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 5)
- ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
+ IF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
+ STRING(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION
${CMAKE_SYSTEM_VERSION})
+ IF (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 5)
+ ADD_TCL_CFLAG(HAVE_MTSAFE_GETHOSTBYNAME)
+ ADD_TCL_CFLAG(HAVE_MTSAFE_GETHOSTBYADDR)
+ ENDIF (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 5)
+ ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
- IF(${CMAKE_SYSTEM_NAME} MATCHES "^HP-UX$")
- STRING(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION
${CMAKE_SYSTEM_VERSION})
- IF (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 10)
- SET(TCL_CFLAGS "${TCL_CFLAGS}
-DHAVE_MTSAFE_GETHOSTBYNAME=1")
- SET(TCL_CFLAGS "${TCL_CFLAGS}
-DHAVE_MTSAFE_GETHOSTBYADDR=1")
- ENDIF (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 10)
- ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^HP-UX$")
+ IF(${CMAKE_SYSTEM_NAME} MATCHES "^HP-UX$")
+ STRING(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION
${CMAKE_SYSTEM_VERSION})
+ IF (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 10)
+ ADD_TCL_CFLAG(HAVE_MTSAFE_GETHOSTBYNAME)
+ ADD_TCL_CFLAG(HAVE_MTSAFE_GETHOSTBYADDR)
+ ENDIF (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 10)
+ ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^HP-UX$")
ENDIF(TCL_THREADS)
@@ -249,11 +311,10 @@
# on OSX
#CHECK_FUNCTION_EXISTS(memmove, HAVE_MEMMOVE)
#IF(NOT HAVE_MEMMOVE)
-# SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_MEMMOVE=1")
-# SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_STRING_H=1")
+# add_definitions(-DNO_MEMMOVE=1)
+# add_definitions(-DNO_STRING_H=1)
#ENDIF(NOT HAVE_MEMMOVE)
-
# Test for bad functions
SC_TCL_CHECK_BROKEN_FUNC(
strstr "
@@ -284,21 +345,21 @@
SC_ENABLE_LANGINFO()
IF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
- CONFIG_CHECK_FUNCTION_EXISTS(getattrlist HAVE_GETATTRLIST)
- CONFIG_CHECK_INCLUDE_FILE(copyfile.h HAVE_COPYFILE_H)
- CONFIG_CHECK_FUNCTION_EXISTS(copyfile HAVE_COPYFILE)
- IF(${COREFOUNDATION_FRAMEWORK})
- CONFIG_CHECK_INCLUDE_FILE(libkern/OSAtomic.h
HAVE_LIBKERN_OSATOMIC_H)
- CONFIG_CHECK_FUNCTION_EXISTS(OSSpinLockLock HAVE_OSSPINLOCKLOCK)
- CONFIG_CHECK_FUNCTION_EXISTS(pthread_atfork HAVE_PTHREAD_ATFORK)
- ENDIF(${COREFOUNDATION_FRAMEWORK})
- ADD_TCL_CFLAG(USE_VFORK)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DTCL_DEFAULT_ENCODING=\\\"utf-8\\\"")
- ADD_TCL_CFLAG(TCL_LOAD_FROM_MEMORY)
- ADD_TCL_CFLAG(TCL_WIDE_CLICKS)
- CONFIG_CHECK_INCLUDE_FILE_USABILITY(AvailabilityMacros.h
HAVE_AVAILABILITYMACROS_H)
- IF(HAVE_AVAILABILITYMACROS_H)
- SET(WEAK_IMPORT_SRCS "
+ CONFIG_CHECK_FUNCTION_EXISTS(getattrlist HAVE_GETATTRLIST)
+ CONFIG_CHECK_INCLUDE_FILE(copyfile.h HAVE_COPYFILE_H)
+ CONFIG_CHECK_FUNCTION_EXISTS(copyfile HAVE_COPYFILE)
+ IF(${COREFOUNDATION_FRAMEWORK})
+ CONFIG_CHECK_INCLUDE_FILE(libkern/OSAtomic.h HAVE_LIBKERN_OSATOMIC_H)
+ CONFIG_CHECK_FUNCTION_EXISTS(OSSpinLockLock HAVE_OSSPINLOCKLOCK)
+ CONFIG_CHECK_FUNCTION_EXISTS(pthread_atfork HAVE_PTHREAD_ATFORK)
+ ENDIF(${COREFOUNDATION_FRAMEWORK})
+ ADD_TCL_CFLAG(USE_VFORK)
+ add_definitions(-DTCL_DEFAULT_ENCODING="utf-8")
+ ADD_TCL_CFLAG(TCL_LOAD_FROM_MEMORY)
+ ADD_TCL_CFLAG(TCL_WIDE_CLICKS)
+ CONFIG_CHECK_INCLUDE_FILE_USABILITY(AvailabilityMacros.h
HAVE_AVAILABILITYMACROS_H)
+ IF(HAVE_AVAILABILITYMACROS_H)
+ SET(WEAK_IMPORT_SRCS "
#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1020
#error __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1020
@@ -311,12 +372,12 @@
rand();
return 0;
}
- ")
- CHECK_C_SOURCE_COMPILES("${WEAK_IMPORT_SRCS}"
WEAK_IMPORT_WORKING)
- IF(WEAK_IMPORT_WORKING)
- ADD_TCL_CFLAG(HAVE_WEAK_IMPORT)
- ENDIF(WEAK_IMPORT_WORKING)
- SET(SUSV3_SRCS "
+ ")
+ CHECK_C_SOURCE_COMPILES("${WEAK_IMPORT_SRCS}" WEAK_IMPORT_WORKING)
+ IF(WEAK_IMPORT_WORKING)
+ ADD_TCL_CFLAG(HAVE_WEAK_IMPORT)
+ ENDIF(WEAK_IMPORT_WORKING)
+ SET(SUSV3_SRCS "
#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050
#error __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050
@@ -327,14 +388,14 @@
#define _DARWIN_C_SOURCE 1
#include <sys/cdefs.h>
-int main () {return 0;}
- ")
- CHECK_C_SOURCE_COMPILES("${SUSV3_SRCS}" SUSV3_WORKING)
- IF(SUSV3_WORKING)
- ADD_TCL_CFLAG(_DARWIN_C_SOURCE)
- ENDIF(SUSV3_WORKING)
+int main () {return 0;}
+ ")
+ CHECK_C_SOURCE_COMPILES("${SUSV3_SRCS}" SUSV3_WORKING)
+ IF(SUSV3_WORKING)
+ ADD_TCL_CFLAG(_DARWIN_C_SOURCE)
+ ENDIF(SUSV3_WORKING)
- ENDIF(HAVE_AVAILABILITYMACROS_H)
+ ENDIF(HAVE_AVAILABILITYMACROS_H)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
# Check for support of fts functions (readdir replacement)
@@ -352,18 +413,19 @@
")
CHECK_C_SOURCE_COMPILES("${FTS_SRCS}" FTS_WORKING)
IF(FTS_WORKING)
- ADD_TCL_CFLAG(HAVE_FTS)
+ ADD_TCL_CFLAG(HAVE_FTS)
ENDIF(FTS_WORKING)
OPTION(TCL_UNLOAD_DLLS "Allow unloading of shared libraries?" ON)
IF(TCL_UNLOAD_DLLS)
- ADD_TCL_CFLAG(TCL_UNLOAD_DLLS)
+ ADD_TCL_CFLAG(TCL_UNLOAD_DLLS)
ENDIF(TCL_UNLOAD_DLLS)
# TODO - Need to set up check for timezone info
# TODO - Dtrace
+
#--------------------------------------------------------------------
# Does the C stack grow upwards or downwards? Or cross-compiling?
#--------------------------------------------------------------------
@@ -386,7 +448,7 @@
CONFIG_CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H)
CONFIG_CHECK_INCLUDE_FILE(sys/fstatfs.h HAVE_SYS_FSTATFS_H)
IF(NOT HAVE_SYS_FSTATFS_H)
- SET(TCL_CFLAGS "${TCL_CFLAGS} -DNO_FSTATFS=1")
+ add_definitions(-DNO_FSTATFS=1)
ENDIF(NOT HAVE_SYS_FSTATFS_H)
CONFIG_CHECK_INCLUDE_FILE(memory.h HAVE_MEMORY_H)
CONFIG_CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
@@ -414,7 +476,6 @@
ADD_TCL_CFLAG(USE_COMPAT)
ENDIF(COMPAT_SRCS)
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ITCL_CFLAGS} ${TCL_CFLAGS}")
SET(ITCL_GENERIC_SRCS
generic/itclStubInit.c
@@ -439,35 +500,7 @@
generic/itclStubLib.c
)
-# When it comes to identification of the location of the Tcl
-# sources, the convention is as follows:
-#
-# 1. If TCL_INCLUDE_DIRS is defined, use it
-# 2. Else, if TCL_PREFIX is defined build include paths from it
-# 3. If TCL_INCLUDE_DIRS 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_DIRS has to be augmented
-# manually. However, the logic below should cover the most common cases.
-IF(NOT TCL_INCLUDE_DIRS)
- IF(TCL_PREFIX)
- SET(TCL_INCLUDE_DIRS ${TCL_PREFIX}/generic
${TCL_PREFIX}/libtommath)
- IF(WIN32)
- SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS}
${TCL_PREFIX}/win)
- ELSE(WIN32)
- SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS}
${TCL_PREFIX}/unix)
- ENDIF(WIN32)
- ENDIF(TCL_PREFIX)
- IF(TCL_BIN_PREFIX)
- SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS}
${TCL_BIN_PREFIX}/include)
- ENDIF(TCL_BIN_PREFIX)
-ENDIF(NOT TCL_INCLUDE_DIRS)
-
-
SET(ITCL_INCLUDE_DIRS ${ITCL_SOURCE_DIR}/generic ${ITCL_BINARY_DIR}/include)
MARK_AS_ADVANCED(ITCL_INCLUDE_DIRS)
@@ -480,17 +513,19 @@
IF(WIN32)
add_library(itcl ${ITCL_GENERIC_SRCS} ${ITCL_WIN_SRCS})
- target_link_libraries(itcl ${M_LIBRARY} ${TCL_LIBRARY}
${TCL_STUB_LIBRARIES} )
+ target_link_libraries(itcl ${M_LIBRARY} ${TCL_STUB_LIBRARIES} )
ELSE(WIN32)
add_library(itcl ${ITCL_GENERIC_SRCS})
- target_link_libraries(itcl ${M_LIBRARY} ${TCL_LIBRARY} )
+ target_link_libraries(itcl ${M_LIBRARY} ${TCL_STUB_LIBRARIES} )
ENDIF(WIN32)
SET_TARGET_PROPERTIES(itcl PROPERTIES PREFIX "lib")
SET_TARGET_PROPERTIES(itcl PROPERTIES VERSION ${ITCL_VERSION} SOVERSION
${ITCL_MAJOR_VERSION})
+SET_PROPERTY(TARGET itcl APPEND PROPERTY COMPILE_DEFINITIONS USE_TCL_STUBS)
install(TARGETS itcl DESTINATION ${LIB_DIR})
add_library(itclstub STATIC ${ITCL_STUB_SRCS})
install(TARGETS itclstub DESTINATION ${LIB_DIR})
+SET_PROPERTY(TARGET itclstub APPEND PROPERTY COMPILE_DEFINITIONS USE_TCL_STUBS)
GET_TARGET_PROPERTY(ITCL_LIBLOCATION itcl LOCATION_${CMAKE_BUILD_TYPE})
GET_FILENAME_COMPONENT(ITCL_LIBNAME ${ITCL_LIBLOCATION} NAME)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system,
user administration capabilities and model configuration. Take
the hassle out of deploying and managing Subversion and the
tools developers use with it.
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits