1 project(cmocka-library C)
3 set(CMOCKA_PLATFORM_INCLUDE CACHE PATH "Path to include directory for cmocka_platform.h")
5 set(CMOCKA_PUBLIC_INCLUDE_DIRS
6 ${CMAKE_SOURCE_DIR}/include
7 ${CMOCKA_PLATFORM_INCLUDE}
8 CACHE INTERNAL "cmocka public include directories"
11 set(CMOCKA_PRIVATE_INCLUDE_DIRS
15 set(CMOCKA_SHARED_LIBRARY
17 CACHE INTERNAL "cmocka shared library"
21 set(CMOCKA_STATIC_LIBRARY
23 CACHE INTERNAL "cmocka static library"
25 endif (WITH_STATIC_LIB)
27 set(CMOCKA_LINK_LIBRARIES
28 ${CMOCKA_REQUIRED_LIBRARIES}
29 CACHE INTERNAL "cmocka link libraries"
44 ${CMOCKA_PUBLIC_INCLUDE_DIRS}
45 ${CMOCKA_PRIVATE_INCLUDE_DIRS}
48 add_definitions(-DHAVE_CONFIG_H=1)
49 if (CMOCKA_PLATFORM_INCLUDE)
50 add_definitions(-DCMOCKA_PLATFORM_INCLUDE=1)
53 add_library(${CMOCKA_SHARED_LIBRARY} SHARED ${cmocka_SRCS})
55 target_link_libraries(${CMOCKA_SHARED_LIBRARY} ${CMOCKA_LINK_LIBRARIES})
56 set_target_properties(
57 ${CMOCKA_SHARED_LIBRARY}
66 set_target_properties(
67 ${CMOCKA_SHARED_LIBRARY}
77 TARGETS ${CMOCKA_SHARED_LIBRARY}
78 RUNTIME DESTINATION ${BIN_INSTALL_DIR}
79 LIBRARY DESTINATION ${LIB_INSTALL_DIR}
80 ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
85 add_library(${CMOCKA_STATIC_LIBRARY} STATIC ${cmocka_SRCS})
87 set_target_properties(
88 ${CMOCKA_STATIC_LIBRARY}
99 TARGETS ${CMOCKA_STATIC_LIBRARY}
100 DESTINATION ${LIB_INSTALL_DIR}
103 endif (WITH_STATIC_LIB)
106 cmake_policy(SET CMP0026 OLD)
110 # In order to run tests we will need to set the approriate environment
111 # variable so that the test program can locate its dependent DLL's. First
112 # we want to know what directory our dependent DLL was installed into:
114 get_target_property(_cmocka_dir cmocka_shared LOCATION_${CMOCKA_BUILD_TYPE})
115 get_filename_component(_cmocka_path "${_cmocka_dir}" PATH)
116 file(TO_NATIVE_PATH "${_cmocka_path}" _cmocka_path_native)
118 set(CMOCKA_DLL_PATH "${_cmocka_path_native}" PARENT_SCOPE)