diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8dab4ed41..79c2de56c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,12 +13,17 @@ jobs: fail-fast: true matrix: compiler: [ [clang++-14, clang-14] ] - build: [ Debug, Release ] + build: [ Debug, Release, DebugLibdeps ] include: - build: Debug - flags: -DPHASAR_BUILD_DYNLIB=ON -DPHASAR_ENABLE_SANITIZERS=ON + cmake_build_type: Debug + flags: -DPHASAR_ENABLE_SANITIZERS=ON - build: Release - flags: -DPHASAR_ENABLE_DYNAMIC_LOG=OFF -DPHASAR_DEBUG_LIBDEPS=ON -DBUILD_SHARED_LIBS=ON + cmake_build_type: Release + flags: -DPHASAR_ENABLE_DYNAMIC_LOG=OFF -DPHASAR_BUILD_DYNLIB=ON -DPHASAR_ENABLE_SANITIZERS=ON + - build: DebugLibdeps + cmake_build_type: Debug + flags: -DPHASAR_DEBUG_LIBDEPS=ON -DBUILD_SHARED_LIBS=ON continue-on-error: false steps: @@ -50,7 +55,7 @@ jobs: clang-tidy-14 \ libclang-rt-14-dev - - uses: swift-actions/setup-swift@v1 + - uses: swift-actions/setup-swift@v2 with: swift-version: "5.8.1" - name: Building Phasar in ${{ matrix.build }} with ${{ matrix.compiler[0] }} @@ -62,7 +67,7 @@ jobs: mkdir build cd build cmake .. \ - -DCMAKE_BUILD_TYPE=${{ matrix.build }} \ + -DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} \ -DBUILD_SWIFT_TESTS=ON \ -DPHASAR_USE_Z3=ON \ ${{ matrix.flags }} \ diff --git a/CMakeLists.txt b/CMakeLists.txt index 879caeddc0..eaf415b142 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,7 +52,7 @@ set(PHASAR_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PHASAR_SRC_DIR}/cmake") include("phasar_macros") -if (NOT CMAKE_BUILD_TYPE AND NOT GENERATOR_IS_MULTI_CONFIG) +if (NOT CMAKE_BUILD_TYPE AND NOT GENERATOR_IS_MULTI_CONFIG AND NOT PHASAR_IN_TREE) message(STATUS "No CMAKE_BUILD_TYPE specified, setting it to Debug") set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build mode ('Debug' or 'Release', default is 'Debug')" FORCE) endif () @@ -231,12 +231,13 @@ if (NOT PHASAR_IN_TREE) # Export set set(PHASAR_DEPS_EXPORT_SET PhasarDepsExports) - set(PHASAR_DEPS_INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/phasar/deps) else() # Export set set(PHASAR_DEPS_EXPORT_SET LLVMExports) endif() +set(PHASAR_DEPS_INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/phasar/deps) + # Filesystem if (LLVM_ENABLE_LIBCXX) set(PHASAR_STD_FILESYSTEM c++fs) diff --git a/cmake/add_nlohmann_json.cmake b/cmake/add_nlohmann_json.cmake index 3c3d4a18e1..0d929706c1 100644 --- a/cmake/add_nlohmann_json.cmake +++ b/cmake/add_nlohmann_json.cmake @@ -37,7 +37,13 @@ function(add_json_schema_validator) set(JSON_VALIDATOR_INSTALL OFF) + set(BUILD_SHARED_LIBS_SAVE ${BUILD_SHARED_LIBS}) + set(BUILD_SHARED_LIBS OFF) + add_subdirectory(external/json-schema-validator EXCLUDE_FROM_ALL) + + set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_SAVE}) + set_property(TARGET nlohmann_json_schema_validator APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ ) diff --git a/lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt b/lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt index 3c3d86078d..d717d39f59 100644 --- a/lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt +++ b/lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt @@ -6,6 +6,7 @@ add_phasar_library(phasar_llvm_typehierarchy LINKS phasar_utils + phasar_llvm_db LLVM_LINK_COMPONENTS Core