Skip to content
This repository was archived by the owner on Apr 6, 2019. It is now read-only.

Commit 928569d

Browse files
committed
provide Cmakelist.txt for windows platform, in preparation for the port to windows of the library (#13)
1 parent e4d9568 commit 928569d

File tree

4 files changed

+25
-23
lines changed

4 files changed

+25
-23
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ install:
2323
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
2424
- ./install_deps.sh
2525

26-
script: mkdir build && cd build && cmake .. -DBUILD_TESTS=true -DBUILD_EXAMPLES=true && make && ./target/cpp_redis_tests
26+
script: mkdir build && cd build && cmake .. -DBUILD_TESTS=true -DBUILD_EXAMPLES=true && make && ./bin/cpp_redis_tests

CMakeLists.txt

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ project(${PROJECT} CXX)
2020
###
2121
# compilation options
2222
###
23-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -W -Wall -Wextra -O3")
23+
IF (WIN32)
24+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /O2 -D '_UNICODE' -D 'UNICODE' -D 'WIN32_LEAN_AND_MEAN'")
25+
ELSE ()
26+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -W -Wall -Wextra -O3")
27+
ENDIF (WIN32)
2428

2529

2630
###
@@ -56,14 +60,19 @@ foreach(dir ${DIRS})
5660
endforeach()
5761

5862

63+
###
64+
# outputs
65+
###
66+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
67+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
68+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
69+
70+
5971
###
6072
# executable
6173
###
62-
add_library(${PROJECT} SHARED ${SOURCES})
74+
add_library(${PROJECT} STATIC ${SOURCES})
6375
target_link_libraries(${PROJECT} pthread)
64-
set_target_properties(${PROJECT}
65-
PROPERTIES
66-
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/target")
6776

6877
IF (READ_SIZE)
6978
set_target_properties(${PROJECT}
@@ -74,14 +83,15 @@ ENDIF (READ_SIZE)
7483
IF (NO_LOGGING)
7584
set_target_properties(${PROJECT}
7685
PROPERTIES
77-
COMPILE_DEFINITIONS "__CPP_REDIS_NO_LOGGING=${NO_LOGGING}")
86+
COMPILE_DEFINITIONS "__CPP_REDIS_NO_LOGGING=${NO_LOGGING}")
7887
ENDIF (NO_LOGGING)
7988

8089
###
8190
# install
8291
###
83-
install (TARGETS ${PROJECT} DESTINATION lib)
84-
install (DIRECTORY ${CPP_REDIS_INCLUDES}/ DESTINATION include)
92+
install (DIRECTORY ${CMAKE_BINARY_DIR}/lib/ DESTINATION lib USE_SOURCE_PERMISSIONS)
93+
install (DIRECTORY ${CMAKE_BINARY_DIR}/bin/ DESTINATION bin USE_SOURCE_PERMISSIONS)
94+
install (DIRECTORY ${CPP_REDIS_INCLUDES}/ DESTINATION include USE_SOURCE_PERMISSIONS)
8595

8696

8797
###

examples/CMakeLists.txt

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
###
22
# compilation options
33
###
4-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
4+
IF (NOT WIN32)
5+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
6+
ENDIF (NOT WIN32)
57

68

79
###
@@ -16,18 +18,9 @@ include_directories(${PROJECT_SOURCE_DIR}/includes
1618
###
1719
add_executable(redis_client redis_client.cpp)
1820
target_link_libraries(redis_client cpp_redis)
19-
set_target_properties(redis_client
20-
PROPERTIES
21-
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/target")
2221

2322
add_executable(redis_subscriber redis_subscriber.cpp)
2423
target_link_libraries(redis_subscriber cpp_redis)
25-
set_target_properties(redis_subscriber
26-
PROPERTIES
27-
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/target")
2824

2925
add_executable(logger logger.cpp)
3026
target_link_libraries(logger cpp_redis)
31-
set_target_properties(logger
32-
PROPERTIES
33-
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/target")

tests/CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ project(${PROJECT} CXX)
88
###
99
# compilation options
1010
###
11-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
11+
IF (NOT WIN32)
12+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
13+
ENDIF (NOT WIN32)
1214

1315

1416
###
@@ -37,6 +39,3 @@ endforeach()
3739
###
3840
add_executable(${PROJECT} ${SOURCES})
3941
target_link_libraries(${PROJECT} cpp_redis gtest pthread)
40-
set_target_properties(${PROJECT}
41-
PROPERTIES
42-
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/target")

0 commit comments

Comments
 (0)