Imported Upstream version 0.7.27
[platform/upstream/libsolv.git] / bindings / tcl / CMakeLists.txt
1 FIND_PACKAGE (TCL)
2
3 SET (SWIG_TCL_FLAGS -namespace -pkgversion ${VERSION})
4
5 EXECUTE_PROCESS (
6     COMMAND echo "puts -nonewline [lindex [::tcl::tm::list] end]"
7     COMMAND ${TCL_TCLSH}
8     OUTPUT_VARIABLE TCL_INSTALL_DIR
9 )
10
11 MESSAGE (STATUS "Tclsh executable: ${TCL_TCLSH}")
12 MESSAGE (STATUS "Tcl installation dir: ${TCL_INSTALL_DIR}")
13
14 ADD_CUSTOM_COMMAND (
15     OUTPUT solv_tcl.c
16     COMMAND ${SWIG_EXECUTABLE} ${SWIG_FLAGS} -tcl ${SWIG_TCL_FLAGS} -I${CMAKE_SOURCE_DIR}/src -o solv_tcl.c ${CMAKE_SOURCE_DIR}/bindings/solv.i
17     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
18     DEPENDS ${CMAKE_SOURCE_DIR}/bindings/solv.i
19 )
20
21 ADD_DEFINITIONS(-Wno-unused -Wno-missing-braces)
22 INCLUDE_DIRECTORIES (${TCL_INCLUDE_PATH})
23
24 ADD_LIBRARY (bindings_tcl SHARED solv_tcl.c)
25 SET_TARGET_PROPERTIES (bindings_tcl PROPERTIES PREFIX "" OUTPUT_NAME "solv-${VERSION}" INSTALL_NAME_DIR "${TCL_INSTALL_DIR}")
26 TARGET_LINK_LIBRARIES (bindings_tcl libsolvext libsolv ${TCL_LIBRARY} ${SYSTEM_LIBRARIES})
27 INSTALL (TARGETS bindings_tcl LIBRARY DESTINATION ${TCL_INSTALL_DIR})
28
29 ADD_CUSTOM_COMMAND (
30     OUTPUT solv.tm
31         COMMAND sed -e "s/__VERSION__/${VERSION}/" ${CMAKE_SOURCE_DIR}/bindings/tcl/solv.tm.in >${CMAKE_CURRENT_BINARY_DIR}/solv.tm
32     DEPENDS ${CMAKE_SOURCE_DIR}/bindings/tcl/solv.tm.in
33     COMMENT "Creating Tcl module to load libsolv"
34 )
35 ADD_CUSTOM_TARGET (solv_tm ALL DEPENDS solv.tm)
36 SET_SOURCE_FILES_PROPERTIES (solv.tm PROPERTIES GENERATED TRUE)
37
38 INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/solv.tm DESTINATION ${TCL_INSTALL_DIR} RENAME solv-${VERSION}.tm)