2023-03-03 03:26:59 +01:00
|
|
|
#[[**************************************************************************
|
|
|
|
* libragephoto RAGE Photo Parser
|
2024-03-25 13:06:14 +01:00
|
|
|
* Copyright (C) 2023-2024 Syping
|
2023-03-03 03:26:59 +01:00
|
|
|
*
|
|
|
|
* Redistribution and use in source and binary forms, with or without modification,
|
|
|
|
* are permitted provided that the following conditions are met:
|
|
|
|
*
|
|
|
|
* 1. Redistributions of source code must retain the above copyright notice,
|
|
|
|
* this list of conditions and the following disclaimer.
|
|
|
|
*
|
|
|
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
|
|
* this list of conditions and the following disclaimer in the documentation
|
|
|
|
* and/or other materials provided with the distribution.
|
|
|
|
*
|
|
|
|
* This software is provided as-is, no warranties are given to you, we are not
|
|
|
|
* responsible for anything with use of the software, you are self responsible.
|
|
|
|
****************************************************************************]]
|
|
|
|
|
|
|
|
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.13.0")
|
2024-03-25 13:06:14 +01:00
|
|
|
add_executable(ragephoto-wasm
|
|
|
|
${RAGEPHOTO_HEADERS}
|
|
|
|
${RAGEPHOTO_SOURCES}
|
|
|
|
)
|
2023-03-03 03:26:59 +01:00
|
|
|
set_target_properties(ragephoto-wasm PROPERTIES
|
2024-03-25 13:06:14 +01:00
|
|
|
CXX_STANDARD ${RAGEPHOTO_CXX_STANDARD}
|
|
|
|
CXX_STANDARD_REQUIRED ON
|
2023-03-03 03:26:59 +01:00
|
|
|
PREFIX "lib"
|
|
|
|
OUTPUT_NAME "ragephoto"
|
|
|
|
)
|
|
|
|
target_compile_definitions(ragephoto-wasm PRIVATE
|
|
|
|
LIBRAGEPHOTO_LIBRARY
|
|
|
|
LIBRAGEPHOTO_WASM
|
|
|
|
${LIBRAGEPHOTO_DEFINES}
|
|
|
|
)
|
|
|
|
target_link_options(ragephoto-wasm PRIVATE
|
|
|
|
"SHELL:-O3"
|
|
|
|
"SHELL:--no-entry"
|
|
|
|
"SHELL:-s ALLOW_MEMORY_GROWTH=1"
|
|
|
|
"SHELL:-s MODULARIZE=1"
|
|
|
|
"SHELL:-s WASM=1"
|
2023-06-06 20:22:20 +02:00
|
|
|
"SHELL:-s WASM_BIGINT=1"
|
2023-03-03 03:26:59 +01:00
|
|
|
"SHELL:-s EXPORT_NAME=libragephotoModule"
|
|
|
|
"SHELL:-s EXPORTED_FUNCTIONS=_free,_malloc"
|
|
|
|
"SHELL:-s EXPORTED_RUNTIME_METHODS=ccall,cwrap"
|
|
|
|
)
|
|
|
|
target_include_directories(ragephoto-wasm PUBLIC
|
|
|
|
"${ragephoto_BINARY_DIR}/include"
|
2023-11-09 20:17:37 +01:00
|
|
|
"${ragephoto_SOURCE_DIR}/src/core"
|
2023-03-03 03:26:59 +01:00
|
|
|
)
|
|
|
|
else()
|
|
|
|
message(WARNING "A useable WebAssembly build needs at least CMake 3.13.0 or newer")
|
|
|
|
endif()
|