Skip to content

Commit

Permalink
add required arabica code
Browse files Browse the repository at this point in the history
Signed-off-by: Markus Mirz <markus.mirz@rwth-aachen.de>
  • Loading branch information
m-mirz committed Mar 26, 2024
1 parent b69ecba commit aea4df3
Show file tree
Hide file tree
Showing 76 changed files with 17,569 additions and 1 deletion.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ if(CIMPP_BUILD_DOC)
add_subdirectory(doc)
endif()

add_subdirectory(thirdparty)
add_subdirectory(arabica)

if(NOT USE_CIM_VERSION)
set(USE_CIM_VERSION "CGMES_2.4.15_27JAN2020" CACHE STRING "Define CIM Version")
Expand Down
103 changes: 103 additions & 0 deletions arabica/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
*.o
*~
*.tar.gz
*.tar.bz2
*.zip
*.ilk
*.pdb
*.exp
*.lib
*.bsc
*.exe
*.lo
*.la
*.ncb
*.suo
*.lnk
*.dll
*.log
*.trs
*.sdf
*.opensdf
*.DS_Store*

lib
doc/html

.libs
.deps
.dirstamp
arabica.pc

include/SAX/ArabicaConfig.hpp
include/SAX/stamp-h1
tests/XSLT/test_path.hpp

*/Debug*
*/Release*

# IDE files
vs9/mangle.sln
vs9/*.user
vs10/mangle.sln
*.vcxproj.filters
*.vcxproj.user

.idea

# Examples
examples/DOM/dom2pyx
examples/DOM/domwriter
examples/SAX/pyx
examples/SAX/simple_handler
examples/SAX/writer
examples/SAX/xmlbase
examples/Taggle/taggle
examples/Utils/transcode
examples/XPath/xgrep
examples/XSLT/mangle
fractal*.html
tests/SAX/filter_test*
tests/DOM/dom_test*
tests/XPath/xpath_test*
tests/Taggle/taggle_test
tests/Utils/utils_test*
tests/XSLT/xslt_test*
bin/mandelbrot-*.html

# Autoconf
m4/lt~obsolete.m4
m4/ltversion.m4
m4/ltsugar.m4
m4/ltoptions.m4
m4/libtool.m4
test-driver
libtool
ltmain.sh
config.log
config.status
config.cache
configure
compile
autom4te.cache
missing
Makefile
Makefile.in
aclocal.m4

# CMake
CMakeCache.txt
CMakeFiles
CMakeFiles/*
cmake_install.cmake

build/*
cmake-build-debug/

# Misc
*.stackdump

spec
gmon.out
ipch
test_path.hpp
152 changes: 152 additions & 0 deletions arabica/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
cmake_minimum_required(VERSION 3.5)

project(arabica)

# Enable C++11 support
set(CMAKE_CXX_STANDARD 11)

set(LIB_NAME arabica)

set(ARABICA_MAJOR_VERSION 2016)
set(ARABICA_MINOR_VERSION January)

#
# Build as shared library
#
option(BUILD_SHARED_LIBS "Build as shared libaries" OFF)

#
# Set the used xml backend
# options: USE_MSXML, USE_EXPAT, USE_LIBXML2, USE_XERCES
set(ARABICA_XML_BACKEND USE_LIBXML2)

configure_file(${CMAKE_CURRENT_LIST_DIR}/include/SAX/ArabicaConfig.hpp.in ${CMAKE_CURRENT_BINARY_DIR}/include/SAX/ArabicaConfig.hpp)

#
# find libxml2: LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES
if(ARABICA_XML_BACKEND STREQUAL USE_LIBXML2)
find_package(LibXml2)
set(ADDITIONAL_INC ${LIBXML2_INCLUDE_DIR})
set(ADDITIONAL_LIB ${LIBXML2_LIBRARIES})
endif()

#
# platform check
set(BUILD_X64 TRUE)

set(GENERATED_HEADER_FILES
${CMAKE_CURRENT_BINARY_DIR}/include/SAX/ArabicaConfig.hpp
)
source_group("Generated Header Files" FILES ${GENERATED_HEADER_FILES})

set(PUBLIC_HEADER_FILES
include/SAX/AttributeList.hpp
include/SAX/Attributes.hpp
include/SAX/ContentHandler.hpp
include/SAX/DocumentHandler.hpp
include/SAX/DTDHandler.hpp
include/SAX/EntityResolver.hpp
include/SAX/ErrorHandler.hpp
include/SAX/HandlerBase.hpp
include/SAX/InputSource.hpp
include/SAX/IStreamHandle.hpp
include/SAX/Locator.hpp
include/SAX/Parser.hpp
include/SAX/ParserConfig.hpp
include/SAX/SAXException.hpp
include/SAX/saxfwd.hpp
include/SAX/SAXNotRecognizedException.hpp
include/SAX/SAXNotSupportedException.hpp
include/SAX/SAXParseException.hpp
include/SAX/XMLFilter.hpp
include/SAX/XMLReader.hpp
include/SAX/ext/Attributes2.hpp
include/SAX/ext/DeclHandler.hpp
include/SAX/ext/LexicalHandler.hpp
include/SAX/ext/Locator2.hpp
include/SAX/helpers/AttributeDefaults.hpp
include/SAX/helpers/AttributeListImpl.hpp
include/SAX/helpers/AttributesImpl.hpp
include/SAX/helpers/AttributeTypes.hpp
include/SAX/helpers/DefaultHandler.hpp
include/SAX/helpers/FeatureNames.hpp
include/SAX/helpers/InputSourceResolver.hpp
include/SAX/helpers/NamespaceSupport.hpp
include/SAX/helpers/PropertyNames.hpp
include/SAX/helpers/XMLFilterImpl.hpp
include/SAX/wrappers/saxlibxml2.hpp
include/Arabica/getparam.hpp
include/Arabica/StringAdaptor.hpp
include/XML/QName.hpp
include/XML/strings.hpp
include/XML/XMLCharacterClasses.hpp
include/io/convertstream.hpp
include/io/socket_stream.hpp
include/io/uri.hpp
include/convert/impl/codecvt_specialisations.hpp
include/convert/impl/ucs2_utf16.hpp
include/convert/impl/ucs2_utf8.hpp
include/convert/utf8ucs2codecvt.hpp
include/text/normalize_whitespace.hpp
include/text/UnicodeCharacters.hpp
include/Taggle/impl/Element.hpp
include/Taggle/impl/ElementType.hpp
include/Taggle/impl/html/HTMLModels.hpp
include/Taggle/impl/html/HTMLScanner.hpp
include/Taggle/impl/html/HTMLSchema.hpp
include/Taggle/impl/Parser.hpp
include/Taggle/impl/ScanHandler.hpp
include/Taggle/impl/Scanner.hpp
include/Taggle/impl/Schema.hpp
include/Taggle/impl/SchemaImpl.hpp
include/Taggle/Taggle.hpp
)
source_group("Header Files" FILES ${PUBLIC_HEADER_FILES})

set(SOURCE_FILES
src/arabica.cpp
src/XML/XMLCharacterClasses.cpp
src/SAX/helpers/InputSourceResolver.cpp
src/io/uri.cpp
src/convert/impl/ucs2_utf16.cpp
src/convert/impl/ucs2_utf8.cpp
src/convert/utf8ucs2codecvt.cpp
src/taggle/Schema.cpp
)
source_group("Source Files" FILES ${SOURCE_FILES})


add_library (${LIB_NAME}
${GENERATED_HEADER_FILES}
${PUBLIC_HEADER_FILES}
${SOURCE_FILES}
)
target_compile_definitions(${LIB_NAME} PUBLIC "$<$<CONFIG:Debug>:ARABICA_DEBUG>")
target_compile_definitions(${LIB_NAME} PUBLIC ARABICA_NOT_USE_PRAGMA_LINKER_OPTIONS)
target_include_directories(${LIB_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>)
target_include_directories(${LIB_NAME} PUBLIC ${ADDITIONAL_INC} ${Boost_INCLUDE_DIRS})
target_include_directories(${LIB_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>)
# link backend
target_link_libraries(${LIB_NAME} ${ADDITIONAL_LIB})

set_target_properties(${LIB_NAME} PROPERTIES FOLDER "3rdparty/arabica")

#
# Install library
#
install(TARGETS ${LIB_NAME}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/static
)

install(DIRECTORY include/
DESTINATION include/${PROJECT_NAME}
FILES_MATCHING
PATTERN *.hpp
PATTERN *.h
)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/SAX/ArabicaConfig.hpp
DESTINATION include/${PROJECT_NAME}/SAX
)
32 changes: 32 additions & 0 deletions arabica/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Copyright 2001-2017 Jez UK Ltd
All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
conditions are met:

Redistributions of source code must retain the above
copyright notice, this list of conditions and the following
disclaimer.
Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials
provided with the distribution.
Neither the name of Jez UK Ltd nor the names of
contributors may be used to endorse or promote products
derived from this software without specific prior written
permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
Loading

0 comments on commit aea4df3

Please sign in to comment.