Skip to content

Commit

Permalink
Add the headerfiles to the generated project files
Browse files Browse the repository at this point in the history
Change-Id: I0a82af82a6bee74a21942346b268e249205a0d9b
Reviewed-on: http://review.couchbase.org/33992
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Trond Norbye <trond.norbye@gmail.com>
  • Loading branch information
trondn committed Feb 27, 2014
1 parent 8d2c92d commit 267f7e1
Showing 1 changed file with 47 additions and 21 deletions.
68 changes: 47 additions & 21 deletions CMakeLists.txt
@@ -1,19 +1,30 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

ADD_LIBRARY(vbucket SHARED src/vbucket.c src/ketama.c src/crc32.c)
INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR})

ADD_LIBRARY(vbucket SHARED
include/cJSON.h
include/libvbucket/vbucket.h
include/libvbucket/visibility.h
src/crc32.c
src/hash.h
src/hash.h
src/ketama.c
src/rfc1321/global.h
src/rfc1321/md5.h
src/vbucket.c)

SET_TARGET_PROPERTIES(vbucket PROPERTIES SOVERSION 1.1.1)
SET_TARGET_PROPERTIES(vbucket PROPERTIES
COMPILE_FLAGS -DBUILDING_LIBVBUCKET=1)
SET_TARGET_PROPERTIES(vbucket PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib)


ADD_LIBRARY(cJSON SHARED src/cJSON.c)
ADD_LIBRARY(cJSON SHARED src/cJSON.c include/cJSON.h)
SET_TARGET_PROPERTIES(cJSON PROPERTIES SOVERSION 1.0.0)
SET_TARGET_PROPERTIES(cJSON PROPERTIES COMPILE_FLAGS -DBUILDING_CJSON=1)
SET_TARGET_PROPERTIES(cJSON PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib)

INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR})

IF (WIN32)
INCLUDE_DIRECTORIES(AFTER ${CMAKE_CURRENT_SOURCE_DIR}/win32)
Expand All @@ -24,37 +35,52 @@ ELSE (WIN32)
ENDIF (WIN32)

IF (INSTALL_HEADER_FILES)
INSTALL(FILES
include/libvbucket/vbucket.h
include/libvbucket/visibility.h
DESTINATION include/libvbucket)
INSTALL(FILES include/cJSON.h DESTINATION include)
INSTALL(FILES
include/libvbucket/vbucket.h
include/libvbucket/visibility.h
DESTINATION include/libvbucket)
INSTALL(FILES include/cJSON.h DESTINATION include)
ENDIF(INSTALL_HEADER_FILES)

INSTALL(TARGETS vbucket cJSON
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)

ADD_EXECUTABLE(vbuckettool src/vbuckettool.c)
ADD_EXECUTABLE(vbuckettool
include/libvbucket/vbucket.h
include/libvbucket/visibility.h
src/vbuckettool.c)
TARGET_LINK_LIBRARIES(vbuckettool vbucket)

ADD_EXECUTABLE(vbucketkeygen src/vbucketkeygen.c)
ADD_EXECUTABLE(vbucketkeygen
include/libvbucket/vbucket.h
include/libvbucket/visibility.h
src/vbucketkeygen.c)
TARGET_LINK_LIBRARIES(vbucketkeygen vbucket)

#
# The tests. These are automatically executed as part of the build!
#
ADD_EXECUTABLE(libvbucket_testapp tests/testapp.c)
ADD_EXECUTABLE(libvbucket_testapp
include/libvbucket/vbucket.h
include/libvbucket/visibility.h
tests/macros.h
tests/testapp.c)
TARGET_LINK_LIBRARIES(libvbucket_testapp vbucket)

ADD_EXECUTABLE(libvbucket_regression tests/regression.c)
ADD_EXECUTABLE(libvbucket_regression
include/libvbucket/vbucket.h
include/libvbucket/visibility.h
tests/macros.h
tests/regression.c)
TARGET_LINK_LIBRARIES(libvbucket_regression vbucket)

ADD_EXECUTABLE(libvbucket_testketama tests/testketama.c src/ketama.c)
SET_TARGET_PROPERTIES(libvbucket_testketama PROPERTIES
COMPILE_FLAGS -I${CMAKE_CURRENT_SOURCE_DIR})
ADD_EXECUTABLE(libvbucket_testketama
src/ketama.c
src/rfc1321/global.h
src/rfc1321/md5.h
tests/testketama.c)
TARGET_LINK_LIBRARIES(libvbucket_testketama vbucket)

ADD_TEST(libvbucket-basic-tests libvbucket_testapp ${CMAKE_CURRENT_SOURCE_DIR})
Expand Down

0 comments on commit 267f7e1

Please sign in to comment.