diff options
author | ꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id> | 2021-06-06 13:00:48 +0800 |
---|---|---|
committer | ꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id> | 2021-06-06 13:00:48 +0800 |
commit | 982495a8ee6932f4a1586faf0c853ebaf951000f (patch) | |
tree | c943e67fb684f4d0de3599df75990ecfa8821e5c | |
parent | 582049b456871926ef4576c3ba5e1aa67da9a3a4 (diff) |
Add support for Emscripten
-rw-r--r-- | CMakeLists.txt | 27 | ||||
-rw-r--r-- | README.md | 46 | ||||
m--------- | libicclient | 0 |
3 files changed, 22 insertions, 51 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 123a895..852c035 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,17 +1,19 @@ cmake_minimum_required(VERSION 3.5) - project(qicclient) - set(CMAKE_AUTOMOC ON) - find_package(Qt5Core) -add_library(${PROJECT_NAME} SHARED +set(HDRS + ${PROJECT_NAME}/product.hxx ${PROJECT_NAME}/catalog.hxx ${PROJECT_NAME}/ord.hxx ${PROJECT_NAME}/member.hxx ${PROJECT_NAME}/admin.hxx ${PROJECT_NAME}/client.hxx + ) + +set(SRCS + ${HDRS} catalog.cxx ord.cxx member.cxx @@ -19,20 +21,17 @@ add_library(${PROJECT_NAME} SHARED client.cxx ) +if (EMSCRIPTEN OR IOS) + add_library(${PROJECT_NAME} STATIC ${SRCS}) +else() + add_library(${PROJECT_NAME} SHARED ${SRCS}) +endif() + target_link_libraries(${PROJECT_NAME} Qt5::Core icclient ) target_compile_definitions(${PROJECT_NAME} PRIVATE QICCLIENT) - install(TARGETS ${PROJECT_NAME} DESTINATION lib) -install(FILES - ${PROJECT_NAME}/product.hxx - ${PROJECT_NAME}/catalog.hxx - ${PROJECT_NAME}/ord.hxx - ${PROJECT_NAME}/member.hxx - ${PROJECT_NAME}/admin.hxx - ${PROJECT_NAME}/client.hxx - DESTINATION include/${PROJECT_NAME} - ) +install(FILES ${HDRS} DESTINATION include/${PROJECT_NAME}) @@ -6,52 +6,24 @@ ```sh $ git clone git://darapsa.org/qicclient.git +$ cd qicclient +$ mkdir build && cd build ``` -## Configuring for various target hosts (with optional debugging) +## Configuring for various target hosts (with optional debugging), compiling, linking, and installing ```sh -$ mkdir build-qicclient-Desktop-Debug -$ cd build-qicclient-Desktop-Debug -$ cmake -DCMAKE_BUILD_TYPE=Debug ../qicclient +$ cmake -DCMAKE_TOOLCHAIN_FILE=/opt/android-sdk-update-manager/ndk/21.3.6528147/build/cmake/android.toolchain.cmake -DCMAKE_FIND_ROOT_PATH=/opt/Qt/5.15.2/android -DANDROID_NATIVE_API_LEVEL=21 -DANDROID_ABI=arm64-v8a -DCMAKE_INSTALL_PREFIX=/opt/Qt/5.15.2/android -DCMAKE_BUILD_TYPE=Debug .. +$ make +$ make install ``` or ```sh -$ mkdir build-qicclient-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_15_2_android-Debug -$ cd build-qicclient-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_15_2_android-Debug -``` - -and then - -```sh -$ cmake -DCMAKE_TOOLCHAIN_FILE=/opt/android-sdk-update-manager/ndk/21.3.6528147/build/cmake/android.toolchain.cmake -DCMAKE_FIND_ROOT_PATH=/opt/Qt/5.15.2/android -DANDROID_NATIVE_API_LEVEL=21 -DANDROID_ABI=arm64-v8a -DCMAKE_INSTALL_PREFIX=/opt/Qt/5.15.2/android -DCMAKE_BUILD_TYPE=Debug ../qicclient -``` - -or - -```sh -$ cmake -DCMAKE_TOOLCHAIN_FILE=/opt/android-sdk-update-manager/ndk/21.3.6528147/build/cmake/android.toolchain.cmake -DCMAKE_FIND_ROOT_PATH=/opt/Qt/5.15.2/android -DANDROID_NATIVE_API_LEVEL=16 -DANDROID_ABI=armeabi-v7a -DCMAKE_INSTALL_PREFIX=/opt/Qt/5.15.2/android -DCMAKE_BUILD_TYPE=Debug ../qicclient -``` - -or - -```sh -$ cmake -DCMAKE_TOOLCHAIN_FILE=/opt/android-sdk-update-manager/ndk/21.3.6528147/build/cmake/android.toolchain.cmake -DCMAKE_FIND_ROOT_PATH=/opt/Qt/5.15.2/android -DANDROID_NATIVE_API_LEVEL=16 -DANDROID_ABI=x86 -DCMAKE_INSTALL_PREFIX=/opt/Qt/5.15.2/android -DCMAKE_BUILD_TYPE=Debug ../qicclient -``` - -or - -```sh -$ cmake -DCMAKE_TOOLCHAIN_FILE=/opt/android-sdk-update-manager/ndk/21.3.6528147/build/cmake/android.toolchain.cmake -DCMAKE_FIND_ROOT_PATH=/opt/Qt/5.15.2/android -DANDROID_NATIVE_API_LEVEL=21 -DANDROID_ABI=x86_64 -DCMAKE_INSTALL_PREFIX=/opt/Qt/5.15.2/android -DCMAKE_BUILD_TYPE=Debug ../qicclient +$ emcmake cmake -DCMAKE_TOOLCHAIN_FILE=/opt/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DQt5Core_DIR=/opt/Qt/5.15.2/wasm_32/lib/cmake/Qt5Core -DCMAKE_INSTALL_PREFIX=/opt/emsdk/upstream/emscripten/system -DCMAKE_BUILD_TYPE=Debug .. +$ emmake make +$ emmake make install ``` or so on. - -## Compiling, linking, and installing - -```sh -$ make # -jN (with N an integer number of parallel tasks you allow your computer to run for compiling this) -$ sudo make install -``` diff --git a/libicclient b/libicclient -Subproject 3d67e186c27b9fe01c0bcd12b055b5bc6aaa0cd +Subproject 37b3483ea690318b9dfcbc840bfc8dd0d959b64 |