diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2017-04-12 19:21:02 +0200 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2017-04-12 10:21:02 -0700 |
commit | 0f3102d13617e70b598e7d82f12684d8fa01969b (patch) | |
tree | a14c68c36008ac4cdbf64ce8266c0e13abf9fdfb | |
parent | 4d452bd81adbd18ef793ab1a02f28c15abc080d3 (diff) | |
download | binaryen-0f3102d13617e70b598e7d82f12684d8fa01969b.tar.gz binaryen-0f3102d13617e70b598e7d82f12684d8fa01969b.tar.bz2 binaryen-0f3102d13617e70b598e7d82f12684d8fa01969b.zip |
Fix install locations per FHS and allow to customize them (#958)
* Fix install locations per FHS and allow to customize them
Include built-in cmake module GNUInstallDirs that defines customizable
CMAKE_INSTALL_* variables with common defaults per FHS.
New FS structure when installed with `CMAKE_INSTALL_PREFIX=/usr`,
`BUILD_SHARED_LIBS=ON`:
usr
├── bin
│ ├── asm2wasm
│ ├── s2wasm
│ ├── wasm-as
│ ├── wasm-dis
│ ├── wasm-opt
│ └── wasm-shell
├── include
│ └── binaryen-c.h
├── lib64
│ └── libbinaryen.so
└── share
│ └── binaryen
│ ├── binaryen.js
│ └── wasm.js
└── src
└── js
├── binaryen.idl
├── binaryen.js-extended.js
├── binaryen.js-post.js
└── binaryen.js-pre.js
See https://cmake.org/cmake/help/v2.8.7/cmake.html#module:GNUInstallDirs
for more information about used variables.
Fixes #951
-rw-r--r-- | CMakeLists.txt | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index b9e135eb6..f7ba5c71d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ PROJECT(binaryen C CXX) CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7) +INCLUDE(GNUInstallDirs) IF(NOT CMAKE_BUILD_TYPE) MESSAGE(STATUS "No build type selected, default to Release") @@ -140,12 +141,11 @@ ELSE() ADD_LIBRARY(binaryen SHARED ${binaryen_SOURCES}) ENDIF() TARGET_LINK_LIBRARIES(binaryen ${all_passes} wasm asmjs ast support) -INSTALL(TARGETS binaryen DESTINATION lib) +INSTALL(TARGETS binaryen DESTINATION ${CMAKE_INSTALL_LIBDIR}) -INSTALL(FILES src/binaryen-c.h DESTINATION include) -INSTALL(FILES bin/wasm.js DESTINATION bin) -INSTALL(FILES bin/binaryen.js DESTINATION bin) -INSTALL(DIRECTORY src/js DESTINATION src) +INSTALL(FILES src/binaryen-c.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +INSTALL(FILES bin/wasm.js DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}) +INSTALL(FILES bin/binaryen.js DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}) SET(wasm-shell_SOURCES src/tools/wasm-shell.cpp @@ -156,7 +156,7 @@ ADD_EXECUTABLE(wasm-shell TARGET_LINK_LIBRARIES(wasm-shell wasm asmjs emscripten-optimizer ${all_passes} ast support) SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD 11) SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD_REQUIRED ON) -INSTALL(TARGETS wasm-shell DESTINATION bin) +INSTALL(TARGETS wasm-shell DESTINATION ${CMAKE_INSTALL_BINDIR}) SET(wasm-opt_SOURCES src/tools/wasm-opt.cpp @@ -166,7 +166,7 @@ ADD_EXECUTABLE(wasm-opt TARGET_LINK_LIBRARIES(wasm-opt wasm asmjs emscripten-optimizer ${all_passes} ast support) SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD 11) SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD_REQUIRED ON) -INSTALL(TARGETS wasm-opt DESTINATION bin) +INSTALL(TARGETS wasm-opt DESTINATION ${CMAKE_INSTALL_BINDIR}) SET(asm2wasm_SOURCES src/tools/asm2wasm.cpp @@ -177,7 +177,7 @@ ADD_EXECUTABLE(asm2wasm TARGET_LINK_LIBRARIES(asm2wasm emscripten-optimizer ${all_passes} wasm asmjs ast support) SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD 11) SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD_REQUIRED ON) -INSTALL(TARGETS asm2wasm DESTINATION bin) +INSTALL(TARGETS asm2wasm DESTINATION ${CMAKE_INSTALL_BINDIR}) SET(s2wasm_SOURCES src/tools/s2wasm.cpp @@ -189,7 +189,7 @@ ADD_EXECUTABLE(s2wasm TARGET_LINK_LIBRARIES(s2wasm passes wasm asmjs ast support) SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD 11) SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD_REQUIRED ON) -INSTALL(TARGETS s2wasm DESTINATION bin) +INSTALL(TARGETS s2wasm DESTINATION ${CMAKE_INSTALL_BINDIR}) SET(wasm_as_SOURCES src/tools/wasm-as.cpp @@ -199,7 +199,7 @@ ADD_EXECUTABLE(wasm-as TARGET_LINK_LIBRARIES(wasm-as wasm asmjs passes ast support) SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD 11) SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD_REQUIRED ON) -INSTALL(TARGETS wasm-as DESTINATION bin) +INSTALL(TARGETS wasm-as DESTINATION ${CMAKE_INSTALL_BINDIR}) SET(wasm_dis_SOURCES src/tools/wasm-dis.cpp @@ -209,4 +209,4 @@ ADD_EXECUTABLE(wasm-dis TARGET_LINK_LIBRARIES(wasm-dis passes wasm asmjs ast support) SET_PROPERTY(TARGET wasm-dis PROPERTY CXX_STANDARD 11) SET_PROPERTY(TARGET wasm-dis PROPERTY CXX_STANDARD_REQUIRED ON) -INSTALL(TARGETS wasm-dis DESTINATION bin) +INSTALL(TARGETS wasm-dis DESTINATION ${CMAKE_INSTALL_BINDIR}) |