Skip to content

Commit

Permalink
simplified PCH #2
Browse files Browse the repository at this point in the history
  • Loading branch information
ibis-hdl committed Dec 18, 2024
1 parent a3c85a4 commit f76c007
Show file tree
Hide file tree
Showing 18 changed files with 10 additions and 364 deletions.
31 changes: 0 additions & 31 deletions source/common/include/ibis/detail/pch_default.hpp

This file was deleted.

14 changes: 0 additions & 14 deletions source/common/include/ibis/detail/pch_ibis.hpp

This file was deleted.

26 changes: 0 additions & 26 deletions source/frontend/include/ibis/frontend/detail/pch_default.hpp

This file was deleted.

14 changes: 0 additions & 14 deletions source/frontend/include/ibis/frontend/detail/pch_ibis.hpp

This file was deleted.

33 changes: 9 additions & 24 deletions source/pch/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,44 +7,29 @@
project(ibis_pch LANGUAGES CXX)


add_library(${PROJECT_NAME} OBJECT)
add_library(ibis::pch ALIAS ${PROJECT_NAME})

# see [PCH: Unclear error when reusing precompiled headers from interface library](
# https://gitlab.kitware.com/cmake/cmake/-/issues/20288)
file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/pch_dummy.cpp)

target_sources(${PROJECT_NAME}
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}/pch_dummy.cpp
)
add_library(${PROJECT_NAME} ${CMAKE_CURRENT_BINARY_DIR}/pch_dummy.cpp)
add_library(ibis::pch ALIAS ${PROJECT_NAME})


target_precompile_headers(${PROJECT_NAME}
PUBLIC
${PROJECT_SOURCE_DIR}/include/ibis/pch_default.hpp
)

target_include_directories(${PROJECT_NAME}
PRIVATE
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CLI11_INCLUDE_DIR}>
$<BUILD_INTERFACE:${strong_type_INCLUDE_DIR}>
)


if(DEVELOPER_BOOST_SPIRIT_X3_DEBUG)
target_compile_definitions(${PROJECT_NAME}
PRIVATE BOOST_SPIRIT_X3_DEBUG
)
endif()


# Note, target_link_libraries(... ibis::common ibis::vhdl) doesn't work here
# since this would add cyclic dependencies
target_include_directories(${PROJECT_NAME}
PRIVATE
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CLI11_INCLUDE_DIR}>
$<BUILD_INTERFACE:${strong_type_INCLUDE_DIR}>
#$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/source/util/include>
#$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/source/util/include>
#$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/source/common/include>
#$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/source/common/include>
#$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/source/vhdl/include>
#$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/source/frontend/include>
)
7 changes: 1 addition & 6 deletions source/pch/include/ibis/pch_default.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@

#include <boost/fusion/include/adapt_struct.hpp>

// The header <boost/spirit/home/x3/auxiliary.hpp>, which includes the problemtic header
// The header <boost/spirit/home/x3/auxiliary.hpp>, which includes the problematic header
// <boost/spirit/home/x3/util/any_parser.hpp>, runs into compile problems due to Spirit X3's
// `move_to` traits. Even forwarding of enum class ast's `keyword_token` doesn't helped here.
#include <boost/spirit/home/x3/char.hpp>
Expand All @@ -73,8 +73,3 @@
#include <boost/test/data/monomorphic.hpp>
#include <boost/test/data/for_each_sample.hpp>
#include <boost/test/utils/string_cast.hpp>

// other 3rd party
#include <CLI/CLI.hpp>
#include <strong_type/strong_type.hpp>

21 changes: 0 additions & 21 deletions source/util/include/ibis/util/detail/pch_default.hpp

This file was deleted.

6 changes: 0 additions & 6 deletions source/util/include/ibis/util/detail/pch_ibis.hpp

This file was deleted.

40 changes: 0 additions & 40 deletions source/vhdl/include/ibis/vhdl/detail/pch_default.hpp

This file was deleted.

20 changes: 0 additions & 20 deletions source/vhdl/include/ibis/vhdl/detail/pch_ibis.hpp

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit f76c007

Please sign in to comment.