| 1 | cmake_minimum_required( VERSION 2.8 ) |
|---|
| 2 | project( TOLTCL ) |
|---|
| 3 | |
|---|
| 4 | set( INSTALL_WITH_TOL 1 ) |
|---|
| 5 | |
|---|
| 6 | set( CMAKE_MODULE_PATH |
|---|
| 7 | "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" |
|---|
| 8 | ${CMAKE_MODULE_PATH} ) |
|---|
| 9 | |
|---|
| 10 | include( LibFindMacros ) |
|---|
| 11 | |
|---|
| 12 | # The version number. |
|---|
| 13 | set (TOLTCL_VERSION_MAJOR 3) |
|---|
| 14 | set (TOLTCL_VERSION_MINOR 2) |
|---|
| 15 | |
|---|
| 16 | # look for tol |
|---|
| 17 | find_package( TOL REQUIRED ) |
|---|
| 18 | if( TOL_FOUND ) |
|---|
| 19 | message( STATUS "TOL_INCLUDE_DIR = ${TOL_INCLUDE_DIR}" ) |
|---|
| 20 | message( STATUS "TOL_LIBRARIES = ${TOL_LIBRARIES}" ) |
|---|
| 21 | else( TOL_FOUND ) |
|---|
| 22 | endif( TOL_FOUND ) |
|---|
| 23 | |
|---|
| 24 | # look for tcl |
|---|
| 25 | if ( WIN32 AND TOL_PREFIX_PATH ) |
|---|
| 26 | if( CMAKE_BUILD_TYPE STREQUAL "Debug" ) |
|---|
| 27 | set( g "g" ) |
|---|
| 28 | endif( CMAKE_BUILD_TYPE STREQUAL "Debug" ) |
|---|
| 29 | file( TO_CMAKE_PATH "${TOL_PREFIX_PATH}" TCL_LIBRARY_PATH ) |
|---|
| 30 | set( TCL_LIBRARY_PATH "${TCL_LIBRARY_PATH}/lib" ) |
|---|
| 31 | message( STATUS "buscando tcl libs en ${TCL_LIBRARY_PATH}" ) |
|---|
| 32 | find_library( TCL_STUB_LIBRARY |
|---|
| 33 | NAMES "libtclstub84" "libtclstub85" "libtclstub86" |
|---|
| 34 | PATHS ${TCL_LIBRARY_PATH} |
|---|
| 35 | NO_DEFAULT_PATH |
|---|
| 36 | ) |
|---|
| 37 | find_library( TCL_LIBRARY |
|---|
| 38 | NAMES "libtcl84" "libtcl85" "libtcl86" |
|---|
| 39 | PATHS "${TCL_LIBRARY_PATH}" |
|---|
| 40 | NO_DEFAULT_PATH |
|---|
| 41 | ) |
|---|
| 42 | find_path( |
|---|
| 43 | TCL_INCLUDE_PATH |
|---|
| 44 | NAMES "tcl.h" |
|---|
| 45 | PATHS "${TOL_PREFIX_PATH}/include" |
|---|
| 46 | NO_DEFAULT_PATH |
|---|
| 47 | ) |
|---|
| 48 | set( TCL_PROCESS_INCLUDES TCL_INCLUDE_PATH ) |
|---|
| 49 | set( TCL_PROCESS_LIBS TCL_STUB_LIBRARY ) |
|---|
| 50 | libfind_process( TCL ) |
|---|
| 51 | else( WIN32 AND TOL_PREFIX_PATH ) |
|---|
| 52 | find_package( TclStub REQUIRED ) |
|---|
| 53 | endif( WIN32 AND TOL_PREFIX_PATH ) |
|---|
| 54 | |
|---|
| 55 | if( TCL_FOUND ) |
|---|
| 56 | string(REGEX REPLACE |
|---|
| 57 | "^.*tclstub([0-9])\\.([0-9]).*$" "\\1;\\2" |
|---|
| 58 | TCL_STUB_VERSION "${TCL_STUB_LIBRARY}") |
|---|
| 59 | message( STATUS "TCL_STUB_VERSION = ${TCL_STUB_VERSION}" ) |
|---|
| 60 | list( GET TCL_STUB_VERSION 0 TCL_MAJOR_VERSION ) |
|---|
| 61 | #list( GET TCL_STUB_VERSION 1 TCL_MINOR_VERSION ) |
|---|
| 62 | message( STATUS "TCL_STUB_VERSION = ${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}" ) |
|---|
| 63 | message( STATUS ${TCL_STUB_LIBRARY} ) |
|---|
| 64 | message( STATUS ${TCL_INCLUDE_PATH} ) |
|---|
| 65 | message( STATUS ${TCL_LIBRARY_PATH} ) |
|---|
| 66 | if( ${INSTALL_WITH_TOL} ) |
|---|
| 67 | set( CMAKE_INSTALL_PREFIX ${TOL_PREFIX_PATH} ) |
|---|
| 68 | else( ${INSTALL_WITH_TOL} ) |
|---|
| 69 | get_filename_component( CMAKE_INSTALL_PREFIX ${TCL_LIBRARY_PATH} PATH ) |
|---|
| 70 | endif( ) |
|---|
| 71 | if( WIN32 ) |
|---|
| 72 | string( REPLACE "\\" "/" CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ) |
|---|
| 73 | endif( WIN32 ) |
|---|
| 74 | message( STATUS "Using CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" ) |
|---|
| 75 | else( TCL_FOUND ) |
|---|
| 76 | message( SEND_ERROR "TCL extensions need Tcl Stubs library" ) |
|---|
| 77 | endif( TCL_FOUND ) |
|---|
| 78 | |
|---|
| 79 | set( TOLTCL_DEST_DIR "lib/toltcl${TOLTCL_VERSION_MAJOR}.${TOLTCL_VERSION_MINOR}" |
|---|
| 80 | CACHE INTERNAL "" ) |
|---|
| 81 | |
|---|
| 82 | if( UNIX ) |
|---|
| 83 | add_subdirectory( bin ) |
|---|
| 84 | endif( UNIX ) |
|---|
| 85 | |
|---|
| 86 | add_subdirectory( generic ) |
|---|
| 87 | add_subdirectory( library ) |
|---|
| 88 | |
|---|