summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorImmanuel Haffner <haffner.immanuel@gmail.com>2019-11-27 02:20:59 +0100
committerAlon Zakai <azakai@google.com>2019-11-26 17:20:59 -0800
commit5c81d48c70e62e11d9a8fd0fd8231fac10c3bf29 (patch)
treefe92869eca3333c0cbfe1fa6283e160c292136e5 /src
parentec53d11e0792884e1125fe5a1a437a5eff260259 (diff)
downloadbinaryen-5c81d48c70e62e11d9a8fd0fd8231fac10c3bf29.tar.gz
binaryen-5c81d48c70e62e11d9a8fd0fd8231fac10c3bf29.tar.bz2
binaryen-5c81d48c70e62e11d9a8fd0fd8231fac10c3bf29.zip
Collect all object files from the object libraries in a CMake variable (#2477)
using the `$<TARGET_OBJECTS:objlib>` syntax. Use this variable when adding `libbinaryen` as static or shared library. Additionally, use the variable with the object files to simplify the `TARGET_LINK_LIBRARIES` commands: add the object libraries to the sources of executables and drop the use of our libraries in `TARGET_LINK_LIBRARIES`. (Object libraries cannot be linked but must be used as sources. See https://cmake.org/pipermail/cmake/2018-June/067721.html)
Diffstat (limited to 'src')
-rw-r--r--src/asmjs/CMakeLists.txt2
-rw-r--r--src/cfg/CMakeLists.txt2
-rw-r--r--src/emscripten-optimizer/CMakeLists.txt2
-rw-r--r--src/ir/CMakeLists.txt2
-rw-r--r--src/passes/CMakeLists.txt2
-rw-r--r--src/support/CMakeLists.txt3
-rw-r--r--src/wasm/CMakeLists.txt2
7 files changed, 7 insertions, 8 deletions
diff --git a/src/asmjs/CMakeLists.txt b/src/asmjs/CMakeLists.txt
index 0252ed911..e9fa3d12f 100644
--- a/src/asmjs/CMakeLists.txt
+++ b/src/asmjs/CMakeLists.txt
@@ -3,4 +3,4 @@ SET(asmjs_SOURCES
asmangle.cpp
shared-constants.cpp
)
-ADD_LIBRARY(asmjs STATIC ${asmjs_SOURCES}) \ No newline at end of file
+ADD_LIBRARY(asmjs OBJECT ${asmjs_SOURCES})
diff --git a/src/cfg/CMakeLists.txt b/src/cfg/CMakeLists.txt
index f0825b454..feb4186af 100644
--- a/src/cfg/CMakeLists.txt
+++ b/src/cfg/CMakeLists.txt
@@ -1,4 +1,4 @@
SET(cfg_SOURCES
Relooper.cpp
)
-ADD_LIBRARY(cfg STATIC ${cfg_SOURCES})
+ADD_LIBRARY(cfg OBJECT ${cfg_SOURCES})
diff --git a/src/emscripten-optimizer/CMakeLists.txt b/src/emscripten-optimizer/CMakeLists.txt
index 6c302b991..a2bb7d802 100644
--- a/src/emscripten-optimizer/CMakeLists.txt
+++ b/src/emscripten-optimizer/CMakeLists.txt
@@ -3,4 +3,4 @@ SET(emscripten-optimizer_SOURCES
parser.cpp
simple_ast.cpp
)
-ADD_LIBRARY(emscripten-optimizer STATIC ${emscripten-optimizer_SOURCES})
+ADD_LIBRARY(emscripten-optimizer OBJECT ${emscripten-optimizer_SOURCES})
diff --git a/src/ir/CMakeLists.txt b/src/ir/CMakeLists.txt
index e89ece6a2..3f4a77337 100644
--- a/src/ir/CMakeLists.txt
+++ b/src/ir/CMakeLists.txt
@@ -4,4 +4,4 @@ SET(ir_SOURCES
LocalGraph.cpp
ReFinalize.cpp
)
-ADD_LIBRARY(ir STATIC ${ir_SOURCES})
+ADD_LIBRARY(ir OBJECT ${ir_SOURCES})
diff --git a/src/passes/CMakeLists.txt b/src/passes/CMakeLists.txt
index d2b7e22bc..313c0f5a7 100644
--- a/src/passes/CMakeLists.txt
+++ b/src/passes/CMakeLists.txt
@@ -72,4 +72,4 @@ SET(passes_SOURCES
Vacuum.cpp
${CMAKE_CURRENT_BINARY_DIR}/WasmIntrinsics.cpp
)
-ADD_LIBRARY(passes STATIC ${passes_SOURCES})
+ADD_LIBRARY(passes OBJECT ${passes_SOURCES})
diff --git a/src/support/CMakeLists.txt b/src/support/CMakeLists.txt
index b3373d076..c8d7632e4 100644
--- a/src/support/CMakeLists.txt
+++ b/src/support/CMakeLists.txt
@@ -8,5 +8,4 @@ SET(support_SOURCES
safe_integer.cpp
threads.cpp
)
-ADD_LIBRARY(support STATIC ${support_SOURCES})
-TARGET_LINK_LIBRARIES(support ${CMAKE_THREAD_LIBS_INIT})
+ADD_LIBRARY(support OBJECT ${support_SOURCES})
diff --git a/src/wasm/CMakeLists.txt b/src/wasm/CMakeLists.txt
index f4441953a..984441c6c 100644
--- a/src/wasm/CMakeLists.txt
+++ b/src/wasm/CMakeLists.txt
@@ -10,4 +10,4 @@ SET(wasm_SOURCES
wasm-type.cpp
wasm-validator.cpp
)
-ADD_LIBRARY(wasm STATIC ${wasm_SOURCES})
+ADD_LIBRARY(wasm OBJECT ${wasm_SOURCES})