Skip to content

Commit

Permalink
Solved some Windows warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
mpenick committed Jun 9, 2014
1 parent 9c7ec8f commit fb4c1a6
Show file tree
Hide file tree
Showing 17 changed files with 66 additions and 47 deletions.
47 changes: 30 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -105,16 +105,16 @@ if(MSVC)
# -fPIC is not used on Windows platform (all DLLs are
# relocable), -Wall generates about 30k stupid warnings
# that can hide useful ones.
set(PLATFORM_DEPENDENT_CXX_FLAGS "-D_CRT_SECURE_NO_WARNINGS")
set(PLATFORM_DEPENDENT_C_FLAGS "-D_CRT_SECURE_NO_WARNINGS")

# TODO(mpenick): Fix these "possible loss of data" warnings
set(PLATFORM_DEPENDENT_CXX_FLAGS "-D_CRT_SECURE_NO_WARNINGS /wd4244 /wd4267")

# needed for windows sockets (not verified)
add_definitions(-D_WIN32_WINNT=0x0501)
else()
# GCC/Clang specific compiler options
# I disabled long-long warning because boost generates about 50 such warnings
set(PLATFORM_DEPENDENT_CXX_FLAGS "-std=c++0x -fPIC -Wall -pedantic -Wextra -Werror -Wno-long-long -Wno-c++11-narrowing -Wno-deprecated-declarations -Wno-unused-parameter")
set(PLATFORM_DEPENDENT_C_FLAGS "-std=c89 -fPIC -Wall -pedantic -Wextra -Werror -Wno-long-long -Wno-deprecated-declarations -Wno-unused-parameter")
endif()

#-------------------
Expand Down Expand Up @@ -154,16 +154,15 @@ set_target_properties(${PROJECT_LIB_NAME} PROPERTIES VERSION ${PROJECT_VERSION_S
set_target_properties(${PROJECT_LIB_NAME_STATIC} PROPERTIES OUTPUT_NAME ${PROJECT_LIB_NAME_STATIC})
set_target_properties(${PROJECT_LIB_NAME_STATIC} PROPERTIES VERSION ${PROJECT_VERSION_STRING} SOVERSION ${PROJECT_VERSION_MAJOR})

set(PROJECT_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PLATFORM_DEPENDENT_CXX_FLAGS}")
set(PROJECT_C_FLAGS "${CMAKE_C_FLAGS} ${PLATFORM_DEPENDENT_C_FLAGS}")
set(PROJECT_CXX_FLAGS "${CMAKE_CXX_FLAGS}")

set_property(
TARGET ${PROJECT_LIB_NAME}
APPEND PROPERTY COMPILE_FLAGS ${PROJECT_CXX_FLAGS})
APPEND PROPERTY COMPILE_FLAGS "${PROJECT_CXX_FLAGS} ${PLATFORM_DEPENDENT_CXX_FLAGS} -DCASS_BUILDING")

set_property(
TARGET ${PROJECT_LIB_NAME_STATIC}
APPEND PROPERTY COMPILE_FLAGS ${PROJECT_CXX_FLAGS})
APPEND PROPERTY COMPILE_FLAGS "${PROJECT_CXX_FLAGS} ${PLATFORM_DEPENDENT_CXX_FLAGS} -DCASS_STATIC")

#-------------------
# Install target
Expand Down Expand Up @@ -211,13 +210,26 @@ add_subdirectory(test/unit_tests)
# Integration tests
#-------------------

#add_subdirectory(test/ccm_bridge)
#add_subdirectory(test/integration_tests)
find_package(Boost 1.41.0 COMPONENTS system thread unit_test_framework date_time program_options)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/test/ccm_bridge/cmake/Modules/")
find_package(LIBSSH2)

if((Boost_FOUND) AND (LIBSSH2_FOUND))
add_subdirectory(test/ccm_bridge)
add_subdirectory(test/integration_tests)
endif()

#-------------------
# Examples
#-------------------

if(MSVC)
set(EXAMPLE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
else()
set(EXAMPLE_C_FLAGS "${CMAKE_C_FLAGS} -std=c89 -fPIC -Wall -pedantic -Wextra -Werror -Wno-long-long -Wno-deprecated-declarations -Wno-unused-parameter")
endif()

add_subdirectory(examples/async)
add_subdirectory(examples/basic)
add_subdirectory(examples/collections)
Expand All @@ -230,12 +242,13 @@ add_subdirectory(examples/simple)
# Generating API docs with Doxygen
#-----------------------------------

#find_package(Doxygen)
#if(DOXYGEN_FOUND)
# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
# add_custom_target(doc
# ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
# COMMENT "Generating API documentation with Doxygen" VERBATIM)
#endif(DOXYGEN_FOUND)
find_package(Doxygen)

if(DOXYGEN_FOUND)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM)
endif(DOXYGEN_FOUND)

2 changes: 1 addition & 1 deletion examples/async/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME})

set_property(
TARGET ${PROJECT_EXAMPLE_NAME}
APPEND PROPERTY COMPILE_FLAGS ${PROJECT_C_FLAGS})
APPEND PROPERTY COMPILE_FLAGS ${EXAMPLE_C_FLAGS})
8 changes: 6 additions & 2 deletions examples/async/async.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@

#include "cassandra.h"

#ifdef WIN32
#define snprintf _snprintf
#endif

#define NUM_CONCURRENT_REQUESTS 4096

void print_error(CassFuture* future) {
Expand Down Expand Up @@ -94,8 +98,8 @@ void insert_into_async(CassSession* session, const char* key) {
cass_statement_bind_bool(statement, 1, i % 2 == 0 ? cass_true : cass_false);
cass_statement_bind_float(statement, 2, i / 2.0f);
cass_statement_bind_double(statement, 3, i / 200.0);
cass_statement_bind_int32(statement, 4, i * 10);
cass_statement_bind_int64(statement, 5, i * 100);
cass_statement_bind_int32(statement, 4, (cass_int32_t)(i * 10));
cass_statement_bind_int64(statement, 5, (cass_int64_t)(i * 100));

futures[i] = cass_session_execute(session, statement);

Expand Down
2 changes: 1 addition & 1 deletion examples/basic/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME})

set_property(
TARGET ${PROJECT_EXAMPLE_NAME}
APPEND PROPERTY COMPILE_FLAGS ${PROJECT_C_FLAGS})
APPEND PROPERTY COMPILE_FLAGS ${EXAMPLE_C_FLAGS})
2 changes: 1 addition & 1 deletion examples/basic/basic.c
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ int main() {
CassSession* session = NULL;
CassFuture* close_future = NULL;

Basic input = { cass_true, 0.001, 0.0002, 1, 2 };
Basic input = { cass_true, 0.001f, 0.0002, 1, 2 };
Basic output;

rc = connect_session(cluster, &session);
Expand Down
2 changes: 1 addition & 1 deletion examples/batch/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME})

set_property(
TARGET ${PROJECT_EXAMPLE_NAME}
APPEND PROPERTY COMPILE_FLAGS ${PROJECT_C_FLAGS})
APPEND PROPERTY COMPILE_FLAGS ${EXAMPLE_C_FLAGS})
2 changes: 1 addition & 1 deletion examples/collections/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME})

set_property(
TARGET ${PROJECT_EXAMPLE_NAME}
APPEND PROPERTY COMPILE_FLAGS ${PROJECT_C_FLAGS})
APPEND PROPERTY COMPILE_FLAGS ${EXAMPLE_C_FLAGS})
2 changes: 1 addition & 1 deletion examples/prepared/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME})

set_property(
TARGET ${PROJECT_EXAMPLE_NAME}
APPEND PROPERTY COMPILE_FLAGS ${PROJECT_C_FLAGS})
APPEND PROPERTY COMPILE_FLAGS ${EXAMPLE_C_FLAGS})
2 changes: 1 addition & 1 deletion examples/simple/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME})

set_property(
TARGET ${PROJECT_EXAMPLE_NAME}
APPEND PROPERTY COMPILE_FLAGS ${PROJECT_C_FLAGS})
APPEND PROPERTY COMPILE_FLAGS ${EXAMPLE_C_FLAGS})
2 changes: 1 addition & 1 deletion examples/uuids/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ add_dependencies(${PROJECT_EXAMPLE_NAME} ${PROJECT_LIB_NAME})

set_property(
TARGET ${PROJECT_EXAMPLE_NAME}
APPEND PROPERTY COMPILE_FLAGS ${PROJECT_C_FLAGS})
APPEND PROPERTY COMPILE_FLAGS ${EXAMPLE_C_FLAGS})
29 changes: 14 additions & 15 deletions include/cassandra.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,21 @@

#include <stddef.h>

#if defined _WIN32
# if defined CASS_STATIC
# define CASS_EXPORT
# elif defined DLL_EXPORT
# define CASS_EXPORT __declspec(dllexport)
# else
# define CASS_EXPORT __declspec(dllimport)
# endif

#if !defined(CASS_STATIC)
# if (defined(WIN32) || defined(_WIN32))
# if defined CASS_BUILDING
# define CASS_EXPORT __declspec(dllexport)
# else
# define CASS_EXPORT __declspec(dllexport)
# endif
# elif (defined __SUNPRO_C || defined __SUNPRO_CC) && !defined(CASS_STATIC)
# define CASS_EXPORT __global
# elif (defined __GNUC__ && __GNUC__ >= 4) || defined __INTEL_COMPILER
# define CASS_EXPORT __attribute__ ((visibility("default")))
# endif
#else
# if defined __SUNPRO_C || defined __SUNPRO_CC
# define CASS_EXPORT __global
# elif (defined __GNUC__ && __GNUC__ >= 4) || defined __INTEL_COMPILER
# define CASS_EXPORT __attribute__ ((visibility("default")))
# else
# define CASS_EXPORT
# endif
#define CASS_EXPORT
#endif

#ifdef __cplusplus
Expand Down
2 changes: 2 additions & 0 deletions src/address.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ class Address {
return htons(addr_in6()->sin6_port);
} else {
assert(false);
return -1;
}
}

Expand Down Expand Up @@ -138,6 +139,7 @@ class Address {
sizeof(addr_in6()->sin6_addr));
} else {
assert(false);
return -1;
}
}
};
Expand Down
2 changes: 1 addition & 1 deletion src/buffer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class Buffer {
Buffer()
: size_(-1) { }

Buffer(const char* data, size_t size)
Buffer(const char* data, int32_t size)
: size_(size) {
if(size > FIXED_BUFFER_SIZE) {
data_.alloced = new char[size];
Expand Down
2 changes: 1 addition & 1 deletion src/collection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ CassError cass_collection_append_double(CassCollection* collection,

CassError cass_collection_append_bool(CassCollection* collection,
cass_bool_t value) {
collection->append_bool(value);
collection->append_bool(value == cass_true);
return CASS_OK;
}

Expand Down
1 change: 1 addition & 0 deletions src/message.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ struct Message {

default:
assert(false);
return nullptr;
}
}

Expand Down
4 changes: 2 additions & 2 deletions src/statement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ CassError cass_statement_bind_double(CassStatement* statement,
CassError cass_statement_bind_bool(CassStatement* statement,
size_t index,
cass_bool_t value) {
return statement->bind_bool(index, value);
return statement->bind_bool(index, value == cass_true);
}

CassError cass_statement_bind_string(CassStatement* statement,
Expand Down Expand Up @@ -101,7 +101,7 @@ CassError cass_statement_bind_collection( CassStatement* statement,
size_t index,
const CassCollection* collection,
cass_bool_t is_map) {
return statement->bind(index, collection->from(), static_cast<bool>(is_map));
return statement->bind(index, collection->from(), is_map == cass_true);
}

CassError cass_statement_bind_custom(CassStatement* statement,
Expand Down
2 changes: 1 addition & 1 deletion test/unit_tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 2.6.4)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ".")
set(PROJECT_TEST_NAME ${PROJECT_NAME_STR}_test)
set(PROJECT_TEST_NAME ${PROJECT_NAME_STR}_unit_tests)

set(TEST ${PROJECT_TEST_NAME})
include_directories(${INCLUDES} ${PROJECT_SOURCE_DIR}/src/)
Expand Down

0 comments on commit fb4c1a6

Please sign in to comment.