File: build_depends.cmake

package info (click to toggle)
mariadb 1%3A11.8.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 772,520 kB
  • sloc: ansic: 2,414,714; cpp: 1,791,394; asm: 381,336; perl: 62,905; sh: 49,647; pascal: 40,897; java: 39,363; python: 20,791; yacc: 20,432; sql: 17,907; xml: 12,344; ruby: 8,544; cs: 6,542; makefile: 6,145; ada: 1,879; lex: 1,193; javascript: 996; objc: 80; tcl: 73; awk: 46; php: 22
file content (46 lines) | stat: -rw-r--r-- 1,471 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
IF(RPM)
  MACRO(FIND_DEP V)
    SET(out ${V}_DEP)
    IF (NOT DEFINED ${out})
      IF(EXISTS ${${V}} AND NOT IS_DIRECTORY ${${V}})
        EXECUTE_PROCESS(COMMAND ${ARGN} RESULT_VARIABLE res OUTPUT_VARIABLE O OUTPUT_STRIP_TRAILING_WHITESPACE)
      ELSE()
        SET(res 1)
      ENDIF()
      IF (res)
        SET(O)
      ELSE()
        MESSAGE(STATUS "Need ${O} for ${${V}}")
      ENDIF()
      SET(${out} ${O} CACHE INTERNAL "Package that contains ${${V}}" FORCE)
    ENDIF()
  ENDMACRO()

  # FindBoost.cmake doesn't leave any trace, do it here
  IF (Boost_INCLUDE_DIR)
    FIND_FILE(Boost_config_hpp boost/config.hpp PATHS ${Boost_INCLUDE_DIR})
  ENDIF()

  GET_CMAKE_PROPERTY(ALL_VARS CACHE_VARIABLES)
  FOREACH (V ${ALL_VARS})
    GET_PROPERTY(H CACHE ${V} PROPERTY HELPSTRING)
    IF (H MATCHES "^Have library [^/]" AND ${V})
      STRING(REGEX REPLACE "^Have library " "" L ${H})
      SET(V ${L}_LIBRARY)
      FIND_LIBRARY(${V} ${L})
    ENDIF()
    GET_PROPERTY(T CACHE ${V} PROPERTY TYPE)
    IF ((T STREQUAL FILEPATH OR V MATCHES "^CMAKE_COMMAND$") AND ${V} MATCHES "^/")
      IF (RPM)
        FIND_DEP(${V} rpm -q --qf "%{NAME}" -f ${${V}})
      ELSE() # must be DEB
        MESSAGE(FATAL_ERROR "Not implemented")
      ENDIF ()
      SET(BUILD_DEPS ${BUILD_DEPS} ${${V}_DEP})
    ENDIF()
  ENDFOREACH()
  IF (BUILD_DEPS)
    LIST(REMOVE_DUPLICATES BUILD_DEPS)
    STRING(REPLACE ";" " " CPACK_RPM_BUILDREQUIRES "${BUILD_DEPS}")
  ENDIF()
ENDIF(RPM)