diff --git a/depends/CMakeLists.txt b/depends/CMakeLists.txt index b824cebdc..db3b939e8 100644 --- a/depends/CMakeLists.txt +++ b/depends/CMakeLists.txt @@ -35,25 +35,19 @@ endforeach() include(ExternalProject) if(WIN32) - set(EXPAT_LIB_NAME_SUFFIX "MD") set(XLSXIO_C_FLAGS "${CMAKE_C_FLAGS} /DXML_STATIC") else() - set(EXPAT_LIB_NAME_SUFFIX "") set(XLSXIO_C_FLAGS "${CMAKE_C_FLAGS} -DXML_STATIC") endif() -set(LIBEXPAT_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/libexpat) -set(LIBEXPAT_LIB ${LIBEXPAT_INSTALL_DIR}/lib/libexpat${EXPAT_LIB_NAME_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) -set(LIBEXPAT_LIB ${LIBEXPAT_LIB} PARENT_SCOPE) -ExternalProject_Add(libexpat_project - PREFIX libexpat - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libexpat/expat - INSTALL_DIR ${LIBEXPAT_INSTALL_DIR} - BUILD_BYPRODUCTS ${LIBEXPAT_LIB} - CMAKE_GENERATOR "${CMAKE_GENERATOR}" - CMAKE_GENERATOR_TOOLSET "${CMAKE_GENERATOR_TOOLSET}" - CMAKE_ARGS ${CL_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBEXPAT_INSTALL_DIR} -DCMAKE_BUILD_TYPE=Release -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_SHARED_LIBS=OFF -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_POSITION_INDEPENDENT_CODE=ON -) +# set the default values of libexpat options - the descriptions are left empty +# because later option() calls *do* override those +set(EXPAT_BUILD_EXAMPLES OFF CACHE BOOL "") +set(EXPAT_BUILD_TESTS OFF CACHE BOOL "") +set(EXPAT_BUILD_TOOLS OFF CACHE BOOL "") +set(EXPAT_SHARED_LIBS OFF CACHE BOOL "") +set(EXPAT_BUILD_DOCS OFF CACHE BOOL "") +add_subdirectory(libexpat/expat) set(LIBZIP_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzip) set(LIBZIP_LIB ${LIBZIP_INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}zip${CMAKE_STATIC_LIBRARY_SUFFIX}) @@ -74,11 +68,11 @@ set(XLSXIO_LIB ${XLSXIO_INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}xlsxio_re set(XLSXIO_LIB ${XLSXIO_LIB} PARENT_SCOPE) ExternalProject_Add(xlsxio_project PREFIX xlsxio - DEPENDS libexpat_project libzip_project + DEPENDS libzip_project SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/xlsxio INSTALL_DIR ${XLSXIO_INSTALL_DIR} BUILD_BYPRODUCTS ${XLSXIO_LIB} CMAKE_GENERATOR "${CMAKE_GENERATOR}" CMAKE_GENERATOR_TOOLSET "${CMAKE_GENERATOR_TOOLSET}" - CMAKE_ARGS ${CL_ARGS} -DCMAKE_INSTALL_PREFIX=${XLSXIO_INSTALL_DIR} -DCMAKE_BUILD_TYPE=Release -DBUILD_STATIC=ON -DBUILD_SHARED=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_TOOLS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOCUMENTATION=OFF -DWITH_LIBZIP=ON -DZLIB_DIR=${ZLIB_DIR} -DLIBZIP_DIR=${LIBZIP_INSTALL_DIR} -DEXPAT_DIR=${LIBEXPAT_INSTALL_DIR} -DEXPAT_LIBRARIES=${LIBEXPAT_LIB} -DEXPAT_INCLUDE_DIRS=${LIBEXPAT_INSTALL_DIR}/include -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_C_FLAGS=${XLSXIO_C_FLAGS} + CMAKE_ARGS ${CL_ARGS} -DCMAKE_INSTALL_PREFIX=${XLSXIO_INSTALL_DIR} -DCMAKE_BUILD_TYPE=Release -DBUILD_STATIC=ON -DBUILD_SHARED=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_TOOLS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOCUMENTATION=OFF -DWITH_LIBZIP=ON -DZLIB_DIR=${ZLIB_DIR} -DLIBZIP_DIR=${LIBZIP_INSTALL_DIR} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_C_FLAGS=${XLSXIO_C_FLAGS} ) diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 07e14fa11..dc71b6e0d 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -82,8 +82,6 @@ add_library(xlsxio_read STATIC IMPORTED) set_target_properties(xlsxio_read PROPERTIES IMPORTED_LOCATION ${XLSXIO_LIB}) add_library(zip STATIC IMPORTED) set_target_properties(zip PROPERTIES IMPORTED_LOCATION ${LIBZIP_LIB}) -add_library(expat STATIC IMPORTED) -set_target_properties(expat PROPERTIES IMPORTED_LOCATION ${LIBEXPAT_LIB}) if(WIN32) set(LIB_Z_LIB "depends/zlib/lib/zlib")