Fixed search algo for gtest in cmake script
authorkhizmax <khizmax@gmail.com>
Fri, 23 Sep 2016 13:10:37 +0000 (16:10 +0300)
committerkhizmax <khizmax@gmail.com>
Fri, 23 Sep 2016 13:10:37 +0000 (16:10 +0300)
Fixed minor gcc warnings

CMakeLists.txt
build/cmake/readme.md
cds/algo/flat_combining/wait_strategy.h
test/CMakeLists.txt
test/unit/map/test_map.h

index 139d5b8ebc9980a69b00ceb2d363cb94aac62443..d6096271794ee30df0e7f568280d95812ac9aaf1 100644 (file)
@@ -83,9 +83,9 @@ if(CMAKE_COMPILER_IS_GNUCXX)
   if(CMAKE_TARGET_ARCHITECTURE STREQUAL "x86_64")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcx16")
   endif()    
-  if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9.0")
-#   gcc 4.8: disable noise -Wunused-local-typedefs
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs -Wno-unused-parameter")  
+  if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0.0")
+#   gcc 4.8: disable noise -Wunused-local-typedefs -Wno-unused-parameter
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs")  
   endif()
 endif()
 
index f229a5df2f3bc241f258e56edca891745cdab49c..6a5aa6a165e92a963fa762d3f03a7ef16628b018 100644 (file)
@@ -11,20 +11,25 @@ Compiling and testing
 ----------
 **Building out-of-source in "RELEASE" mode ("DEBUG" is default)**
 
-- Wherever create empty directory for building, for instance *libcds-debug*  
-- Prepare: *cmake -DCMAKE_BUILD_TYPE=RELEASE <path to the project's root directory with CMakeLists.txt>*
-- Compile: *make -j4*
+- Wherever create empty directory for building, for instance `libcds-debug`
+- Prepare: `cmake -DCMAKE_BUILD_TYPE=RELEASE <path to the project's root directory with CMakeLists.txt>`
+- Compile: `make -j4`
 - As a result you'll see shared and static cds libraries in the build directory
 
 **Warning**: We strongly recommend not to use static cds library. Static library is not tested and not maintained. You can use it on own risk.
 
-After using command *cmake -L <path to the project's root directory with CMakeLists.txt>* one can see some additional variables, that can activate additional features:
+After using command cmake -L <path to the project's root directory with CMakeLists.txt> one can see some additional variables, that can activate additional features:
+
+- `WITH_TESTS:BOOL=OFF`: if you want to build library with unit testing support use *-DWITH_TESTS=ON* on prepare step. Be careful with this flag, because compile time will dramatically increase
+- `WITH_TESTS_COVERAGE:BOOL=OFF`: Analyze test coverage using gcov (only for gcc)
+- `WITH_BOOST_ATOMIC:BOOL=OFF`: Use boost atomics (only for boost >= 1.54)
+- `WITH_ASAN:BOOL=OFF`: compile libcds with AddressSanitizer instrumentation
+- `WITH_TSAN:BOOL=OFF`: compile libcds with ThreadSanitizer instrumentation
+
+Additional gtest hints (for unit and stress tests only):
+- `GTEST_INCLUDE_DIRS=path`: gives full `path` to gtest include dir. 
+- `GTEST_LIBRARY=path`: gives full `path` to `libgtest.a`.
 
-- *WITH_TESTS:BOOL=OFF*: if you want to build library with unit testing support use *-DWITH_TESTS=ON* on prepare step. Be careful with this flag, because compile time will dramatically increase
-- *WITH_TESTS_COVERAGE:BOOL=OFF*: Analyze test coverage using gcov (only for gcc)
-- *WITH_BOOST_ATOMIC:BOOL=OFF*: Use boost atomics (only for boost >= 1.54)
-- *WITH_ASAN:BOOL=OFF*: compile libcds with AddressSanitizer instrumentation
-- *WITH_TSAN:BOOL=OFF*: compile libcds with ThreadSanitizer instrumentation
 
 Packaging
 ----------
@@ -38,10 +43,10 @@ In order to package library *CPack* is used, command *cpack -G <Generator>* shou
   
 "Live" building and packaging example
 ----------
-- git clone https://github.com/khizmax/libcds.git
-- mkdir libcds-release
-- cd libcds-release
-- cmake -DWITH\_TESTS=ON -DCMAKE\_BUILD_TYPE=RELEASE ../libcds
+- `git clone https://github.com/khizmax/libcds.git`
+- `mkdir libcds-release`
+- `cd libcds-release`
+- `cmake -DWITH\_TESTS=ON -DCMAKE\_BUILD_TYPE=RELEASE ../libcds`
 ```
     -- The C compiler identification is GNU 4.8.3
     -- The CXX compiler identification is GNU 4.8.3
@@ -56,7 +61,7 @@ In order to package library *CPack* is used, command *cpack -G <Generator>* shou
     -- Generating done
     -- Build files have been written to: <...>/libcds-release
 ``` 
-- make -j4
+- `make -j4`
 ```
     Scanning dependencies of target cds
     Scanning dependencies of target test-common
@@ -65,10 +70,9 @@ In order to package library *CPack* is used, command *cpack -G <Generator>* shou
     [  1%] Building CXX object CMakeFiles/cds-s.dir/src/hp_gc.cpp.o
     ...
     [100%] Built target test-hdr
-    gmake: выход из каталога «/home/kel/projects_cds/libcds-debug»
 ```
 
-- ctest
+- `ctest`
 ```
     Test project /home/kel/projects_cds/libcds-debug
         Start 1: test-hdr
@@ -79,7 +83,7 @@ In order to package library *CPack* is used, command *cpack -G <Generator>* shou
     ...
 ```
 
-- cpack -G RPM
+- `cpack -G RPM`
 ```
     CPack: Create package using RPM
     CPack: Install projects
index f16c6d7ff68fa10fbf140e517749dd462467f560..f0e23312af11887577550582cc72b9895262414e 100644 (file)
@@ -248,7 +248,7 @@ namespace cds { namespace algo { namespace flat_combining {
 
             /// Calls condition variable function \p notify_all()
             template <typename FCKernel, typename PublicationRecord>
-            void notify( FCKernel& fc, PublicationRecord& rec )
+            void notify( FCKernel& /*fc*/, PublicationRecord& /*rec*/ )
             {
                 m_condvar.notify_all();
             }
@@ -313,7 +313,7 @@ namespace cds { namespace algo { namespace flat_combining {
 
             /// Calls condition variable function \p notify_one()
             template <typename FCKernel, typename PublicationRecord>
-            void notify( FCKernel& fc, PublicationRecord& rec )
+            void notify( FCKernel& /*fc*/, PublicationRecord& rec )
             {
                 rec.m_condvar.notify_one();
             }
index fce8ea13db4481e0a5ab4a744fccf67aec78719f..7cf4875906b2a089c42d2f164877e31c1e6de9f5 100644 (file)
@@ -1,6 +1,8 @@
 
-find_package(GTest REQUIRED) 
-message("GTest: ${GTEST_INCLUDE_DIRS}")
+if (NOT GTEST_INCLUDE_DIRS)
+   find_package(GTest REQUIRED)
+endif()
+message("GTest: ${GTEST_INCLUDE_DIRS}, lib: ${GTEST_LIBRARY}")
 
 include_directories(
     ${CMAKE_CURRENT_SOURCE_DIR}/include
index 5aee1d10ed2f78f08aa3e1ec03f8e7f2de9f475d..658a226993fb96710d638f82334f5848d99a13a6 100644 (file)
@@ -130,7 +130,7 @@ namespace cds_test {
                         v.second.nVal = v.first.nKey;
                         v.second.strVal = std::to_string( v.first.nKey );
                     } ));
-                    EXPECT_FALSE( m.insert_with( i, []( map_pair& ) {
+                    EXPECT_FALSE( m.insert_with( i, []( map_pair& ) {
                         EXPECT_TRUE( false );
                     } ));
                     break;
@@ -139,7 +139,7 @@ namespace cds_test {
                         v.second.nVal = v.first.nKey;
                         v.second.strVal = std::to_string( v.first.nKey );
                     } ));
-                    EXPECT_FALSE( m.insert_with( i.nKey, []( map_pair& ) {
+                    EXPECT_FALSE( m.insert_with( i.nKey, []( map_pair& ) {
                         EXPECT_TRUE( false );
                     } ));
                     break;
@@ -148,7 +148,7 @@ namespace cds_test {
                         v.second.nVal = v.first.nKey;
                         v.second.strVal = std::to_string( v.first.nKey );
                     } ));
-                    EXPECT_FALSE( m.insert_with( val.strVal, []( map_pair& ) {
+                    EXPECT_FALSE( m.insert_with( val.strVal, []( map_pair& ) {
                         EXPECT_TRUE( false );
                     } ));
                     break;