[brlcad-commits] SF.net SVN: brlcad:[40362] brlcad/branches/cmake
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <sta...@us...> - 2010-08-29 02:10:06
|
Revision: 40362 http://brlcad.svn.sourceforge.net/brlcad/?rev=40362&view=rev Author: starseeker Date: 2010-08-29 02:09:59 +0000 (Sun, 29 Aug 2010) Log Message: ----------- Start working on logic to determine what packages are present in a Tcl/Tk installation, if one is found. May want to also support looking for min/max/exact versions, not sure yet. While we're at it, clean up the if statement for the print summary - may want to turn it off, so set that up. Modified Paths: -------------- brlcad/branches/cmake/CMakeLists.txt Added Paths: ----------- brlcad/branches/cmake/misc/CMake/FindTclPackage.cmake Modified: brlcad/branches/cmake/CMakeLists.txt =================================================================== --- brlcad/branches/cmake/CMakeLists.txt 2010-08-27 23:44:18 UTC (rev 40361) +++ brlcad/branches/cmake/CMakeLists.txt 2010-08-29 02:09:59 UTC (rev 40362) @@ -807,6 +807,21 @@ SET(TK_DEP "tk") endif() +# Depending on the Tcl/Tk results, look for packages required by BRL-CAD. If +# building local Tcl/Tk, go ahead and enable all the packages as well - otherwise, +# check the found Tcl/Tk and enable what it doesn't supply. If doing a non-graphical +# build, only compile extensions that don't use Tk. +INCLUDE(${BRLCAD_CMAKE_DIR}/FindTclPackage.cmake) +IF(TCL_FOUND) + FIND_TCL_PACKAGE(${TCL_TCLSH} Itcl) + IF(TK_LIBRARY) + FIND_TCL_PACKAGE(${TK_WISH} Itk) + FIND_TCL_PACKAGE(${TK_WISH} Iwidgets) + FIND_TCL_PACKAGE(${TK_WISH} Tkhtml) + FIND_TCL_PACKAGE(${TK_WISH} tkpng) + ENDIF(TK_LIBRARY) +ENDIF(TCL_FOUND) + # OpenNURBS Library THIRD_PARTY_OPTION(OPENNURBS openNURBS) THIRD_PARTY_SUBDIR(OPENNURBS src/other/openNURBS) @@ -854,14 +869,11 @@ # variable named <variable_name>_LABEL - this allows a loop to iterate over a list of variables and handle # them all, rather than each line needing its own logic. -OPTION(BRLCAD_PRINT_VERBOSE_SUMMARY "Print extra summary information" OFF) +OPTION(BRLCAD_PRINT_VERBOSE_SUMMARY "Print summary" ON) +MARK_AS_ADVANCED(BRLCAD_PRINT_VERBOSE_SUMMARY) if(BRLCAD_PRINT_VERBOSE_SUMMARY) MESSAGE("") - MESSAGE("------ BRL-CAD Release ${BRLCAD_VERSION}, Build ${CONFIG_DATE} - ${CMAKE_BUILD_TYPE} Build (VERBOSE SUMMARY) ------") - MESSAGE("") -else(BRLCAD_PRINT_VERBOSE_SUMMARY) - MESSAGE("") MESSAGE("------ BRL-CAD Release ${BRLCAD_VERSION}, Build ${CONFIG_DATE} - ${CMAKE_BUILD_TYPE} Build ------") MESSAGE("") Added: brlcad/branches/cmake/misc/CMake/FindTclPackage.cmake =================================================================== --- brlcad/branches/cmake/misc/CMake/FindTclPackage.cmake (rev 0) +++ brlcad/branches/cmake/misc/CMake/FindTclPackage.cmake 2010-08-29 02:09:59 UTC (rev 40362) @@ -0,0 +1,25 @@ +MACRO(FIND_TCL_PACKAGE wishcmd packagename) + MESSAGE("wishcmd: ${wishcmd} packagename: ${packagename}") + STRING(TOUPPER ${packagename} PKGNAME_UPPER) + SET(packagefind_script " +set packageversion NOTFOUND +set packageversion [package versions ${packagename}] +set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/${PKGNAME_UPPER}_PKG_VERSION\" +set fileId [open $filename \"w\"] +puts $fileId $packageversion +close $fileId +exit +") + SET(packagefind_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/${packagename}_packageversion.tcl") + FILE(WRITE ${packagefind_scriptfile} ${packagefind_script}) + EXEC_PROGRAM(${wishcmd} ARGS ${packagefind_scriptfile} OUTPUT_VARIABLE EXECOUTPUT) + FILE(READ ${CMAKE_BINARY_DIR}/CMakeTmp/${PKGNAME_UPPER}_PKG_VERSION pkgversion) + #Need to handle multiple returned versions - this regex is wrong, fix + #STRING(REGEX REPLACE "([0-9]+\.?[0-9]*)" "\\1" ${pkgversion} ${pkgversion}) + STRING(REGEX REPLACE "\n" "" ${PKGNAME_UPPER}_PACKAGE_VERSION ${pkgversion}) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(${PKGNAME_UPPER} DEFAULT_MSG ${PKGNAME_UPPER}_PACKAGE_VERSION) + MARK_AS_ADVANCED( + ${PKGNAME_UPPER}_PACKAGE_VERSION + ) +ENDMACRO(FIND_TCL_PACKAGE) + Property changes on: brlcad/branches/cmake/misc/CMake/FindTclPackage.cmake ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |