Ticket #191: cmake_7_12.1d.diff

File cmake_7_12.1d.diff, 21.6 kB (added by gunnar, 5 months ago)

Further improvements.

  • (a) /dev/null vs. (b) b/CMakeLists.txt

    diff --git a/CMakeLists.txt b/CMakeLists.txt
    new file mode 100644
    index 0000000..47cee59
    a b  
     1PROJECT(GNUGo) 
     2 
     3INCLUDE(CheckIncludeFiles) 
     4CHECK_INCLUDE_FILES(sys/times.h HAVE_SYS_TIMES_H) 
     5CHECK_INCLUDE_FILES(sys/time.h HAVE_SYS_TIME_H) 
     6CHECK_INCLUDE_FILES("sys/time.h;time.h" TIME_WITH_SYS_TIME) 
     7CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H) 
     8CHECK_INCLUDE_FILES(curses.h HAVE_CURSES_H) 
     9CHECK_INCLUDE_FILES(glib.h HAVE_GLIB_H) 
     10CHECK_INCLUDE_FILES(ncurses/curses.h HAVE_NCURSES_CURSES_H) 
     11CHECK_INCLUDE_FILES(ncurses/term.h HAVE_NCURSES_TERM_H) 
     12CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H) 
     13CHECK_INCLUDE_FILES(term.h HAVE_TERM_H) 
     14CHECK_INCLUDE_FILES(crtdbg.h HAVE_CRTDBG_H) 
     15CHECK_INCLUDE_FILES("winsock.h;io.h" HAVE_WINSOCK_IO_H) 
     16 
     17INCLUDE(CheckTypeSize) 
     18CHECK_TYPE_SIZE(long SIZEOF_LONG) 
     19 
     20INCLUDE(CheckFunctionExists) 
     21CHECK_FUNCTION_EXISTS(times HAVE_TIMES) 
     22CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP) 
     23CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY) 
     24CHECK_FUNCTION_EXISTS(vsnprintf HAVE_VSNPRINTF) 
     25CHECK_FUNCTION_EXISTS(_vsnprintf HAVE__VSNPRINTF) 
     26# FIXME: Probably necessary to add the glib library for this test to pass. 
     27CHECK_FUNCTION_EXISTS(g_vsnprintf HAVE_G_VSNPRINTF) 
     28 
     29SET(PRAGMAS "") 
     30IF(WIN32) 
     31    SET(PRAGMAS "#pragma warning(disable: 4244 4305)") 
     32ENDIF(WIN32) 
     33 
     34IF(MSVC80) 
     35    ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) 
     36    ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_DEPRECATE) 
     37ENDIF(MSVC80) 
     38 
     39CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake 
     40               ${CMAKE_CURRENT_BINARY_DIR}/config.h) 
     41 
     42# Make sure all files know about and can find config.h 
     43ADD_DEFINITIONS(-DHAVE_CONFIG_H) 
     44INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) 
     45 
     46# Recurse into subdirectories. 
     47ADD_SUBDIRECTORY(utils) 
     48ADD_SUBDIRECTORY(sgf) 
     49ADD_SUBDIRECTORY(engine) 
     50ADD_SUBDIRECTORY(patterns) 
     51ADD_SUBDIRECTORY(interface) 
  • (a) /dev/null vs. (b) b/config.h.cmake

    diff --git a/config.h.cmake b/config.h.cmake
    new file mode 100644
    index 0000000..b3661bc
    a b  
     1/* Ruleset. Default Japanese */ 
     2#define CHINESE_RULES 0 
     3 
     4/* Allow resignation. Default enabled */ 
     5#define RESIGNATION_ALLOWED 1 
     6 
     7/* Default level (strength). Up to 10 supported */ 
     8#define DEFAULT_LEVEL 10 
     9 
     10/* Center oriented influence. Disabled by default. */ 
     11#define COSMIC_GNUGO 0 
     12 
     13/* Owl Node Limit. 1000 default. */ 
     14#define OWL_NODE_LIMIT 1000 
     15 
     16/* Semeai Variations. 500 default */ 
     17#define SEMEAI_NODE_LIMIT 500 
     18 
     19/* Default hash table size in megabytes */ 
     20#define DEFAULT_MEMORY -1 
     21 
     22/* Compile support for GTP communication over TCP/IP channel. */ 
     23#undef ENABLE_SOCKET_SUPPORT 
     24 
     25/* GAIN/LOSS codes. Disabled by default. */ 
     26#define EXPERIMENTAL_OWL_EXT 0 
     27 
     28/* Large Scale Captures. Disabled by default. */ 
     29#define LARGE_SCALE 0 
     30 
     31/* Oracle. Default not enabled. */ 
     32#define ORACLE 0 
     33 
     34/* Owl Threats. 0 standard. */ 
     35#define OWL_THREATS 0 
     36 
     37/* Break-in module. Enabled by default. */ 
     38#define USE_BREAK_IN 1 
     39 
     40/* Connection module. Default experimental. */ 
     41#define EXPERIMENTAL_CONNECTIONS 1 
     42 
     43/* Connection module. Default standard. */ 
     44#define ALTERNATE_CONNECTIONS 1 
     45 
     46/* Define as 1 to use the grid optimisation, or 2 to run it in self-test mode 
     47   */ 
     48#define GRID_OPT 1 
     49 
     50/* Define to use ansi escape sequences for color debugging */ 
     51#undef ANSI_COLOR 
     52 
     53/* Define to 1 if you have the <curses.h> header file. */ 
     54#cmakedefine HAVE_CURSES_H 1 
     55 
     56/* Define to 1 if you have the `gettimeofday' function. */ 
     57#cmakedefine HAVE_GETTIMEOFDAY 1 
     58 
     59/* Define to 1 if you have the <glib.h> header file. */ 
     60#cmakedefine HAVE_GLIB_H 1 
     61 
     62/* Define to 1 if you have the `g_vsnprintf' function. */ 
     63#cmakedefine HAVE_G_VSNPRINTF 1 
     64 
     65/* Define to 1 if you have the <ncurses/curses.h> header file. */ 
     66#cmakedefine HAVE_NCURSES_CURSES_H 1 
     67 
     68/* Define to 1 if you have the <ncurses/term.h> header file. */ 
     69#cmakedefine HAVE_NCURSES_TERM_H 1 
     70 
     71/* Define to 1 if you have the <sys/times.h> header file. */ 
     72#cmakedefine HAVE_SYS_TIMES_H 1 
     73 
     74/* Define to 1 if you have the <sys/time.h> header file. */ 
     75#cmakedefine HAVE_SYS_TIME_H 1 
     76 
     77/* Define to 1 if you have the <sys/types.h> header file. */ 
     78#cmakedefine HAVE_SYS_TYPES_H 1 
     79 
     80/* Define to 1 if you have the <term.h> header file. */ 
     81#cmakedefine HAVE_TERM_H 1 
     82 
     83/* Define to 1 if you have the <crtdbg.h> header file. */ 
     84#cmakedefine HAVE_CRTDBG_H 1 
     85 
     86/* Define to 1 if you have the <winsock.h> and <io.h> header files. */ 
     87#cmakedefine HAVE_WINSOCK_IO_H 1 
     88 
     89/* Define to 1 if you have the `times' function. */ 
     90#cmakedefine HAVE_TIMES 1 
     91 
     92/* Define if your compiler supports transparent unions */ 
     93#undef HAVE_TRANSPARENT_UNIONS 
     94 
     95/* Define to 1 if you have the <unistd.h> header file. */ 
     96#cmakedefine HAVE_UNISTD_H 1 
     97 
     98/* Define to 1 if you have the `usleep' function. */ 
     99#cmakedefine HAVE_USLEEP 1 
     100 
     101/* Define if #define can take a variable number of arguments */ 
     102#undef HAVE_VARIADIC_DEFINE 
     103 
     104/* Define to 1 if you have the `vsnprintf' function. */ 
     105#cmakedefine HAVE_VSNPRINTF 1 
     106 
     107/* Define to 1 if you have the `_vsnprintf' function. */ 
     108#cmakedefine HAVE__VSNPRINTF 1 
     109 
     110/* Enable GNU Readline support */ 
     111#undef READLINE 
     112 
     113/* The size of a `long', as computed by sizeof. */ 
     114#cmakedefine SIZEOF_LONG ${SIZEOF_LONG} 
     115 
     116/* Define to 1 if termcap/terminfo is available. */ 
     117#undef TERMINFO 
     118 
     119/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ 
     120#cmakedefine TIME_WITH_SYS_TIME 1 
     121 
     122/* Define special valgrind macros. */ 
     123#undef USE_VALGRIND 
     124 
     125/* Version number of package */ 
     126#define VERSION "3.7.11" 
     127 
     128/* Define to empty if `const' does not conform to ANSI C. */ 
     129#undef const 
     130 
     131${PRAGMAS} 
  • config.vc

    diff --git a/config.vc b/config.vc
    index e8b3d7d..dd652c5 100644
    a b  
    44 * defines.  This file is autogenerated.  Do not modify it.    * 
    55 * See instead, the perl script makevcdist.pl                  */ 
    66 
    7 #define HAVE_VISUAL_C 1 
     7#define HAVE_CRTDBG_H 1 
     8#define HAVE_WINSOCK_IO_H 1 
     9#define HAVE__VSNPRINTF_C 1 
    810 
    911/* Connection module. Default standard. */ 
    1012#define ALTERNATE_CONNECTIONS 1 
  • config.vcin

    diff --git a/config.vcin b/config.vcin
    index 9b5c354..6abb75b 100644
    a b  
    44 * defines.  This file is autogenerated.  Do not modify it.    * 
    55 * See instead, the perl script makevcdist.pl                  */ 
    66 
    7 #define HAVE_VISUAL_C 1 
     7#define HAVE_CRTDBG_H 1 
     8#define HAVE_WINSOCK_IO_H 1 
     9#define HAVE__VSNPRINTF 1 
    810 
    911/* Connection module. Default standard. */ 
    1012#define ALTERNATE_CONNECTIONS 1 
  • (a) /dev/null vs. (b) b/engine/CMakeLists.txt

    diff --git a/engine/CMakeLists.txt b/engine/CMakeLists.txt
    new file mode 100644
    index 0000000..f8238d6
    a b  
     1INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 
     2INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/patterns) 
     3INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/sgf) 
     4INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/utils) 
     5 
     6 
     7########### engine library ############### 
     8 
     9SET(engine_STAT_SRCS 
     10    aftermath.c 
     11    board.c 
     12    boardlib.c 
     13    breakin.c 
     14    cache.c 
     15    clock.c 
     16    combination.c 
     17    dragon.c 
     18    endgame.c 
     19    filllib.c 
     20    fuseki.c 
     21    genmove.c 
     22    globals.c 
     23    handicap.c 
     24    hash.c 
     25    influence.c 
     26    interface.c 
     27    matchpat.c 
     28    montecarlo.c 
     29    move_reasons.c 
     30    movelist.c 
     31    optics.c 
     32    oracle.c 
     33    owl.c 
     34    persistent.c 
     35    printutils.c 
     36    readconnect.c 
     37    reading.c 
     38    semeai.c 
     39    sgfdecide.c 
     40    sgffile.c 
     41    shapes.c 
     42    showbord.c 
     43    surround.c 
     44    unconditional.c 
     45    utils.c 
     46    value_moves.c 
     47    worm.c 
     48    ) 
     49 
     50ADD_LIBRARY(engine STATIC ${engine_STAT_SRCS}) 
     51 
     52 
     53########### board library ############### 
     54 
     55SET(board_STAT_SRCS 
     56    board.c 
     57    boardlib.c 
     58    hash.c 
     59    printutils.c 
     60    ) 
     61 
     62ADD_LIBRARY(board STATIC ${board_STAT_SRCS}) 
  • engine/gnugo.h

    diff --git a/engine/gnugo.h b/engine/gnugo.h
    index 58f868c..081686a 100644
    a b  
    3838#include <config.h> 
    3939#endif 
    4040 
    41 #ifdef HAVE_VISUAL_C 
    42 # include <crtdbg.h> 
     41#ifdef HAVE_CRTDBG_H 
     42#include <crtdbg.h> 
    4343#endif 
    4444 
    4545#include "sgftree.h" 
  • engine/montecarlo.c

    diff --git a/engine/montecarlo.c b/engine/montecarlo.c
    index eac9c6a..35ec120 100644
    a b  
    19291929    struct uct_node *child_node = child_arc->node; 
    19301930    float winrate = (float) child_node->wins / child_node->games; 
    19311931    float uct_value; 
    1932     float log_games_ratio = logf(node->games) / child_node->games; 
    1933     float x = winrate * (1.0 - winrate) + sqrtf(2.0 * log_games_ratio); 
     1932    float log_games_ratio = log(node->games) / child_node->games; 
     1933    float x = winrate * (1.0 - winrate) + sqrt(2.0 * log_games_ratio); 
    19341934    if (x < 0.25) 
    19351935      x = 0.25; 
    1936     uct_value = winrate + sqrtf(2 * log_games_ratio * x / (1 + tree->game.depth)); 
     1936    uct_value = winrate + sqrt(2 * log_games_ratio * x / (1 + tree->game.depth)); 
    19371937    if (uct_value > best_uct_value) { 
    19381938      next_arc = child_arc; 
    19391939      best_uct_value = uct_value; 
     
    22092209        break; 
    22102210       
    22112211      mean = most_games_node->sum_scores / most_games_node->games; 
    2212       std = sqrtf((most_games_node->sum_scores2 - most_games_node->sum_scores * mean) / (most_games_node->games - 1)); 
     2212      std = sqrt((most_games_node->sum_scores2 - most_games_node->sum_scores * mean) / (most_games_node->games - 1)); 
    22132213      gprintf("%1m ", most_games_arc->move); 
    22142214      fprintf(stderr, "%6d %6d %5.3f %5.3f %5.3f %5.3f\n", 
    22152215              most_games_node->wins, most_games_node->games, 
  • (a) /dev/null vs. (b) b/interface/CMakeLists.txt

    diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt
    new file mode 100644
    index 0000000..f6c38f2
    a b  
     1INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/engine) 
     2INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/sgf) 
     3INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/utils) 
     4 
     5########### gnugo executable ############### 
     6 
     7SET(gnugo_SRCS 
     8    main.c 
     9    play_ascii.c 
     10    play_gmp.c 
     11    play_gtp.c 
     12    play_solo.c 
     13    play_test.c 
     14    gmp.c 
     15    gtp.c 
     16    ) 
     17 
     18ADD_EXECUTABLE(gnugo ${gnugo_SRCS}) 
     19 
     20IF(WIN32) 
     21    SET(PLATFORM_LIBRARIES wsock32) 
     22ENDIF(WIN32) 
     23 
     24IF(UNIX) 
     25    SET(PLATFORM_LIBRARIES m) 
     26ENDIF(UNIX) 
     27 
     28TARGET_LINK_LIBRARIES(gnugo sgf engine sgf utils patterns ${PLATFORM_LIBRARIES}) 
     29 
     30INSTALL(TARGETS gnugo DESTINATION bin) 
  • interface/gmp.c

    diff --git a/interface/gmp.c b/interface/gmp.c
    index adbfb3e..a2e30ee 100644
    a b  
    5555#include <io.h> 
    5656#endif 
    5757 
    58 #ifdef HAVE_VISUAL_C 
     58#ifdef HAVE_WINSOCK_IO_H 
    5959#include <winsock.h> 
    6060#include <io.h> 
    6161#endif 
  • makevcdist.pl

    diff --git a/makevcdist.pl b/makevcdist.pl
    index f031419..0bbb424 100755
    a b  
    5454 * defines.  This file is autogenerated.  Do not modify it.    * 
    5555 * See instead, the perl script makevcdist.pl                  */ 
    5656 
    57 #define HAVE_VISUAL_C 1 
     57#define HAVE_CRTDBG_H 1 
     58#define HAVE_WINSOCK_IO_H 1 
     59#define HAVE__VSNPRINTF 1 
    5860 
    5961%; 
    6062 
  • (a) /dev/null vs. (b) b/patterns/CMakeLists.txt

    diff --git a/patterns/CMakeLists.txt b/patterns/CMakeLists.txt
    new file mode 100644
    index 0000000..5b4dcdf
    a b  
     1INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/patterns) 
     2INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/engine) 
     3INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/sgf) 
     4INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/utils) 
     5 
     6########### mkpat program ############### 
     7 
     8SET(mkpat_SRCS 
     9    mkpat.c 
     10    transform.c 
     11    dfa.c 
     12    ) 
     13 
     14ADD_EXECUTABLE(mkpat ${mkpat_SRCS}) 
     15 
     16TARGET_LINK_LIBRARIES(mkpat utils) 
     17 
     18 
     19########### joseki program ############### 
     20 
     21SET(joseki_SRCS 
     22    joseki.c 
     23    ) 
     24 
     25ADD_EXECUTABLE(joseki ${joseki_SRCS}) 
     26 
     27TARGET_LINK_LIBRARIES(joseki board sgf utils) 
     28 
     29 
     30########### mkeyes program ############### 
     31 
     32SET(mkeyes_SRCS 
     33    mkeyes.c 
     34    ) 
     35 
     36ADD_EXECUTABLE(mkeyes ${mkeyes_SRCS}) 
     37 
     38TARGET_LINK_LIBRARIES(mkeyes utils) 
     39 
     40 
     41########### mkmcpat program ############### 
     42 
     43SET(mkmcpat_SRCS 
     44    mkmcpat.c 
     45    ) 
     46 
     47ADD_EXECUTABLE(mkmcpat ${mkmcpat_SRCS}) 
     48 
     49IF(UNIX) 
     50    SET(PLATFORM_LIBRARIES m) 
     51ENDIF(UNIX) 
     52 
     53TARGET_LINK_LIBRARIES(mkmcpat engine sgf utils ${PLATFORM_LIBRARIES}) 
     54 
     55 
     56########### uncompress_fuseki program ############### 
     57 
     58SET(uncompress_fuseki_SRCS 
     59    uncompress_fuseki.c 
     60    ) 
     61 
     62ADD_EXECUTABLE(uncompress_fuseki ${uncompress_fuseki_SRCS}) 
     63 
     64TARGET_LINK_LIBRARIES(uncompress_fuseki utils board sgf) 
     65 
     66 
     67########### extract_fuseki program ############### 
     68 
     69SET(extract_fuseki_SRCS 
     70    extract_fuseki.c 
     71    ) 
     72 
     73ADD_EXECUTABLE(extract_fuseki ${extract_fuseki_SRCS}) 
     74 
     75TARGET_LINK_LIBRARIES(extract_fuseki engine patterns 
     76                      engine patterns sgf utils) 
     77 
     78 
     79########### next target ############### 
     80 
     81SET(compress_fuseki_SRCS 
     82    compress_fuseki.c 
     83    ) 
     84 
     85ADD_EXECUTABLE(compress_fuseki ${compress_fuseki_SRCS}) 
     86 
     87TARGET_LINK_LIBRARIES(compress_fuseki) 
     88 
     89 
     90########### Generate files. ############## 
     91 
     92GET_TARGET_PROPERTY(JOSEKI_EXE joseki LOCATION) 
     93GET_TARGET_PROPERTY(MKPAT_EXE mkpat LOCATION) 
     94GET_TARGET_PROPERTY(MKEYES_EXE mkeyes LOCATION) 
     95GET_TARGET_PROPERTY(MKMCPAT_EXE mkmcpat LOCATION) 
     96GET_TARGET_PROPERTY(UNCOMPRESS_FUSEKI_EXE uncompress_fuseki LOCATION) 
     97 
     98SET(JOSEKI_INPUTS "") 
     99SET(JOSEKI_NAMES "") 
     100SET(GG_BUILT_SOURCES "") 
     101MACRO(BUILD_JOSEKI NAME PREFIX) 
     102    ADD_CUSTOM_COMMAND( 
     103        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.db 
     104        COMMAND ${JOSEKI_EXE} ${PREFIX} 
     105                ${CMAKE_CURRENT_SOURCE_DIR}/${NAME}.sgf 
     106                > ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.db 
     107        DEPENDS joseki ${CMAKE_CURRENT_SOURCE_DIR}/${NAME}.sgf 
     108    ) 
     109    SET(JOSEKI_INPUTS ${JOSEKI_INPUTS} 
     110                      "-i" ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.db) 
     111    SET(JOSEKI_NAMES ${JOSEKI_NAMES} 
     112                     ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.db) 
     113ENDMACRO(BUILD_JOSEKI) 
     114 
     115BUILD_JOSEKI(gogo JG) 
     116BUILD_JOSEKI(hoshi_keima JHK) 
     117BUILD_JOSEKI(hoshi_other JHO) 
     118BUILD_JOSEKI(komoku JK) 
     119BUILD_JOSEKI(sansan JS) 
     120BUILD_JOSEKI(mokuhazushi JM) 
     121BUILD_JOSEKI(takamoku JT) 
     122 
     123MACRO(RUN_MKPAT OPTIONS1 OPTIONS2 PATNAME DBNAME CNAME) 
     124    ADD_CUSTOM_COMMAND( 
     125        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CNAME} 
     126        COMMAND ${MKPAT_EXE} ${OPTIONS1} ${OPTIONS2} ${PATNAME} 
     127                             -i ${CMAKE_CURRENT_SOURCE_DIR}/${DBNAME} 
     128                             -o ${CMAKE_CURRENT_BINARY_DIR}/${CNAME} 
     129        DEPENDS mkpat ${CMAKE_CURRENT_SOURCE_DIR}/${DBNAME} 
     130        ) 
     131    SET(GG_BUILT_SOURCES ${GG_BUILT_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/${CNAME}) 
     132ENDMACRO(RUN_MKPAT) 
     133 
     134SET(DFAFLAGS -D -m) 
     135 
     136MACRO(RUN_MKPAT_DFA OPTIONS PATNAME DTRNAME DBNAME CNAME) 
     137    ADD_CUSTOM_COMMAND( 
     138        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CNAME} 
     139        COMMAND ${MKPAT_EXE} ${DFAFLAGS} ${OPTIONS} 
     140                             -t ${CMAKE_CURRENT_SOURCE_DIR}/${DTRNAME} ${PATNAME} 
     141                             -i ${CMAKE_CURRENT_SOURCE_DIR}/${DBNAME} 
     142                             -o ${CMAKE_CURRENT_BINARY_DIR}/${CNAME} 
     143        DEPENDS mkpat ${CMAKE_CURRENT_SOURCE_DIR}/${DBNAME} 
     144                      ${CMAKE_CURRENT_SOURCE_DIR}/${DTRNAME} 
     145        ) 
     146    SET(GG_BUILT_SOURCES ${GG_BUILT_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/${CNAME}) 
     147ENDMACRO(RUN_MKPAT_DFA) 
     148 
     149MACRO(RUN_UNCOMPRESS_FUSEKI BOARDSIZE) 
     150    ADD_CUSTOM_COMMAND( 
     151        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fuseki${BOARDSIZE}.c 
     152        COMMAND ${UNCOMPRESS_FUSEKI_EXE} ${BOARDSIZE} 
     153                             ${CMAKE_CURRENT_SOURCE_DIR}/fuseki${BOARDSIZE}.dbz 
     154                             c > ${CMAKE_CURRENT_BINARY_DIR}/fuseki${BOARDSIZE}.c 
     155        DEPENDS uncompress_fuseki 
     156                ${CMAKE_CURRENT_SOURCE_DIR}/fuseki${BOARDSIZE}.dbz 
     157        ) 
     158    SET(GG_BUILT_SOURCES ${GG_BUILT_SOURCES} 
     159                         ${CMAKE_CURRENT_BINARY_DIR}/fuseki${BOARDSIZE}.c) 
     160ENDMACRO(RUN_UNCOMPRESS_FUSEKI) 
     161 
     162# FIXME: It's very ugly that the RUN_MKPAT macro takes two separate 
     163# option arguments, where one is in most cases eliminated by using "". 
     164# The problem with just having one option argument is that specifying 
     165# it as "-c -b" causes the space to be escaped into "-c\ -b". There is 
     166# probably some trivial workaround for someone who actually knows cmake. 
     167RUN_MKPAT(-X "" attpat attack.db apatterns.c) 
     168RUN_MKPAT("" "" defpat defense.db dpatterns.c) 
     169RUN_MKPAT(-b "" handipat handicap.db handipat.c) 
     170RUN_MKPAT(-c "" influencepat influence.db influence.c) 
     171RUN_MKPAT(-c -b barrierspat barriers.db barriers.c) 
     172RUN_MKPAT(-b "" endpat endgame.db endgame.c) 
     173RUN_MKPAT(-c "" conn conn.db conn.c) 
     174RUN_MKPAT(-b "" fusekipat fuseki.db fusekipat.c) 
     175RUN_MKPAT_DFA(-b aa_attackpat aa_attackpats.dtr aa_attackpats.db aa_attackpat.c) 
     176RUN_MKPAT_DFA(-b owl_vital_apat owl_vital_apats.dtr owl_vital_apats.db owl_vital_apat.c) 
     177RUN_MKPAT_DFA(-b owl_attackpat owl_attackpats.dtr owl_attackpats.db owl_attackpat.c) 
     178RUN_MKPAT_DFA(-b owl_defendpat owl_defendpats.dtr owl_defendpats.db owl_defendpat.c) 
     179RUN_UNCOMPRESS_FUSEKI(9) 
     180RUN_UNCOMPRESS_FUSEKI(13) 
     181RUN_UNCOMPRESS_FUSEKI(19) 
     182 
     183ADD_CUSTOM_COMMAND( 
     184   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/josekidb.c 
     185   COMMAND ${MKPAT_EXE} -C joseki ${JOSEKI_INPUTS} 
     186                        -o ${CMAKE_CURRENT_BINARY_DIR}/josekidb.c 
     187   DEPENDS mkpat ${JOSEKI_NAMES} 
     188   ) 
     189SET(GG_BUILT_SOURCES ${GG_BUILT_SOURCES} 
     190                     ${CMAKE_CURRENT_BINARY_DIR}/josekidb.c) 
     191 
     192ADD_CUSTOM_COMMAND( 
     193   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/patterns.c 
     194   COMMAND ${MKPAT_EXE} -b pat -i ${CMAKE_CURRENT_SOURCE_DIR}/patterns.db 
     195                               -i ${CMAKE_CURRENT_SOURCE_DIR}/patterns2.db 
     196                               -o ${CMAKE_CURRENT_BINARY_DIR}/patterns.c 
     197   DEPENDS mkpat ${CMAKE_CURRENT_SOURCE_DIR}/patterns.db 
     198                 ${CMAKE_CURRENT_SOURCE_DIR}/patterns2.db 
     199   ) 
     200SET(GG_BUILT_SOURCES ${GG_BUILT_SOURCES} 
     201                     ${CMAKE_CURRENT_BINARY_DIR}/patterns.c) 
     202 
     203ADD_CUSTOM_COMMAND( 
     204   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/eyes.c 
     205   COMMAND ${MKEYES_EXE} < ${CMAKE_CURRENT_SOURCE_DIR}/eyes.db 
     206                         > ${CMAKE_CURRENT_BINARY_DIR}/eyes.c 
     207   DEPENDS mkeyes ${CMAKE_CURRENT_SOURCE_DIR}/eyes.db 
     208   ) 
     209SET(GG_BUILT_SOURCES ${GG_BUILT_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/eyes.c) 
     210 
     211ADD_CUSTOM_COMMAND( 
     212   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mcpat.c 
     213   COMMAND ${MKMCPAT_EXE} ${CMAKE_CURRENT_SOURCE_DIR}/mc_montegnu_classic.db 
     214                          ${CMAKE_CURRENT_SOURCE_DIR}/mc_mogo_classic.db 
     215                          ${CMAKE_CURRENT_SOURCE_DIR}/mc_uniform.db 
     216                          > ${CMAKE_CURRENT_BINARY_DIR}/mcpat.c 
     217   DEPENDS mkmcpat ${CMAKE_CURRENT_SOURCE_DIR}/mkmcpat.c 
     218                   ${CMAKE_CURRENT_SOURCE_DIR}/mc_montegnu_classic.db 
     219                   ${CMAKE_CURRENT_SOURCE_DIR}/mc_mogo_classic.db 
     220                   ${CMAKE_CURRENT_SOURCE_DIR}/mc_uniform.db 
     221   ) 
     222 
     223SET(GG_BUILT_SOURCES ${GG_BUILT_SOURCES} 
     224                     ${CMAKE_CURRENT_BINARY_DIR}/mcpat.c) 
     225 
     226 
     227 
     228########### patterns library ############### 
     229 
     230SET(patterns_STAT_SRCS 
     231    connections.c 
     232    helpers.c 
     233    transform.c 
     234    ${GG_BUILT_SOURCES} 
     235    ) 
     236 
     237ADD_LIBRARY(patterns STATIC ${patterns_STAT_SRCS}) 
  • regression/regress.pike

    diff --git a/regression/regress.pike b/regression/regress.pike
    index 248f621..eeb0925 100755
    a b  
    108108      werror("Finished waiting for writing to be finished.\n"); 
    109109     
    110110    while (1) { 
    111       string s = f->gets(); 
     111      string s = f->gets() - "\r"; 
    112112      float current_time = time(timebase); 
    113113      if (!s) 
    114114        break; 
  • (a) /dev/null vs. (b) b/sgf/CMakeLists.txt

    diff --git a/sgf/CMakeLists.txt b/sgf/CMakeLists.txt
    new file mode 100644
    index 0000000..b49846c
    a b  
     1INCLUDE_DIRECTORIES(${GNUGo_SOURCE_DIR}/utils) 
     2 
     3########### sgfgen program ############### 
     4 
     5SET(sgfgen_SRCS 
     6    sgfgen.c 
     7    ) 
     8 
     9ADD_EXECUTABLE(sgfgen ${sgfgen_SRCS}) 
     10 
     11TARGET_LINK_LIBRARIES(sgfgen) 
     12 
     13 
     14########### sgf library ############### 
     15 
     16SET(sgf_STAT_SRCS 
     17    sgf_utils.c 
     18    sgfnode.c 
     19    sgftree.c 
     20    ) 
     21 
     22ADD_LIBRARY(sgf STATIC ${sgf_STAT_SRCS}) 
  • sgf/sgfnode.c

    diff --git a/sgf/sgfnode.c b/sgf/sgfnode.c
    index 5985d0c..f0d93ab 100644
    a b  
    986986  } 
    987987  match(']'); 
    988988   
    989   /* Remove trailing whitespace */ 
     989  /* Remove trailing whitespace. The double cast below is needed 
     990   * because "char" may be represented as a signed char, in which case 
     991   * characters between 128 and 255 would be negative and a direct 
     992   * cast to int would cause a negative value to be passed to isspace, 
     993   * possibly causing an assertion failure. 
     994   */ 
    990995  --p; 
    991   while (p > buffer && isspace((int) *p)) 
     996  while (p > buffer && isspace((int) (unsigned char) *p)) 
    992997    --p; 
    993998  *++p = '\0'; 
    994999} 
  • (a) /dev/null vs. (b) b/utils/CMakeLists.txt

    diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
    new file mode 100644
    index 0000000..06fae36
    a b  
     1SET(utils_STAT_SRCS 
     2    getopt.c 
     3    getopt1.c 
     4    random.c 
     5    gg_utils.c 
     6    winsocket.c 
     7    ) 
     8 
     9ADD_LIBRARY(utils STATIC ${utils_STAT_SRCS}) 
  • utils/gg_utils.c

    diff --git a/utils/gg_utils.c b/utils/gg_utils.c
    index 8768e07..186dc1c 100644
    a b  
    224224  vsnprintf(dest, len, fmt, args); 
    225225#elif HAVE_G_VSNPRINTF 
    226226  g_vsnprintf(dest, len, fmt, args); 
    227 #elif HAVE_VISUAL_C 
     227#elif HAVE__VSNPRINTF 
    228228  _vsnprintf(dest, len, fmt, args); 
    229229#else 
    230230  UNUSED(len); 
     
    253253#ifdef HAVE_GETTIMEOFDAY 
    254254  gettimeofday(&tv, NULL); 
    255255#else 
    256   tv->tv_sec  = time(NULL); 
    257   tv->tv_usec = 0; 
     256  tv.tv_sec  = time(NULL); 
     257  tv.tv_usec = 0; 
    258258#endif 
    259259  return tv.tv_sec + 1.e-6 * tv.tv_usec; 
    260260} 
  • utils/gg_utils.h

    diff --git a/utils/gg_utils.h b/utils/gg_utils.h
    index 7e4f256..9e7d110 100644
    a b  
    4747#include <io.h> 
    4848#endif 
    4949 
    50 #ifdef HAVE_VISUAL_C 
     50#ifdef HAVE_WINSOCK_IO_H 
    5151#include <winsock.h> 
    5252#include <io.h> 
    5353#endif