Skip to content

Commit 9732e0c

Browse files
committed
The genesis...
0 parents  commit 9732e0c

File tree

121 files changed

+33614
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+33614
-0
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
build
2+
.kdev4
3+
4+
apiextractor.kdev4

AUTHORS

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Anderson Lizardo <[email protected]>
2+
Bruno Araujo <[email protected]>
3+
Hugo Parente Lima <[email protected]>
4+
Lauro Moura <[email protected]>
5+
Luciano Wolf <[email protected]>
6+
Marcelo Lira <[email protected]>
7+
Renato Araujo Oliveira Filho <[email protected]>
8+

CMakeLists.txt

+122
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
project(apiextractor)
2+
3+
cmake_minimum_required(VERSION 2.6)
4+
5+
find_package(Boost COMPONENTS graph REQUIRED)
6+
find_package(Qt4 4.5.0 REQUIRED)
7+
find_package(PkgConfig)
8+
pkg_check_modules(LIBXML2 REQUIRED libxml-2.0>=2.6.32)
9+
pkg_check_modules(LIBXSLT REQUIRED libxslt>=1.1.19)
10+
11+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -DAPIEXTRACTOR_ENABLE_DUPLICATE_ENUM_VALUES")
12+
13+
set(apiextractor_VERSION 0.1)
14+
configure_file(apiextractorversion.h.in ${CMAKE_CURRENT_BINARY_DIR}/apiextractorversion.h @ONLY)
15+
set(QT_USE_QTCORE 1)
16+
set(QT_USE_QTXML 1)
17+
include(${QT_USE_FILE})
18+
add_definitions(${QT_DEFINITIONS})
19+
add_definitions(-DQT_PLUGIN)
20+
add_definitions(-DQT_SHARED)
21+
add_definitions(-DRXX_ALLOCATOR_INIT_0)
22+
23+
set(CMAKE_BUILD_TYPE Debug)
24+
25+
set(apiextractor_SRC
26+
apiextractor.cpp
27+
abstractmetabuilder.cpp
28+
abstractmetalang.cpp
29+
asttoxml.cpp
30+
docparser.cpp
31+
doxygenparser.cpp
32+
qtdocparser.cpp
33+
fileout.cpp
34+
generator.cpp
35+
reporthandler.cpp
36+
typeparser.cpp
37+
typesystem.cpp
38+
parser/ast.cpp
39+
parser/binder.cpp
40+
parser/class_compiler.cpp
41+
parser/codemodel.cpp
42+
parser/codemodel_finder.cpp
43+
parser/compiler_utils.cpp
44+
parser/control.cpp
45+
parser/declarator_compiler.cpp
46+
parser/default_visitor.cpp
47+
parser/dumptree.cpp
48+
parser/lexer.cpp
49+
parser/list.cpp
50+
parser/name_compiler.cpp
51+
parser/parser.cpp
52+
parser/smallobject.cpp
53+
parser/tokens.cpp
54+
parser/type_compiler.cpp
55+
parser/visitor.cpp
56+
parser/rpp/builtin-macros.cpp
57+
parser/rpp/pp-main.cpp
58+
parser/rpp/preprocessor.cpp
59+
)
60+
61+
qt4_add_resources(apiextractor_RCCS_SRC generator.qrc)
62+
63+
set(apiextractor_MOC_HEADERS
64+
fileout.h
65+
generator.h
66+
)
67+
68+
qt4_wrap_cpp(apiextractor_MOC_SRC ${apiextractor_MOC_HEADERS})
69+
70+
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
71+
${CMAKE_CURRENT_BINARY_DIR}
72+
${CMAKE_CURRENT_SOURCE_DIR}/parser
73+
${CMAKE_CURRENT_SOURCE_DIR}/parser/rpp
74+
${QT_INCLUDE_DIR} ${Boost_INCLUDE_DIR}
75+
${LIBXSLT_INCLUDE_DIRS}
76+
${LIBXML2_INCLUDE_DIRS}
77+
)
78+
79+
add_library(apiextractor SHARED ${apiextractor_SRC} ${apiextractor_MOC_SRC} ${apiextractor_RCCS_SRC})
80+
target_link_libraries(apiextractor ${Boost_GRAPH_LIBRARY} ${LIBXSLT_LIBRARIES} ${LIBXML2_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTXMLPATTERNS_LIBRARY} ${QT_QTXML_LIBRARY})
81+
set_target_properties(apiextractor PROPERTIES SOVERSION ${apiextractor_VERSION})
82+
83+
# create pkg-config file
84+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/apiextractor.pc.in
85+
${CMAKE_CURRENT_BINARY_DIR}/apiextractor.pc @ONLY)
86+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/FindApiExtractor.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindApiExtractor.cmake @ONLY)
87+
88+
# uninstall target
89+
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)
90+
add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
91+
92+
# "make dist", in fact "make package_source"
93+
set(CPACK_SOURCE_PACKAGE_FILE_NAME "libapiextractor-${apiextractor_VERSION}")
94+
set(CPACK_SOURCE_GENERATOR TGZ)
95+
set(CPACK_SOURCE_IGNORE_FILES "~$" ".svn" "debian/" "build/" ".swp$" "*.kdev4")
96+
include(CPack)
97+
98+
set(root_HEADERS
99+
abstractmetalang.h
100+
generator.h
101+
apiextractor.h
102+
reporthandler.h
103+
typesystem.h
104+
fileout.h
105+
docparser.h
106+
qtdocparser.h
107+
)
108+
109+
enable_testing()
110+
add_subdirectory(tests)
111+
112+
install(FILES ${root_HEADERS} DESTINATION include/apiextractor)
113+
# TODO We do not need to expose these internal headers!
114+
# install(DIRECTORY parser DESTINATION include/apiextractor
115+
# FILES_MATCHING PATTERN "*.h"
116+
# PATTERN ".svn" EXCLUDE
117+
# )
118+
install(TARGETS apiextractor LIBRARY DESTINATION lib)
119+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/apiextractor.pc DESTINATION lib/pkgconfig)
120+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindApiExtractor.cmake
121+
DESTINATION share/cmake-2.6/Modules)
122+

0 commit comments

Comments
 (0)