2020-07-23 21:47:13 +01:00
|
|
|
set(HEADER_LIST
|
2021-04-05 19:02:30 +01:00
|
|
|
"${INCLUDE_DIR}/serene/serene.h"
|
|
|
|
|
|
|
|
"${INCLUDE_DIR}/serene/exprs/expression.h"
|
|
|
|
"${INCLUDE_DIR}/serene/exprs/symbol.h"
|
|
|
|
"${INCLUDE_DIR}/serene/exprs/list.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-23 21:47:13 +01:00
|
|
|
"${INCLUDE_DIR}/serene/expr.hpp"
|
2021-04-05 19:02:30 +01:00
|
|
|
|
2021-03-31 19:37:32 +01:00
|
|
|
"${INCLUDE_DIR}/serene/number.hpp"
|
|
|
|
"${INCLUDE_DIR}/serene/symbol.hpp"
|
|
|
|
"${INCLUDE_DIR}/serene/list.hpp"
|
|
|
|
"${INCLUDE_DIR}/serene/error.hpp"
|
|
|
|
|
2020-07-25 15:49:19 +01:00
|
|
|
"${INCLUDE_DIR}/serene/state.hpp"
|
2021-03-28 23:14:32 +01:00
|
|
|
# Reader
|
|
|
|
"${INCLUDE_DIR}/serene/reader/reader.hpp"
|
|
|
|
"${INCLUDE_DIR}/serene/reader/location.hpp"
|
|
|
|
|
|
|
|
|
2021-03-25 00:53:44 +00:00
|
|
|
"${INCLUDE_DIR}/serene/sir/sir.hpp"
|
|
|
|
"${INCLUDE_DIR}/serene/sir/dialect.hpp"
|
2021-03-28 23:14:32 +01:00
|
|
|
"${INCLUDE_DIR}/serene/sir/generator.hpp"
|
2021-03-23 22:31:20 +00:00
|
|
|
"${INCLUDE_DIR}/serene/namespace.hpp")
|
|
|
|
|
2020-07-10 18:06:26 +01:00
|
|
|
# Make an automatic library - will be static or dynamic based on user setting
|
2021-03-28 23:14:32 +01:00
|
|
|
add_library(serene
|
2021-04-05 19:02:30 +01:00
|
|
|
exprs/symbol.cpp
|
|
|
|
exprs/list.cpp
|
|
|
|
|
2020-07-16 15:48:06 +01:00
|
|
|
serene.cpp
|
|
|
|
symbol.cpp
|
|
|
|
list.cpp
|
2020-07-25 15:49:19 +01:00
|
|
|
namespace.cpp
|
|
|
|
state.cpp
|
2021-03-31 19:37:32 +01:00
|
|
|
error.cpp
|
|
|
|
number.cpp
|
2021-03-28 23:14:32 +01:00
|
|
|
|
|
|
|
# Reader
|
|
|
|
reader/reader.cpp
|
|
|
|
reader/location.cpp
|
|
|
|
|
|
|
|
# IR
|
2021-03-25 00:53:44 +00:00
|
|
|
sir/sir.cpp
|
|
|
|
sir/dialect.cpp
|
2021-03-28 10:53:32 +01:00
|
|
|
sir/value_op.cpp
|
|
|
|
sir/generator.cpp
|
2020-07-16 15:48:06 +01:00
|
|
|
${HEADER_LIST})
|
|
|
|
|
2021-03-28 23:14:32 +01:00
|
|
|
|
2021-03-25 00:53:44 +00:00
|
|
|
# Make sure to generate files related to the dialects first
|
2021-03-28 23:14:32 +01:00
|
|
|
add_dependencies(serene SereneDialectGen)
|
2020-07-10 18:06:26 +01:00
|
|
|
|
|
|
|
# We need this directory, and users of our library will need it too
|
2021-03-28 23:14:32 +01:00
|
|
|
target_compile_features(serene PUBLIC cxx_std_14)
|
|
|
|
target_include_directories(serene PRIVATE ${INCLUDE_DIR})
|
|
|
|
target_include_directories(serene PUBLIC ${PROJECT_BINARY_DIR})
|
2020-07-10 18:06:26 +01:00
|
|
|
|
|
|
|
# This depends on (header only) boost
|
2021-03-28 23:14:32 +01:00
|
|
|
target_link_libraries(serene ${llvm_libs} fmt::fmt)
|
2020-07-10 18:06:26 +01:00
|
|
|
source_group(TREE "${INCLUDE_DIR}" PREFIX "Header Files" FILES ${HEADER_LIST})
|
2021-03-28 23:14:32 +01:00
|
|
|
#target_precompile_headers(serene PRIVATE ${HEADER_LIST})
|