diff --git a/.gitignore b/.gitignore index e4478e0f..95acb0cb 100644 --- a/.gitignore +++ b/.gitignore @@ -2,10 +2,10 @@ !/bin/data !/bin/encodings !/bin/jsonchecker +/build /doc/html /doc/doxygen_*.db -/thirdparty/lib -/intermediate +*.a # Temporary files created during CMake build CMakeCache.txt @@ -20,4 +20,3 @@ Testing install_manifest.txt Doxyfile DartConfiguration.tcl -/build/* \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index cbc5c0f6..aa65e163 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,7 @@ before_install: install: true before_script: + - sed -i 's/march=native/msse4.2/' CMakeLists.txt - mkdir build - > (cd build && cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index b30625fe..4cde7e2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,13 @@ if(RAPIDJSON_HAS_STDSTRING) add_definitions(-DRAPIDJSON_HAS_STDSTRING) endif() +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra") +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra") +elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + add_definitions(-D_CRT_SECURE_NO_WARNINGS=1) +endif() #add extra search paths for libraries and includes SET(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The directory the headers are installed in") @@ -36,9 +43,7 @@ ELSEIF(WIN32) ENDIF() SET(CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" CACHE PATH "The directory cmake fiels are installed in") - include_directories(${CMAKE_SOURCE_DIR}/include) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RAPIDJSON_CXX_FLAGS}") if(RAPIDJSON_BUILD_DOC) add_subdirectory(doc) diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index ae498345..64632127 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -14,6 +14,14 @@ set(EXAMPLES simplewriter tutorial) +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Weffc++ -Wswitch-default") +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Weffc++ -Wswitch-default") +elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + add_definitions(-D_CRT_SECURE_NO_WARNINGS=1) +endif() + foreach (example ${EXAMPLES}) add_executable(${example} ${example}/${example}.cpp) endforeach() diff --git a/test/unittest/CMakeLists.txt b/test/unittest/CMakeLists.txt index 66cf0c6c..5e4a3e9d 100644 --- a/test/unittest/CMakeLists.txt +++ b/test/unittest/CMakeLists.txt @@ -1,15 +1,26 @@ set(UNITTEST_SOURCES + bigintegertest.cpp documenttest.cpp encodedstreamtest.cpp encodingstest.cpp filestreamtest.cpp jsoncheckertest.cpp + namespacetest.cpp readertest.cpp + stringbuffertest.cpp + strtodtest.cpp unittest.cpp - unittest.h valuetest.cpp writertest.cpp) +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Weffc++ -Wswitch-default") +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Weffc++ -Wswitch-default") +elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + add_definitions(-D_CRT_SECURE_NO_WARNINGS=1) +endif() + add_library(namespacetest STATIC namespacetest.cpp) add_executable(unittest ${UNITTEST_SOURCES})