summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Mitchener <bruce.mitchener@gmail.com>2015-12-19 23:38:49 +0700
committerBruce Mitchener <bruce.mitchener@gmail.com>2015-12-19 23:38:49 +0700
commit1a533352acd93cbad0c48f532a1e83cd5e262939 (patch)
tree670b4cb38de03e97622c394ff0f105735307d037
parent8c19c7eefe4980cfba39e835fd6ab7bb95c3f9ad (diff)
downloadbinaryen-1a533352acd93cbad0c48f532a1e83cd5e262939.tar.gz
binaryen-1a533352acd93cbad0c48f532a1e83cd5e262939.tar.bz2
binaryen-1a533352acd93cbad0c48f532a1e83cd5e262939.zip
Initial start on CMakeLists.txt.
This is not yet complete as it doesn't perform the emscripten build stage, nor does it attempt to run tests. This is work in progress on issue #2.
-rw-r--r--CMakeLists.txt59
1 files changed, 59 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 000000000..ef1e90d09
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,59 @@
+PROJECT(binaryen CXX)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
+
+SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
+
+# clang doesn't print colored diagnostics when invoked from Ninja
+IF (UNIX AND
+ CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
+ CMAKE_GENERATOR STREQUAL "Ninja")
+ SET(CMAKE_CXX_FLAGS "-fcolor-diagnostics ${CMAKE_CXX_FLAGS}")
+ENDIF()
+
+SET(binaryen-shell_SOURCES
+ src/binaryen-shell.cpp
+ src/pass.cpp
+ src/passes/LowerIfElse.cpp
+ src/passes/NameManager.cpp
+ src/passes/RemoveImports.cpp
+)
+ADD_EXECUTABLE(binaryen-shell
+ ${binaryen-shell_SOURCES})
+SET_PROPERTY(TARGET binaryen-shell PROPERTY CXX_STANDARD 11)
+SET_PROPERTY(TARGET binaryen-shell PROPERTY CXX_STANDARD_REQUIRED ON)
+INSTALL(TARGETS binaryen-shell DESTINATION bin)
+
+SET(asm2wasm_SOURCES
+ src/asm2wasm-main.cpp
+ src/emscripten-optimizer/parser.cpp
+ src/emscripten-optimizer/simple_ast.cpp
+ src/emscripten-optimizer/optimizer-shared.cpp
+)
+ADD_EXECUTABLE(asm2wasm
+ ${asm2wasm_SOURCES})
+SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD 11)
+SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD_REQUIRED ON)
+INSTALL(TARGETS asm2wasm DESTINATION bin)
+
+SET(wasm2asm_SOURCES
+ src/wasm2asm-main.cpp
+ src/emscripten-optimizer/parser.cpp
+ src/emscripten-optimizer/simple_ast.cpp
+ src/emscripten-optimizer/optimizer-shared.cpp
+)
+ADD_EXECUTABLE(wasm2asm
+ ${wasm2asm_SOURCES})
+SET_PROPERTY(TARGET wasm2asm PROPERTY CXX_STANDARD 11)
+SET_PROPERTY(TARGET wasm2asm PROPERTY CXX_STANDARD_REQUIRED ON)
+INSTALL(TARGETS wasm2asm DESTINATION bin)
+
+SET(s2wasm_SOURCES
+ src/s2wasm-main.cpp
+)
+ADD_EXECUTABLE(s2wasm
+ ${s2wasm_SOURCES})
+SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD 11)
+SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD_REQUIRED ON)
+INSTALL(TARGETS s2wasm DESTINATION bin)