diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3fb145f..71ae50f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,11 +46,15 @@ jobs: sudo apt install -y ninja-build clang lld cmake ccache \ libx11-dev libxext-dev libxrandr-dev libxcursor-dev \ libxi-dev libxinerama-dev libwayland-dev libxkbcommon-dev \ - wayland-protocols libgl-dev git + wayland-protocols libgl-dev git libcmark-dev libclang-19-dev - name: Configure CMake - run: cmake -G Ninja -B ${{env.BUILD_DIR}} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ - + run: > + cmake -G Ninja -B ${{env.BUILD_DIR}} + -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + -DCMAKE_C_COMPILER=clang + -DCMAKE_CXX_COMPILER=clang++ + -DCMAKE_PREFIX_PATH=/usr/lib/llvm-19 - name: Build run: cmake --build ${{env.BUILD_DIR}} --config ${{env.BUILD_TYPE}} --parallel $(nproc) @@ -91,17 +95,18 @@ jobs: - name: Install Dependencies run: | - brew install llvm@20 - echo "CMAKE_PREFIX_PATH=/usr/local/opt/llvm@20" >> $GITHUB_ENV + brew update + brew install llvm cmark ninja - - name: Configure CMake (x86_64) + - name: Configure CMake (x86) run: > - cmake -G Ninja -B "${{env.BUILD_DIR}}" + cmake -G Ninja -B ${{env.BUILD_DIR}} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - -DCMAKE_OSX_ARCHITECTURES=x86_64 - -DCMAKE_C_COMPILER=/usr/local/opt/llvm@20/bin/clang - -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm@20/bin/clang++ - -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 + -DCMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang + -DCMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++ + -DClang_DIR=$(brew --prefix llvm)/lib/cmake/clang + -DLLVM_DIR=$(brew --prefix llvm)/lib/cmake/llvm + -DCMAKE_PREFIX_PATH="$(brew --prefix llvm);$(brew --prefix cmark)" - name: Build (x86_64) run: cmake --build "${{env.BUILD_DIR}}" --config ${{env.BUILD_TYPE}} --parallel $(sysctl -n hw.logicalcpu) @@ -123,17 +128,18 @@ jobs: - name: Install Dependencies run: | - brew install llvm@20 - echo "CMAKE_PREFIX_PATH=/opt/homebrew/opt/llvm@20" >> $GITHUB_ENV + brew update + brew install llvm cmark ninja - name: Configure CMake (ARM64) run: > - cmake -G Ninja -B "${{env.BUILD_DIR}}" + cmake -G Ninja -B ${{env.BUILD_DIR}} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@20/bin/clang - -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@20/bin/clang++ - -DCMAKE_OSX_ARCHITECTURES=arm64 - -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 + -DCMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang + -DCMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++ + -DClang_DIR=$(brew --prefix llvm)/lib/cmake/clang + -DLLVM_DIR=$(brew --prefix llvm)/lib/cmake/llvm + -DCMAKE_PREFIX_PATH="$(brew --prefix llvm);$(brew --prefix cmark)" - name: Build (ARM64) run: cmake --build "${{env.BUILD_DIR}}" --config ${{env.BUILD_TYPE}} --parallel $(sysctl -n hw.logicalcpu) diff --git a/CMakeLists.txt b/CMakeLists.txt index 13d2eeb..e1794b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,7 +101,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin") target_compile_options(${CDOC_NAME} PRIVATE -Wno-missing-prototypes -Wno-sign-conversion -Wno-int-conversion -Wno-unused-parameter -Wno-implicit-function-declaration -Wno-shorten-64-to-32) - target_link_libraries(${CDOC_NAME} PRIVATE clang cmark) + target_include_directories(${CDOC_NAME} PRIVATE ${CMARK_INCLUDE_DIR} ${CLANG_INCLUDE_DIR}) + target_link_libraries(${CDOC_NAME} PRIVATE ${CMARK_LIBRARY} ${CLANG_LIBRARY}) set (PROJECT_HEADERS include/bal_engine.h include/bal_decoder.h include/bal_memory.h include/bal_types.h include/bal_errors.h)