diff --git a/.config.cmake.in b/.config.cmake.in index f5b413f94..91cb9f7c2 100644 --- a/.config.cmake.in +++ b/.config.cmake.in @@ -3,7 +3,17 @@ set_and_check(SVF_INSTALL_ROOT "@PACKAGE_SVF_INSTALL_ROOT@") set_and_check(SVF_INSTALL_BIN_DIR "@PACKAGE_SVF_INSTALL_BIN_DIR@") set_and_check(SVF_INSTALL_LIB_DIR "@PACKAGE_SVF_INSTALL_LIB_DIR@") -set_and_check(SVF_INSTALL_INCLUDE_DIR "@PACKAGE_SVF_INSTALL_INCLUDE_DIR@") + +set(SVF_INCLUDE_PATH "@PACKAGE_SVF_INSTALL_ROOT@/../svf/include") +set(SVF_LLVM_INCLUDE_PATH "@PACKAGE_SVF_INSTALL_ROOT@/../svf-llvm/include") + +if(EXISTS ${SVF_INCLUDE_PATH} AND EXISTS ${SVF_LLVM_INCLUDE_PATH}) + set(SVF_INSTALL_INCLUDE_DIR "${SVF_INCLUDE_PATH};${SVF_LLVM_INCLUDE_PATH};@PACKAGE_SVF_INSTALL_INCLUDE_DIR@") +else() + set_and_check(SVF_INSTALL_INCLUDE_DIR "@PACKAGE_SVF_INSTALL_INCLUDE_DIR@") +endif() + +message(STATUS "SVF_INSTALL_INCLUDE_DIR is set to: ${SVF_INSTALL_INCLUDE_DIR}") set_and_check(SVF_INSTALL_EXTAPI_DIR "@PACKAGE_SVF_INSTALL_EXTAPI_DIR@") set_and_check(SVF_INSTALL_EXTAPI_FILE "@PACKAGE_SVF_INSTALL_EXTAPI_FILE@") @@ -21,4 +31,4 @@ set(SVF_CXX_STANDARD "@CMAKE_CXX_STANDARD@") set(SVF_ENABLE_RTTI "@SVF_ENABLE_RTTI@") set(SVF_ENABLE_EXCEPTIONS "@SVF_ENABLE_EXCEPTIONS@") -include("${CMAKE_CURRENT_LIST_DIR}/SVFTargets.cmake") + diff --git a/.github/workflows/svf-lib_publish.yml b/.github/workflows/svf-lib_publish.yml index f6af5b6a2..08972e843 100644 --- a/.github/workflows/svf-lib_publish.yml +++ b/.github/workflows/svf-lib_publish.yml @@ -120,6 +120,8 @@ jobs: rm -rf $GITHUB_WORKSPACE/Release-build/bin/*.dot rm -rf $GITHUB_WORKSPACE/Release-build/bin/*.json cp -rf $GITHUB_WORKSPACE/Release-build/include SVF-${osVersion}/Release-build/ + cp -rf $GITHUB_WORKSPACE/svf/include SVF-${osVersion}/Release-build/ + cp -rf $GITHUB_WORKSPACE/svf-llvm/include SVF-${osVersion}/Release-build/ cp -rf $GITHUB_WORKSPACE/Release-build/lib SVF-${osVersion}/Release-build/ cp -rf $GITHUB_WORKSPACE/Release-build/bin SVF-${osVersion}/Release-build/ git add . diff --git a/CMakeLists.txt b/CMakeLists.txt index c08e1535c..1d6f9587c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -175,13 +175,3 @@ install( ${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/SVF/SVFConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SVF ) - -# Install CMake targets from different SVF subprojects so they can be found by find_package(SVF) -install( - EXPORT SVFTargets - FILE SVFTargets.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SVF -) - -# Export targets added to SVFTargets (set by install() command) -export(EXPORT SVFTargets FILE "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/SVF/SVFTargets.cmake") diff --git a/svf-llvm/CMakeLists.txt b/svf-llvm/CMakeLists.txt index a116920d7..db0de6484 100644 --- a/svf-llvm/CMakeLists.txt +++ b/svf-llvm/CMakeLists.txt @@ -88,10 +88,6 @@ target_sources(SvfLLVM PRIVATE ${SVF_LLVM_SOURCES}) # Get all of the public header files (i.e. all *.h/*.hpp files) for SVF's subprojects and add them file(GLOB_RECURSE SVF_LLVM_HEADERS include/*.h include/*.hpp) -add_custom_target(CopySVFLLVMIncludeFiles ALL - COMMAND ${CMAKE_COMMAND} -E copy_directory - ${CMAKE_CURRENT_SOURCE_DIR}/include/ - ${CMAKE_BINARY_DIR}/include) target_sources(SvfLLVM PUBLIC @@ -100,8 +96,6 @@ target_sources(SvfLLVM FILES ${SVF_LLVM_HEADERS} ) -add_dependencies(SvfCore CopySVFLLVMIncludeFiles CopySVFIncludeFiles) - # Add intrinsics_gen target if we're building as part of LLVM source build if(TARGET intrinsics_gen) add_dependencies(SvfLLVM intrinsics_gen) diff --git a/svf/CMakeLists.txt b/svf/CMakeLists.txt index 647f3df50..e624c2869 100644 --- a/svf/CMakeLists.txt +++ b/svf/CMakeLists.txt @@ -21,11 +21,6 @@ target_sources(SvfCore PRIVATE ${SVF_CORE_SOURCES}) # Get all of the public header files (i.e. all *.h/*.hpp files) for SVF's subprojects and add them file(GLOB_RECURSE SVF_CORE_HEADERS include/*.h include/*.hpp) -add_custom_target(CopySVFIncludeFiles ALL - COMMAND ${CMAKE_COMMAND} -E copy_directory - ${CMAKE_CURRENT_SOURCE_DIR}/include/ - ${CMAKE_BINARY_DIR}/include) - target_sources(SvfCore PUBLIC FILE_SET HEADERS @@ -33,8 +28,6 @@ target_sources(SvfCore FILES ${SVF_CORE_HEADERS} ) -add_dependencies(SvfCore CopySVFIncludeFiles) - # Install the headers and compiled libraries (associate SvfCore with the SVF package's targets) install( TARGETS SvfCore