Skip to content

Commit 24bf736

Browse files
committed
Fix build (tested locally on ubuntu and in githubaction container) (22.10 22:54)
1 parent 57c2d5a commit 24bf736

File tree

4 files changed

+27
-5
lines changed

4 files changed

+27
-5
lines changed

.github/workflows/example.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
mkdir ${{runner.workspace}}/llvm
2222
tar -xf clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz -C ${{runner.workspace}}/llvm
2323
echo "${{runner.workspace}}/llvm/clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04/bin" >> $GITHUB_PATH
24-
24+
2525
- uses: actions/checkout@v2
2626
with:
2727
submodules: 'true'
@@ -41,4 +41,4 @@ jobs:
4141
- name: Run Example
4242
working-directory: ${{runner.workspace}}/build
4343
shell: bash
44-
run: ./${{runner.workspace}}/build/Example
44+
run: ./Example

Example/CMakeLists.txt

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,26 @@ target_link_libraries(Example MetaCPP)
1111

1212
# MetaCPP automatic reflection
1313
include(../CMake/MetaPrebuild.cmake)
14-
meta_generate(Example "objects.hpp" "Generated.hpp" "Generated.cpp" "")
14+
15+
if(NOT DEFINED META_GENERATE_FLAGS)
16+
set(META_GENERATE_FLAGS "")
17+
endif()
18+
if(DEFINED CLANG_INCLUDE_DIR)
19+
set(META_GENERATE_FLAGS "${META_GENERATE_FLAGS} --flag -I${CLANG_INCLUDE_DIR}")
20+
else()
21+
# Fire all weapons
22+
set(CLANG_INCLUDE_CANDIDATES "/usr/local/lib/clang/12.0.0/include")
23+
set(CLANG_INCLUDE_CANDIDATES "${CLANG_INCLUDE_CANDIDATES};/usr/lib/llvm-12/lib/clang/12.0.0/include")
24+
set(CLANG_INCLUDE_CANDIDATES "${CLANG_INCLUDE_CANDIDATES};/usr/local/lib/clang/11.0.0/include")
25+
set(CLANG_INCLUDE_CANDIDATES "${CLANG_INCLUDE_CANDIDATES};/usr/lib/llvm-11/lib/clang/11.0.0/include")
26+
set(CLANG_INCLUDE_CANDIDATES "${CLANG_INCLUDE_CANDIDATES};/usr/local/lib/clang/10.0.0/include")
27+
set(CLANG_INCLUDE_CANDIDATES "${CLANG_INCLUDE_CANDIDATES};/usr/lib/llvm-10/lib/clang/10.0.0/include")
28+
foreach(CLANG_INCLUDE_CANDIDATE ${CLANG_INCLUDE_CANDIDATES})
29+
if(EXISTS ${CLANG_INCLUDE_CANDIDATE})
30+
set(META_GENERATE_FLAGS "${META_GENERATE_FLAGS} --flag -I${CLANG_INCLUDE_CANDIDATE}")
31+
break()
32+
endif()
33+
endforeach()
34+
endif()
35+
36+
meta_generate(Example "objects.hpp" "Generated.hpp" "Generated.cpp" "${META_GENERATE_FLAGS}")

MetaCPP-CLI/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ find_Package(Clang REQUIRED)
1010

1111
# LLVM
1212
link_directories(${LLVM_LIB_DIR})
13-
# add_definitions(${LLVM_COMPILE_FLAGS})
13+
#add_definitions(${LLVM_COMPILE_FLAGS})
1414
add_definitions(-fno-rtti) # this should match the LLVM rtti flag
1515

1616
set(MetaCPPCLI_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})

MetaCPP/src/MetaCPP/Type.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ namespace metacpp {
183183

184184
bool Type::HasSize() const {
185185
const std::string& name = m_QualifiedName.GetName();
186-
return name != "void" && name != "_Alloc_hider";
186+
return name != "void" && name != "_Alloc_hider" && m_Access == AccessSpecifier::PUBLIC;
187187
}
188188

189189
const std::vector<Method>& Type::GetMethods() const {

0 commit comments

Comments
 (0)