You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@parquet.apache.org by ju...@apache.org on 2016/02/06 21:31:23 UTC
parquet-cpp git commit: PARQUET-448: Add cmake options to not build
tests and/or executables
Repository: parquet-cpp
Updated Branches:
refs/heads/master ecb6f60b0 -> c50f8f20a
PARQUET-448: Add cmake options to not build tests and/or executables
This patch adds `PARQUET_BUILD_TESTS` and `PARQUET_BUILD_EXECUTABLES` options.
For example:
```
$ cmake -DPARQUET_BUILD_TESTS=OFF -DPARQUET_BUILD_EXECUTABLES=OFF ..
```
This will accelerate builds in 3rd-party use. When the library is more mature we can set the default for `PARQUET_BUILD_TESTS` to `OFF`
Author: Wes McKinney <we...@cloudera.com>
Closes #39 from wesm/PARQUET-448 and squashes the following commits:
6bf6a54 [Wes McKinney] Add cmake options to not build tests and/or executables
Project: http://git-wip-us.apache.org/repos/asf/parquet-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/parquet-cpp/commit/c50f8f20
Tree: http://git-wip-us.apache.org/repos/asf/parquet-cpp/tree/c50f8f20
Diff: http://git-wip-us.apache.org/repos/asf/parquet-cpp/diff/c50f8f20
Branch: refs/heads/master
Commit: c50f8f20ae0cb6f3c52bb7817983564066f87669
Parents: ecb6f60
Author: Wes McKinney <we...@cloudera.com>
Authored: Sat Feb 6 12:31:20 2016 -0800
Committer: Julien Le Dem <ju...@dremio.com>
Committed: Sat Feb 6 12:31:20 2016 -0800
----------------------------------------------------------------------
CMakeLists.txt | 18 ++++++++++++++----
example/CMakeLists.txt | 14 ++++++++------
src/parquet/util/CMakeLists.txt | 31 ++++++++++++++++---------------
3 files changed, 38 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c50f8f20/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e856494..44c5bfa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -54,9 +54,19 @@ endif(NOT CMAKE_BUILD_TYPE)
# set compile output directory
string (TOLOWER ${CMAKE_BUILD_TYPE} BUILD_SUBDIR_NAME)
+# Top level cmake file, set options
+if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
+ option(PARQUET_BUILD_TESTS
+ "Build the libparquet test suite"
+ ON)
+ option(PARQUET_BUILD_EXECUTABLES
+ "Build the libparquet executable CLI tools"
+ ON)
+endif()
+
# If build in-source, create the latest symlink. If build out-of-source, which is
# preferred, simply output the binaries in the build folder
-if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
+if (${CMAKE_SOURCE_DIR} STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
set(BUILD_OUTPUT_ROOT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/build/${BUILD_SUBDIR_NAME}")
# Link build/latest to the current build directory, to avoid developers
# accidentally running the latest debug build when in fact they're building
@@ -84,7 +94,7 @@ endif()
#
# Arguments after the test name will be passed to set_tests_properties().
function(ADD_PARQUET_TEST REL_TEST_NAME)
- if(NO_TESTS)
+ if(NOT PARQUET_BUILD_TESTS)
return()
endif()
get_filename_component(TEST_NAME ${REL_TEST_NAME} NAME_WE)
@@ -106,9 +116,9 @@ function(ADD_PARQUET_TEST REL_TEST_NAME)
endif()
endfunction()
-# A wrapper for add_dependencies() that is compatible with NO_TESTS.
+# A wrapper for add_dependencies() that is compatible with PARQUET_BUILD_TESTS.
function(ADD_PARQUET_TEST_DEPENDENCIES REL_TEST_NAME)
- if(NO_TESTS)
+ if(NOT PARQUET_BUILD_TESTS)
return()
endif()
get_filename_component(TEST_NAME ${REL_TEST_NAME} NAME_WE)
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c50f8f20/example/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index 4143b0d..1dfb58c 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -20,11 +20,13 @@ SET(LINK_LIBS
snappystatic
thriftstatic)
-add_executable(decode_benchmark decode_benchmark.cc)
-target_link_libraries(decode_benchmark ${LINK_LIBS})
+if (PARQUET_BUILD_EXECUTABLES)
+ add_executable(decode_benchmark decode_benchmark.cc)
+ target_link_libraries(decode_benchmark ${LINK_LIBS})
-add_executable(parquet_reader parquet_reader.cc)
-target_link_libraries(parquet_reader ${LINK_LIBS})
+ add_executable(parquet-dump-schema parquet-dump-schema.cc)
+ target_link_libraries(parquet-dump-schema ${LINK_LIBS})
-add_executable(parquet-dump-schema parquet-dump-schema.cc)
-target_link_libraries(parquet-dump-schema ${LINK_LIBS})
+ add_executable(parquet_reader parquet_reader.cc)
+ target_link_libraries(parquet_reader ${LINK_LIBS})
+endif()
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c50f8f20/src/parquet/util/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/parquet/util/CMakeLists.txt b/src/parquet/util/CMakeLists.txt
index 90a053f..046a7c9 100644
--- a/src/parquet/util/CMakeLists.txt
+++ b/src/parquet/util/CMakeLists.txt
@@ -35,21 +35,22 @@ add_library(parquet_util STATIC
cpu-info.cc
)
-add_library(parquet_test_main
- test_main.cc)
-
-if (APPLE)
- target_link_libraries(parquet_test_main
- gtest
- dl)
- set_target_properties(parquet_test_main
- PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
-else()
- target_link_libraries(parquet_test_main
- dl
- gtest
- pthread
- )
+if(PARQUET_BUILD_TESTS)
+ add_library(parquet_test_main
+ test_main.cc)
+ if (APPLE)
+ target_link_libraries(parquet_test_main
+ gtest
+ dl)
+ set_target_properties(parquet_test_main
+ PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
+ else()
+ target_link_libraries(parquet_test_main
+ dl
+ gtest
+ pthread
+ )
+ endif()
endif()
ADD_PARQUET_TEST(bit-util-test)