Repository: parquet-cpp Updated Branches: refs/heads/master 50073c30e -> c4caaf036
PARQUET-987: Revert PARQUET-981 until it can be fixed These MSVC variables break various Linux toolchains. My fault for merging without closer scrutiny / testing. This reverts the change for now Author: Wes McKinney <[email protected]> Closes #328 from wesm/PARQUET-987 and squashes the following commits: 8d919d1 [Wes McKinney] Revert "PARQUET-981: Resolve Windows build issues with 3rd party libs referenâ¦" Project: http://git-wip-us.apache.org/repos/asf/parquet-cpp/repo Commit: http://git-wip-us.apache.org/repos/asf/parquet-cpp/commit/c4caaf03 Tree: http://git-wip-us.apache.org/repos/asf/parquet-cpp/tree/c4caaf03 Diff: http://git-wip-us.apache.org/repos/asf/parquet-cpp/diff/c4caaf03 Branch: refs/heads/master Commit: c4caaf0363b00490bb78b664599909b4107339ef Parents: 50073c3 Author: Wes McKinney <[email protected]> Authored: Mon May 15 12:17:50 2017 -0400 Committer: Wes McKinney <[email protected]> Committed: Mon May 15 12:17:50 2017 -0400 ---------------------------------------------------------------------- CMakeLists.txt | 10 ---- appveyor.yml | 2 - ci/msvc-build.bat | 26 ++------ cmake_modules/FindArrow.cmake | 10 +--- cmake_modules/FindBrotli.cmake | 17 +++--- cmake_modules/FindGTest.cmake | 8 +-- cmake_modules/FindSnappy.cmake | 6 +- cmake_modules/FindThrift.cmake | 6 +- cmake_modules/FindZLIB.cmake | 16 ++--- cmake_modules/ThirdpartyToolchain.cmake | 88 ++++++++++++++-------------- docs/Windows.md | 42 +------------ 11 files changed, 73 insertions(+), 158 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/CMakeLists.txt b/CMakeLists.txt index a710db4..9c0ffc6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,16 +116,6 @@ if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") option(PARQUET_MINIMAL_DEPENDENCY "Depend only on Thirdparty headers to build libparquet. Always OFF if building binaries" OFF) - set(ARROW_MSVC_STATIC_LIB_SUFFIX "_static" CACHE STRING - "Arrow static lib suffix used on Windows with MSVC (default _static)") - set(BROTLI_MSVC_STATIC_LIB_SUFFIX "_static" CACHE STRING - "Brotli static lib suffix used on Windows with MSVC (default _static)") - set(SNAPPY_MSVC_STATIC_LIB_SUFFIX "" CACHE STRING - "Snappy static lib suffix used on Windows with MSVC (default is empty string)") - set(THRIFT_MSVC_STATIC_LIB_SUFFIX "md" CACHE STRING - "Thrift static lib suffix used on Windows with MSVC (default md)") - set(ZLIB_MSVC_STATIC_LIB_SUFFIX "libstatic" CACHE STRING - "Zlib static lib suffix used on Windows with MSVC (default libstatic)") endif() include(BuildUtils) http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/appveyor.yml ---------------------------------------------------------------------- diff --git a/appveyor.yml b/appveyor.yml index 8ced854..f3fac11 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -34,13 +34,11 @@ environment: configuration: - Debug - Release - - Toolchain init: - set MINICONDA=C:\Miniconda35-x64 - set PATH=%MINICONDA%;%MINICONDA%/Scripts;%MINICONDA%/Library/bin;%PATH% - if "%GENERATOR%"=="NMake Makefiles" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 - - if "%CONFIGURATION%"=="Toolchain" conda install -y boost-cpp=1.63 arrow-cpp=0.3.0 brotli=0.6.0 zlib=1.2.11 snappy=1.1.4 thrift-cpp=0.10.0 -c conda-forge build_script: - call ci\msvc-build.bat http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/ci/msvc-build.bat ---------------------------------------------------------------------- diff --git a/ci/msvc-build.bat b/ci/msvc-build.bat index 6789b46..b1b54b4 100644 --- a/ci/msvc-build.bat +++ b/ci/msvc-build.bat @@ -22,30 +22,14 @@ cd build SET PARQUET_TEST_DATA=%APPVEYOR_BUILD_FOLDER%\data -if "%CONFIGURATION%" == "Toolchain" ( - set PARQUET_BUILD_TOOLCHAIN=%MINICONDA%/Library - - cmake -G "%GENERATOR%" ^ - -DCMAKE_BUILD_TYPE=Release ^ +cmake -G "%GENERATOR%" ^ + -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^ -DPARQUET_BOOST_USE_SHARED=OFF ^ -DPARQUET_CXXFLAGS="/MP" ^ - -DPARQUET_ZLIB_VENDORED=OFF ^ .. || exit /B - cmake --build . --config Release || exit /B - ctest -VV || exit /B -) - -if NOT "%CONFIGURATION%" == "Toolchain" ( - cmake -G "%GENERATOR%" ^ - -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^ - -DPARQUET_BOOST_USE_SHARED=OFF ^ - -DPARQUET_CXXFLAGS="/MP" ^ - .. || exit /B +cmake --build . --config %CONFIGURATION% || exit /B - cmake --build . --config %CONFIGURATION% || exit /B - - if "%CONFIGURATION%" == "Release" ( - ctest -VV || exit /B - ) +if "%CONFIGURATION%" == "Release" ( + ctest -VV || exit /B ) \ No newline at end of file http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/cmake_modules/FindArrow.cmake ---------------------------------------------------------------------- diff --git a/cmake_modules/FindArrow.cmake b/cmake_modules/FindArrow.cmake index bd6765a..ad47513 100644 --- a/cmake_modules/FindArrow.cmake +++ b/cmake_modules/FindArrow.cmake @@ -72,15 +72,11 @@ else() set(ARROW_FOUND TRUE) set(ARROW_HEADER_NAME arrow/api.h) set(ARROW_HEADER ${ARROW_INCLUDE_DIR}/${ARROW_HEADER_NAME}) - set(ARROW_LIB_NAME arrow) - if (MSVC AND NOT ARROW_MSVC_STATIC_LIB_SUFFIX) - set(ARROW_MSVC_STATIC_LIB_SUFFIX _static) - endif() + set(ARROW_LIB_NAME libarrow) get_filename_component(ARROW_LIBS ${ARROW_LIB_PATH} DIRECTORY) - set(ARROW_STATIC_LIB ${ARROW_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${ARROW_LIB_NAME}${ARROW_MSVC_STATIC_LIB_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}) - set(ARROW_SHARED_LIB ${ARROW_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${ARROW_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) - set(ARROW_SHARED_IMPLIB ${ARROW_LIBS}/${ARROW_LIB_NAME}.lib) + set(ARROW_STATIC_LIB ${ARROW_LIBS}/${ARROW_LIB_NAME}.a) + set(ARROW_SHARED_LIB ${ARROW_LIBS}/${ARROW_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) endif () endif() http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/cmake_modules/FindBrotli.cmake ---------------------------------------------------------------------- diff --git a/cmake_modules/FindBrotli.cmake b/cmake_modules/FindBrotli.cmake index 669c3f3..40d58ac 100644 --- a/cmake_modules/FindBrotli.cmake +++ b/cmake_modules/FindBrotli.cmake @@ -65,18 +65,15 @@ if (BROTLI_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR BROTLI_LIBRARIES)) get_filename_component( BROTLI_LIBS ${BROTLI_LIBRARY_ENC} PATH ) set(BROTLI_HEADER_NAME brotli.h) set(BROTLI_HEADER ${BROTLI_INCLUDE_DIR}/${BROTLI_HEADER_NAME}) - set(BROTLI_LIB_NAME brotli) - if (MSVC AND NOT BROTLI_MSVC_STATIC_LIB_SUFFIX) - set(BROTLI_MSVC_STATIC_LIB_SUFFIX _static) - endif() + set(BROTLI_LIB_NAME libbrotli) set(BROTLI_STATIC_LIB - ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${BROTLI_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX} - ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${BROTLI_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX} - ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}common${BROTLI_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) + ${BROTLI_LIBS}/${BROTLI_LIB_NAME}enc.a + ${BROTLI_LIBS}/${BROTLI_LIB_NAME}dec.a + ${BROTLI_LIBS}/${BROTLI_LIB_NAME}common.a) set(BROTLI_SHARED_LIB - ${BROTLI_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${CMAKE_SHARED_LIBRARY_SUFFIX} - ${BROTLI_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${CMAKE_SHARED_LIBRARY_SUFFIX} - ${BROTLI_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${BROTLI_LIB_NAME}common${CMAKE_SHARED_LIBRARY_SUFFIX}) + ${BROTLI_LIBS}/${BROTLI_LIB_NAME}enc${CMAKE_SHARED_LIBRARY_SUFFIX} + ${BROTLI_LIBS}/${BROTLI_LIB_NAME}dec${CMAKE_SHARED_LIBRARY_SUFFIX} + ${BROTLI_LIBS}/${BROTLI_LIB_NAME}common${CMAKE_SHARED_LIBRARY_SUFFIX}) else () set(BROTLI_FOUND FALSE) endif () http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/cmake_modules/FindGTest.cmake ---------------------------------------------------------------------- diff --git a/cmake_modules/FindGTest.cmake b/cmake_modules/FindGTest.cmake index c6ea16b..c6a4238 100644 --- a/cmake_modules/FindGTest.cmake +++ b/cmake_modules/FindGTest.cmake @@ -56,10 +56,10 @@ endif () if (GTEST_INCLUDE_DIR AND GTEST_LIBRARIES) set(GTEST_FOUND TRUE) get_filename_component( GTEST_LIBS ${GTEST_LIBRARIES} PATH ) - set(GTEST_LIB_NAME gtest) - set(GTEST_STATIC_LIB ${GTEST_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${GTEST_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(GTEST_MAIN_STATIC_LIB ${GTEST_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${GTEST_LIB_NAME}_main${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(GTEST_SHARED_LIB ${GTEST_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${GTEST_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) + set(GTEST_LIB_NAME libgtest) + set(GTEST_STATIC_LIB ${GTEST_LIBS}/${GTEST_LIB_NAME}.a) + set(GTEST_MAIN_STATIC_LIB ${GTEST_LIBS}/${GTEST_LIB_NAME}_main.a) + set(GTEST_SHARED_LIB ${GTEST_LIBS}/${GTEST_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) else () set(GTEST_FOUND FALSE) endif () http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/cmake_modules/FindSnappy.cmake ---------------------------------------------------------------------- diff --git a/cmake_modules/FindSnappy.cmake b/cmake_modules/FindSnappy.cmake index 867963c..d2825c0 100644 --- a/cmake_modules/FindSnappy.cmake +++ b/cmake_modules/FindSnappy.cmake @@ -54,9 +54,9 @@ if (SNAPPY_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR SNAPPY_LIBRARIES)) get_filename_component( SNAPPY_LIBS ${SNAPPY_LIBRARIES} PATH ) set(SNAPPY_HEADER_NAME snappy.h) set(SNAPPY_HEADER ${SNAPPY_INCLUDE_DIR}/${SNAPPY_HEADER_NAME}) - set(SNAPPY_LIB_NAME snappy) - set(SNAPPY_STATIC_LIB ${SNAPPY_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_LIB_NAME}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(SNAPPY_SHARED_LIB ${SNAPPY_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${SNAPPY_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) + set(SNAPPY_LIB_NAME libsnappy) + set(SNAPPY_STATIC_LIB ${SNAPPY_LIBS}/${SNAPPY_LIB_NAME}.a) + set(SNAPPY_SHARED_LIB ${SNAPPY_LIBS}/${SNAPPY_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) else () set(SNAPPY_FOUND FALSE) endif () http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/cmake_modules/FindThrift.cmake ---------------------------------------------------------------------- diff --git a/cmake_modules/FindThrift.cmake b/cmake_modules/FindThrift.cmake index 6c5d9fe..39432e9 100644 --- a/cmake_modules/FindThrift.cmake +++ b/cmake_modules/FindThrift.cmake @@ -48,12 +48,8 @@ find_path(THRIFT_CONTRIB_DIR share/fb303/if/fb303.thrift HINTS NO_DEFAULT_PATH ) -if (MSVC AND NOT THRIFT_MSVC_STATIC_LIB_SUFFIX) - set(THRIFT_MSVC_STATIC_LIB_SUFFIX md) -endif() - find_library(THRIFT_STATIC_LIB NAMES - ${CMAKE_STATIC_LIBRARY_PREFIX}thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX} + ${CMAKE_STATIC_LIBRARY_PREFIX}thrift${CMAKE_STATIC_LIBRARY_SUFFIX} HINTS ${_thrift_roots} NO_DEFAULT_PATH PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib" http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/cmake_modules/FindZLIB.cmake ---------------------------------------------------------------------- diff --git a/cmake_modules/FindZLIB.cmake b/cmake_modules/FindZLIB.cmake index 78b84f2..1cae74a 100644 --- a/cmake_modules/FindZLIB.cmake +++ b/cmake_modules/FindZLIB.cmake @@ -44,13 +44,13 @@ if ( _zlib_roots ) find_path( ZLIB_INCLUDE_DIR NAMES zlib.h PATHS ${_zlib_roots} NO_DEFAULT_PATH PATH_SUFFIXES "include" ) - find_library( ZLIB_LIBRARIES NAMES libz.a zlib + find_library( ZLIB_LIBRARIES NAMES libz.a PATHS ${_zlib_roots} NO_DEFAULT_PATH PATH_SUFFIXES "lib" ) else () find_path( ZLIB_INCLUDE_DIR NAMES zlib.h ) # Only look for the static library - find_library( ZLIB_LIBRARIES NAMES libz.a zlib ) + find_library( ZLIB_LIBRARIES NAMES libz.a ) endif () @@ -59,15 +59,9 @@ if (ZLIB_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR ZLIB_LIBRARIES)) get_filename_component( ZLIB_LIBS ${ZLIB_LIBRARIES} PATH ) set(ZLIB_HEADER_NAME zlib.h) set(ZLIB_HEADER ${ZLIB_INCLUDE_DIR}/${ZLIB_HEADER_NAME}) - set(ZLIB_LIB_NAME z) - if (MSVC) - if (NOT ZLIB_MSVC_STATIC_LIB_SUFFIX) - set(ZLIB_MSVC_STATIC_LIB_SUFFIX libstatic) - endif() - set(ZLIB_MSVC_SHARED_LIB_SUFFIX lib) - endif() - set(ZLIB_STATIC_LIB ${ZLIB_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${ZLIB_LIB_NAME}${ZLIB_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(ZLIB_SHARED_LIB ${ZLIB_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${ZLIB_LIB_NAME}${ZLIB_MSVC_SHARED_LIB_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}) + set(ZLIB_LIB_NAME libz) + set(ZLIB_STATIC_LIB ${ZLIB_LIBS}/${ZLIB_LIB_NAME}.a) + set(ZLIB_SHARED_LIB ${ZLIB_LIBS}/${ZLIB_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) else () set(ZLIB_FOUND FALSE) endif () http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/cmake_modules/ThirdpartyToolchain.cmake ---------------------------------------------------------------------- diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake index 7be349e..7b4c941 100644 --- a/cmake_modules/ThirdpartyToolchain.cmake +++ b/cmake_modules/ThirdpartyToolchain.cmake @@ -240,43 +240,42 @@ if (NOT THRIFT_FOUND) STEP_TARGETS flex_step libevent_step DEPENDS ${THRIFT_DEPENDENCIES}) endif() - - if (MSVC) - ExternalProject_Get_Property(thrift_ep SOURCE_DIR) - - set(WINFLEXBISON_VERSION 2.4.9) - set(LIBEVENT_VERSION 2.1.7) - - # Download and configure Windows build of Flex and Bison - ExternalProject_Add_Step(thrift_ep flex_step - COMMAND ${CMAKE_COMMAND} -E make_directory thirdparty/dist/winflexbison - COMMAND cd thirdparty/dist/winflexbison - COMMAND curl -SLO https://github.com/lexxmark/winflexbison/releases/download/v.${WINFLEXBISON_VERSION}/win_flex_bison-${WINFLEXBISON_VERSION}.zip - COMMAND ${CMAKE_COMMAND} -E tar xzf win_flex_bison-${WINFLEXBISON_VERSION}.zip - DEPENDERS configure - DEPENDEES download - WORKING_DIRECTORY ${SOURCE_DIR}) - - # Download and build libevent - ExternalProject_Add_Step(thrift_ep libevent_step - COMMAND ${CMAKE_COMMAND} -E make_directory thirdparty/src - COMMAND cd thirdparty/src - COMMAND curl -SLO https://github.com/nmathewson/Libevent/archive/release-${LIBEVENT_VERSION}-rc.zip - COMMAND ${CMAKE_COMMAND} -E tar xzf release-${LIBEVENT_VERSION}-rc.zip - COMMAND cd Libevent-release-${LIBEVENT_VERSION}-rc - COMMAND ${CMAKE_COMMAND} -E make_directory build - COMMAND cd build - COMMAND ${CMAKE_COMMAND} -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=.. .. - COMMAND nmake - COMMAND nmake install - DEPENDERS configure - DEPENDEES download - WORKING_DIRECTORY ${SOURCE_DIR}) - endif() - - set(THRIFT_VENDORED 1) + set(THRIFT_VENDORED 1) else() - set(THRIFT_VENDORED 0) + set(THRIFT_VENDORED 0) +endif() + +if (MSVC) + ExternalProject_Get_Property(thrift_ep SOURCE_DIR) + + set(WINFLEXBISON_VERSION 2.4.9) + set(LIBEVENT_VERSION 2.1.7) + + # Download and configure Windows build of Flex and Bison + ExternalProject_Add_Step(thrift_ep flex_step + COMMAND ${CMAKE_COMMAND} -E make_directory thirdparty/dist/winflexbison + COMMAND cd thirdparty/dist/winflexbison + COMMAND curl -SLO https://github.com/lexxmark/winflexbison/releases/download/v.${WINFLEXBISON_VERSION}/win_flex_bison-${WINFLEXBISON_VERSION}.zip + COMMAND ${CMAKE_COMMAND} -E tar xzf win_flex_bison-${WINFLEXBISON_VERSION}.zip + DEPENDERS configure + DEPENDEES download + WORKING_DIRECTORY ${SOURCE_DIR}) + + # Download and build libevent + ExternalProject_Add_Step(thrift_ep libevent_step + COMMAND ${CMAKE_COMMAND} -E make_directory thirdparty/src + COMMAND cd thirdparty/src + COMMAND curl -SLO https://github.com/nmathewson/Libevent/archive/release-${LIBEVENT_VERSION}-rc.zip + COMMAND ${CMAKE_COMMAND} -E tar xzf release-${LIBEVENT_VERSION}-rc.zip + COMMAND cd Libevent-release-${LIBEVENT_VERSION}-rc + COMMAND ${CMAKE_COMMAND} -E make_directory build + COMMAND cd build + COMMAND ${CMAKE_COMMAND} -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=.. .. + COMMAND nmake + COMMAND nmake install + DEPENDERS configure + DEPENDEES download + WORKING_DIRECTORY ${SOURCE_DIR}) endif() include_directories(SYSTEM ${THRIFT_INCLUDE_DIR} ${THRIFT_INCLUDE_DIR}/thrift) @@ -413,18 +412,19 @@ if (NOT BROTLI_FOUND) URL "https://github.com/google/brotli/archive/${BROTLI_VERSION}.tar.gz" CMAKE_ARGS ${BROTLI_CMAKE_ARGS}) endif() - if (MSVC) - ExternalProject_Get_Property(brotli_ep SOURCE_DIR) - - ExternalProject_Add_Step(brotli_ep headers_copy - COMMAND xcopy /E /I include ..\\..\\..\\brotli_ep\\src\\brotli_ep-install\\include /Y - DEPENDEES build - WORKING_DIRECTORY ${SOURCE_DIR}) - endif() else() set(BROTLI_VENDORED 0) endif() +if (MSVC) + ExternalProject_Get_Property(brotli_ep SOURCE_DIR) + + ExternalProject_Add_Step(brotli_ep headers_copy + COMMAND xcopy /E /I include ..\\..\\..\\brotli_ep\\src\\brotli_ep-install\\include /Y + DEPENDEES build + WORKING_DIRECTORY ${SOURCE_DIR}) +endif() + include_directories(SYSTEM ${BROTLI_INCLUDE_DIR}) add_library(brotlistatic_enc STATIC IMPORTED) set_target_properties(brotlistatic_enc PROPERTIES IMPORTED_LOCATION ${BROTLI_LIBRARY_ENC}) http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/c4caaf03/docs/Windows.md ---------------------------------------------------------------------- diff --git a/docs/Windows.md b/docs/Windows.md index 9659509..8c7d1a3 100644 --- a/docs/Windows.md +++ b/docs/Windows.md @@ -30,30 +30,9 @@ We recommend using packages from [conda-forge][2]. Launch cmd.exe and run following to bootstrap a build environment: ```shell -conda create -n parquet-dev cmake git boost-cpp curl zlib snappy arrow-cpp brotli thrift-cpp -c conda-forge +conda create -n parquet-dev cmake git boost-cpp curl zlib snappy -c conda-forge ``` -To allow cmake to pick up 3rd party dependencies, you should set -`PARQUET_BUILD_TOOLCHAIN` environment variable to contain `Library` folder -path of new created on previous step `parquet-dev` conda environment. -For instance, if `Miniconda` was installed to default destination, `Library` -folder path for `parquet-dev` conda environment will be as following: - -```shell -C:\Users\YOUR_USER_NAME\Miniconda3\envs\parquet-dev\Library -``` - -As alternative to `PARQUET_BUILD_TOOLCHAIN`, it's possible to configure path -to each 3rd party dependency separately by setting appropriate environment -variable: - -`BOOST_ROOT` variable with path to `boost` installation -`THRIFT_HOME` variable with path to `thrift-cpp` installation -`SNAPPY_HOME` variable with path to `snappy` installation -`ZLIB_HOME` variable with path to `zlib` installation -`BROTLI_HOME` variable with path to `brotli` installation -`ARROW_HOME` variable with path to `arrow` installation - ### Visual Studio Microsoft provides the free Visual Studio Community edition. Once you have @@ -90,25 +69,6 @@ cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release .. nmake ``` -## Building with Visual Studio cmake generator - -Activate your conda build environment: - -``` -activate parquet-dev -``` - -Change working directory in cmd.exe to the root directory of parquet-cpp and -do an out of source build: - -``` -cd %PARQUET_ROOT_SOURCES_DIRECTORY% -mkdir build -cd build -cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE=Release .. -cmake --build . --config Release -``` - When using conda, only release builds are currently supported. [1]: https://conda.io/miniconda.html
