Skip to content

Commit 4af2425

Browse files
authored
Merge pull request #355 from riptano/CPP-878
CPP-878 - Correct compile flags for libraries and executable
2 parents 912e23c + 1a03587 commit 4af2425

37 files changed

Lines changed: 85 additions & 55 deletions

File tree

cpp-driver/CMakeLists.txt

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

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

cpp-driver/cmake/modules/CppDriver.cmake

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -147,22 +147,22 @@ macro(CassConfigureShared prefix)
147147
set_target_properties(${PROJECT_LIB_NAME} PROPERTIES
148148
COMPILE_PDB_NAME "${PROJECT_LIB_NAME}"
149149
COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
150-
set(STATIC_COMPILE_FLAGS "-D${prefix}_BUILDING")
150+
set(SHARED_COMPILE_FLAGS "-D${prefix}_BUILDING")
151151
if("${prefix}" STREQUAL "DSE")
152-
set(STATIC_COMPILE_FLAGS "${STATIC_COMPILE_FLAGS} -DCASS_BUILDING")
152+
set(SHARED_COMPILE_FLAGS "${SHARED_COMPILE_FLAGS} -DCASS_BUILDING")
153153
endif()
154154
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
155155
set_property(
156156
TARGET ${PROJECT_LIB_NAME}
157-
APPEND PROPERTY COMPILE_FLAGS "${STATIC_COMPILE_FLAGS} -Wconversion -Wno-sign-conversion -Wno-shorten-64-to-32 -Wno-undefined-var-template -Werror")
157+
APPEND PROPERTY COMPILE_FLAGS "${SHARED_COMPILE_FLAGS} -Wconversion -Wno-sign-conversion -Wno-shorten-64-to-32 -Wno-undefined-var-template -Werror")
158158
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)
159159
set_property(
160160
TARGET ${PROJECT_LIB_NAME}
161-
APPEND PROPERTY COMPILE_FLAGS "${STATIC_COMPILE_FLAGS} -Werror")
161+
APPEND PROPERTY COMPILE_FLAGS "${SHARED_COMPILE_FLAGS} -Werror")
162162
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
163163
set_property(
164164
TARGET ${PROJECT_LIB_NAME}
165-
APPEND PROPERTY COMPILE_FLAGS "${STATIC_COMPILE_FLAGS} /we4800")
165+
APPEND PROPERTY COMPILE_FLAGS "${SHARED_COMPILE_FLAGS} /we4800")
166166
endif()
167167
endmacro()
168168

@@ -204,8 +204,8 @@ macro(CassConfigureStatic prefix)
204204

205205
# Update the CXX flags to indicate the use of the static library
206206
if(${prefix}_USE_STATIC_LIBS)
207-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${STATIC_COMPILE_FLAGS}")
208-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${STATIC_COMPILE_FLAGS}")
207+
set(TEST_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${STATIC_COMPILE_FLAGS}") # Unit and integration test executables
208+
set(EXAMPLE_CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${STATIC_COMPILE_FLAGS}") # Example executables
209209
endif()
210210
endmacro()
211211

cpp-driver/cmake/modules/Gtest.cmake

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

295295
# Add the unit tests to be executed by ctest (see CMake BUILD_TESTING)
296296
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)