diff --git a/CMakeLists.txt b/CMakeLists.txt index ec560e1..6219a18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.28) +cmake_minimum_required(VERSION 3.22) project(OasisC CXX C) add_subdirectory(libs/Oasis) @@ -14,7 +14,7 @@ set(OasisC_SOURCES if (DEFINED EMSCRIPTEN) add_executable(OasisC ${OasisC_SOURCES}) set(CMAKE_EXECUTABLE_SUFFIX ".mjs") - target_link_options(OasisC PUBLIC -sSINGLE_FILE --no-entry "-s EXPORT_NAME='OasisC'" "-s EXPORTED_RUNTIME_METHODS='[\"ccall\", \"cwrap\"]'") + target_link_options(OasisC PUBLIC -sSINGLE_FILE --no-entry "-sEXPORT_NAME='OasisC'" "-sEXPORTED_RUNTIME_METHODS=ccall,cwrap") else () add_library(OasisC ${OasisC_SOURCES}) endif () @@ -28,5 +28,7 @@ endif() if(OASIS_BUILD_EXTRAS) add_subdirectory(extras) - target_link_libraries(OasisC PUBLIC OasisCExtras) + if (DEFINED EMSCRIPTEN) + target_link_libraries(OasisC PUBLIC OasisCExtras) + endif () endif() \ No newline at end of file diff --git a/extras/CMakeLists.txt b/extras/CMakeLists.txt index e84f970..17c61d0 100644 --- a/extras/CMakeLists.txt +++ b/extras/CMakeLists.txt @@ -2,8 +2,12 @@ set(OasisC_EXTRAS_SOURCES # cmake-format: sortable src/FromString.cpp src/MathMLSerializer.cpp) -add_library(OasisCExtras ${OasisC_EXTRAS_SOURCES}) - +if (DEFINED EMSCRIPTEN) + add_library(OasisCExtras OBJECT ${OasisC_EXTRAS_SOURCES}) +else () + add_library(OasisCExtras ${OasisC_EXTRAS_SOURCES}) +endif () + target_include_directories(OasisCExtras PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) target_link_libraries(OasisCExtras PUBLIC Oasis::Oasis Oasis::Extras)