Imported Upstream version 0.6.14
[platform/upstream/libsolv.git] / bindings / perl / CMakeLists.txt
1 FIND_PACKAGE (Perl)
2
3 EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -e "use Config; print \$Config{ccflags}" OUTPUT_VARIABLE PERL_CCFLAGS)
4 EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -e "use Config; print \$Config{archlib}.\"/CORE\"" OUTPUT_VARIABLE PERL_CORE_DIR)
5 EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -e "use Config; print \$Config{ccldflags}" OUTPUT_VARIABLE PERL_CCLDFLAGS)
6 EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -e "use Config; print \$Config{installsitearch}" OUTPUT_VARIABLE PERL_SITEARCHDIR)
7 EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -e "use Config; print \$Config{installvendorarch}" OUTPUT_VARIABLE PERL_VENDORARCHDIR)
8
9 IF (USE_VENDORDIRS)
10     SET (PERL_INSTALL_DIR ${PERL_VENDORARCHDIR})
11 ELSE (USE_VENDORDIRS)
12     SET (PERL_INSTALL_DIR ${PERL_SITEARCHDIR})
13 ENDIF (USE_VENDORDIRS)
14
15 MESSAGE (STATUS "Perl executable: ${PERL_EXECUTABLE}")
16 MESSAGE (STATUS "Perl installation dir: ${PERL_INSTALL_DIR}")
17
18 ADD_CUSTOM_COMMAND (
19     OUTPUT solv_perl.c
20     COMMAND ${SWIG_EXECUTABLE} -perl ${SWIG_FLAGS} -I${CMAKE_SOURCE_DIR}/src -o solv_perl.c ${CMAKE_SOURCE_DIR}/bindings/solv.i
21     COMMAND sed -i -e "s/SvTYPE(tsv) == SVt_PVHV/SvTYPE(tsv) == SVt_PVHV || SvTYPE(tsv) == SVt_PVAV/" solv_perl.c
22     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
23     DEPENDS ${CMAKE_SOURCE_DIR}/bindings/solv.i
24     VERBATIM
25 )
26
27 ADD_DEFINITIONS(${PERL_CCFLAGS} -Wno-unused -Wno-nonnull)
28 LINK_DIRECTORIES (${PERL_CORE_DIR})
29 INCLUDE_DIRECTORIES (${PERL_INCLUDE_PATH} ${PERL_CORE_DIR})
30
31 ADD_LIBRARY (bindings_perl MODULE solv_perl.c)
32 SET_TARGET_PROPERTIES (bindings_perl PROPERTIES PREFIX "" OUTPUT_NAME "solv")
33 SET_TARGET_PROPERTIES (bindings_perl PROPERTIES LINK_FLAGS "${PERL_CCLDFLAGS}")
34 TARGET_LINK_LIBRARIES (bindings_perl libsolvext libsolv ${SYSTEM_LIBRARIES})
35
36 INSTALL (TARGETS bindings_perl LIBRARY DESTINATION ${PERL_INSTALL_DIR})
37 INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/solv.pm DESTINATION ${PERL_INSTALL_DIR})