From cbfb9747608fc51cf07f1a1595bb2b8f5de75d67 Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Mon, 4 Mar 2024 18:00:38 +0100 Subject: [PATCH 1/7] Make PHASAR_DEBUG_LIBDEPS detect issues in assertions from within CI --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8dab4ed41..f091bc65d2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,9 +16,9 @@ jobs: build: [ Debug, Release ] include: - build: Debug - flags: -DPHASAR_BUILD_DYNLIB=ON -DPHASAR_ENABLE_SANITIZERS=ON + flags: -DPHASAR_DEBUG_LIBDEPS=ON -DBUILD_SHARED_LIBS=ON - build: Release - flags: -DPHASAR_ENABLE_DYNAMIC_LOG=OFF -DPHASAR_DEBUG_LIBDEPS=ON -DBUILD_SHARED_LIBS=ON + flags: -DPHASAR_ENABLE_DYNAMIC_LOG=OFF -DPHASAR_BUILD_DYNLIB=ON -DPHASAR_ENABLE_SANITIZERS=ON continue-on-error: false steps: From cabd43d8c6f95a41dc1e5f69966e932ac6c684c5 Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Mon, 4 Mar 2024 18:00:59 +0100 Subject: [PATCH 2/7] Fix DI-based TH dependency issue --- lib/PhasarLLVM/TypeHierarchy/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) 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 From 015984aeff925341df43a3c9c5bec27ae43f43c8 Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Wed, 13 Mar 2024 19:39:05 +0100 Subject: [PATCH 3/7] Add one more CI target for testing library dependencies --- .github/workflows/ci.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f091bc65d2..4449ecf0e2 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_DEBUG_LIBDEPS=ON -DBUILD_SHARED_LIBS=ON + cmake_build_type: Debug + flags: -DPHASAR_ENABLE_SANITIZERS=ON - build: Release + 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: @@ -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 }} \ From c1dce853cd5a9e93d90bcdf0bd9ed6aac8a8d946 Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Wed, 13 Mar 2024 19:39:23 +0100 Subject: [PATCH 4/7] bump swift-actions --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4449ecf0e2..79c2de56c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,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] }} From 9deac695f1d1c9b50c0a52d58b035d925bc44855 Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Thu, 21 Mar 2024 17:46:40 +0100 Subject: [PATCH 5/7] Fix in-tree build --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 879caeddc0..4d3bcdd525 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) From e302be78979402445e91028b267c9edc27fcab54 Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Thu, 21 Mar 2024 19:52:09 +0100 Subject: [PATCH 6/7] Fix install with shared libs --- cmake/add_nlohmann_json.cmake | 6 ++++++ 1 file changed, 6 insertions(+) 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 $ ) From 99adcd04d04e59e6d66d935eb80a5ed4103ffda7 Mon Sep 17 00:00:00 2001 From: Fabian Schiebel Date: Fri, 22 Mar 2024 18:45:33 +0100 Subject: [PATCH 7/7] Prevent the DEV int-tree build from falling back to debug --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d3bcdd525..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 ()