summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-12-19 09:53:45 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-12-19 09:53:45 -0800
commitbc560295e015020d9b9e60fdab329c36e91d0260 (patch)
treefb7cba74d7b29138ba7634f63f57e2ec68ae08a7
parentc743580ccc6e34dc498cd0a8ed24c6aaeee119ec (diff)
parent1a533352acd93cbad0c48f532a1e83cd5e262939 (diff)
downloadbinaryen-bc560295e015020d9b9e60fdab329c36e91d0260.tar.gz
binaryen-bc560295e015020d9b9e60fdab329c36e91d0260.tar.bz2
binaryen-bc560295e015020d9b9e60fdab329c36e91d0260.zip
Merge pull request #15 from waywardmonkeys/cmake
Initial start on CMakeLists.txt.
-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)