Skip to content

Commit f07fc84

Browse files
committed
add options for cmake
1 parent 647f7a2 commit f07fc84

File tree

5 files changed

+36
-28
lines changed

5 files changed

+36
-28
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ before_install:
2121

2222
script:
2323
- mkdir -p ./build && cd ./build
24-
- cmake -DCMAKE_BUILD_TYPE=Release ..
24+
- cmake -DCMAKE_BUILD_TYPE=Release -DLIBIPC_BUILD_TESTS=ON ..
2525
- make -j`nproc`
2626
- export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH && ./bin/test-ipc
2727

CMakeLists.txt

100644100755
Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,33 @@
11
cmake_minimum_required(VERSION 3.10)
22
project(cpp-ipc)
33

4+
option(LIBIPC_BUILD_TESTS "Build all of libipc's own tests." OFF)
5+
option(LIBIPC_BUILD_DEMOS "Build all of libipc's own demos." OFF)
6+
47
set(CMAKE_CXX_STANDARD 17)
58
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG")
69
if(NOT MSVC)
7-
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
10+
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
811
endif()
912

1013
include_directories(${CMAKE_SOURCE_DIR}/include)
1114

1215
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
1316
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
17+
set(LIBIPC_PROJECT_DIR ${PROJECT_SOURCE_DIR})
1418

1519
add_subdirectory(src)
1620

17-
set(GOOGLETEST_VERSION 1.10.0)
18-
add_subdirectory(3rdparty/gtest)
19-
add_subdirectory(test)
21+
if (LIBIPC_BUILD_TESTS)
22+
set(GOOGLETEST_VERSION 1.10.0)
23+
add_subdirectory(3rdparty/gtest)
24+
add_subdirectory(test)
25+
endif()
2026

21-
add_subdirectory(demo/chat)
22-
add_subdirectory(demo/msg_que)
27+
if (LIBIPC_BUILD_DEMOS)
28+
add_subdirectory(demo/chat)
29+
add_subdirectory(demo/msg_que)
30+
endif()
2331

2432
install(
2533
DIRECTORY "include/"

demo/msg_que/CMakeLists.txt

100644100755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
project(msg_que)
22

33
include_directories(
4-
${CMAKE_SOURCE_DIR}/3rdparty)
4+
${LIBIPC_PROJECT_DIR}/3rdparty)
55

66
file(GLOB SRC_FILES ./*.cpp)
77
file(GLOB HEAD_FILES ./*.h)

src/CMakeLists.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,24 @@ if(NOT MSVC)
77
endif()
88

99
include_directories(
10-
${CMAKE_SOURCE_DIR}/include
11-
${CMAKE_SOURCE_DIR}/src)
10+
${LIBIPC_PROJECT_DIR}/include
11+
${LIBIPC_PROJECT_DIR}/src)
1212

1313
if(UNIX)
14-
file(GLOB SRC_FILES ${CMAKE_SOURCE_DIR}/src/libipc/platform/*_linux.cpp)
14+
file(GLOB SRC_FILES ${LIBIPC_PROJECT_DIR}/src/libipc/platform/*_linux.cpp)
1515
else()
16-
file(GLOB SRC_FILES ${CMAKE_SOURCE_DIR}/src/libipc/platform/*_win.cpp)
16+
file(GLOB SRC_FILES ${LIBIPC_PROJECT_DIR}/src/libipc/platform/*_win.cpp)
1717
endif()
18-
aux_source_directory(${CMAKE_SOURCE_DIR}/src SRC_FILES)
18+
aux_source_directory(${LIBIPC_PROJECT_DIR}/src SRC_FILES)
1919

2020
file(GLOB HEAD_FILES
21-
${CMAKE_SOURCE_DIR}/include/libipc/*.h
22-
${CMAKE_SOURCE_DIR}/src/libipc/*.h
23-
${CMAKE_SOURCE_DIR}/src/libipc/*.inc
24-
${CMAKE_SOURCE_DIR}/src/libipc/circ/*.h
25-
${CMAKE_SOURCE_DIR}/src/libipc/memory/*.h
26-
${CMAKE_SOURCE_DIR}/src/libipc/platform/*.h
27-
${CMAKE_SOURCE_DIR}/src/libipc/utility/*.h)
21+
${LIBIPC_PROJECT_DIR}/include/libipc/*.h
22+
${LIBIPC_PROJECT_DIR}/src/libipc/*.h
23+
${LIBIPC_PROJECT_DIR}/src/libipc/*.inc
24+
${LIBIPC_PROJECT_DIR}/src/libipc/circ/*.h
25+
${LIBIPC_PROJECT_DIR}/src/libipc/memory/*.h
26+
${LIBIPC_PROJECT_DIR}/src/libipc/platform/*.h
27+
${LIBIPC_PROJECT_DIR}/src/libipc/utility/*.h)
2828

2929
add_library(${PROJECT_NAME} SHARED ${SRC_FILES} ${HEAD_FILES})
3030
if(NOT MSVC)

test/CMakeLists.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ if(NOT MSVC)
99
endif()
1010

1111
include_directories(
12-
${CMAKE_SOURCE_DIR}/include
13-
${CMAKE_SOURCE_DIR}/src
14-
${CMAKE_SOURCE_DIR}/test
15-
${CMAKE_SOURCE_DIR}/3rdparty
16-
${CMAKE_SOURCE_DIR}/3rdparty/gtest/include)
12+
${LIBIPC_PROJECT_DIR}/include
13+
${LIBIPC_PROJECT_DIR}/src
14+
${LIBIPC_PROJECT_DIR}/test
15+
${LIBIPC_PROJECT_DIR}/3rdparty
16+
${LIBIPC_PROJECT_DIR}/3rdparty/gtest/include)
1717

18-
file(GLOB SRC_FILES ${CMAKE_SOURCE_DIR}/test/*.cpp)
19-
file(GLOB HEAD_FILES ${CMAKE_SOURCE_DIR}/test/*.h)
18+
file(GLOB SRC_FILES ${LIBIPC_PROJECT_DIR}/test/*.cpp)
19+
file(GLOB HEAD_FILES ${LIBIPC_PROJECT_DIR}/test/*.h)
2020

2121
add_executable(${PROJECT_NAME} ${SRC_FILES} ${HEAD_FILES})
2222

23-
link_directories(${CMAKE_SOURCE_DIR}/3rdparty/gperftools)
23+
link_directories(${LIBIPC_PROJECT_DIR}/3rdparty/gperftools)
2424
target_link_libraries(${PROJECT_NAME} gtest gtest_main ipc)
2525
#target_link_libraries(${PROJECT_NAME} tcmalloc_minimal)

0 commit comments

Comments
 (0)