Skip to content

Commit

Permalink
purging build system
Browse files Browse the repository at this point in the history
  • Loading branch information
eyck committed Jul 30, 2023
1 parent 4bef9fc commit 3a7e2ab
Showing 1 changed file with 16 additions and 50 deletions.
66 changes: 16 additions & 50 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,17 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

project(dbt-rise-core VERSION 1.0.0)

option(WITH_TCC "Build TCC backend" ON)
option(WITH_LLVM "Build LLVM backend" OFF)

include(GNUInstallDirs)
include(add_whole_library)

find_package(Boost COMPONENTS serialization thread REQUIRED)
find_package(tcc QUIET)
if(tcc_FOUND)
set(WITH_TCC ON)
elseif(TARGET CONAN_PKG::tcc)
set(WITH_TCC ON)
else()
set(WITH_TCC OFF)
find_package(fmt)
if(WITH_TCC)
find_package(tcc)
endif()

find_package(fmt QUIET)

if(WITH_LLVM)
if(DEFINED ENV{LLVM_HOME})
find_path (LLVM_DIR LLVM-Config.cmake $ENV{LLVM_HOME}/lib/cmake/llvm)
Expand All @@ -32,7 +28,7 @@ if(WITH_LLVM)
endif()
endif()

set(LIB_NAME ${PROJECT_NAME}_a)
set(LIB_NAME ${PROJECT_NAME})
set(LIB_SOURCES
src/iss/debugger/gdb_session.cpp
src/iss/debugger/encoderdecoder.cpp
Expand All @@ -58,47 +54,19 @@ if (MSVC)
endif()

if(WITH_LLVM)
target_compile_definitions(${LIB_NAME} PUBLIC ${LLVM_DEFINITIONS})
target_include_directories(${LIB_NAME} PRIVATE ${LLVM_INCLUDE_DIRS})
target_compile_definitions(${LIB_NAME} PUBLIC WITH_LLVM ${LLVM_DEFINITIONS})
target_include_directories(${LIB_NAME} PUBLIC ${LLVM_INCLUDE_DIRS})
target_link_libraries( ${LIB_NAME} PUBLIC ${LLVM_LIBRARIES})
endif()
if(TARGET Boost::thread)
target_link_libraries(${LIB_NAME} PUBLIC Boost::thread)
else()
target_include_directories(${LIB_NAME} PUBLIC ${Boost_INCLUDE_DIRS})
target_link_libraries(${LIB_NAME} PUBLIC ${Boost_thread_LIBRARY})
endif()
if(TARGET Boost::serialization)
target_link_libraries(${LIB_NAME} PUBLIC Boost::serialization)
else()
target_include_directories(${LIB_NAME} PUBLIC ${Boost_INCLUDE_DIRS})
target_link_libraries(${LIB_NAME} PUBLIC ${Boost_serialization_LIBRARY})
endif()
if(TARGET CONAN_PKG::scc)
target_link_libraries(${LIB_NAME} PUBLIC CONAN_PKG::scc)
else()
target_link_libraries(${LIB_NAME} PUBLIC scc-util)
endif()

if(WITH_TCC)
if(TARGET CONAN_PKG::tcc)
target_compile_definitions(${LIB_NAME} PUBLIC HAS_TCC)
target_link_libraries(${LIB_NAME} PUBLIC CONAN_PKG::tcc)
elseif(TARGET tcc::tcc)
target_compile_definitions(${LIB_NAME} PUBLIC HAS_TCC)
target_link_libraries(${LIB_NAME} PUBLIC tcc::tcc)
else()
message(FATAL_ERROR "No TCC library found, maybe a find_package() call is missing")
endif()
endif()
if(TARGET CONAN_PKG::fmt)
target_compile_definitions(${LIB_NAME} PUBLIC FMT_HEADER_ONLY FMT_USE_WINDOWS_H=0)
target_link_libraries(${LIB_NAME} PUBLIC CONAN_PKG::fmt)
elseif(TARGET fmt::fmt)
target_compile_definitions(${LIB_NAME} PUBLIC FMT_HEADER_ONLY FMT_USE_WINDOWS_H=0)
target_link_libraries(${LIB_NAME} PUBLIC fmt::fmt)
else()
message(FATAL_ERROR "No FMT library found, maybe a find_package() call is missing")
target_compile_definitions(${LIB_NAME} PUBLIC WITH_TCC)
target_link_libraries(${LIB_NAME} PUBLIC tcc::tcc)
endif()

target_link_libraries(${LIB_NAME} PUBLIC scc-util)
target_link_libraries(${LIB_NAME} PUBLIC fmt::fmt)
target_link_libraries(${LIB_NAME} PUBLIC Boost::serialization Boost::thread)
target_link_libraries(${LIB_NAME} PUBLIC ${CMAKE_DL_LIBS})

set(LIB_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/src/dbt_rise_common.h)
Expand All @@ -118,8 +86,6 @@ install(TARGETS ${LIB_NAME} COMPONENT ${PROJECT_NAME}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} # headers
)

add_whole_library(${PROJECT_NAME} ${LIB_NAME})

install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/iss COMPONENT ${PROJECT_NAME}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} # target directory
FILES_MATCHING # install only matched files
Expand Down

0 comments on commit 3a7e2ab

Please sign in to comment.