Revision: 69971 http://sourceforge.net/p/brlcad/code/69971 Author: starseeker Date: 2017-07-18 21:02:19 +0000 (Tue, 18 Jul 2017) Log Message: ----------- Make a stab at folding termlib.c.in into the FindTERMLIB cmake file (needs testing)
Modified Paths: -------------- brlcad/trunk/misc/CMake/FindTERMLIB.cmake Removed Paths: ------------- brlcad/trunk/misc/CMake/test_srcs/ Modified: brlcad/trunk/misc/CMake/FindTERMLIB.cmake =================================================================== --- brlcad/trunk/misc/CMake/FindTERMLIB.cmake 2017-07-18 19:25:51 UTC (rev 69970) +++ brlcad/trunk/misc/CMake/FindTERMLIB.cmake 2017-07-18 21:02:19 UTC (rev 69971) @@ -45,6 +45,40 @@ include(CheckIncludeFiles) include(CheckCSourceRuns) +set(termlib_src " +#ifdef HAVE_TERMLIB_H +# include <termlib.h> +#else +# ifdef HAVE_NCURSES_H +# include <ncurses.h> +# else +# ifdef HAVE_CURSES_H +# include <curses.h> +# else +# ifdef HAVE_TERMCAP_H +# include <termcap.h> +# else +# ifdef HAVE_TERMINFO_H +# include <terminfo.h> +# else +# ifdef HAVE_TINFO_H +# include <tinfo.h> +# endif +# endif +# endif +# endif +# endif +# ifdef HAVE_TERM_H +# include <term.h> +# endif +#endif +int main () { + char buffer[2048] = {0}; + (void)tgetent(buffer, \"vt100\"); + return 0; +} +") + macro(TERMLIB_CHECK_LIBRARY lname func headers) if(NOT TERMLIB_LIBRARY OR "${TERMLIB_LIBRARY}" MATCHES "NOTFOUND") CHECK_LIBRARY_EXISTS(${lname} ${func} "" HAVE_TERMLIB_${lname}) @@ -59,13 +93,20 @@ if(NOT "${TERMLIB_INCLUDE_DIR}" MATCHES "NOTFOUND") set(LIBTERM_RESULT) set(TERMLIB_LIBRARY "${lname}") - configure_file("${BRLCAD_CMAKE_DIR}/test_srcs/termlib.c.in" "${CMAKE_BINARY_DIR}/CMakeTmp/termlib.c") + file(WRITE "${CMAKE_BINARY_DIR}/CMakeTmp/termlib.c") set(CMAKE_REQUIRED_LIBRARIES_BAK ${CMAKE_REQUIRED_LIBRARIES}) set(CMAKE_REQUIRED_LIBRARIES ${TERMLIB_LIBRARY}) - if(NOT DEFINED LIBTERM_RESULT) - CHECK_C_SOURCE_RUNS("${CMAKE_BINARY_DIR}/CMakeTmp/termlib.c" LIBTERM_RESULT) - endif(NOT DEFINED LIBTERM_RESULT) if(NOT LIBTERM_RESULT) + try_run(LIBTERM_RESULT LIBTERM_COMPILE + "${CMAKE_BINARY_DIR}/CMakeTmp/termlib.c" + COMPILE_DEFINITIONS "-DHAVE_${HDR}" + COMPILE_OUTPUT_VARIABLE CTERM_OUT + RUN_OUTPUT_VARIABLE RTERM_OUT) + #message("CTERM: ${CTERM_OUT}") + #message("RTERM: ${RTERM_OUT}") + endif(NOT LIBTERM_RESULT) + file(REMOVE "${CMAKE_BINARY_DIR}/CMakeTmp/termlib.c") + if(NOT LIBTERM_RESULT) set(TERMLIB_LIBRARY "NOTFOUND" CACHE STRING "TERMLIB" FORCE) else(NOT LIBTERM_RESULT) set(TERMLIB_LIBRARY ${TERMLIB_LIBRARY} CACHE STRING "TERMLIB" FORCE) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ BRL-CAD Source Commits mailing list brlcad-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-commits