add_definitions( -DTCL_THREADS -DTOLBASE_VERSION=\"${TOLBASE_VERSION_MAJOR}.${TOLBASE_VERSION_MINOR}\")
include_directories( ${TCL_INCLUDE_PATH} ${TOL_INCLUDE_DIR} )
 
message( STATUS "Using TCL_INCLUDE_PATH = ${TCL_INCLUDE_PATH}" )
message( STATUS "Using TCL_LIBRARY = ${TCL_LIBRARY}" )
message( STATUS "Using TK_LIBRARY = ${TK_LIBRARY}" )

if ( WIN32 )
  set( CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -mwindows" )
endif( WIN32 )

set(RES_FILES "")
if(MINGW)
  set(RES_FILES "tolbase-gnu.rc")
  set(CMAKE_RC_COMPILER_INIT windres)
  ENABLE_LANGUAGE(RC)
  if(CMAKE_SIZEOF_VOID_P EQUAL 4)
    SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT> -F pe-i386")
  else(CMAKE_SIZEOF_VOID_P EQUAL 4)
    SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT> -F pe-x86-64")
  endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
endif(MINGW)

if( UNIX )
  SET(CMAKE_INSTALL_RPATH "$ORIGIN/../lib")
endif( UNIX )

# Paso 3.3: la pagina ANSI del proceso en UTF-8, por manifiesto. Los porques y
# las medidas estan en tol/tol-utf8.manifest.
if( MINGW )
  set( CMAKE_RC_COMPILER_INIT windres )
  enable_language( RC )
  # La regla por defecto le pasa a windres <FLAGS>, que son las banderas del
  # compilador de C, y windres muere con "invalid option -- W". Se le pasan los
  # <DEFINES> --que son -D y si los entiende-- y nada mas.
  if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
    set( CMAKE_RC_COMPILE_OBJECT
         "<CMAKE_RC_COMPILER> -O coff <DEFINES> -i <SOURCE> -o <OBJECT> -F pe-i386" )
  else( CMAKE_SIZEOF_VOID_P EQUAL 4 )
    set( CMAKE_RC_COMPILE_OBJECT
         "<CMAKE_RC_COMPILER> -O coff <DEFINES> -i <SOURCE> -o <OBJECT> -F pe-x86-64" )
  endif( CMAKE_SIZEOF_VOID_P EQUAL 4 )
  set( TOL_UTF8_MANIFEST "${CMAKE_CURRENT_SOURCE_DIR}/../../tol/tol-utf8.manifest" )
  configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/../../tol/tol-utf8.rc.in"
                  "${CMAKE_CURRENT_BINARY_DIR}/tol-utf8.rc" @ONLY )
  set( TOL_UTF8_RC "${CMAKE_CURRENT_BINARY_DIR}/tol-utf8.rc" )
  # El .rc generado solo NOMBRA al manifiesto, asi que sin esto cambiar el
  # manifiesto no recompila nada y se mide un binario viejo creyendolo nuevo.
  set_source_files_properties( ${TOL_UTF8_RC} PROPERTIES
                               OBJECT_DEPENDS "${TOL_UTF8_MANIFEST}" )
else( MINGW )
  set( TOL_UTF8_RC "" )
endif( MINGW )
add_executable( tolbase tolbase.c ${RES_FILES} ${TOL_UTF8_RC})

if( WIN32 )
  target_link_libraries( tolbase ${TCL_LIBRARY} ${TK_LIBRARY} )
else( WIN32 )
  target_link_libraries( tolbase ${TCL_LIBRARY} ${TK_LIBRARY} ${TOL_LIBRARY} )
endif( WIN32 )

message( STATUS "TOLBASE_DEST_DIR = ${TOLBASE_DEST_DIR}" )
install( TARGETS tolbase RUNTIME DESTINATION "bin" )
