Skip to content

Commit 23d6a2d

Browse files
authored
Merge pull request #356 from riptano/CPP-878_unified_driver
CPP-878 - Correct compile flags for libraries and executable [unified_driver]
2 parents b442f59 + 228423d commit 23d6a2d

35 files changed

Lines changed: 80 additions & 52 deletions

File tree

cpp-driver/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,12 +149,6 @@ if(CASS_BUILD_STATIC)
149149
set(PC_REQUIRED_LIBS "${PC_REQUIRED_LIBS} openssl")
150150
endif()
151151

152-
# Update the test flags to indicate the use of the static library
153-
if(CASS_USE_STATIC_LIBS)
154-
set(TEST_CXX_FLAGS "${TEST_CXX_FLAGS} -DCASS_STATIC")
155-
set(CASS_TEST_CXX_FLAGS "${CASS_TEST_CXX_FLAGS} -DCASS_STATIC")
156-
endif()
157-
158152
set_property(TARGET ${PROJECT_LIB_NAME_STATIC} PROPERTY FOLDER "Driver/Cassandra")
159153
endif()
160154

cpp-driver/cmake/modules/CppDriver.cmake

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,22 +152,22 @@ macro(CassConfigureShared prefix)
152152
set_target_properties(${PROJECT_LIB_NAME} PROPERTIES
153153
COMPILE_PDB_NAME "${PROJECT_LIB_NAME}"
154154
COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
155-
set(STATIC_COMPILE_FLAGS "-D${prefix}_BUILDING")
155+
set(SHARED_COMPILE_FLAGS "-D${prefix}_BUILDING")
156156
if("${prefix}" STREQUAL "DSE")
157-
set(STATIC_COMPILE_FLAGS "${STATIC_COMPILE_FLAGS} -DCASS_BUILDING")
157+
set(SHARED_COMPILE_FLAGS "${SHARED_COMPILE_FLAGS} -DCASS_BUILDING")
158158
endif()
159159
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
160160
set_property(
161161
TARGET ${PROJECT_LIB_NAME}
162-
APPEND PROPERTY COMPILE_FLAGS "${STATIC_COMPILE_FLAGS} -Wconversion -Wno-sign-conversion -Wno-shorten-64-to-32 -Wno-undefined-var-template -Werror")
162+
APPEND PROPERTY COMPILE_FLAGS "${SHARED_COMPILE_FLAGS} -Wconversion -Wno-sign-conversion -Wno-shorten-64-to-32 -Wno-undefined-var-template -Werror")
163163
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") # To many superfluous warnings generated with GCC when using -Wconversion (see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40752)
164164
set_property(
165165
TARGET ${PROJECT_LIB_NAME}
166-
APPEND PROPERTY COMPILE_FLAGS "${STATIC_COMPILE_FLAGS} -Werror")
166+
APPEND PROPERTY COMPILE_FLAGS "${SHARED_COMPILE_FLAGS} -Werror")
167167
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
168168
set_property(
169169
TARGET ${PROJECT_LIB_NAME}
170-
APPEND PROPERTY COMPILE_FLAGS "${STATIC_COMPILE_FLAGS} /we4800")
170+
APPEND PROPERTY COMPILE_FLAGS "${SHARED_COMPILE_FLAGS} /we4800")
171171
endif()
172172
endmacro()
173173

@@ -209,8 +209,8 @@ macro(CassConfigureStatic prefix)
209209

210210
# Update the CXX flags to indicate the use of the static library
211211
if(${prefix}_USE_STATIC_LIBS)
212-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${STATIC_COMPILE_FLAGS}")
213-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${STATIC_COMPILE_FLAGS}")
212+
set(TEST_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${STATIC_COMPILE_FLAGS}") # Unit and integration test executables
213+
set(EXAMPLE_CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${STATIC_COMPILE_FLAGS}") # Example executables
214214
endif()
215215
endmacro()
216216

cpp-driver/cmake/modules/Gtest.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,9 +287,9 @@ macro(GtestUnitTests extra_files extra_includes excluded_test_files)
287287
target_link_libraries(${UNIT_TESTS_NAME}
288288
${DSE_LIBS}
289289
${PROJECT_LIB_NAME_TARGET})
290-
set_property(TARGET ${UNIT_TESTS_NAME} PROPERTY PROJECT_LABEL ${UNIT_TESTS_DISPLAY_NAME})
291-
set_property(TARGET ${UNIT_TESTS_NAME} PROPERTY FOLDER "Tests")
292-
set_property(TARGET ${UNIT_TESTS_NAME} APPEND PROPERTY COMPILE_FLAGS ${TEST_CXX_FLAGS})
290+
set_target_properties(${UNIT_TESTS_NAME} PROPERTIES PROJECT_LABEL "${UNIT_TESTS_DISPLAY_NAME}"
291+
FOLDER "Tests"
292+
COMPILE_FLAGS "${TEST_CMAKE_CXX_FLAGS}")
293293

294294
# Add the unit tests to be executed by ctest (see CMake BUILD_TESTING)
295295
add_test(${UNIT_TESTS_DISPLAY_NAME} ${UNIT_TESTS_NAME}

cpp-driver/examples/async/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ add_executable(${PROJECT_EXAMPLE_NAME} ${EXAMPLE_SRC_FILES})
99
target_link_libraries(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET} ${CASS_LIBS})
1010
add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET})
1111

12-
set_property(TARGET ${PROJECT_EXAMPLE_NAME} PROPERTY FOLDER "Examples")
12+
set_target_properties(${PROJECT_EXAMPLE_NAME} PROPERTIES FOLDER "Examples"
13+
COMPILE_FLAGS "${EXAMPLE_CMAKE_C_FLAGS}")

cpp-driver/examples/auth/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ add_executable(${PROJECT_EXAMPLE_NAME} ${EXAMPLE_SRC_FILES})
99
target_link_libraries(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET} ${CASS_LIBS})
1010
add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET})
1111

12-
set_property(TARGET ${PROJECT_EXAMPLE_NAME} PROPERTY FOLDER "Examples")
12+
set_target_properties(${PROJECT_EXAMPLE_NAME} PROPERTIES FOLDER "Examples"
13+
COMPILE_FLAGS "${EXAMPLE_CMAKE_C_FLAGS}")

cpp-driver/examples/basic/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ add_executable(${PROJECT_EXAMPLE_NAME} ${EXAMPLE_SRC_FILES})
99
target_link_libraries(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET} ${CASS_LIBS})
1010
add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET})
1111

12-
set_property(TARGET ${PROJECT_EXAMPLE_NAME} PROPERTY FOLDER "Examples")
12+
set_target_properties(${PROJECT_EXAMPLE_NAME} PROPERTIES FOLDER "Examples"
13+
COMPILE_FLAGS "${EXAMPLE_CMAKE_C_FLAGS}")

cpp-driver/examples/batch/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ add_executable(${PROJECT_EXAMPLE_NAME} ${EXAMPLE_SRC_FILES})
99
target_link_libraries(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET} ${CASS_LIBS})
1010
add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET})
1111

12-
set_property(TARGET ${PROJECT_EXAMPLE_NAME} PROPERTY FOLDER "Examples")
12+
set_target_properties(${PROJECT_EXAMPLE_NAME} PROPERTIES FOLDER "Examples"
13+
COMPILE_FLAGS "${EXAMPLE_CMAKE_C_FLAGS}")

cpp-driver/examples/bind_by_name/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ add_executable(${PROJECT_EXAMPLE_NAME} ${EXAMPLE_SRC_FILES})
99
target_link_libraries(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET} ${CASS_LIBS})
1010
add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET})
1111

12-
set_property(TARGET ${PROJECT_EXAMPLE_NAME} PROPERTY FOLDER "Examples")
12+
set_target_properties(${PROJECT_EXAMPLE_NAME} PROPERTIES FOLDER "Examples"
13+
COMPILE_FLAGS "${EXAMPLE_CMAKE_C_FLAGS}")

cpp-driver/examples/callbacks/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ add_executable(${PROJECT_EXAMPLE_NAME} ${EXAMPLE_SRC_FILES})
99
target_link_libraries(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET} ${CASS_LIBS})
1010
add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET})
1111

12-
set_property(TARGET ${PROJECT_EXAMPLE_NAME} PROPERTY FOLDER "Examples")
12+
set_target_properties(${PROJECT_EXAMPLE_NAME} PROPERTIES FOLDER "Examples"
13+
COMPILE_FLAGS "${EXAMPLE_CMAKE_C_FLAGS}")

cpp-driver/examples/cloud/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ add_executable(${PROJECT_EXAMPLE_NAME} ${EXAMPLE_SRC_FILES})
99
target_link_libraries(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET} ${CASS_LIBS})
1010
add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME_TARGET})
1111

12-
set_property(TARGET ${PROJECT_EXAMPLE_NAME} PROPERTY FOLDER "Examples")
12+
set_target_properties(${PROJECT_EXAMPLE_NAME} PROPERTIES FOLDER "Examples"
13+
COMPILE_FLAGS "${EXAMPLE_CMAKE_C_FLAGS}")

0 commit comments

Comments
 (0)