1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
7 MACRO(GET_TARGET_PROPERTY_WITH_DEFAULT _variable _target _property _default_value)
8 GET_TARGET_PROPERTY (${_variable} ${_target} ${_property})
9 IF (${_variable} MATCHES NOTFOUND)
10 SET (${_variable} ${_default_value})
11 ENDIF (${_variable} MATCHES NOTFOUND)
12 ENDMACRO (GET_TARGET_PROPERTY_WITH_DEFAULT)
14 MACRO(CREATE_LIBTOOL_FILE _target _install_DIR)
15 GET_TARGET_PROPERTY(_target_location ${_target} LOCATION)
16 GET_TARGET_PROPERTY_WITH_DEFAULT(_target_static_lib ${_target} STATIC_LIB "")
17 GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dependency_libs ${_target} LT_DEPENDENCY_LIBS "")
18 GET_TARGET_PROPERTY_WITH_DEFAULT(_target_current ${_target} LT_VERSION_CURRENT 0)
19 GET_TARGET_PROPERTY_WITH_DEFAULT(_target_age ${_target} LT_VERSION_AGE 0)
20 GET_TARGET_PROPERTY_WITH_DEFAULT(_target_revision ${_target} LT_VERSION_REVISION 0)
21 GET_TARGET_PROPERTY_WITH_DEFAULT(_target_installed ${_target} LT_INSTALLED yes)
22 GET_TARGET_PROPERTY_WITH_DEFAULT(_target_shouldnotlink ${_target} LT_SHOULDNOTLINK yes)
23 GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dlopen ${_target} LT_DLOPEN "")
24 GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dlpreopen ${_target} LT_DLPREOPEN "")
25 GET_FILENAME_COMPONENT(_laname ${_target_location} NAME_WE)
26 GET_FILENAME_COMPONENT(_soname ${_target_location} NAME)
27 SET(_laname2 ${_laname}.la)
28 SET(_laname ${PROJECT_BINARY_DIR}/${_laname}.la)
29 FILE(WRITE ${_laname} "# ${_laname2} - a libtool library file\n")
30 FILE(APPEND ${_laname} "# Generated by CMake ${CMAKE_VERSION} (like GNU libtool)\n")
31 FILE(APPEND ${_laname} "\n# Please DO NOT delete this file!\n# It is necessary for linking the library with libtool.\n\n" )
32 FILE(APPEND ${_laname} "# The name that we can dlopen(3).\n")
33 FILE(APPEND ${_laname} "dlname='${_soname}'\n\n")
34 FILE(APPEND ${_laname} "# Names of this library.\n")
35 FILE(APPEND ${_laname} "library_names='${_soname}.${_target_current}.${_target_age}.${_target_revision} ${_soname}.${_target_current} ${_soname}'\n\n")
36 FILE(APPEND ${_laname} "# The name of the static archive.\n")
37 FILE(APPEND ${_laname} "old_library='${_target_static_lib}'\n\n")
38 FILE(APPEND ${_laname} "# Libraries that this one depends upon.\n")
39 FILE(APPEND ${_laname} "dependency_libs='${_target_dependency_libs}'\n\n")
40 FILE(APPEND ${_laname} "# Names of additional weak libraries provided by this library\n")
41 FILE(APPEND ${_laname} "weak_library_names=\n\n")
42 FILE(APPEND ${_laname} "# Version information for ${_laname2}.\n")
43 FILE(APPEND ${_laname} "current=${_target_current}\n")
44 FILE(APPEND ${_laname} "age=${_target_age}\n")
45 FILE(APPEND ${_laname} "revision=${_target_revision}\n\n")
46 FILE(APPEND ${_laname} "# Is this an already installed library?\n")
47 FILE(APPEND ${_laname} "installed=${_target_installed}\n\n")
48 FILE(APPEND ${_laname} "# Should we warn about portability when linking against -modules?\n")
49 FILE(APPEND ${_laname} "shouldnotlink=${_target_shouldnotlink}\n\n")
50 FILE(APPEND ${_laname} "# Files to dlopen/dlpreopen\n")
51 FILE(APPEND ${_laname} "dlopen='${_target_dlopen}'\n")
52 FILE(APPEND ${_laname} "dlpreopen='${_target_dlpreopen}'\n\n")
53 FILE(APPEND ${_laname} "# Directory that this library needs to be installed in:\n")
54 FILE(APPEND ${_laname} "libdir='${CMAKE_INSTALL_PREFIX}${_install_DIR}'\n")
55 INSTALL( FILES ${_laname} DESTINATION ${CMAKE_INSTALL_PREFIX}${_install_DIR})
56 ENDMACRO(CREATE_LIBTOOL_FILE)
58 # Build type : Release
59 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
60 SET(CMAKE_BUILD_TYPE "Release")
61 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
62 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
64 # Set required packages
65 INCLUDE(FindPkgConfig)
66 pkg_check_modules(pkgs REQUIRED vconf glib-2.0 dbus-1 dbus-glib-1 gthread-2.0 dlog)
68 FOREACH(flag ${pkgs_CFLAGS})
69 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -g -DUSE_DLOG")
72 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
73 ${CMAKE_SOURCE_DIR}/src/include)
75 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lpthread -g -DUSE_DLOG")
76 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DUSE_DLOG")
77 SET(CMAKE_C_FLAGS_RELEASE "-O2")
79 FIND_PROGRAM(UNAME NAMES uname)
80 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
81 IF("${ARCH}" STREQUAL "arm")
82 ADD_DEFINITIONS("-DTARGET")
83 MESSAGE("add -DTARGET")
84 ENDIF("${ARCH}" STREQUAL "arm")
86 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
87 ADD_DEFINITIONS("-DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\" ")
90 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
94 wifi-direct-client-proxy.c
98 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
99 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
100 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION} SOVERSION 0)
101 CREATE_LIBTOOL_FILE(${PROJECT_NAME} /lib)
104 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
105 CONFIGURE_FILE(wifi-direct.pc.in wifi-direct.pc @ONLY)
108 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT Runtime)
109 INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/wifi-direct.h DESTINATION include/wifi-direct)
110 INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/wifi-direct-internal.h DESTINATION include/wifi-direct)
111 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/wifi-direct.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)