blob: 2b3c486ca5daf4adf82d11da1c8210ee4380eb05 [file] [log] [blame]
project(cmocka-library C)
set(CMOCKA_PUBLIC_INCLUDE_DIRS
${CMAKE_SOURCE_DIR}/include
CACHE INTERNAL "cmocka public include directories"
)
set(CMOCKA_PRIVATE_INCLUDE_DIRS
${CMAKE_BINARY_DIR}
)
set(CMOCKA_SHARED_LIBRARY
cmocka_shared
CACHE INTERNAL "cmocka shared library"
)
if (WITH_STATIC_LIB)
set(CMOCKA_STATIC_LIBRARY
cmocka_static
CACHE INTERNAL "cmocka static library"
)
endif (WITH_STATIC_LIB)
set(CMOCKA_LINK_LIBRARIES
${CMOCKA_REQUIRED_LIBRARIES}
CACHE INTERNAL "cmocka link libraries"
)
set(cmocka_SRCS
cmocka.c
)
if (WIN32)
set(cmocka_SRCS
${cmocka_SRCS}
cmocka.def
)
endif (WIN32)
include_directories(
${CMOCKA_PUBLIC_INCLUDE_DIRS}
${CMOCKA_PRIVATE_INCLUDE_DIRS}
)
add_definitions(-DHAVE_CONFIG_H=1)
add_library(${CMOCKA_SHARED_LIBRARY} SHARED ${cmocka_SRCS})
target_link_libraries(${CMOCKA_SHARED_LIBRARY} ${CMOCKA_LINK_LIBRARIES})
set_target_properties(
${CMOCKA_SHARED_LIBRARY}
PROPERTIES
VERSION
${LIBRARY_VERSION}
SOVERSION
${LIBRARY_SOVERSION}
OUTPUT_NAME
cmocka
DEFINE_SYMBOL
CMOCKA_EXPORTS
)
install(
TARGETS ${CMOCKA_SHARED_LIBRARY}
RUNTIME DESTINATION ${BIN_INSTALL_DIR}
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
COMPONENT libraries
)
if (WITH_STATIC_LIB)
add_library(${CMOCKA_STATIC_LIBRARY} STATIC ${cmocka_SRCS})
set_target_properties(
${CMOCKA_STATIC_LIBRARY}
PROPERTIES
VERSION
${LIBRARY_VERSION}
SOVERSION
${LIBRARY_SOVERSION}
OUTPUT_NAME
cmocka
)
install(
TARGETS ${CMOCKA_STATIC_LIBRARY}
DESTINATION ${LIB_INSTALL_DIR}
COMPONENT libraries
)
endif (WITH_STATIC_LIB)