Selaa lähdekoodia

Update cmake build-control variables and add description to Readme

Alexey Edelev 5 vuotta sitten
vanhempi
commit
9fa52d3ada
3 muutettua tiedostoa jossa 28 lisäystä ja 18 poistoa
  1. 12 12
      CMakeLists.txt
  2. 10 0
      README.md
  3. 6 6
      cmake/Coverage.cmake

+ 12 - 12
CMakeLists.txt

@@ -89,27 +89,27 @@ if(DEFINED DOXYGEN_EXECUTABLE)
     )
 endif()
 
-if(DEFINED $ENV{MAKE_TESTS})
-    set(MAKE_TESTS $ENV{MAKE_TESTS})
-elseif(NOT DEFINED MAKE_TESTS)
-    set(MAKE_TESTS ON)
+if(DEFINED $ENV{QTPROTOBUF_MAKE_TESTS})
+    set(QTPROTOBUF_MAKE_TESTS $ENV{QTPROTOBUF_MAKE_TESTS})
+elseif(NOT DEFINED QTPROTOBUF_MAKE_TESTS)
+    set(QTPROTOBUF_MAKE_TESTS ON)
 endif()
 
-if(DEFINED $ENV{MAKE_EXAMPLES})
-    set(MAKE_EXAMPLES $ENV{MAKE_EXAMPLES})
-elseif(NOT DEFINED MAKE_EXAMPLES)
-    set(MAKE_EXAMPLES ON)
+if(DEFINED $ENV{QTPROTOBUF_MAKE_EXAMPLES})
+    set(QTPROTOBUF_MAKE_EXAMPLES $ENV{QTPROTOBUF_MAKE_EXAMPLES})
+elseif(NOT DEFINED QTPROTOBUF_MAKE_EXAMPLES)
+    set(QTPROTOBUF_MAKE_EXAMPLES ON)
 endif()
 
 if(NOT gRPC_FOUND)
     message(WARNING "gRPC not found: some tests and examples cannot be built.")
     message(STATUS "Force disable test")
-    set(MAKE_TESTS OFF)
+    set(QTPROTOBUF_MAKE_TESTS OFF)
     message(STATUS "Force disable examples")
-    set(MAKE_EXAMPLES OFF)
+    set(QTPROTOBUF_MAKE_EXAMPLES OFF)
 endif()
 
-if(MAKE_TESTS)
+if(QTPROTOBUF_MAKE_TESTS)
     find_package(GTest)
     if(NOT GTest_FOUND)
         include(cmake/DownloadProject.cmake)
@@ -127,6 +127,6 @@ if(MAKE_TESTS)
     add_subdirectory("tests")
 endif()
 
-if(MAKE_EXAMPLES)
+if(QTPROTOBUF_MAKE_EXAMPLES)
     add_subdirectory("examples")
 endif()

+ 10 - 0
README.md

@@ -116,6 +116,16 @@ Due to cmake restrictions it's required to specify resulting artifacts manually
 
 *QtProtobuf_GENERATED* - variable that will contain generated STATIC library target name
 
+### Usefull definitions
+
+*QTPROTOBUF_MAKE_COVERAGE* - if **TRUE/ON**, QtProtobuf will be built with gcov intergration, to collect code coverage reports(usefull for developers). **FALSE** by default
+
+*QTPROTOBUF_MAKE_TESTS* - if **TRUE/ON**, tests for QtProtobuf will be built. **TRUE** by default
+
+*QTPROTOBUF_MAKE_EXAMPLES* - if **TRUE/ON**, built-in examples will be built. **TRUE** by default
+
+*QTPROTOBUF_EXECUTABLE* - contains full path to QtProtobuf generator add_executable
+
 ## Running tests
 ```bash
 cd <build directory>

+ 6 - 6
cmake/Coverage.cmake

@@ -1,10 +1,10 @@
-if(DEFINED $ENV{MAKE_COVERAGE})
-    set(MAKE_COVERAGE $ENV{MAKE_COVERAGE})
-elseif(NOT DEFINED MAKE_COVERAGE)
-    set(MAKE_COVERAGE OFF)
+if(DEFINED $ENV{QTPROTOBUF_MAKE_COVERAGE})
+    set(QTPROTOBUF_MAKE_COVERAGE $ENV{QTPROTOBUF_MAKE_COVERAGE})
+elseif(NOT DEFINED QTPROTOBUF_MAKE_COVERAGE)
+    set(QTPROTOBUF_MAKE_COVERAGE OFF)
 endif()
 
-if(MAKE_COVERAGE AND UNIX)
+if(QTPROTOBUF_MAKE_COVERAGE AND UNIX)
     message(STATUS "Enable gcov")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --coverage")
@@ -18,7 +18,7 @@ function(add_coverage_target)
     set(GCOV_OUTPUT_DIR ${QTPROTOBUF_BINARY_DIR}/gcov/${add_coverage_target_TARGET})
     set(OBJECTS_DIR ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${add_coverage_target_TARGET}.dir)
     set(COVERAGE_TARGET ${add_coverage_target_TARGET}_coverage)
-    if(MAKE_COVERAGE AND UNIX)
+    if(QTPROTOBUF_MAKE_COVERAGE AND UNIX)
         find_program(GCOV_EXECUTABLE "gcov")
         if(GCOV_EXECUTABLE STREQUAL GCOV_EXECUTABLE-NOTFOUND)
             message(FATAL_ERROR "Coverage enabled for target ${add_coverage_target_TARGET}, but gcov is not installed")