Revision: 45788
http://brlcad.svn.sourceforge.net/brlcad/?rev=45788&view=rev
Author: starseeker
Date: 2011-08-05 02:05:09 +0000 (Fri, 05 Aug 2011)
Log Message:
-----------
More Tcl/Tk build logic changes, again backported from 8.6 experiments.
Modified Paths:
--------------
brlcad/trunk/src/other/CMakeLists.txt
brlcad/trunk/src/other/tcl/CMakeLists.txt
brlcad/trunk/src/other/tk/CMake/CheckSystemFunctionality.cmake
brlcad/trunk/src/other/tk/CMake/FindX11.cmake
brlcad/trunk/src/other/tk/CMake/tcl.cmake
brlcad/trunk/src/other/tk/CMakeLists.txt
Modified: brlcad/trunk/src/other/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/CMakeLists.txt 2011-08-04 22:16:44 UTC (rev
45787)
+++ brlcad/trunk/src/other/CMakeLists.txt 2011-08-05 02:05:09 UTC (rev
45788)
@@ -233,6 +233,8 @@
IF(BRLCAD_BUILD_LOCAL_TK)
+ SET(TCL_SRC_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/tcl)
+ SET(TCL_BIN_PREFIX ${CMAKE_BINARY_DIR}/${LIB_DIR})
ADD_SUBDIRECTORY(tk)
# Set the variables ourselves since FindTCL.cmake doesn't know about our
build
SET(TCL_TK_LIBRARY tk CACHE STRING "TCL_TK_LIBRARY" FORCE)
Modified: brlcad/trunk/src/other/tcl/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/tcl/CMakeLists.txt 2011-08-04 22:16:44 UTC (rev
45787)
+++ brlcad/trunk/src/other/tcl/CMakeLists.txt 2011-08-05 02:05:09 UTC (rev
45788)
@@ -63,6 +63,29 @@
ENABLE_LANGUAGE(RC)
ENDIF(WIN32)
+#---------------------------------------------------------------------
+# 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.
@@ -181,6 +204,15 @@
add_definitions(-Dinline=__inline -DBUILD_tcl)
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)
+
IF(APPLE)
ADD_TCL_CFLAG(MAC_OSX_TCL)
find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
@@ -755,7 +787,7 @@
ENDIF(WIN32)
IF(NOT LIB_DIR)
- SET(LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib)
+ SET(LIB_DIR lib)
ENDIF(NOT LIB_DIR)
add_library(tcl ${TCL_SRCS})
install(TARGETS tcl DESTINATION ${LIB_DIR})
@@ -772,6 +804,7 @@
add_library(tclstub STATIC ${TCL_STUB_SRCS})
target_link_libraries(tclstub ${CMAKE_THREAD_LIBS_INIT}
${COREFOUNDATION_FRAMEWORK} ${M_LIBRARY} ${DL_LIBRARY})
+set_target_properties(tclstub PROPERTIES COMPILE_FLAGS "-fPIC")
install(TARGETS tclstub DESTINATION ${LIB_DIR})
add_executable(tclsh ${TCLSH_SRCS})
Modified: brlcad/trunk/src/other/tk/CMake/CheckSystemFunctionality.cmake
===================================================================
--- brlcad/trunk/src/other/tk/CMake/CheckSystemFunctionality.cmake
2011-08-04 22:16:44 UTC (rev 45787)
+++ brlcad/trunk/src/other/tk/CMake/CheckSystemFunctionality.cmake
2011-08-05 02:05:09 UTC (rev 45788)
@@ -12,7 +12,7 @@
IF(NOT ${ARGV1})
CHECK_C_COMPILER_FLAG(-${flag}
${UPPER_FLAG}_COMPILER_FLAG)
IF(${UPPER_FLAG}_COMPILER_FLAG)
- MESSAGE("Found ${ARGV1} - setting to -${flag}")
+ MESSAGE("- Found ${ARGV1} - setting to
-${flag}")
SET(${ARGV1} "-${flag}" CACHE STRING "${ARGV1}"
FORCE)
ENDIF(${UPPER_FLAG}_COMPILER_FLAG)
ENDIF(NOT ${ARGV1})
@@ -34,6 +34,11 @@
# Automate putting variables from tests into CFLAGS,
# and otherwise wrap check macros in extra logic as needed
+# These functions will do either of two jobs - if a
+# CONFIG_H_FILE is defined, they will append cmakedefine
+# (or occasionally straight define) statements to that file.
+# If a CONFIG_CFLAGS variable is defined, they will append
+# an appropriate definition to that variable.
INCLUDE(CheckFunctionExists)
INCLUDE(CheckIncludeFile)
@@ -45,22 +50,28 @@
INCLUDE(CheckCSourceCompiles)
INCLUDE(ResolveCompilerPaths)
-MACRO(CHECK_FUNCTION_EXISTS_D function var)
- CHECK_FUNCTION_EXISTS(${function} ${var})
- if(${var})
- SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS}
-D${var}=1" CACHE STRING "TCL CFLAGS" FORCE)
- endif(${var})
-ENDMACRO(CHECK_FUNCTION_EXISTS_D)
+MACRO(CONFIG_CHECK_FUNCTION_EXISTS function var)
+ CHECK_FUNCTION_EXISTS(${function} ${var})
+ IF(${var})
+ IF(CONFIG_H_FILE)
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+ ENDIF(CONFIG_H_FILE)
+ add_definitions(-D${var}=1)
+ ENDIF(${var})
+ENDMACRO(CONFIG_CHECK_FUNCTION_EXISTS)
-MACRO(CHECK_INCLUDE_FILE_D filename var)
- CHECK_INCLUDE_FILE(${filename} ${var})
- if(${var})
- SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS}
-D${var}=1" CACHE STRING "TCL CFLAGS" FORCE)
- endif(${var})
-ENDMACRO(CHECK_INCLUDE_FILE_D)
+MACRO(CONFIG_CHECK_INCLUDE_FILE filename var)
+ CHECK_INCLUDE_FILE(${filename} ${var})
+ IF(${var})
+ IF(CONFIG_H_FILE)
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+ ENDIF(CONFIG_H_FILE)
+ add_definitions(-D${var}=1)
+ ENDIF(${var})
+ENDMACRO(CONFIG_CHECK_INCLUDE_FILE)
-MACRO(CHECK_INCLUDE_FILE_USABILITY_D filename var)
- CHECK_INCLUDE_FILE_D(${filename} HAVE_${var})
+MACRO(CONFIG_CHECK_INCLUDE_FILE_USABILITY filename var)
+ CHECK_INCLUDE_FILE(${filename} HAVE_${var})
IF(HAVE_${var})
SET(HEADER_SRC "
#include <${filename}>
@@ -69,44 +80,57 @@
CHECK_C_SOURCE_COMPILES("${HEADER_SRC}" ${var}_USABLE)
ENDIF(HAVE_${var})
IF(NOT HAVE_${var} OR NOT ${var}_USABLE)
- SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS}
-DNO_${var}=1" CACHE STRING "TCL CFLAGS" FORCE)
+ IF(CONFIG_H_FILE)
+ FILE(APPEND ${CONFIG_H_FILE} "#define NO_${var} 1\n")
+ ENDIF(CONFIG_H_FILE)
+ add_definitions(-DNO_${var}=1)
ENDIF(NOT HAVE_${var} OR NOT ${var}_USABLE)
-ENDMACRO(CHECK_INCLUDE_FILE_USABILITY_D filename var)
+ENDMACRO(CONFIG_CHECK_INCLUDE_FILE_USABILITY filename var)
-MACRO(CHECK_INCLUDE_FILE_CXX_D filename var)
- CHECK_INCLUDE_FILE_CXX(${filename} ${var})
- if(${var})
- SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS} -D${var}=1" CACHE
STRING "TCL CFLAGS" FORCE)
- endif(${var})
-ENDMACRO(CHECK_INCLUDE_FILE_CXX_D)
+MACRO(CONFIG_CHECK_INCLUDE_FILE_CXX filename var)
+ CHECK_INCLUDE_FILE_CXX(${filename} ${var})
+ IF(${var})
+ IF(CONFIG_H_FILE)
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+ ENDIF(CONFIG_H_FILE)
+ add_definitions(-D${var}=1)
+ ENDIF(${var})
+ENDMACRO(CONFIG_CHECK_INCLUDE_FILE_CXX)
-MACRO(CHECK_TYPE_SIZE_D typename var)
+MACRO(CONFIG_CHECK_TYPE_SIZE 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(HAVE_${var}_T)
- SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS}
-DHAVE_${var}_T=1" CACHE STRING "TCL CFLAGS" FORCE)
- SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS}
-DSIZEOF_${var}=${HAVE_${var}_T}" CACHE STRING "TCL CFLAGS" FORCE)
- endif(HAVE_${var}_T)
-ENDMACRO(CHECK_TYPE_SIZE_D)
+ IF(HAVE_${var}_T)
+ IF(CONFIG_H_FILE)
+ 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)
+ add_definitions(-DHAVE_${var}_T=1)
+ add_definitions(-DSIZEOF${var}=${HAVE_${var}_T})
+ ENDIF(HAVE_${var}_T)
+ENDMACRO(CONFIG_CHECK_TYPE_SIZE)
-MACRO(CHECK_STRUCT_HAS_MEMBER_D structname member header var)
+MACRO(CONFIG_CHECK_STRUCT_HAS_MEMBER structname member header var)
CHECK_STRUCT_HAS_MEMBER(${structname} ${member} ${header} HAVE_${var})
- if(HAVE_${var})
- SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS}
-DHAVE_${var}=1" CACHE STRING "TCL CFLAGS" FORCE)
- endif(HAVE_${var})
-ENDMACRO(CHECK_STRUCT_HAS_MEMBER_D)
+ IF(HAVE_${var})
+ IF(CONFIG_H_FILE)
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_${var}
1\n")
+ ENDIF(CONFIG_H_FILE)
+ add_definitions(-DHAVE_${var}=1)
+ ENDIF(HAVE_${var})
+ENDMACRO(CONFIG_CHECK_STRUCT_HAS_MEMBER)
-MACRO(CHECK_LIBRARY targetname lname func)
+MACRO(CONFIG_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}")
+ RESOLVE_LIBRARIES(${targetname}_LIBRARY "-l${lname}")
SET(${targetname}_LINKOPT "-l${lname}")
ENDIF(HAVE_${targetname}_${lname})
ENDIF(NOT ${targetname}_LIBRARY)
-ENDMACRO(CHECK_LIBRARY lname func)
+ENDMACRO(CONFIG_CHECK_LIBRARY lname func)
Modified: brlcad/trunk/src/other/tk/CMake/FindX11.cmake
===================================================================
--- brlcad/trunk/src/other/tk/CMake/FindX11.cmake 2011-08-04 22:16:44 UTC
(rev 45787)
+++ brlcad/trunk/src/other/tk/CMake/FindX11.cmake 2011-08-05 02:05:09 UTC
(rev 45788)
@@ -57,87 +57,93 @@
SET(CMAKE_FIND_FRAMEWORK NEVER)
SET(X11_INC_SEARCH_PATH
/usr/pkg/xorg/include
+ /usr/X11/include
/usr/X11R6/include
/usr/X11R7/include
/usr/include/X11
- /usr/local/include
- /usr/local/include/X11
+ /usr/local/include
+ /usr/local/include/X11
/usr/openwin/include
/usr/openwin/share/include
/opt/graphics/OpenGL/include
+ /usr/include
)
SET(X11_LIB_SEARCH_PATH
+ /usr/X11/lib
+ /usr/X11R6/lib
+ /usr/X11R7/lib
+ /usr/lib/X11
+ /usr/lib64/X11
+ /usr/lib32/X11
/usr/lib64
/usr/lib32
/usr/lib
/usr/pkg/xorg/lib
- /usr/X11R6/lib
- /usr/X11R7/lib
/usr/openwin/lib
)
- FIND_PATH(X11_X11_INCLUDE_PATH X11/X.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xlib_INCLUDE_PATH X11/Xlib.h
${X11_INC_SEARCH_PATH})
+ FIND_PATH(X11_X11_INCLUDE_PATH X11/X.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xlib_INCLUDE_PATH X11/Xlib.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
# Look for includes; keep the list sorted by name of the cmake *_INCLUDE_PATH
# variable (which doesn't need to match the include file name).
# Solaris lacks XKBrules.h, so we should skip kxkbd there.
- FIND_PATH(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xau_INCLUDE_PATH X11/Xauth.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_xf86misc_INCLUDE_PATH X11/extensions/xf86misc.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xinput_INCLUDE_PATH X11/extensions/XInput.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xpm_INCLUDE_PATH X11/xpm.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_XTest_INCLUDE_PATH X11/extensions/XTest.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xscreensaver_INCLUDE_PATH X11/extensions/scrnsaver.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xutil_INCLUDE_PATH X11/Xutil.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xt_INCLUDE_PATH X11/Intrinsic.h
${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h
${X11_INC_SEARCH_PATH})
+ FIND_PATH(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xau_INCLUDE_PATH X11/Xauth.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_xf86misc_INCLUDE_PATH X11/extensions/xf86misc.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xinput_INCLUDE_PATH X11/extensions/XInput.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xpm_INCLUDE_PATH X11/xpm.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_XTest_INCLUDE_PATH X11/extensions/XTest.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xscreensaver_INCLUDE_PATH X11/extensions/scrnsaver.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xutil_INCLUDE_PATH X11/Xutil.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xt_INCLUDE_PATH X11/Intrinsic.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+ FIND_PATH(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
- FIND_LIBRARY(X11_X11_LIB X11 ${X11_LIB_SEARCH_PATH})
+ FIND_LIBRARY(X11_X11_LIB X11 ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
# Find additional X libraries. Keep list sorted by library name.
- FIND_LIBRARY(X11_ICE_LIB ICE ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_SM_LIB SM ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xau_LIB Xau ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xcursor_LIB Xcursor ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xdamage_LIB Xdamage ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xdmcp_LIB Xdmcp ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xext_LIB Xext ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xfixes_LIB Xfixes ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xft_LIB Xft ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xi_LIB Xi ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xinerama_LIB Xinerama ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xinput_LIB Xi ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xpm_LIB Xpm ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xrandr_LIB Xrandr ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xrender_LIB Xrender ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xscreensaver_LIB Xss ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xt_LIB Xt ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_XTest_LIB Xtst ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xv_LIB Xv ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xxf86misc_LIB Xxf86misc ${X11_LIB_SEARCH_PATH})
+ FIND_LIBRARY(X11_ICE_LIB ICE ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_SM_LIB SM ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xau_LIB Xau ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xcursor_LIB Xcursor ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xdamage_LIB Xdamage ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xdmcp_LIB Xdmcp ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xext_LIB Xext ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xfixes_LIB Xfixes ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xft_LIB Xft ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xi_LIB Xi ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xinerama_LIB Xinerama ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xinput_LIB Xi ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xpm_LIB Xpm ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xrandr_LIB Xrandr ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xrender_LIB Xrender ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xscreensaver_LIB Xss ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xt_LIB Xt ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_XTest_LIB Xtst ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xv_LIB Xv ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
+ FIND_LIBRARY(X11_Xxf86misc_LIB Xxf86misc ${X11_LIB_SEARCH_PATH}
NO_DEFAULT_PATH)
SET(X11_LIBRARY_DIR "")
IF(X11_X11_LIB)
Modified: brlcad/trunk/src/other/tk/CMake/tcl.cmake
===================================================================
--- brlcad/trunk/src/other/tk/CMake/tcl.cmake 2011-08-04 22:16:44 UTC (rev
45787)
+++ brlcad/trunk/src/other/tk/CMake/tcl.cmake 2011-08-05 02:05:09 UTC (rev
45788)
@@ -17,9 +17,9 @@
INCLUDE(ac_std_funcs)
-MACRO(ADD_TK_CFLAG TK_CFLAG)
- SET(TK_CFLAGS "${TK_CFLAGS} -D${TK_CFLAG}=1" CACHE STRING "TCL CFLAGS"
FORCE)
-ENDMACRO(ADD_TK_CFLAG)
+MACRO(ADD_TCL_CFLAG TCL_CFLAG)
+ add_definitions(-D${TCL_CFLAG}=1)
+ENDMACRO(ADD_TCL_CFLAG)
# Note - for these path and load functions, should move the FindTCL.cmake
# logic that applies to here
@@ -78,31 +78,31 @@
# 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_TK_CFLAG(TCL_THREADS)
- ADD_TK_CFLAG(USE_THREAD_ALLOC)
- ADD_TK_CFLAG(_REENTRANT)
- ADD_TK_CFLAG(_THREAD_SAFE)
+ ADD_TCL_CFLAG(TCL_THREADS)
+ ADD_TCL_CFLAG(USE_THREAD_ALLOC)
+ ADD_TCL_CFLAG(_REENTRANT)
+ ADD_TCL_CFLAG(_THREAD_SAFE)
IF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
- ADD_TK_CFLAG(_POSIX_PTHREAD_SEMANTICS)
+ ADD_TCL_CFLAG(_POSIX_PTHREAD_SEMANTICS)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
FIND_PACKAGE(Threads)
CHECK_FUNCTION_EXISTS(pthread_attr_setstacksize
HAVE_PTHREAD_ATTR_SETSTACKSIZE)
IF(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
- ADD_TK_CFLAG(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
+ ADD_TCL_CFLAG(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
ENDIF(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
CHECK_FUNCTION_EXISTS(pthread_attr_get_np
HAVE_PTHREAD_ATTR_GET_NP)
CHECK_FUNCTION_EXISTS(pthread_getattr_np
HAVE_PTHREAD_GETATTR_NP)
IF(HAVE_PTHREAD_ATTR_GET_NP)
- ADD_TK_CFLAG(HAVE_PTHREAD_ATTR_GET_NP)
+ ADD_TCL_CFLAG(HAVE_PTHREAD_ATTR_GET_NP)
ELSEIF(HAVE_PTHREAD_GETATTR_NP)
- ADD_TK_CFLAG(HAVE_PTHREAD_GETATTR_NP)
+ ADD_TCL_CFLAG(HAVE_PTHREAD_GETATTR_NP)
ENDIF(HAVE_PTHREAD_ATTR_GET_NP)
IF(NOT HAVE_PTHREAD_ATTR_GET_NP AND NOT HAVE_PTHREAD_GETATTR_NP)
CHECK_FUNCTION_EXISTS(pthread_get_stacksize_np
HAVE_PTHREAD_GET_STACKSIZE_NP)
IF(HAVE_PTHREAD_GET_STACKSIZE_NP)
- ADD_TK_CFLAG(HAVE_PTHREAD_GET_STACKSIZE_NP)
+ ADD_TCL_CFLAG(HAVE_PTHREAD_GET_STACKSIZE_NP)
ENDIF(HAVE_PTHREAD_GET_STACKSIZE_NP)
ENDIF(NOT HAVE_PTHREAD_ATTR_GET_NP AND NOT
HAVE_PTHREAD_GETATTR_NP)
ENDIF(TCL_THREADS)
@@ -130,13 +130,14 @@
")
CHECK_C_SOURCE_COMPILES("${LANGINFO_SRC}"
LANGINFO_COMPILES)
IF(LANGINFO_COMPILES)
- ADD_TK_CFLAG(HAVE_LANGINFO)
+ ADD_TCL_CFLAG(HAVE_LANGINFO)
ELSE(LANGINFO_COMPILES)
SET(ENABLE_LANGINFO OFF CACHE STRING "Langinfo
off" FORCE)
ENDIF(LANGINFO_COMPILES)
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)
@@ -261,13 +262,13 @@
ENDIF(NOT HAVE_TERMIO AND NOT HAVE_TERMIOS AND NOT HAVE_SGTTY)
IF(HAVE_TERMIOS)
- ADD_TK_CFLAG(USE_TERMIOS)
+ ADD_TCL_CFLAG(USE_TERMIOS)
ELSE(HAVE_TERMIOS)
IF(HAVE_TERMIO)
- ADD_TK_CFLAG(USE_TERMIO)
+ ADD_TCL_CFLAG(USE_TERMIO)
ELSE(HAVE_TERMIO)
IF(HAVE_SGTTY)
- ADD_TK_CFLAG(USE_SGTTY)
+ ADD_TCL_CFLAG(USE_SGTTY)
ENDIF(HAVE_SGTTY)
ENDIF(HAVE_TERMIO)
ENDIF(HAVE_TERMIOS)
@@ -278,21 +279,21 @@
# SC_MISSING_POSIX_HEADERS
#--------------------------------------------------------------------
MACRO(SC_MISSING_POSIX_HEADERS)
- CHECK_INCLUDE_FILE_D(dirent.h HAVE_DIRENT_H)
+ CONFIG_CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
IF(NOT HAVE_DIRENT_H)
- SET(TK_CFLAGS "${TK_CFLAGS} -DNO_DIRENT_H=1")
+ add_definitions(-DNO_DIRENT_H=1)
ENDIF(NOT HAVE_DIRENT_H)
- CHECK_INCLUDE_FILE_USABILITY_D(float.h FLOAT_H)
- CHECK_INCLUDE_FILE_USABILITY_D(values.h VALUES_H)
- CHECK_INCLUDE_FILE_USABILITY_D(limits.h LIMITS_H)
- CHECK_INCLUDE_FILE_D(stdlib.h HAVE_STDLIB_H)
- CHECK_INCLUDE_FILE_D(string.h HAVE_STRING_H)
+ CONFIG_CHECK_INCLUDE_FILE_USABILITY(float.h FLOAT_H)
+ CONFIG_CHECK_INCLUDE_FILE_USABILITY(values.h VALUES_H)
+ CONFIG_CHECK_INCLUDE_FILE_USABILITY(limits.h LIMITS_H)
+ CONFIG_CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
+ CONFIG_CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
IF(NOT HAVE_STRING_H)
- SET(TK_CFLAGS "${TK_CFLAGS} -DNO_STRING_H=1")
+ add_definitions(-DNO_STRING_H=1)
ENDIF(NOT HAVE_STRING_H)
- CHECK_INCLUDE_FILE_USABILITY_D(sys/wait.h SYS_WAIT_H)
- CHECK_INCLUDE_FILE_USABILITY_D(dlfcn.h DLFCN_H)
- CHECK_INCLUDE_FILE_USABILITY_D(sys/param.h SYS_PARAM_H)
+ CONFIG_CHECK_INCLUDE_FILE_USABILITY(sys/wait.h SYS_WAIT_H)
+ CONFIG_CHECK_INCLUDE_FILE_USABILITY(dlfcn.h DLFCN_H)
+ CONFIG_CHECK_INCLUDE_FILE_USABILITY(sys/param.h SYS_PARAM_H)
ENDMACRO(SC_MISSING_POSIX_HEADERS)
@@ -305,15 +306,15 @@
#--------------------------------------------------------------------
# SC_BLOCKING_STYLE
#--------------------------------------------------------------------
-CHECK_INCLUDE_FILE_D(sys/ioctl.h HAVE_SYS_IOCTL_H)
-CHECK_INCLUDE_FILE_D(sys/filio.h HAVE_SYS_FILIO_H)
+CONFIG_CHECK_INCLUDE_FILE(sys/ioctl.h HAVE_SYS_IOCTL_H)
+CONFIG_CHECK_INCLUDE_FILE(sys/filio.h HAVE_SYS_FILIO_H)
IF(${CMAKE_SYSTEM_NAME} MATCHES "^OSF.*")
- ADD_TK_CFLAG(USE_FIONBIO)
+ ADD_TCL_CFLAG(USE_FIONBIO)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^OSF.*")
IF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
STRING(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION
${CMAKE_SYSTEM_VERSION})
IF (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 5)
- ADD_TK_CFLAG(USE_FIONBIO)
+ ADD_TCL_CFLAG(USE_FIONBIO)
ENDIF (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 5)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
@@ -327,10 +328,10 @@
#
#--------------------------------------------------------------------
MACRO(SC_TIME_HANDLER)
- CHECK_INCLUDE_FILE_USABILITY_D(sys/time.h SYS_TIME_H)
- CHECK_STRUCT_HAS_MEMBER_D("struct tm" tm_zone time.h STRUCT_TM_TM_ZONE)
+ CONFIG_CHECK_INCLUDE_FILE_USABILITY(sys/time.h SYS_TIME_H)
+ CONFIG_CHECK_STRUCT_HAS_MEMBER("struct tm" tm_zone time.h
STRUCT_TM_TM_ZONE)
IF(HAVE_STRUCT_TM_TM_ZONE)
- ADD_TK_CFLAG(HAVE_TM_ZONE)
+ ADD_TCL_CFLAG(HAVE_TM_ZONE)
ELSE(HAVE_STRUCT_TM_TM_ZONE)
SET(TZNAME_SRC "
#include <time.h>
@@ -342,14 +343,14 @@
}")
CHECK_C_SOURCE_COMPILES("${TZNAME_SRC}" HAVE_TZNAME)
IF(HAVE_TZNAME)
- ADD_TK_CFLAG(HAVE_DECL_TZNAME)
+ ADD_TCL_CFLAG(HAVE_DECL_TZNAME)
ENDIF(HAVE_TZNAME)
ENDIF(HAVE_STRUCT_TM_TM_ZONE)
- CHECK_FUNCTION_EXISTS_D(gmtime_r HAVE_GMTIME_R)
- CHECK_FUNCTION_EXISTS_D(localtime_r HAVE_LOCALTIME_R)
- CHECK_FUNCTION_EXISTS_D(mktime HAVE_MKTIME)
- CHECK_STRUCT_HAS_MEMBER_D("struct tm" tm_tzadj time.h TM_TZADJ)
- CHECK_STRUCT_HAS_MEMBER_D("struct tm" tm_gmtoff time.h TM_GMTOFF)
+ CONFIG_CHECK_FUNCTION_EXISTS(gmtime_r HAVE_GMTIME_R)
+ CONFIG_CHECK_FUNCTION_EXISTS(localtime_r HAVE_LOCALTIME_R)
+ CONFIG_CHECK_FUNCTION_EXISTS(mktime HAVE_MKTIME)
+ CONFIG_CHECK_STRUCT_HAS_MEMBER("struct tm" tm_tzadj time.h TM_TZADJ)
+ CONFIG_CHECK_STRUCT_HAS_MEMBER("struct tm" tm_gmtoff time.h TM_GMTOFF)
SET(TZONE_SRC_1 "
#include <time.h>
int main () {
@@ -361,7 +362,7 @@
")
CHECK_C_SOURCE_COMPILES("${TZONE_SRC_1}" HAVE_TIMEZONE_VAR)
IF(HAVE_TIMEZONE_VAR)
- ADD_TK_CFLAG(HAVE_TIMEZONE_VAR)
+ ADD_TCL_CFLAG(HAVE_TIMEZONE_VAR)
ELSE(HAVE_TIMEZONE_VAR)
SET(TZONE_SRC_2 "
#include <time.h>
@@ -374,7 +375,7 @@
")
CHECK_C_SOURCE_COMPILES("${TZONE_SRC_2}" HAVE_TIMEZONE_VAR)
IF(HAVE_TIMEZONE_VAR)
- ADD_TK_CFLAG(HAVE_TIMEZONE_VAR)
+ ADD_TCL_CFLAG(HAVE_TIMEZONE_VAR)
ENDIF(HAVE_TIMEZONE_VAR)
ENDIF(HAVE_TIMEZONE_VAR)
ENDMACRO(SC_TIME_HANDLER)
@@ -390,9 +391,10 @@
# SC_TCL_LINK_LIBS
#--------------------------------------------------------------------
MACRO(SC_TCL_LINK_LIBS)
+ SET(TCL_LINK_LIBS "")
CHECK_FUNCTION_EXISTS(sin, HAVE_MATHLIB)
IF(NOT HAVE_MATHLIB)
- CHECK_LIBRARY(M m sin)
+ CONFIG_CHECK_LIBRARY(M m sin)
ENDIF(NOT HAVE_MATHLIB)
IF(NOT IEEE_LIBRARY AND NOT IEEE_QUIET)
MESSAGE("-- Looking for IEEE library")
@@ -403,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")
@@ -413,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)
-
- CHECK_INCLUDE_FILE_USABILITY_D(net/errno.h NET_ERRNO_H)
+ 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)
- CHECK_LIBRARY(SOCKET socket setsocket)
- SET(TCL_LINK_LIBS ${TCL_LINK_LIBS} ${SOCKET_LIBRARY}
CACHE STRING "TCL CFLAGS" FORCE)
+ CONFIG_CHECK_LIBRARY(SOCKET socket setsocket)
+ 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)
- CHECK_LIBRARY(NLS nls gethostbyname)
- SET(TCL_LINK_LIBS ${TCL_LINK_LIBS} ${NLS_LIBRARY} CACHE STRING
"TCL CFLAGS" FORCE)
+ CONFIG_CHECK_LIBRARY(NLS nls gethostbyname)
+ 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)
@@ -470,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(TK_CFLAGS "${TK_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)
@@ -499,7 +519,7 @@
# SC_TCL_GETHOSTBYADDR_R
#--------------------------------------------------------------------
MACRO(SC_TCL_GETHOSTBYADDR_R)
- CHECK_FUNCTION_EXISTS_D(gethostbyaddr_r HAVE_GETHOSTBYADDR_R)
+ CONFIG_CHECK_FUNCTION_EXISTS(gethostbyaddr_r HAVE_GETHOSTBYADDR_R)
IF(HAVE_GETHOSTBYADDR_R)
SET(HAVE_GETHOSTBYADDR_R_7_SRC "
#include <netdb.h>
@@ -517,7 +537,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYADDR_R_7_SRC}"
HAVE_GETHOSTBYADDR_R_7)
IF(HAVE_GETHOSTBYADDR_R_7)
- ADD_TK_CFLAG(HAVE_GETHOSTBYADDR_R_7)
+ ADD_TCL_CFLAG(HAVE_GETHOSTBYADDR_R_7)
ELSE(HAVE_GETHOSTBYADDR_R_7)
SET(HAVE_GETHOSTBYADDR_R_8_SRC "
#include <netdb.h>
@@ -535,7 +555,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYADDR_R_8_SRC}"
HAVE_GETHOSTBYADDR_R_8)
IF(HAVE_GETHOSTBYADDR_R_8)
- ADD_TK_CFLAG(HAVE_GETHOSTBYADDR_R_8)
+ ADD_TCL_CFLAG(HAVE_GETHOSTBYADDR_R_8)
ENDIF(HAVE_GETHOSTBYADDR_R_8)
ENDIF(HAVE_GETHOSTBYADDR_R_7)
ENDIF(HAVE_GETHOSTBYADDR_R)
@@ -545,7 +565,7 @@
# SC_TCL_GETHOSTBYNAME_R
#--------------------------------------------------------------------
MACRO(SC_TCL_GETHOSTBYNAME_R)
- CHECK_FUNCTION_EXISTS_D(gethostbyname_r HAVE_GETHOSTBYNAME_R)
+ CONFIG_CHECK_FUNCTION_EXISTS(gethostbyname_r HAVE_GETHOSTBYNAME_R)
IF(HAVE_GETHOSTBYNAME_R)
SET(HAVE_GETHOSTBYNAME_R_6_SRC "
#include <netdb.h>
@@ -559,9 +579,9 @@
(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_TK_CFLAG(HAVE_GETHOSTBYNAME_R_6)
+ ADD_TCL_CFLAG(HAVE_GETHOSTBYNAME_R_6)
ELSE(HAVE_GETHOSTBYNAME_R_6)
SET(HAVE_GETHOSTBYNAME_R_5_SRC "
#include <netdb.h>
@@ -578,7 +598,7 @@
CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYNAME_R_5_SRC}"
HAVE_GETHOSTBYNAME_R_5)
IF(HAVE_GETHOSTBYNAME_R_5)
- ADD_TK_CFLAG(HAVE_GETHOSTBYNAME_R_5)
+ ADD_TCL_CFLAG(HAVE_GETHOSTBYNAME_R_5)
ELSE(HAVE_GETHOSTBYNAME_R_5)
SET(HAVE_GETHOSTBYNAME_R_3_SRC "
#include <netdb.h>
@@ -592,7 +612,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYNAME_R_3_SRC}" HAVE_GETHOSTBYNAME_R_3)
IF(HAVE_GETHOSTBYNAME_R_3)
- ADD_TK_CFLAG(HAVE_GETHOSTBYNAME_R_3)
+ ADD_TCL_CFLAG(HAVE_GETHOSTBYNAME_R_3)
ENDIF(HAVE_GETHOSTBYNAME_R_3)
ENDIF(HAVE_GETHOSTBYNAME_R_5)
ENDIF(HAVE_GETHOSTBYNAME_R_6)
@@ -617,7 +637,7 @@
")
CHECK_C_SOURCE_COMPILES("${GETADDRINFO_SRC}"
WORKING_GETADDRINFO)
IF(WORKING_GETADDRINFO)
- ADD_TK_CFLAG(HAVE_GETADDRINFO)
+ ADD_TCL_CFLAG(HAVE_GETADDRINFO)
ENDIF(WORKING_GETADDRINFO)
ENDIF(HAVE_GETADDRINFO)
ENDMACRO(SC_TCL_GETADDRINFO)
@@ -626,7 +646,7 @@
# SC_TCL_GETPWUID_R
#--------------------------------------------------------------------
MACRO(SC_TCL_GETPWUID_R)
- CHECK_FUNCTION_EXISTS_D(getpwuid_r HAVE_GETPWUID_R)
+ CONFIG_CHECK_FUNCTION_EXISTS(getpwuid_r HAVE_GETPWUID_R)
IF(HAVE_GETPWUID_R)
SET(HAVE_GETPWUID_R_5_SRC "
#include <sys/types.h>
@@ -642,7 +662,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETPWUID_R_5_SRC}"
HAVE_GETPWUID_R_5)
IF(HAVE_GETPWUID_R_5)
- ADD_TK_CFLAG(HAVE_GETPWUID_R_5)
+ ADD_TCL_CFLAG(HAVE_GETPWUID_R_5)
ELSE(HAVE_GETPWUID_R_5)
SET(HAVE_GETPWUID_R_4_SRC "
#include <sys/types.h>
@@ -658,7 +678,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETPWUID_R_4_SRC}"
HAVE_GETPWUID_R_4)
IF(HAVE_GETPWUID_R_4)
- ADD_TK_CFLAG(HAVE_GETPWUID_R_4)
+ ADD_TCL_CFLAG(HAVE_GETPWUID_R_4)
ENDIF(HAVE_GETPWUID_R_4)
ENDIF(HAVE_GETPWUID_R_5)
ENDIF(HAVE_GETPWUID_R)
@@ -668,7 +688,7 @@
# SC_TCL_GETPWNAM_R
#--------------------------------------------------------------------
MACRO(SC_TCL_GETPWNAM_R)
- CHECK_FUNCTION_EXISTS_D(getpwnam_r HAVE_GETPWNAM_R)
+ CONFIG_CHECK_FUNCTION_EXISTS(getpwnam_r HAVE_GETPWNAM_R)
IF(HAVE_GETPWNAM_R)
SET(HAVE_GETPWNAM_R_5_SRC "
#include <sys/types.h>
@@ -684,7 +704,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETPWNAM_R_5_SRC}"
HAVE_GETPWNAM_R_5)
IF(HAVE_GETPWNAM_R_5)
- ADD_TK_CFLAG(HAVE_GETPWNAM_R_5)
+ ADD_TCL_CFLAG(HAVE_GETPWNAM_R_5)
ELSE(HAVE_GETPWNAM_R_5)
SET(HAVE_GETPWNAM_R_4_SRC "
#include <sys/types.h>
@@ -700,7 +720,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETPWNAM_R_4_SRC}"
HAVE_GETPWNAM_R_4)
IF(HAVE_GETPWNAM_R_4)
- ADD_TK_CFLAG(HAVE_GETPWNAM_R_4)
+ ADD_TCL_CFLAG(HAVE_GETPWNAM_R_4)
ENDIF(HAVE_GETPWNAM_R_4)
ENDIF(HAVE_GETPWNAM_R_5)
ENDIF(HAVE_GETPWNAM_R)
@@ -710,7 +730,7 @@
# SC_TCL_GETGRGID_R
#--------------------------------------------------------------------
MACRO(SC_TCL_GETGRGID_R)
- CHECK_FUNCTION_EXISTS_D(getgrgid_r HAVE_GETGRGID_R)
+ CONFIG_CHECK_FUNCTION_EXISTS(getgrgid_r HAVE_GETGRGID_R)
IF(HAVE_GETGRGID_R)
SET(HAVE_GETGRGID_R_5_SRC "
#include <sys/types.h>
@@ -726,7 +746,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETGRGID_R_5_SRC}"
HAVE_GETGRGID_R_5)
IF(HAVE_GETGRGID_R_5)
- ADD_TK_CFLAG(HAVE_GETGRGID_R_5)
+ ADD_TCL_CFLAG(HAVE_GETGRGID_R_5)
ELSE(HAVE_GETGRGID_R_5)
SET(HAVE_GETGRGID_R_4_SRC "
#include <sys/types.h>
@@ -742,7 +762,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETGRGID_R_4_SRC}"
HAVE_GETGRGID_R_4)
IF(HAVE_GETGRGID_R_4)
- ADD_TK_CFLAG(HAVE_GETGRGID_R_4)
+ ADD_TCL_CFLAG(HAVE_GETGRGID_R_4)
ENDIF(HAVE_GETGRGID_R_4)
ENDIF(HAVE_GETGRGID_R_5)
ENDIF(HAVE_GETGRGID_R)
@@ -752,7 +772,7 @@
# SC_TCL_GETGRNAM_R
#--------------------------------------------------------------------
MACRO(SC_TCL_GETGRNAM_R)
- CHECK_FUNCTION_EXISTS_D(getgrnam_r HAVE_GETGRNAM_R)
+ CONFIG_CHECK_FUNCTION_EXISTS(getgrnam_r HAVE_GETGRNAM_R)
IF(HAVE_GETGRNAM_R)
SET(HAVE_GETGRNAM_R_5_SRC "
#include <sys/types.h>
@@ -768,7 +788,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETGRNAM_R_5_SRC}"
HAVE_GETGRNAM_R_5)
IF(HAVE_GETGRNAM_R_5)
- ADD_TK_CFLAG(HAVE_GETGRNAM_R_5)
+ ADD_TCL_CFLAG(HAVE_GETGRNAM_R_5)
ELSE(HAVE_GETGRNAM_R_5)
SET(HAVE_GETGRNAM_R_4_SRC "
#include <sys/types.h>
@@ -784,7 +804,7 @@
")
CHECK_C_SOURCE_COMPILES("${HAVE_GETGRNAM_R_4_SRC}"
HAVE_GETGRNAM_R_4)
IF(HAVE_GETGRNAM_R_4)
- ADD_TK_CFLAG(HAVE_GETGRNAM_R_4)
+ ADD_TCL_CFLAG(HAVE_GETGRNAM_R_4)
ENDIF(HAVE_GETGRNAM_R_4)
ENDIF(HAVE_GETGRNAM_R_5)
ENDIF(HAVE_GETGRNAM_R)
Modified: brlcad/trunk/src/other/tk/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/tk/CMakeLists.txt 2011-08-04 22:16:44 UTC (rev
45787)
+++ brlcad/trunk/src/other/tk/CMakeLists.txt 2011-08-05 02:05:09 UTC (rev
45788)
@@ -45,11 +45,31 @@
# set CMake project name
PROJECT(TK)
-# set local CFLAGS name
-SET(CFLAGS_NAME TK)
-SET(TK_CFLAGS "")
-MARK_AS_ADVANCED(TK_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)
@@ -68,6 +88,29 @@
ENABLE_LANGUAGE(RC)
ENDIF(WIN32)
+#---------------------------------------------------------------------
+# 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)
+
+
#-----------------------------------------------------------------------------
# Output directories.
IF(NOT LIBRARY_OUTPUT_PATH)
@@ -112,27 +155,27 @@
#----------------------------------------------------------------------------
# First, get some standard options out of the way - things that are constant
# between various platforms or pertain to specific OS definitions
-SET(TK_CFLAGS "${TK_CFLAGS} -DPACKAGE_NAME=\\\"tk\\\"")
-SET(TK_CFLAGS "${TK_CFLAGS} -DPACKAGE_TARNAME=\\\"tk\\\"")
-SET(TK_CFLAGS "${TK_CFLAGS}
-DPACKAGE_VERSION=\\\"${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}\\\"")
-SET(TK_CFLAGS "${TK_CFLAGS} -DPACKAGE_BUGREPORT=\\\"\\\"")
-SET(TK_CFLAGS "${TK_CFLAGS} -DSTDC_HEADERS=1")
+add_definitions(-DPACKAGE_NAME="tk")
+add_definitions(-DPACKAGE_TARNAME="tk")
+add_definitions(-DPACKAGE_VERSION="${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}")
+add_definitions(-DPACKAGE_BUGREPORT="")
+add_definitions(-DSTDC_HEADERS=1)
IF(WIN32)
- SET(TK_CFLAGS "${TK_CFLAGS} -D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE -Ot -Oi -fp:strict -Gs -GS -GL -MD -DBUILD_tk
-BUILD_ttk -DSUPPORT_CONFIG_EMBEDDED -DHAVE_UXTHEME_H=1 -DUSE_TCL_STUBS")
+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ot
-Oi -fp:strict -Gs -GS -GL -MD -DBUILD_tk -BUILD_ttk -DSUPPORT_CONFIG_EMBEDDED
-DHAVE_UXTHEME_H=1 -DUSE_TCL_STUBS)
ENDIF(WIN32)
IF(APPLE)
- SET(TK_CFLAGS "${TK_CFLAGS} -DMAC_OSX_TCL=1")
+ add_definitions(-DMAC_OSX_TCL=1)
ENDIF(APPLE)
#----------------------------------------------------------------------------
# Probably should be part of SC_TCL_64BIT_FLAGS
IF(BRLCAD-ENABLE_64BIT)
- SET(TK_CFLAGS "${TK_CFLAGS} -DTCL_CFG_DO64BIT=1")
+ add_definitions(-DTCL_CFG_DO64BIT=1)
ENDIF(BRLCAD-ENABLE_64BIT)
IF(CMAKE_CL_64)
- SET(TK_CFLAGS "${TK_CFLAGS} -D_stati64=_stat64")
+ add_definitions(-D_stati64=_stat64)
ENDIF(CMAKE_CL_64)
@@ -146,7 +189,7 @@
INCLUDE(TestBigEndian)
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
IF(WORDS_BIGENDIAN)
- SET(TK_CFLAGS "${TK_CFLAGS} -DWORDS_BIGENDIAN=1")
+ add_definitions(-DWORDS_BIGENDIAN=1)
ENDIF(WORDS_BIGENDIAN)
ENDIF(NOT MSVC)
@@ -154,58 +197,62 @@
# Check for types - TODO: still need to define substitutes if these
# are not found
-CHECK_TYPE_SIZE_D(mode_t MODE)
-CHECK_TYPE_SIZE_D(pid_t PID)
-CHECK_TYPE_SIZE_D(size_t SIZE)
-CHECK_TYPE_SIZE_D(uid_t UID)
-CHECK_TYPE_SIZE_D(blkcnt_t BLKCNT)
-CHECK_TYPE_SIZE_D(intptr_t INTPTR)
-CHECK_TYPE_SIZE_D(uintptr_t UINTPTR)
+CONFIG_CHECK_TYPE_SIZE(mode_t MODE)
+CONFIG_CHECK_TYPE_SIZE(pid_t PID)
+CONFIG_CHECK_TYPE_SIZE(size_t SIZE)
+CONFIG_CHECK_TYPE_SIZE(uid_t UID)
+CONFIG_CHECK_TYPE_SIZE(blkcnt_t BLKCNT)
+CONFIG_CHECK_TYPE_SIZE(intptr_t INTPTR)
+CONFIG_CHECK_TYPE_SIZE(uintptr_t UINTPTR)
-CHECK_INCLUDE_FILE_D(sys/types.h HAVE_SYS_TYPES_H)
-CHECK_INCLUDE_FILE_D(sys/stat.h HAVE_SYS_STAT_H)
-CHECK_INCLUDE_FILE_D(sys/fstatfs.h HAVE_SYS_FSTATFS_H)
+CONFIG_CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H)
+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(TK_CFLAGS "${TK_CFLAGS} -DNO_FSTATFS=1")
+ add_definitions(-DNO_FSTATFS=1)
ENDIF(NOT HAVE_SYS_FSTATFS_H)
-CHECK_INCLUDE_FILE_D(memory.h HAVE_MEMORY_H)
-CHECK_INCLUDE_FILE_D(strings.h HAVE_STRINGS_H)
-CHECK_INCLUDE_FILE_D(inttypes.h HAVE_INTTYPES_H)
-CHECK_INCLUDE_FILE_D(stdint.h HAVE_STDINT_H)
-CHECK_INCLUDE_FILE_D(unistd.h HAVE_UNISTD_H)
+CONFIG_CHECK_INCLUDE_FILE(memory.h HAVE_MEMORY_H)
+CONFIG_CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
+CONFIG_CHECK_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H)
+CONFIG_CHECK_INCLUDE_FILE(stdint.h HAVE_STDINT_H)
+CONFIG_CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)
IF(APPLE)
- find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
- IF(COREFOUNDATION_FRAMEWORK)
- FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_COREFOUNDATION 1\n")
- ENDIF(COREFOUNDATION_FRAMEWORK)
- find_library(FONTCONFIG_LIBRARY fontconfig)
+ find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
+ IF(COREFOUNDATION_FRAMEWORK)
+ add_definitions(-DHAVE_COREFOUNDATION=1)
+ ENDIF(COREFOUNDATION_FRAMEWORK)
+ find_library(FONTCONFIG_LIBRARY fontconfig)
ENDIF(APPLE)
IF(NOT WIN32)
- find_package(X11)
- find_package(Freetype)
-
- SET(TK_WINDOWINGSYSTEM X11)
+ find_package(X11)
+ find_package(Freetype)
+ IF(FREETYPE_FOUND)
+ OPTION(TK-ENABLE_FREETYPE "Enable freetype support" ON)
+ ELSE(FREETYPE_FOUND)
+ OPTION(TK-ENABLE_FREETYPE "Enable freetype support" OFF)
+ ENDIF(FREETYPE_FOUND)
+ SET(TK_WINDOWINGSYSTEM X11)
ENDIF(NOT WIN32)
IF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
- CHECK_FUNCTION_EXISTS_D(getattrlist HAVE_GETATTRLIST)
- CHECK_INCLUDE_FILE_D(copyfile.h HAVE_COPYFILE_H)
- CHECK_FUNCTION_EXISTS_D(copyfile HAVE_COPYFILE)
- IF(${COREFOUNDATION_FRAMEWORK})
- CHECK_INCLUDE_FILE_D(libkern/OSAtomic.h HAVE_LIBKERN_OSATOMIC_H)
- CHECK_FUNCTION_EXISTS_D(OSSpinLockLock HAVE_OSSPINLOCKLOCK)
- CHECK_FUNCTION_EXISTS_D(pthread_atfork HAVE_PTHREAD_ATFORK)
- ENDIF(${COREFOUNDATION_FRAMEWORK})
- ADD_TK_CFLAG(USE_VFORK)
- SET(TK_CFLAGS "${TK_CFLAGS} -DTCL_DEFAULT_ENCODING=\\\"utf-8\\\"")
- ADD_TK_CFLAG(TCL_LOAD_FROM_MEMORY)
- ADD_TK_CFLAG(TCL_WIDE_CLICKS)
- CHECK_INCLUDE_FILE_USABILITY_D(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
@@ -218,12 +265,12 @@
rand();
return 0;
}
- ")
- CHECK_C_SOURCE_COMPILES("${WEAK_IMPORT_SRCS}"
WEAK_IMPORT_WORKING)
- IF(WEAK_IMPORT_WORKING)
- ADD_TK_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
@@ -234,14 +281,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_TK_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$")
ADD_SUBDIRECTORY(doc)
@@ -500,34 +547,6 @@
ENDIF(ENABLE_AQUA)
ENDIF(WIN32)
-# 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 tkConfig.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(TK_INCLUDE_PATH ${TK_SOURCE_DIR}/generic ${TK_SOURCE_DIR}/bitmaps
${TK_BINARY_DIR}/include)
IF(WIN32)
SET(TK_INCLUDE_PATH ${TK_INCLUDE_PATH} ${TK_SOURCE_DIR}/win
${TK_SOURCE_DIR}/xlib ${TK_SOURCE_DIR}/xlib/X11)
@@ -544,20 +563,13 @@
SET(WISH_SRCS win/winMain.c)# win/rc/wish.rc)
ENDIF(NOT WIN32)
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TK_CFLAGS}")
-
include_directories(
${TCL_INCLUDE_DIRS}
${TK_INCLUDE_PATH}
- ${X11_INCLUDE_DIR}
+ ${X11_INCLUDE_DIR}
+ ${FREETYPE_INCLUDE_DIRS}
)
-IF(TK-ENABLE_FREETYPE)
- include_directories(
- ${FREETYPE_INCLUDE_DIRS}
- )
-ENDIF(TK-ENABLE_FREETYPE)
-
SET(X11_TK_LIBS ${X11_X11_LIB} ${X11_Xext_LIB})
IF(X11_Xscreensaver_LIB)
@@ -570,16 +582,25 @@
SET(X11_TK_LIBS ${X11_TK_LIBS} ${X11_Xrender_LIB})
ENDIF(X11_Xrender_LIB)
-IF(TK-ENABLE_FREETYPE)
- SET(TK_FREETYPE_LIBRARIES ${FREETYPE_LIBRARIES})
- SET(TK_FONTCONFIG_LIBRARY ${FONTCONFIG_LIBRARY})
-ENDIF(TK-ENABLE_FREETYPE)
+IF(NOT LIB_DIR)
+ SET(LIB_DIR lib)
+ENDIF(NOT LIB_DIR)
+add_definitions(-DUSE_TCL_STUBS)
+
+IF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
+ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+ENDIF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
+
+add_library(tkstub STATIC ${TK_STUB_SRCS} ${TTK_STUB_SRCS})
+SET_TARGET_PROPERTIES(tkstub PROPERTIES COMPILE_FLAGS "-fPIC")
+install(TARGETS tkstub DESTINATION ${LIB_DIR})
+
add_library(tk ${TK_SRCS})
IF(WIN32)
-target_link_libraries(tk tclstub ${COREFOUNDATION_FRAMEWORK} ${X11_TK_LIBS}
${TK_FREETYPE_LIBRARIES} ${TK_FONTCONFIG_LIBRARY})
+target_link_libraries(tk tkstub ${TCL_STUB_LIBRARY}
${COREFOUNDATION_FRAMEWORK} ${X11_TK_LIBS} ${FREETYPE_LIBRARIES}
${FONTCONFIG_LIBRARY})
ELSE(WIN32)
-target_link_libraries(tk tcl ${COREFOUNDATION_FRAMEWORK} ${X11_TK_LIBS}
${TK_FREETYPE_LIBRARIES} ${TK_FONTCONFIG_LIBRARY})
+target_link_libraries(tk tkstub ${TCL_STUB_LIBRARY}
${COREFOUNDATION_FRAMEWORK} ${X11_TK_LIBS} ${FREETYPE_LIBRARIES}
${FONTCONFIG_LIBRARY})
ENDIF(WIN32)
install(TARGETS tk DESTINATION ${LIB_DIR})
SET_TARGET_PROPERTIES(tk PROPERTIES VERSION ${TK_VERSION} SOVERSION
${TK_VERSION_MAJOR}.${TK_VERSION_MINOR})
@@ -592,9 +613,6 @@
FILE(WRITE
${CMAKE_BINARY_DIR}/lib/tk${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}/pkgIndex.tcl
"package ifneeded Tk ${TK_VERSION} [list load [file join $dir
${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${TK_LIBNAME}] Tk]")
-add_library(tkstub STATIC ${TK_STUB_SRCS})
-install(TARGETS tkstub DESTINATION ${LIB_DIR})
-
install(FILES ${TK_HDRS} DESTINATION include)
IF(WIN32)
@@ -602,7 +620,7 @@
target_link_libraries(wish tcl tk imm32.lib comctl32.lib)
ELSE(WIN32)
add_executable(wish ${WISH_SRCS})
- target_link_libraries(wish tcl tk ${COREFOUNDATION_FRAMEWORK}
${SUN_MATH_LIB} ${X11_TK_LIBS} ${TK_FREETYPE_LIBRARIES}
${TK_FONTCONFIG_LIBRARY})
+ target_link_libraries(wish ${TCL_LIBRARY} tk
${COREFOUNDATION_FRAMEWORK} ${SUN_MATH_LIB} ${X11_TK_LIBS}
${TK_FREETYPE_LIBRARIES} ${TK_FONTCONFIG_LIBRARY})
ENDIF(WIN32)
SET_TARGET_PROPERTIES(wish PROPERTIES VERSION
${TK_VERSION_MAJOR}.${TK_VERSION_MINOR})
install(TARGETS wish DESTINATION bin)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts.
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits