From 4b1dfb91ca155cb76b2a2551d2b6501976046676 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 20:59:41 +0200 Subject: [PATCH 01/22] CMake: Rename BUILD_tools_default to _EXPAT_BUILD_TOOLS_DEFAULT --- expat/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 9b6a1861..706f18ee 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -23,11 +23,11 @@ include(GNUInstallDirs) # Configuration defaults # if(WINCE) - set(BUILD_tools_default OFF) + set(_EXPAT_BUILD_TOOLS_DEFAULT OFF) else() - set(BUILD_tools_default ON) + set(_EXPAT_BUILD_TOOLS_DEFAULT ON) endif() -if(MSVC OR NOT BUILD_tools_default) +if(MSVC OR NOT _EXPAT_BUILD_TOOLS_DEFAULT) set(BUILD_doc_default OFF) else() find_program(DOCBOOK_TO_MAN NAMES docbook2x-man db2x_docbook2man docbook2man docbook-to-man) @@ -41,7 +41,7 @@ endif() # # Configuration # -option(BUILD_tools "build the xmlwf tool for expat library" ${BUILD_tools_default}) +option(BUILD_tools "build the xmlwf tool for expat library" ${_EXPAT_BUILD_TOOLS_DEFAULT}) option(BUILD_examples "build the examples for expat library" ON) option(BUILD_tests "build the tests for expat library" ON) option(BUILD_shared "build a shared expat library" ON) From c3bd1953be2504e1f9ec383aedb757d3b86daa1b Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:00:48 +0200 Subject: [PATCH 02/22] CMake: Rename BUILD_tools to EXPAT_BUILD_TOOLS --- expat/CMakeLists.txt | 10 +++++----- expat/win32/build_expat_iss.bat | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 706f18ee..56ffcccd 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -41,7 +41,7 @@ endif() # # Configuration # -option(BUILD_tools "build the xmlwf tool for expat library" ${_EXPAT_BUILD_TOOLS_DEFAULT}) +option(EXPAT_BUILD_TOOLS "build the xmlwf tool for expat library" ${_EXPAT_BUILD_TOOLS_DEFAULT}) option(BUILD_examples "build the examples for expat library" ON) option(BUILD_tests "build the tests for expat library" ON) option(BUILD_shared "build a shared expat library" ON) @@ -118,8 +118,8 @@ if(XML_UNICODE_WCHAR_T AND NOT XML_UNICODE) set(XML_UNICODE 1) endif(XML_UNICODE_WCHAR_T AND NOT XML_UNICODE) -if(BUILD_tools AND (XML_UNICODE AND NOT XML_UNICODE_WCHAR_T)) - message(SEND_ERROR "The xmlwf tool can not be built with option XML_UNICODE_WCHAR_T=OFF and XML_UNICODE=ON. Either set XML_UNICODE_WCHAR_T=ON or BUILD_tools=OFF.") +if(EXPAT_BUILD_TOOLS AND (XML_UNICODE AND NOT XML_UNICODE_WCHAR_T)) + message(SEND_ERROR "The xmlwf tool can not be built with option XML_UNICODE_WCHAR_T=OFF and XML_UNICODE=ON. Either set XML_UNICODE_WCHAR_T=ON or EXPAT_BUILD_TOOLS=OFF.") endif() include(${CMAKE_CURRENT_LIST_DIR}/ConfigureChecks.cmake) @@ -278,7 +278,7 @@ expat_install(FILES ${CMAKE_CURRENT_BINARY_DIR}/expat.pc DESTINATION ${CMAKE_INS # # C command line tool xmlwf # -if(BUILD_tools) +if(EXPAT_BUILD_TOOLS) set(xmlwf_SRCS xmlwf/xmlwf.c xmlwf/xmlfile.c @@ -451,7 +451,7 @@ message(STATUS " Build documentation ........ ${BUILD_doc}") message(STATUS " Build examples ............. ${BUILD_examples}") message(STATUS " Build fuzzers .............. ${BUILD_fuzzers}") message(STATUS " Build tests ................ ${BUILD_tests}") -message(STATUS " Build tools (xmlwf) ........ ${BUILD_tools}") +message(STATUS " Build tools (xmlwf) ........ ${EXPAT_BUILD_TOOLS}") message(STATUS " Install files .............. ${INSTALL}") message(STATUS "") message(STATUS " Features") diff --git a/expat/win32/build_expat_iss.bat b/expat/win32/build_expat_iss.bat index 80304576..798175c1 100644 --- a/expat/win32/build_expat_iss.bat +++ b/expat/win32/build_expat_iss.bat @@ -43,7 +43,7 @@ MD %BINDIR% || EXIT /b 1 MD build_shared_char || EXIT /b 1 CD build_shared_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DBUILD_tools=OFF .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -63,7 +63,7 @@ COPY build_static_char\xmlwf\%CONFIGURATION%\xmlwf.exe %BINDIR%\ || EXIT /b 1 MD build_shared_wchar_t || EXIT /b 1 CD build_shared_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DBUILD_tools=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -73,7 +73,7 @@ COPY build_shared_wchar_t\%CONFIGURATION%\expatw.lib %BINDIR%\ || EXIT /b 1 MD build_static_wchar_t || EXIT /b 1 CD build_static_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DBUILD_tools=OFF -DBUILD_shared=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF -DBUILD_shared=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 From 87d60093fd7d338ba5624526063693ff85866448 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:07:48 +0200 Subject: [PATCH 03/22] CMake: Rename BUILD_examples to EXPAT_BUILD_EXAMPLES --- expat/CMakeLists.txt | 8 ++++---- expat/win32/build_expat_iss.bat | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 56ffcccd..177fbebe 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -42,7 +42,7 @@ endif() # Configuration # option(EXPAT_BUILD_TOOLS "build the xmlwf tool for expat library" ${_EXPAT_BUILD_TOOLS_DEFAULT}) -option(BUILD_examples "build the examples for expat library" ON) +option(EXPAT_BUILD_EXAMPLES "build the examples for expat library" ON) option(BUILD_tests "build the tests for expat library" ON) option(BUILD_shared "build a shared expat library" ON) option(BUILD_doc "build man page for xmlwf" ${BUILD_doc_default}) @@ -300,7 +300,7 @@ endif() # # C code examples # -if(BUILD_examples) +if(EXPAT_BUILD_EXAMPLES) add_executable(elements examples/elements.c) set_property(TARGET elements PROPERTY RUNTIME_OUTPUT_DIRECTORY examples) target_link_libraries(elements expat) @@ -308,7 +308,7 @@ if(BUILD_examples) add_executable(outline examples/outline.c) set_property(TARGET outline PROPERTY RUNTIME_OUTPUT_DIRECTORY examples) target_link_libraries(outline expat) -endif(BUILD_examples) +endif(EXPAT_BUILD_EXAMPLES) # # C/C++ test runners @@ -448,7 +448,7 @@ if(WIN32) endif() message(STATUS "") message(STATUS " Build documentation ........ ${BUILD_doc}") -message(STATUS " Build examples ............. ${BUILD_examples}") +message(STATUS " Build examples ............. ${EXPAT_BUILD_EXAMPLES}") message(STATUS " Build fuzzers .............. ${BUILD_fuzzers}") message(STATUS " Build tests ................ ${BUILD_tests}") message(STATUS " Build tools (xmlwf) ........ ${EXPAT_BUILD_TOOLS}") diff --git a/expat/win32/build_expat_iss.bat b/expat/win32/build_expat_iss.bat index 798175c1..577a84f3 100644 --- a/expat/win32/build_expat_iss.bat +++ b/expat/win32/build_expat_iss.bat @@ -43,7 +43,7 @@ MD %BINDIR% || EXIT /b 1 MD build_shared_char || EXIT /b 1 CD build_shared_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -53,7 +53,7 @@ COPY build_shared_char\%CONFIGURATION%\expat.lib %BINDIR%\ || EXIT /b 1 MD build_static_char || EXIT /b 1 CD build_static_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DBUILD_shared=OFF .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DBUILD_tests=OFF -DBUILD_shared=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -63,7 +63,7 @@ COPY build_static_char\xmlwf\%CONFIGURATION%\xmlwf.exe %BINDIR%\ || EXIT /b 1 MD build_shared_wchar_t || EXIT /b 1 CD build_shared_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -73,7 +73,7 @@ COPY build_shared_wchar_t\%CONFIGURATION%\expatw.lib %BINDIR%\ || EXIT /b 1 MD build_static_wchar_t || EXIT /b 1 CD build_static_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DBUILD_examples=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF -DBUILD_shared=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF -DBUILD_shared=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 From 9595968a3e924f7b46bd45fcfa4334cc3b9f0df9 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:08:35 +0200 Subject: [PATCH 04/22] CMake: Rename BUILD_tests to EXPAT_BUILD_TESTS --- expat/CMakeLists.txt | 10 +++++----- expat/win32/build_expat_iss.bat | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 177fbebe..bc394ec9 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -43,7 +43,7 @@ endif() # option(EXPAT_BUILD_TOOLS "build the xmlwf tool for expat library" ${_EXPAT_BUILD_TOOLS_DEFAULT}) option(EXPAT_BUILD_EXAMPLES "build the examples for expat library" ON) -option(BUILD_tests "build the tests for expat library" ON) +option(EXPAT_BUILD_TESTS "build the tests for expat library" ON) option(BUILD_shared "build a shared expat library" ON) option(BUILD_doc "build man page for xmlwf" ${BUILD_doc_default}) option(BUILD_fuzzers "build fuzzers for the expat library" OFF) @@ -313,7 +313,7 @@ endif(EXPAT_BUILD_EXAMPLES) # # C/C++ test runners # -if(BUILD_tests) +if(EXPAT_BUILD_TESTS) ## these are unittests that can be run on any platform enable_language(CXX) enable_testing() @@ -334,7 +334,7 @@ if(BUILD_tests) set_property(TARGET runtestspp PROPERTY RUNTIME_OUTPUT_DIRECTORY tests) target_link_libraries(runtestspp expat) add_test(runtestspp tests/runtestspp) -endif(BUILD_tests) +endif(EXPAT_BUILD_TESTS) if(BUILD_fuzzers) if(NOT "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") @@ -450,7 +450,7 @@ message(STATUS "") message(STATUS " Build documentation ........ ${BUILD_doc}") message(STATUS " Build examples ............. ${EXPAT_BUILD_EXAMPLES}") message(STATUS " Build fuzzers .............. ${BUILD_fuzzers}") -message(STATUS " Build tests ................ ${BUILD_tests}") +message(STATUS " Build tests ................ ${EXPAT_BUILD_TESTS}") message(STATUS " Build tools (xmlwf) ........ ${EXPAT_BUILD_TOOLS}") message(STATUS " Install files .............. ${INSTALL}") message(STATUS "") @@ -474,7 +474,7 @@ message(STATUS "") if(CMAKE_GENERATOR STREQUAL "Unix Makefiles") message(STATUS "Continue with") message(STATUS " make") - if(BUILD_tests) + if(EXPAT_BUILD_TESTS) message(STATUS " make test") endif() if(INSTALL) diff --git a/expat/win32/build_expat_iss.bat b/expat/win32/build_expat_iss.bat index 577a84f3..40168dd7 100644 --- a/expat/win32/build_expat_iss.bat +++ b/expat/win32/build_expat_iss.bat @@ -43,7 +43,7 @@ MD %BINDIR% || EXIT /b 1 MD build_shared_char || EXIT /b 1 CD build_shared_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -53,7 +53,7 @@ COPY build_shared_char\%CONFIGURATION%\expat.lib %BINDIR%\ || EXIT /b 1 MD build_static_char || EXIT /b 1 CD build_static_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DBUILD_tests=OFF -DBUILD_shared=OFF .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DBUILD_shared=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -63,7 +63,7 @@ COPY build_static_char\xmlwf\%CONFIGURATION%\xmlwf.exe %BINDIR%\ || EXIT /b 1 MD build_shared_wchar_t || EXIT /b 1 CD build_shared_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -73,7 +73,7 @@ COPY build_shared_wchar_t\%CONFIGURATION%\expatw.lib %BINDIR%\ || EXIT /b 1 MD build_static_wchar_t || EXIT /b 1 CD build_static_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DBUILD_tests=OFF -DEXPAT_BUILD_TOOLS=OFF -DBUILD_shared=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DBUILD_shared=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 From 3eb4909120fa90e630760f1adea22ec5c50e6777 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:10:18 +0200 Subject: [PATCH 05/22] CMake: Rename BUILD_doc_default to _EXPAT_BUILD_DOCS_DEFAULT --- expat/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index bc394ec9..2e80cf06 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -28,13 +28,13 @@ else() set(_EXPAT_BUILD_TOOLS_DEFAULT ON) endif() if(MSVC OR NOT _EXPAT_BUILD_TOOLS_DEFAULT) - set(BUILD_doc_default OFF) + set(_EXPAT_BUILD_DOCS_DEFAULT OFF) else() find_program(DOCBOOK_TO_MAN NAMES docbook2x-man db2x_docbook2man docbook2man docbook-to-man) if(DOCBOOK_TO_MAN) - set(BUILD_doc_default ON) + set(_EXPAT_BUILD_DOCS_DEFAULT ON) else() - set(BUILD_doc_default OFF) + set(_EXPAT_BUILD_DOCS_DEFAULT OFF) endif() endif() @@ -45,7 +45,7 @@ option(EXPAT_BUILD_TOOLS "build the xmlwf tool for expat library" ${_EXPAT_BUILD option(EXPAT_BUILD_EXAMPLES "build the examples for expat library" ON) option(EXPAT_BUILD_TESTS "build the tests for expat library" ON) option(BUILD_shared "build a shared expat library" ON) -option(BUILD_doc "build man page for xmlwf" ${BUILD_doc_default}) +option(BUILD_doc "build man page for xmlwf" ${_EXPAT_BUILD_DOCS_DEFAULT}) option(BUILD_fuzzers "build fuzzers for the expat library" OFF) option(USE_libbsd "utilize libbsd (for arc4random_buf)" OFF) option(INSTALL "install expat files in cmake install target" ON) From 48c71b566ccbb39d2f7753266f9d0efdc98df2bf Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:12:42 +0200 Subject: [PATCH 06/22] CMake: Rename BUILD_doc to EXPAT_BUILD_DOCS --- expat/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 2e80cf06..56312ae3 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -45,7 +45,7 @@ option(EXPAT_BUILD_TOOLS "build the xmlwf tool for expat library" ${_EXPAT_BUILD option(EXPAT_BUILD_EXAMPLES "build the examples for expat library" ON) option(EXPAT_BUILD_TESTS "build the tests for expat library" ON) option(BUILD_shared "build a shared expat library" ON) -option(BUILD_doc "build man page for xmlwf" ${_EXPAT_BUILD_DOCS_DEFAULT}) +option(EXPAT_BUILD_DOCS "build man page for xmlwf" ${_EXPAT_BUILD_DOCS_DEFAULT}) option(BUILD_fuzzers "build fuzzers for the expat library" OFF) option(USE_libbsd "utilize libbsd (for arc4random_buf)" OFF) option(INSTALL "install expat files in cmake install target" ON) @@ -290,7 +290,7 @@ if(EXPAT_BUILD_TOOLS) set_property(TARGET xmlwf PROPERTY RUNTIME_OUTPUT_DIRECTORY xmlwf) target_link_libraries(xmlwf expat) expat_install(TARGETS xmlwf DESTINATION ${CMAKE_INSTALL_BINDIR}) - if(BUILD_doc) + if(EXPAT_BUILD_DOCS) file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/doc) add_custom_command(TARGET expat PRE_BUILD COMMAND "${DOCBOOK_TO_MAN}" "${PROJECT_SOURCE_DIR}/doc/xmlwf.xml" && mv "XMLWF.1" "${PROJECT_BINARY_DIR}/doc/xmlwf.1") expat_install(FILES "${PROJECT_BINARY_DIR}/doc/xmlwf.1" DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) @@ -447,7 +447,7 @@ if(WIN32) message(STATUS " Binary postfix ............. ${CMAKE_${_EXPAT_BUILD_TYPE_UPPER}_POSTFIX}") endif() message(STATUS "") -message(STATUS " Build documentation ........ ${BUILD_doc}") +message(STATUS " Build documentation ........ ${EXPAT_BUILD_DOCS}") message(STATUS " Build examples ............. ${EXPAT_BUILD_EXAMPLES}") message(STATUS " Build fuzzers .............. ${BUILD_fuzzers}") message(STATUS " Build tests ................ ${EXPAT_BUILD_TESTS}") From 0c6508b9f61b46ab67415e6ba505880356b4a6ea Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:13:41 +0200 Subject: [PATCH 07/22] CMake: Rename BUILD_fuzzers to EXPAT_BUILD_FUZZERS --- .travis.yml | 2 +- expat/CMakeLists.txt | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3defccee..ae0d41d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,7 +24,7 @@ matrix: - os: linux env: MODE=clang-format - os: linux - env: MODE=cmake-oos CMAKE_ARGS="-DXML_ATTR_INFO=ON -DBUILD_fuzzers=ON -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++" + env: MODE=cmake-oos CMAKE_ARGS="-DXML_ATTR_INFO=ON -DEXPAT_BUILD_FUZZERS=ON -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++" - os: linux env: MODE=qa-sh QA_COMPILER=clang CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CONFIGURE_ARGS=--enable-xml-attr-info - os: linux diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 56312ae3..ec6a7363 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -46,7 +46,7 @@ option(EXPAT_BUILD_EXAMPLES "build the examples for expat library" ON) option(EXPAT_BUILD_TESTS "build the tests for expat library" ON) option(BUILD_shared "build a shared expat library" ON) option(EXPAT_BUILD_DOCS "build man page for xmlwf" ${_EXPAT_BUILD_DOCS_DEFAULT}) -option(BUILD_fuzzers "build fuzzers for the expat library" OFF) +option(EXPAT_BUILD_FUZZERS "build fuzzers for the expat library" OFF) option(USE_libbsd "utilize libbsd (for arc4random_buf)" OFF) option(INSTALL "install expat files in cmake install target" ON) set(XML_CONTEXT_BYTES 1024 CACHE STRING "Define to specify how much context to retain around the current parse point") @@ -336,7 +336,7 @@ if(EXPAT_BUILD_TESTS) add_test(runtestspp tests/runtestspp) endif(EXPAT_BUILD_TESTS) -if(BUILD_fuzzers) +if(EXPAT_BUILD_FUZZERS) if(NOT "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") message(SEND_ERROR "Building fuzz targets without Clang (but ${CMAKE_C_COMPILER_ID}) " @@ -371,7 +371,7 @@ if(BUILD_fuzzers) TARGET ${target_name} PROPERTY RUNTIME_OUTPUT_DIRECTORY fuzz) endforeach() endforeach() -endif(BUILD_fuzzers) +endif(EXPAT_BUILD_FUZZERS) # # Documentation @@ -449,7 +449,7 @@ endif() message(STATUS "") message(STATUS " Build documentation ........ ${EXPAT_BUILD_DOCS}") message(STATUS " Build examples ............. ${EXPAT_BUILD_EXAMPLES}") -message(STATUS " Build fuzzers .............. ${BUILD_fuzzers}") +message(STATUS " Build fuzzers .............. ${EXPAT_BUILD_FUZZERS}") message(STATUS " Build tests ................ ${EXPAT_BUILD_TESTS}") message(STATUS " Build tools (xmlwf) ........ ${EXPAT_BUILD_TOOLS}") message(STATUS " Install files .............. ${INSTALL}") From 20bb6ed0b3da729d173466b950616ee761822155 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:18:19 +0200 Subject: [PATCH 08/22] CMake: Rename USE_libbsd to EXPAT_WITH_LIBBSD --- expat/CMakeLists.txt | 10 +++++----- expat/ConfigureChecks.cmake | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index ec6a7363..39129f8c 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -47,7 +47,7 @@ option(EXPAT_BUILD_TESTS "build the tests for expat library" ON) option(BUILD_shared "build a shared expat library" ON) option(EXPAT_BUILD_DOCS "build man page for xmlwf" ${_EXPAT_BUILD_DOCS_DEFAULT}) option(EXPAT_BUILD_FUZZERS "build fuzzers for the expat library" OFF) -option(USE_libbsd "utilize libbsd (for arc4random_buf)" OFF) +option(EXPAT_WITH_LIBBSD "utilize libbsd (for arc4random_buf)" OFF) option(INSTALL "install expat files in cmake install target" ON) set(XML_CONTEXT_BYTES 1024 CACHE STRING "Define to specify how much context to retain around the current parse point") option(XML_DTD "Define to make parameter entity parsing functionality available" ON) @@ -72,10 +72,10 @@ endif() # # Environment checks # -if(USE_libbsd) +if(EXPAT_WITH_LIBBSD) find_library(LIB_BSD NAMES bsd) if(NOT LIB_BSD) - message(SEND_ERROR "USE_libbsd option is enabled, but libbsd was not found") + message(SEND_ERROR "EXPAT_WITH_LIBBSD option is enabled, but libbsd was not found") else() set(HAVE_LIBBSD TRUE) endif() @@ -243,7 +243,7 @@ else(BUILD_shared) endif(BUILD_shared) add_library(expat ${_SHARED} ${expat_SRCS}) -if(USE_libbsd) +if(EXPAT_WITH_LIBBSD) target_link_libraries(expat ${LIB_BSD}) endif() @@ -467,7 +467,7 @@ if(WIN32) else() message(STATUS " getrandom ................ ${HAVE_GETRANDOM}") message(STATUS " syscall SYS_getrandom .... ${HAVE_SYSCALL_GETRANDOM}") - message(STATUS " libbsd ................... ${USE_libbsd}") + message(STATUS " libbsd ................... ${EXPAT_WITH_LIBBSD}") message(STATUS " /dev/random .............. ${XML_DEV_URANDOM}") endif() message(STATUS "") diff --git a/expat/ConfigureChecks.cmake b/expat/ConfigureChecks.cmake index 4936f67f..d85e48c9 100644 --- a/expat/ConfigureChecks.cmake +++ b/expat/ConfigureChecks.cmake @@ -21,7 +21,7 @@ check_symbol_exists("getpagesize" "unistd.h" HAVE_GETPAGESIZE) check_symbol_exists("mmap" "sys/mman.h" HAVE_MMAP) check_symbol_exists("getrandom" "sys/random.h" HAVE_GETRANDOM) -if(USE_libbsd) +if(EXPAT_WITH_LIBBSD) set(CMAKE_REQUIRED_LIBRARIES "${LIB_BSD}") set(_bsd "bsd/") else() From 458be796ae8f7a8fb3ba175d7b335ccf9e1e462f Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:20:55 +0200 Subject: [PATCH 09/22] CMake: Rename WARNINGS_AS_ERRORS to EXPAT_WARNINGS_AS_ERRORS --- appveyor.yml | 2 +- expat/CMakeLists.txt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 692387b2..c332ad48 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -164,7 +164,7 @@ environment: before_build: - echo Running cmake... - cd c:\projects\libexpat - - cmake -DWARNINGS_AS_ERRORS=ON -G"%GENERATOR%" expat + - cmake -DEXPAT_WARNINGS_AS_ERRORS=ON -G"%GENERATOR%" expat build: parallel: true # enable MSBuild parallel builds diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 39129f8c..55157e7e 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -52,7 +52,7 @@ option(INSTALL "install expat files in cmake install target" ON) set(XML_CONTEXT_BYTES 1024 CACHE STRING "Define to specify how much context to retain around the current parse point") option(XML_DTD "Define to make parameter entity parsing functionality available" ON) option(XML_NS "Define to make XML Namespaces functionality available" ON) -option(WARNINGS_AS_ERRORS "Treat all compiler warnings as errors" OFF) +option(EXPAT_WARNINGS_AS_ERRORS "Treat all compiler warnings as errors" OFF) if(NOT WIN32) option(XML_DEV_URANDOM "Define to include code reading entropy from `/dev/urandom'." ON) set(USE_GETRANDOM "AUTO" CACHE STRING @@ -158,13 +158,13 @@ if(FLAG_VISIBILITY) add_definitions(-DXML_ENABLE_VISIBILITY=1) set(EXTRA_COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS} -fvisibility=hidden") endif(FLAG_VISIBILITY) -if (WARNINGS_AS_ERRORS) +if (EXPAT_WARNINGS_AS_ERRORS) if(MSVC) add_definitions(/WX) else(MSVC) set(EXTRA_COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS} -Werror") endif(MSVC) -endif(WARNINGS_AS_ERRORS) +endif(EXPAT_WARNINGS_AS_ERRORS) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_COMPILE_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_COMPILE_FLAGS}") From b244583d341fc8e9d1c2898f7c545dca6aa366e6 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:22:17 +0200 Subject: [PATCH 10/22] CMake: Rename USE_GETRANDOM to EXPAT_WITH_GETRANDOM --- expat/CMakeLists.txt | 4 ++-- expat/Changes | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 55157e7e..272bf411 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -55,7 +55,7 @@ option(XML_NS "Define to make XML Namespaces functionality available" ON) option(EXPAT_WARNINGS_AS_ERRORS "Treat all compiler warnings as errors" OFF) if(NOT WIN32) option(XML_DEV_URANDOM "Define to include code reading entropy from `/dev/urandom'." ON) - set(USE_GETRANDOM "AUTO" CACHE STRING + set(EXPAT_WITH_GETRANDOM "AUTO" CACHE STRING "Make use of getrandom function (ON|OFF|AUTO) [default=AUTO]") set(USE_SYS_GETRANDOM "AUTO" CACHE STRING "Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO]") @@ -135,7 +135,7 @@ macro(evaluate_detection_results use_ref have_ref thing_lower thing_title) endmacro() if(NOT WIN32) - evaluate_detection_results(USE_GETRANDOM HAVE_GETRANDOM "function getrandom" "Function getrandom") + evaluate_detection_results(EXPAT_WITH_GETRANDOM HAVE_GETRANDOM "function getrandom" "Function getrandom") evaluate_detection_results(USE_SYS_GETRANDOM HAVE_SYSCALL_GETRANDOM "syscall SYS_getrandom" "Syscall SYS_getrandom") endif() diff --git a/expat/Changes b/expat/Changes index fca4efc5..4999b293 100644 --- a/expat/Changes +++ b/expat/Changes @@ -27,7 +27,7 @@ Release x.x.x xxx xxx xx xxxx #326 CMake: Add argument -DXML_LARGE_SIZE=(ON|OFF), default OFF #326 CMake: Add argument -DXML_MIN_SIZE=(ON|OFF), default OFF #239 #277 CMake: Add arguments - -DUSE_GETRANDOM=(ON|OFF|AUTO), default AUTO + -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO -DUSE_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO #326 CMake: Install expat_config.h to include directory #326 CMake: Generate and install configuration files for From 0eb711e9b640e844693e9129e4e1eb0c43b4c935 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:22:51 +0200 Subject: [PATCH 11/22] CMake: Rename USE_SYS_GETRANDOM to EXPAT_WITH_SYS_GETRANDOM --- expat/CMakeLists.txt | 4 ++-- expat/Changes | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 272bf411..07976a46 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -57,7 +57,7 @@ if(NOT WIN32) option(XML_DEV_URANDOM "Define to include code reading entropy from `/dev/urandom'." ON) set(EXPAT_WITH_GETRANDOM "AUTO" CACHE STRING "Make use of getrandom function (ON|OFF|AUTO) [default=AUTO]") - set(USE_SYS_GETRANDOM "AUTO" CACHE STRING + set(EXPAT_WITH_SYS_GETRANDOM "AUTO" CACHE STRING "Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO]") endif() option(XML_UNICODE "Use UTF-16 encoded chars (two bytes) instead of UTF-8" OFF) @@ -136,7 +136,7 @@ endmacro() if(NOT WIN32) evaluate_detection_results(EXPAT_WITH_GETRANDOM HAVE_GETRANDOM "function getrandom" "Function getrandom") - evaluate_detection_results(USE_SYS_GETRANDOM HAVE_SYSCALL_GETRANDOM "syscall SYS_getrandom" "Syscall SYS_getrandom") + evaluate_detection_results(EXPAT_WITH_SYS_GETRANDOM HAVE_SYSCALL_GETRANDOM "syscall SYS_getrandom" "Syscall SYS_getrandom") endif() macro(expat_install) diff --git a/expat/Changes b/expat/Changes index 4999b293..36b8ba07 100644 --- a/expat/Changes +++ b/expat/Changes @@ -28,7 +28,7 @@ Release x.x.x xxx xxx xx xxxx #326 CMake: Add argument -DXML_MIN_SIZE=(ON|OFF), default OFF #239 #277 CMake: Add arguments -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO - -DUSE_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO + -DEXPAT_WITH_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO #326 CMake: Install expat_config.h to include directory #326 CMake: Generate and install configuration files for future find_package(expat [..] CONFIG [..]) From 4b214610e2abebb8417eebb145c5d7f18d160636 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:24:29 +0200 Subject: [PATCH 12/22] CMake: Rename MSVC_USE_STATIC_CRT to EXPAT_MSVC_STATIC_CRT --- expat/CMakeLists.txt | 10 +++++----- expat/win32/README.txt | 2 +- expat/win32/build_expat_iss.bat | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 07976a46..3ae705c9 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -66,7 +66,7 @@ option(XML_ATTR_INFO "Define to allow retrieving the byte offsets for attribute option(XML_LARGE_SIZE "Make XML_GetCurrent* functions return <(unsigned) long long> rather than <(unsigned) long>" OFF) option(XML_MIN_SIZE "Get a smaller (but slower) parser (in particular avoid multiple copies of the tokenizer)" OFF) if(MSVC) - set(MSVC_USE_STATIC_CRT OFF CACHE BOOL "Use /MT flag (static CRT) when compiling in MSVC") + set(EXPAT_MSVC_STATIC_CRT OFF CACHE BOOL "Use /MT flag (static CRT) when compiling in MSVC") endif() # @@ -169,8 +169,8 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_COMPILE_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_COMPILE_FLAGS}") if (MSVC) - if (MSVC_USE_STATIC_CRT) - message("-- Using static CRT ${MSVC_USE_STATIC_CRT}") + if (EXPAT_MSVC_STATIC_CRT) + message("-- Using static CRT ${EXPAT_MSVC_STATIC_CRT}") foreach(flag_var CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE @@ -196,7 +196,7 @@ if(WIN32) endif() if(NOT BUILD_shared) - if(MSVC_USE_STATIC_CRT) + if(EXPAT_MSVC_STATIC_CRT) set(_POSTFIX_CRT "MT") else() set(_POSTFIX_CRT "MD") @@ -440,7 +440,7 @@ message(STATUS " Prefix ..................... ${CMAKE_INSTALL_PREFIX}") message(STATUS " Build type ................. ${CMAKE_BUILD_TYPE}") message(STATUS " Shared libraries ........... ${BUILD_shared}") if(WIN32) - message(STATUS " Static CRT ................. ${MSVC_USE_STATIC_CRT}") + message(STATUS " Static CRT ................. ${EXPAT_MSVC_STATIC_CRT}") endif() message(STATUS " Character type ............. ${_EXPAT_CHAR_TYPE}") if(WIN32) diff --git a/expat/win32/README.txt b/expat/win32/README.txt index 105b5ff6..fe661ebf 100644 --- a/expat/win32/README.txt +++ b/expat/win32/README.txt @@ -46,7 +46,7 @@ Expat can be built on Windows in two ways: The "w" indicates the UTF-16 version of the library. Versions that are statically linking with the multi-threaded run-time library - can be built with -DMSVC_USE_STATIC_CRT=ON. + can be built with -DEXPAT_MSVC_STATIC_CRT=ON. Static Linking: (through -DBUILD_shared=OFF) diff --git a/expat/win32/build_expat_iss.bat b/expat/win32/build_expat_iss.bat index 40168dd7..f90f4401 100644 --- a/expat/win32/build_expat_iss.bat +++ b/expat/win32/build_expat_iss.bat @@ -43,7 +43,7 @@ MD %BINDIR% || EXIT /b 1 MD build_shared_char || EXIT /b 1 CD build_shared_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -53,7 +53,7 @@ COPY build_shared_char\%CONFIGURATION%\expat.lib %BINDIR%\ || EXIT /b 1 MD build_static_char || EXIT /b 1 CD build_static_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DBUILD_shared=OFF .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DBUILD_shared=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -63,7 +63,7 @@ COPY build_static_char\xmlwf\%CONFIGURATION%\xmlwf.exe %BINDIR%\ || EXIT /b 1 MD build_shared_wchar_t || EXIT /b 1 CD build_shared_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -73,7 +73,7 @@ COPY build_shared_wchar_t\%CONFIGURATION%\expatw.lib %BINDIR%\ || EXIT /b 1 MD build_static_wchar_t || EXIT /b 1 CD build_static_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DMSVC_USE_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DBUILD_shared=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DBUILD_shared=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 From 474471cdc244f91506abd24a1287f59b84cb2986 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:32:01 +0200 Subject: [PATCH 13/22] CMake: Rename INSTALL to EXPAT_ENABLE_INSTALL --- expat/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 3ae705c9..b84d434d 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -48,7 +48,7 @@ option(BUILD_shared "build a shared expat library" ON) option(EXPAT_BUILD_DOCS "build man page for xmlwf" ${_EXPAT_BUILD_DOCS_DEFAULT}) option(EXPAT_BUILD_FUZZERS "build fuzzers for the expat library" OFF) option(EXPAT_WITH_LIBBSD "utilize libbsd (for arc4random_buf)" OFF) -option(INSTALL "install expat files in cmake install target" ON) +option(EXPAT_ENABLE_INSTALL "install expat files in cmake install target" ON) set(XML_CONTEXT_BYTES 1024 CACHE STRING "Define to specify how much context to retain around the current parse point") option(XML_DTD "Define to make parameter entity parsing functionality available" ON) option(XML_NS "Define to make XML Namespaces functionality available" ON) @@ -140,7 +140,7 @@ if(NOT WIN32) endif() macro(expat_install) - if(INSTALL) + if(EXPAT_ENABLE_INSTALL) install(${ARGN}) endif() endmacro() @@ -452,7 +452,7 @@ message(STATUS " Build examples ............. ${EXPAT_BUILD_EXAMPLES}") message(STATUS " Build fuzzers .............. ${EXPAT_BUILD_FUZZERS}") message(STATUS " Build tests ................ ${EXPAT_BUILD_TESTS}") message(STATUS " Build tools (xmlwf) ........ ${EXPAT_BUILD_TOOLS}") -message(STATUS " Install files .............. ${INSTALL}") +message(STATUS " Install files .............. ${EXPAT_ENABLE_INSTALL}") message(STATUS "") message(STATUS " Features") message(STATUS " Attributes info .......... ${XML_ATTR_INFO}") @@ -477,7 +477,7 @@ if(CMAKE_GENERATOR STREQUAL "Unix Makefiles") if(EXPAT_BUILD_TESTS) message(STATUS " make test") endif() - if(INSTALL) + if(EXPAT_ENABLE_INSTALL) message(STATUS " sudo make install") endif() message(STATUS "") From fce015875e6153d417c60818946073f6c6aae692 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 21:35:48 +0200 Subject: [PATCH 14/22] CMake: Rename BUILD_shared to EXPAT_SHARED_LIBS --- expat/CMakeLists.txt | 12 ++++++------ expat/win32/README.txt | 2 +- expat/win32/build_expat_iss.bat | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index b84d434d..cf3b9ff7 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -44,7 +44,7 @@ endif() option(EXPAT_BUILD_TOOLS "build the xmlwf tool for expat library" ${_EXPAT_BUILD_TOOLS_DEFAULT}) option(EXPAT_BUILD_EXAMPLES "build the examples for expat library" ON) option(EXPAT_BUILD_TESTS "build the tests for expat library" ON) -option(BUILD_shared "build a shared expat library" ON) +option(EXPAT_SHARED_LIBS "build a shared expat library" ON) option(EXPAT_BUILD_DOCS "build man page for xmlwf" ${_EXPAT_BUILD_DOCS_DEFAULT}) option(EXPAT_BUILD_FUZZERS "build fuzzers for the expat library" OFF) option(EXPAT_WITH_LIBBSD "utilize libbsd (for arc4random_buf)" OFF) @@ -195,7 +195,7 @@ if(WIN32) set(_POSTFIX_WIDE "w") endif() - if(NOT BUILD_shared) + if(NOT EXPAT_SHARED_LIBS) if(EXPAT_MSVC_STATIC_CRT) set(_POSTFIX_CRT "MT") else() @@ -230,17 +230,17 @@ set(expat_SRCS lib/xmltok_ns.c ) -if(BUILD_shared) +if(EXPAT_SHARED_LIBS) set(_SHARED SHARED) if(MSVC) set(expat_SRCS ${expat_SRCS} lib/libexpat.def) endif(MSVC) -else(BUILD_shared) +else(EXPAT_SHARED_LIBS) set(_SHARED STATIC) if(WIN32) add_definitions(-DXML_STATIC) endif(WIN32) -endif(BUILD_shared) +endif(EXPAT_SHARED_LIBS) add_library(expat ${_SHARED} ${expat_SRCS}) if(EXPAT_WITH_LIBBSD) @@ -438,7 +438,7 @@ message(STATUS "") message(STATUS "Configuration") message(STATUS " Prefix ..................... ${CMAKE_INSTALL_PREFIX}") message(STATUS " Build type ................. ${CMAKE_BUILD_TYPE}") -message(STATUS " Shared libraries ........... ${BUILD_shared}") +message(STATUS " Shared libraries ........... ${EXPAT_SHARED_LIBS}") if(WIN32) message(STATUS " Static CRT ................. ${EXPAT_MSVC_STATIC_CRT}") endif() diff --git a/expat/win32/README.txt b/expat/win32/README.txt index fe661ebf..1d725f38 100644 --- a/expat/win32/README.txt +++ b/expat/win32/README.txt @@ -48,7 +48,7 @@ Expat can be built on Windows in two ways: Versions that are statically linking with the multi-threaded run-time library can be built with -DEXPAT_MSVC_STATIC_CRT=ON. - Static Linking: (through -DBUILD_shared=OFF) + Static Linking: (through -DEXPAT_SHARED_LIBS=OFF) The libraries should be named like this: Multi-threaded: libexpat(w)MT.lib diff --git a/expat/win32/build_expat_iss.bat b/expat/win32/build_expat_iss.bat index f90f4401..39c92e9a 100644 --- a/expat/win32/build_expat_iss.bat +++ b/expat/win32/build_expat_iss.bat @@ -53,7 +53,7 @@ COPY build_shared_char\%CONFIGURATION%\expat.lib %BINDIR%\ || EXIT /b 1 MD build_static_char || EXIT /b 1 CD build_static_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DBUILD_shared=OFF .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_SHARED_LIBS=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -73,7 +73,7 @@ COPY build_shared_wchar_t\%CONFIGURATION%\expatw.lib %BINDIR%\ || EXIT /b 1 MD build_static_wchar_t || EXIT /b 1 CD build_static_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DBUILD_shared=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_SHARED_LIBS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 From d13ceacad17df68b87d04b0b3ef629d1473f41dd Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 22:06:10 +0200 Subject: [PATCH 15/22] CMake: Rename XML_% to EXPAT_% --- .travis.yml | 2 +- expat/CMakeLists.txt | 88 +++++++++++++++---------------- expat/Changes | 9 ++-- expat/cmake/expat-config.cmake.in | 20 +++---- expat/win32/build_expat_iss.bat | 4 +- 5 files changed, 61 insertions(+), 62 deletions(-) diff --git a/.travis.yml b/.travis.yml index ae0d41d7..9f78f41e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,7 +24,7 @@ matrix: - os: linux env: MODE=clang-format - os: linux - env: MODE=cmake-oos CMAKE_ARGS="-DXML_ATTR_INFO=ON -DEXPAT_BUILD_FUZZERS=ON -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++" + env: MODE=cmake-oos CMAKE_ARGS="-DEXPAT_ATTR_INFO=ON -DEXPAT_BUILD_FUZZERS=ON -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++" - os: linux env: MODE=qa-sh QA_COMPILER=clang CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CONFIGURE_ARGS=--enable-xml-attr-info - os: linux diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index cf3b9ff7..0cbbb21c 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -49,22 +49,22 @@ option(EXPAT_BUILD_DOCS "build man page for xmlwf" ${_EXPAT_BUILD_DOCS_DEFAULT}) option(EXPAT_BUILD_FUZZERS "build fuzzers for the expat library" OFF) option(EXPAT_WITH_LIBBSD "utilize libbsd (for arc4random_buf)" OFF) option(EXPAT_ENABLE_INSTALL "install expat files in cmake install target" ON) -set(XML_CONTEXT_BYTES 1024 CACHE STRING "Define to specify how much context to retain around the current parse point") -option(XML_DTD "Define to make parameter entity parsing functionality available" ON) -option(XML_NS "Define to make XML Namespaces functionality available" ON) +set(EXPAT_CONTEXT_BYTES 1024 CACHE STRING "Define to specify how much context to retain around the current parse point") +option(EXPAT_DTD "Define to make parameter entity parsing functionality available" ON) +option(EXPAT_NS "Define to make XML Namespaces functionality available" ON) option(EXPAT_WARNINGS_AS_ERRORS "Treat all compiler warnings as errors" OFF) if(NOT WIN32) - option(XML_DEV_URANDOM "Define to include code reading entropy from `/dev/urandom'." ON) + option(EXPAT_DEV_URANDOM "Define to include code reading entropy from `/dev/urandom'." ON) set(EXPAT_WITH_GETRANDOM "AUTO" CACHE STRING "Make use of getrandom function (ON|OFF|AUTO) [default=AUTO]") set(EXPAT_WITH_SYS_GETRANDOM "AUTO" CACHE STRING "Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO]") endif() -option(XML_UNICODE "Use UTF-16 encoded chars (two bytes) instead of UTF-8" OFF) -option(XML_UNICODE_WCHAR_T "Use wchar_t to represent UTF-16 instead of unsigned short" OFF) -option(XML_ATTR_INFO "Define to allow retrieving the byte offsets for attribute names and values" OFF) -option(XML_LARGE_SIZE "Make XML_GetCurrent* functions return <(unsigned) long long> rather than <(unsigned) long>" OFF) -option(XML_MIN_SIZE "Get a smaller (but slower) parser (in particular avoid multiple copies of the tokenizer)" OFF) +option(EXPAT_UNICODE "Use UTF-16 encoded chars (two bytes) instead of UTF-8" OFF) +option(EXPAT_UNICODE_WCHAR_T "Use wchar_t to represent UTF-16 instead of unsigned short" OFF) +option(EXPAT_ATTR_INFO "Define to allow retrieving the byte offsets for attribute names and values" OFF) +option(EXPAT_LARGE_SIZE "Make XML_GetCurrent* functions return <(unsigned) long long> rather than <(unsigned) long>" OFF) +option(EXPAT_MIN_SIZE "Get a smaller (but slower) parser (in particular avoid multiple copies of the tokenizer)" OFF) if(MSVC) set(EXPAT_MSVC_STATIC_CRT OFF CACHE BOOL "Use /MT flag (static CRT) when compiling in MSVC") endif() @@ -81,45 +81,29 @@ if(EXPAT_WITH_LIBBSD) endif() endif() -if(NOT WIN32) - if(XML_DEV_URANDOM) - set(XML_DEV_URANDOM 1) - else(XML_DEV_URANDOM) - set(XML_DEV_URANDOM 0) - endif(XML_DEV_URANDOM) -endif() - -macro(expat_bool_to_int var_ref) - if(${var_ref}) - set(${var_ref} 1) +macro(_expat_copy_bool_int source_ref dest_ref) + if(${source_ref}) + set(${dest_ref} 1) else() - set(${var_ref} 0) + set(${dest_ref} 0) endif() endmacro() -expat_bool_to_int(XML_ATTR_INFO) -expat_bool_to_int(XML_DTD) -expat_bool_to_int(XML_LARGE_SIZE) -expat_bool_to_int(XML_MIN_SIZE) -expat_bool_to_int(XML_NS) -expat_bool_to_int(XML_UNICODE) -expat_bool_to_int(XML_UNICODE_WCHAR_T) - -if(XML_LARGE_SIZE) +if(EXPAT_LARGE_SIZE) add_definitions(-DXML_LARGE_SIZE) endif() -if(XML_MIN_SIZE) +if(EXPAT_MIN_SIZE) add_definitions(-DXML_MIN_SIZE) endif() -if(XML_UNICODE_WCHAR_T AND NOT XML_UNICODE) - message(SEND_ERROR "Option XML_UNICODE_WCHAR_T=ON may not be used without XML_UNICODE=ON.") - set(XML_UNICODE 1) -endif(XML_UNICODE_WCHAR_T AND NOT XML_UNICODE) +if(EXPAT_UNICODE_WCHAR_T AND NOT EXPAT_UNICODE) + message(SEND_ERROR "Option EXPAT_UNICODE_WCHAR_T=ON may not be used without EXPAT_UNICODE=ON.") + set(EXPAT_UNICODE ON) +endif(EXPAT_UNICODE_WCHAR_T AND NOT EXPAT_UNICODE) -if(EXPAT_BUILD_TOOLS AND (XML_UNICODE AND NOT XML_UNICODE_WCHAR_T)) - message(SEND_ERROR "The xmlwf tool can not be built with option XML_UNICODE_WCHAR_T=OFF and XML_UNICODE=ON. Either set XML_UNICODE_WCHAR_T=ON or EXPAT_BUILD_TOOLS=OFF.") +if(EXPAT_BUILD_TOOLS AND (EXPAT_UNICODE AND NOT EXPAT_UNICODE_WCHAR_T)) + message(SEND_ERROR "The xmlwf tool can not be built with option EXPAT_UNICODE_WCHAR_T=OFF and EXPAT_UNICODE=ON. Either set EXPAT_UNICODE_WCHAR_T=ON or EXPAT_BUILD_TOOLS=OFF.") endif() include(${CMAKE_CURRENT_LIST_DIR}/ConfigureChecks.cmake) @@ -139,6 +123,18 @@ if(NOT WIN32) evaluate_detection_results(EXPAT_WITH_SYS_GETRANDOM HAVE_SYSCALL_GETRANDOM "syscall SYS_getrandom" "Syscall SYS_getrandom") endif() +_expat_copy_bool_int(EXPAT_ATTR_INFO XML_ATTR_INFO) +_expat_copy_bool_int(EXPAT_DTD XML_DTD) +_expat_copy_bool_int(EXPAT_LARGE_SIZE XML_LARGE_SIZE) +_expat_copy_bool_int(EXPAT_MIN_SIZE XML_MIN_SIZE) +_expat_copy_bool_int(EXPAT_NS XML_NS) +_expat_copy_bool_int(EXPAT_UNICODE XML_UNICODE) +_expat_copy_bool_int(EXPAT_UNICODE_WCHAR_T XML_UNICODE_WCHAR_T) +if(NOT WIN32) + _expat_copy_bool_int(EXPAT_DEV_URANDOM XML_DEV_URANDOM) +endif() +set(XML_CONTEXT_BYTES ${EXPAT_CONTEXT_BYTES}) + macro(expat_install) if(EXPAT_ENABLE_INSTALL) install(${ARGN}) @@ -191,7 +187,7 @@ if(MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS -wd4996) endif(MSVC) if(WIN32) - if(XML_UNICODE_WCHAR_T) + if(EXPAT_UNICODE_WCHAR_T) set(_POSTFIX_WIDE "w") endif() @@ -422,8 +418,8 @@ expat_install( # # Summary # -if(XML_UNICODE) - if(XML_UNICODE_WCHAR_T) +if(EXPAT_UNICODE) + if(EXPAT_UNICODE_WCHAR_T) set(_EXPAT_CHAR_TYPE "wchar_t") else() set(_EXPAT_CHAR_TYPE "unsigned short") @@ -455,11 +451,11 @@ message(STATUS " Build tools (xmlwf) ........ ${EXPAT_BUILD_TOOLS}") message(STATUS " Install files .............. ${EXPAT_ENABLE_INSTALL}") message(STATUS "") message(STATUS " Features") -message(STATUS " Attributes info .......... ${XML_ATTR_INFO}") -message(STATUS " Context bytes ............ ${XML_CONTEXT_BYTES}") -message(STATUS " DTD support .............. ${XML_DTD}") -message(STATUS " Large size ............... ${XML_LARGE_SIZE}") -message(STATUS " Namespace support ........ ${XML_NS}") +message(STATUS " Attributes info .......... ${EXPAT_ATTR_INFO}") +message(STATUS " Context bytes ............ ${EXPAT_CONTEXT_BYTES}") +message(STATUS " DTD support .............. ${EXPAT_DTD}") +message(STATUS " Large size ............... ${EXPAT_LARGE_SIZE}") +message(STATUS " Namespace support ........ ${EXPAT_NS}") message(STATUS "") message(STATUS " Entropy sources") if(WIN32) @@ -468,7 +464,7 @@ else() message(STATUS " getrandom ................ ${HAVE_GETRANDOM}") message(STATUS " syscall SYS_getrandom .... ${HAVE_SYSCALL_GETRANDOM}") message(STATUS " libbsd ................... ${EXPAT_WITH_LIBBSD}") - message(STATUS " /dev/random .............. ${XML_DEV_URANDOM}") + message(STATUS " /dev/random .............. ${EXPAT_DEV_URANDOM}") endif() message(STATUS "") if(CMAKE_GENERATOR STREQUAL "Unix Makefiles") diff --git a/expat/Changes b/expat/Changes index 36b8ba07..b05edc18 100644 --- a/expat/Changes +++ b/expat/Changes @@ -23,9 +23,12 @@ Release x.x.x xxx xxx xx xxxx --with-sys-getrandom --without-sys-getrandom Autotools: Fix "make run-xmltest" for out-of-source builds - #244 #264 CMake: Add argument -DXML_ATTR_INFO=(ON|OFF), default OFF - #326 CMake: Add argument -DXML_LARGE_SIZE=(ON|OFF), default OFF - #326 CMake: Add argument -DXML_MIN_SIZE=(ON|OFF), default OFF + #244 #264 CMake: Add argument -DEXPAT_ATTR_INFO=(ON|OFF), + default OFF + #326 CMake: Add argument -DEXPAT_LARGE_SIZE=(ON|OFF), + default OFF + #326 CMake: Add argument -DEXPAT_MIN_SIZE=(ON|OFF), + default OFF #239 #277 CMake: Add arguments -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO -DEXPAT_WITH_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO diff --git a/expat/cmake/expat-config.cmake.in b/expat/cmake/expat-config.cmake.in index 3b044f04..cbd2d94d 100644 --- a/expat/cmake/expat-config.cmake.in +++ b/expat/cmake/expat-config.cmake.in @@ -43,18 +43,18 @@ macro(_register_component _NAME _AVAILABE) set(expat_${_NAME}_FOUND ${_AVAILABE}) endmacro() -_register_component(attr_info @XML_ATTR_INFO@) -if(@XML_CONTEXT_BYTES@) - _register_component(context_bytes 1) +_register_component(attr_info @EXPAT_ATTR_INFO@) +if(@EXPAT_CONTEXT_BYTES@) + _register_component(context_bytes ON) else() - _register_component(context_bytes 0) + _register_component(context_bytes OFF) endif() -_register_component(dtd @XML_DTD@) -_register_component(large_size @XML_LARGE_SIZE@) -_register_component(min_size @XML_MIN_SIZE@) -_register_component(ns @XML_NS@) -_register_component(unicode @XML_UNICODE@) -_register_component(unicode_wchar_t @XML_UNICODE_WCHAR_T@) +_register_component(dtd @EXPAT_DTD@) +_register_component(large_size @EXPAT_LARGE_SIZE@) +_register_component(min_size @EXPAT_MIN_SIZE@) +_register_component(ns @EXPAT_NS@) +_register_component(unicode @EXPAT_UNICODE@) +_register_component(unicode_wchar_t @EXPAT_UNICODE_WCHAR_T@) check_required_components(expat) diff --git a/expat/win32/build_expat_iss.bat b/expat/win32/build_expat_iss.bat index 39c92e9a..ab41aed8 100644 --- a/expat/win32/build_expat_iss.bat +++ b/expat/win32/build_expat_iss.bat @@ -63,7 +63,7 @@ COPY build_static_char\xmlwf\%CONFIGURATION%\xmlwf.exe %BINDIR%\ || EXIT /b 1 MD build_shared_wchar_t || EXIT /b 1 CD build_shared_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_UNICODE=ON -DEXPAT_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -73,7 +73,7 @@ COPY build_shared_wchar_t\%CONFIGURATION%\expatw.lib %BINDIR%\ || EXIT /b 1 MD build_static_wchar_t || EXIT /b 1 CD build_static_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_SHARED_LIBS=OFF -DXML_UNICODE=ON -DXML_UNICODE_WCHAR_T=ON .. || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_SHARED_LIBS=OFF -DEXPAT_UNICODE=ON -DEXPAT_UNICODE_WCHAR_T=ON .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 From 3007f5ecf2b02391a7930371c088677335a312b6 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 22:16:21 +0200 Subject: [PATCH 16/22] CMake: Report about XML_MIN_SIZE in summary --- expat/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 0cbbb21c..6e8d7e2b 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -455,6 +455,7 @@ message(STATUS " Attributes info .......... ${EXPAT_ATTR_INFO}") message(STATUS " Context bytes ............ ${EXPAT_CONTEXT_BYTES}") message(STATUS " DTD support .............. ${EXPAT_DTD}") message(STATUS " Large size ............... ${EXPAT_LARGE_SIZE}") +message(STATUS " Minimum size ............. ${EXPAT_MIN_SIZE}") message(STATUS " Namespace support ........ ${EXPAT_NS}") message(STATUS "") message(STATUS " Entropy sources") From 54a5ea1bb874b47fcd5aaa9c3e681326f00449dc Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 22:17:59 +0200 Subject: [PATCH 17/22] CMake: Fix pull request reference typo --- expat/Changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/expat/Changes b/expat/Changes index b05edc18..534b5079 100644 --- a/expat/Changes +++ b/expat/Changes @@ -27,7 +27,7 @@ Release x.x.x xxx xxx xx xxxx default OFF #326 CMake: Add argument -DEXPAT_LARGE_SIZE=(ON|OFF), default OFF - #326 CMake: Add argument -DEXPAT_MIN_SIZE=(ON|OFF), + #328 CMake: Add argument -DEXPAT_MIN_SIZE=(ON|OFF), default OFF #239 #277 CMake: Add arguments -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO From bf8ab25a0d31468414f32058226a20ded3051a41 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 22:28:30 +0200 Subject: [PATCH 18/22] CMake: Get options to show with "cmake -D_EXPAT_HELP=ON -LH ." --- expat/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 6e8d7e2b..f6f8c129 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -53,7 +53,7 @@ set(EXPAT_CONTEXT_BYTES 1024 CACHE STRING "Define to specify how much context to option(EXPAT_DTD "Define to make parameter entity parsing functionality available" ON) option(EXPAT_NS "Define to make XML Namespaces functionality available" ON) option(EXPAT_WARNINGS_AS_ERRORS "Treat all compiler warnings as errors" OFF) -if(NOT WIN32) +if(NOT WIN32 OR _EXPAT_HELP) option(EXPAT_DEV_URANDOM "Define to include code reading entropy from `/dev/urandom'." ON) set(EXPAT_WITH_GETRANDOM "AUTO" CACHE STRING "Make use of getrandom function (ON|OFF|AUTO) [default=AUTO]") @@ -65,7 +65,7 @@ option(EXPAT_UNICODE_WCHAR_T "Use wchar_t to represent UTF-16 instead of unsigne option(EXPAT_ATTR_INFO "Define to allow retrieving the byte offsets for attribute names and values" OFF) option(EXPAT_LARGE_SIZE "Make XML_GetCurrent* functions return <(unsigned) long long> rather than <(unsigned) long>" OFF) option(EXPAT_MIN_SIZE "Get a smaller (but slower) parser (in particular avoid multiple copies of the tokenizer)" OFF) -if(MSVC) +if(MSVC OR _EXPAT_HELP) set(EXPAT_MSVC_STATIC_CRT OFF CACHE BOOL "Use /MT flag (static CRT) when compiling in MSVC") endif() From 161bb9f5ab56dd115bc53f18cb6324aa6b52dec4 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 22:31:56 +0200 Subject: [PATCH 19/22] CMake: Mark options as advanced where guessing would go wrong, easily --- expat/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index f6f8c129..bdedfc17 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -50,8 +50,11 @@ option(EXPAT_BUILD_FUZZERS "build fuzzers for the expat library" OFF) option(EXPAT_WITH_LIBBSD "utilize libbsd (for arc4random_buf)" OFF) option(EXPAT_ENABLE_INSTALL "install expat files in cmake install target" ON) set(EXPAT_CONTEXT_BYTES 1024 CACHE STRING "Define to specify how much context to retain around the current parse point") +mark_as_advanced(EXPAT_CONTEXT_BYTES) option(EXPAT_DTD "Define to make parameter entity parsing functionality available" ON) +mark_as_advanced(EXPAT_DTD) option(EXPAT_NS "Define to make XML Namespaces functionality available" ON) +mark_as_advanced(EXPAT_NS) option(EXPAT_WARNINGS_AS_ERRORS "Treat all compiler warnings as errors" OFF) if(NOT WIN32 OR _EXPAT_HELP) option(EXPAT_DEV_URANDOM "Define to include code reading entropy from `/dev/urandom'." ON) @@ -59,12 +62,16 @@ if(NOT WIN32 OR _EXPAT_HELP) "Make use of getrandom function (ON|OFF|AUTO) [default=AUTO]") set(EXPAT_WITH_SYS_GETRANDOM "AUTO" CACHE STRING "Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO]") + mark_as_advanced(EXPAT_DEV_URANDOM) endif() option(EXPAT_UNICODE "Use UTF-16 encoded chars (two bytes) instead of UTF-8" OFF) option(EXPAT_UNICODE_WCHAR_T "Use wchar_t to represent UTF-16 instead of unsigned short" OFF) option(EXPAT_ATTR_INFO "Define to allow retrieving the byte offsets for attribute names and values" OFF) +mark_as_advanced(EXPAT_ATTR_INFO) option(EXPAT_LARGE_SIZE "Make XML_GetCurrent* functions return <(unsigned) long long> rather than <(unsigned) long>" OFF) +mark_as_advanced(EXPAT_LARGE_SIZE) option(EXPAT_MIN_SIZE "Get a smaller (but slower) parser (in particular avoid multiple copies of the tokenizer)" OFF) +mark_as_advanced(EXPAT_MIN_SIZE) if(MSVC OR _EXPAT_HELP) set(EXPAT_MSVC_STATIC_CRT OFF CACHE BOOL "Use /MT flag (static CRT) when compiling in MSVC") endif() @@ -451,6 +458,7 @@ message(STATUS " Build tools (xmlwf) ........ ${EXPAT_BUILD_TOOLS}") message(STATUS " Install files .............. ${EXPAT_ENABLE_INSTALL}") message(STATUS "") message(STATUS " Features") +message(STATUS " // Advanced options, changes not advised") message(STATUS " Attributes info .......... ${EXPAT_ATTR_INFO}") message(STATUS " Context bytes ............ ${EXPAT_CONTEXT_BYTES}") message(STATUS " DTD support .............. ${EXPAT_DTD}") From b67044f475c4bfbe951c1874b69a69d9cddcafc4 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 22:42:29 +0200 Subject: [PATCH 20/22] README.md: List non-advanced build options --- expat/README.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/expat/README.md b/expat/README.md index 762b515b..95b605a9 100644 --- a/expat/README.md +++ b/expat/README.md @@ -130,3 +130,62 @@ information. A reference manual is available in the file `doc/reference.html` in this distribution. + + +The CMake build system is still *experimental* and will replace the primary +build system based on GNU Autotools at some point when its ready. +For an idea of the available (non-advanced) options for building with CMake: + +```console +# rm -f CMakeCache.txt ; cmake -D_EXPAT_HELP=ON -LH . | grep -B1 ':.*=' +// Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= +-- +// Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local +-- +// Path to a program. +DOCBOOK_TO_MAN:FILEPATH=/usr/bin/docbook2x-man +-- +// build man page for xmlwf +EXPAT_BUILD_DOCS:BOOL=ON +-- +// build the examples for expat library +EXPAT_BUILD_EXAMPLES:BOOL=ON +-- +// build fuzzers for the expat library +EXPAT_BUILD_FUZZERS:BOOL=OFF +-- +// build the tests for expat library +EXPAT_BUILD_TESTS:BOOL=ON +-- +// build the xmlwf tool for expat library +EXPAT_BUILD_TOOLS:BOOL=ON +-- +// install expat files in cmake install target +EXPAT_ENABLE_INSTALL:BOOL=ON +-- +// Use /MT flag (static CRT) when compiling in MSVC +EXPAT_MSVC_STATIC_CRT:BOOL=OFF +-- +// build a shared expat library +EXPAT_SHARED_LIBS:BOOL=ON +-- +// Use UTF-16 encoded chars (two bytes) instead of UTF-8 +EXPAT_UNICODE:BOOL=OFF +-- +// Use wchar_t to represent UTF-16 instead of unsigned short +EXPAT_UNICODE_WCHAR_T:BOOL=OFF +-- +// Treat all compiler warnings as errors +EXPAT_WARNINGS_AS_ERRORS:BOOL=OFF +-- +// Make use of getrandom function (ON|OFF|AUTO) [default=AUTO] +EXPAT_WITH_GETRANDOM:STRING=AUTO +-- +// utilize libbsd (for arc4random_buf) +EXPAT_WITH_LIBBSD:BOOL=OFF +-- +// Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO] +EXPAT_WITH_SYS_GETRANDOM:STRING=AUTO +``` From adbfa6a2ed60199d38fb92176138850b05d099a2 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 23:12:14 +0200 Subject: [PATCH 21/22] Changes: Document move to EXPAT_ CMake option namespace prefix --- expat/Changes | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/expat/Changes b/expat/Changes index 534b5079..76c4c465 100644 --- a/expat/Changes +++ b/expat/Changes @@ -23,6 +23,24 @@ Release x.x.x xxx xxx xx xxxx --with-sys-getrandom --without-sys-getrandom Autotools: Fix "make run-xmltest" for out-of-source builds + CMake: Pull all options from Expat <=2.2.7 into namespace + prefix EXPAT_ with the exception of DOCBOOK_TO_MAN: + - BUILD_doc -> EXPAT_BUILD_DOCS (plural) + - BUILD_examples -> EXPAT_BUILD_EXAMPLES + - BUILD_shared -> EXPAT_SHARED_LIBS + - BUILD_tests -> EXPAT_BUILD_TESTS + - BUILD_tools -> EXPAT_BUILD_TOOLS + - DOCBOOK_TO_MAN -> DOCBOOK_TO_MAN (unchanged) + - INSTALL -> EXPAT_ENABLE_INSTALL + - MSVC_USE_STATIC_CRT -> EXPAT_MSVC_STATIC_CRT + - USE_libbsd -> EXPAT_WITH_LIBBSD + - WARNINGS_AS_ERRORS -> EXPAT_WARNINGS_AS_ERRORS + - XML_CONTEXT_BYTES -> EXPAT_CONTEXT_BYTES + - XML_DEV_URANDOM -> EXPAT_DEV_URANDOM + - XML_DTD -> EXPAT_DTD + - XML_NS -> EXPAT_NS + - XML_UNICODE -> EXPAT_UNICODE + - XML_UNICODE_WCHAR_T -> EXPAT_UNICODE_WCHAR_T #244 #264 CMake: Add argument -DEXPAT_ATTR_INFO=(ON|OFF), default OFF #326 CMake: Add argument -DEXPAT_LARGE_SIZE=(ON|OFF), From 493aebf28f997d5f25a69cc51aea174c7847fcd2 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Fri, 30 Aug 2019 23:16:56 +0200 Subject: [PATCH 22/22] Changes: Mention -DEXPAT_BUILD_FUZZERS=(ON|OFF) --- expat/Changes | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/expat/Changes b/expat/Changes index 76c4c465..e266ce57 100644 --- a/expat/Changes +++ b/expat/Changes @@ -60,7 +60,8 @@ Release x.x.x xxx xxx xx xxxx Old: expat[d].lib New: expat[w][d][MD|MT].lib CMake: Migrate files from Windows to Unix line endings - #308 CMake: Integrate OSS-Fuzz fuzzers + #308 CMake: Integrate OSS-Fuzz fuzzers, option + -DEXPAT_BUILD_FUZZERS=(ON|OFF), default OFF #299 #302 Windows: Replace LoadLibrary hack to access unofficial API function SystemFunction036 (RtlGenRandom) by using official API function rand_s (needs WinXP+)