build: Remove obsolete autoconf.
[platform/upstream/cmocka.git] / src / CMakeLists.txt
1 project(cmockery-library C)
2
3 set(CMOCKERY_PUBLIC_INCLUDE_DIRS
4     ${CMAKE_SOURCE_DIR}/src/google
5     CACHE INTERNAL "cmockery public include directories"
6 )
7
8 set(CMOCKERY_PRIVATE_INCLUDE_DIRS
9     ${CMAKE_BINARY_DIR}
10 )
11
12 set(CMOCKERY_SHARED_LIBRARY
13     cmockery_shared
14     CACHE INTERNAL "cmockery shared library"
15 )
16
17 if (WITH_STATIC_LIB)
18     set(CMOCKERY_STATIC_LIBRARY
19         cmockery_static
20         CACHE INTERNAL "cmockery static library"
21     )
22 endif (WITH_STATIC_LIB)
23
24 set(CMOCKERY_LINK_LIBRARIES
25     ${CMOCKERY_REQUIRED_LIBRARIES}
26     CACHE INTERNAL "cmockery link libraries"
27 )
28
29 set(cmockery_SRCS
30     cmockery.c
31 )
32
33 if (WIN32)
34     set(cmockery_SRCS
35         ${cmockery_SRCS}
36         cmockery.def
37     )
38 endif (WIN32)
39
40 include_directories(
41     ${CMOCKERY_PUBLIC_INCLUDE_DIRS}
42     ${CMOCKERY_PRIVATE_INCLUDE_DIRS}
43 )
44
45 add_definitions(-DHAVE_CONFIG_H=1)
46
47 add_library(${CMOCKERY_SHARED_LIBRARY} SHARED ${cmockery_SRCS})
48
49 target_link_libraries(${CMOCKERY_SHARED_LIBRARY} ${CMOCKERY_LINK_LIBRARIES})
50
51 set_target_properties(
52     ${CMOCKERY_SHARED_LIBRARY}
53         PROPERTIES
54             VERSION
55                 ${LIBRARY_VERSION}
56             SOVERSION
57                 ${LIBRARY_SOVERSION}
58             OUTPUT_NAME
59                 cmockery
60             DEFINE_SYMBOL
61                 CMOCKERY_EXPORTS
62 )
63
64 install(
65     TARGETS ${CMOCKERY_SHARED_LIBRARY}
66     RUNTIME DESTINATION ${BIN_INSTALL_DIR}
67     LIBRARY DESTINATION ${LIB_INSTALL_DIR}
68     ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
69     COMPONENT libraries
70 )
71
72 if (WITH_STATIC_LIB)
73     add_library(${CMOCKERY_STATIC_LIBRARY} STATIC ${cmockery_SRCS})
74
75     set_target_properties(
76         ${CMOCKERY_STATIC_LIBRARY}
77             PROPERTIES
78                 VERSION
79                     ${LIBRARY_VERSION}
80                 SOVERSION
81                     ${LIBRARY_SOVERSION}
82                 OUTPUT_NAME
83                     cmockery
84     )
85
86     install(
87         TARGETS ${CMOCKERY_STATIC_LIBRARY}
88         DESTINATION ${LIB_INSTALL_DIR}
89         COMPONENT libraries
90     )
91 endif (WITH_STATIC_LIB)
92
93 add_subdirectory(google)
94 add_subdirectory(example)