aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Parpart <christian@ethereum.org>2018-11-23 18:39:40 +0800
committerChristian Parpart <christian@ethereum.org>2018-11-23 19:37:37 +0800
commit3734f40d315439f8a791967a6adfda8cf9fd1e55 (patch)
tree6da53fded6fd8a00b52547273441ef6afb8c3db5
parent713d94476ec5ba61901b538c622c8cca6873c2af (diff)
downloaddexon-solidity-3734f40d315439f8a791967a6adfda8cf9fd1e55.tar
dexon-solidity-3734f40d315439f8a791967a6adfda8cf9fd1e55.tar.gz
dexon-solidity-3734f40d315439f8a791967a6adfda8cf9fd1e55.tar.bz2
dexon-solidity-3734f40d315439f8a791967a6adfda8cf9fd1e55.tar.lz
dexon-solidity-3734f40d315439f8a791967a6adfda8cf9fd1e55.tar.xz
dexon-solidity-3734f40d315439f8a791967a6adfda8cf9fd1e55.tar.zst
dexon-solidity-3734f40d315439f8a791967a6adfda8cf9fd1e55.zip
CMake: Isolate libyul into its own static library
-rw-r--r--CMakeLists.txt1
-rw-r--r--libsolidity/CMakeLists.txt6
-rw-r--r--libyul/CMakeLists.txt43
-rw-r--r--test/CMakeLists.txt2
4 files changed, 48 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ed51e5a7..b22ade23 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,6 +47,7 @@ configure_project(TESTS)
add_subdirectory(libdevcore)
add_subdirectory(liblangutil)
add_subdirectory(libevmasm)
+add_subdirectory(libyul)
add_subdirectory(libsolidity)
add_subdirectory(libsolc)
diff --git a/libsolidity/CMakeLists.txt b/libsolidity/CMakeLists.txt
index c57fca16..c40087f0 100644
--- a/libsolidity/CMakeLists.txt
+++ b/libsolidity/CMakeLists.txt
@@ -1,6 +1,6 @@
# Until we have a clear separation, libyul has to be included here
-file(GLOB_RECURSE sources "*.cpp" "../libyul/*.cpp")
-file(GLOB_RECURSE headers "*.h" "../libyul/*.h")
+file(GLOB_RECURSE sources "*.cpp")
+file(GLOB_RECURSE headers "*.h")
find_package(Z3 QUIET)
if (${Z3_FOUND})
@@ -26,7 +26,7 @@ if (NOT (${Z3_FOUND} OR ${CVC4_FOUND}))
endif()
add_library(solidity ${sources} ${headers})
-target_link_libraries(solidity PUBLIC evmasm langutil devcore ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY})
+target_link_libraries(solidity PUBLIC yul evmasm langutil devcore ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY})
if (${Z3_FOUND})
target_link_libraries(solidity PUBLIC ${Z3_LIBRARY})
diff --git a/libyul/CMakeLists.txt b/libyul/CMakeLists.txt
new file mode 100644
index 00000000..8fbea689
--- /dev/null
+++ b/libyul/CMakeLists.txt
@@ -0,0 +1,43 @@
+add_library(yul
+ AsmAnalysis.cpp
+ AsmAnalysisInfo.cpp
+ AsmCodeGen.cpp
+ AsmParser.cpp
+ AsmPrinter.cpp
+ AsmScope.cpp
+ AsmScopeFiller.cpp
+ backends/evm/EVMAssembly.cpp
+ backends/evm/EVMCodeTransform.cpp
+ optimiser/ASTCopier.cpp
+ optimiser/ASTWalker.cpp
+ optimiser/BlockFlattener.cpp
+ optimiser/CommonSubexpressionEliminator.cpp
+ optimiser/DataFlowAnalyzer.cpp
+ optimiser/Disambiguator.cpp
+ optimiser/ExpressionInliner.cpp
+ optimiser/ExpressionJoiner.cpp
+ optimiser/ExpressionSimplifier.cpp
+ optimiser/ExpressionSplitter.cpp
+ optimiser/ForLoopInitRewriter.cpp
+ optimiser/FullInliner.cpp
+ optimiser/FunctionGrouper.cpp
+ optimiser/FunctionHoister.cpp
+ optimiser/InlinableExpressionFunctionFinder.cpp
+ optimiser/MainFunction.cpp
+ optimiser/Metrics.cpp
+ optimiser/NameCollector.cpp
+ optimiser/NameDispenser.cpp
+ optimiser/RedundantAssignEliminator.cpp
+ optimiser/Rematerialiser.cpp
+ optimiser/SSATransform.cpp
+ optimiser/SSAValueTracker.cpp
+ optimiser/Semantics.cpp
+ optimiser/SimplificationRules.cpp
+ optimiser/Substitution.cpp
+ optimiser/Suite.cpp
+ optimiser/SyntacticalEquality.cpp
+ optimiser/UnusedPruner.cpp
+ optimiser/Utilities.cpp
+ optimiser/VarDeclPropagator.cpp
+)
+target_link_libraries(yul PUBLIC devcore)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index acfc7d00..10b78bdc 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -27,7 +27,7 @@ add_executable(soltest ${sources} ${headers}
${liblll_sources} ${liblll_headers}
${libsolidity_sources} ${libsolidity_headers}
)
-target_link_libraries(soltest PRIVATE libsolc solidity evmasm devcore ${Boost_UNIT_TEST_FRAMEWORK_LIBRARIES})
+target_link_libraries(soltest PRIVATE libsolc yul solidity evmasm devcore ${Boost_UNIT_TEST_FRAMEWORK_LIBRARIES})
if (LLL)
target_link_libraries(soltest PRIVATE lll)