2026-06-04 13:51:07 -03:00
|
|
|
ladybird_utility(js SOURCES js.cpp LIBS LibCrypto LibJS LibMain LibTextCodec LibGC)
|
|
|
|
|
ladybird_utility(wasm SOURCES wasm.cpp LIBS LibFileSystem LibWasm LibMain LibJS LibCrypto LibGC)
|
|
|
|
|
|
|
|
|
|
if (NOT WIN32 AND NOT ANDROID)
|
|
|
|
|
target_link_libraries(js PRIVATE PkgConfig::LIBEDIT)
|
2025-05-24 19:00:29 -03:00
|
|
|
endif()
|
|
|
|
|
|
2026-04-21 10:45:57 -03:00
|
|
|
ladybird_utility(xml SOURCES xml.cpp LIBS LibFileSystem LibMain LibXML LibURL)
|
|
|
|
|
ladybird_utility(dns SOURCES dns.cpp LIBS LibDNS LibMain LibTLS LibCrypto)
|
2025-08-07 18:17:34 -03:00
|
|
|
|
2025-08-07 18:26:58 -03:00
|
|
|
if (ENABLE_GUI_TARGETS)
|
2026-06-10 06:05:16 -03:00
|
|
|
ladybird_utility(image SOURCES image.cpp LIBS LibGfx LibImageDecoders LibMain)
|
2025-08-07 18:26:58 -03:00
|
|
|
endif()
|
|
|
|
|
|
2025-05-19 20:16:18 -03:00
|
|
|
# FIXME: Increase support for building targets on Windows
|
2025-12-14 23:45:38 -03:00
|
|
|
if (WIN32)
|
2025-05-19 20:16:18 -03:00
|
|
|
return()
|
|
|
|
|
endif()
|
|
|
|
|
|
2026-04-21 10:45:57 -03:00
|
|
|
ladybird_utility(test262-runner SOURCES test262-runner.cpp LIBS LibJS LibFileSystem LibGC)
|
2026-05-15 09:50:17 -03:00
|
|
|
ladybird_utility(dump-html-tokens SOURCES dump-html-tokens.cpp LIBS LibMain LibWeb)
|
2026-05-15 15:20:40 -03:00
|
|
|
ladybird_utility(dump-html-tree SOURCES dump-html-tree.cpp LIBS LibMain LibWeb LibJS LibGC LibGfx LibIPC LibURL)
|
2025-05-19 13:21:14 -03:00
|
|
|
|
|
|
|
|
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
|
|
|
include(CheckCSourceCompiles)
|
|
|
|
|
# Check for musl's declaration of __assert_fail
|
|
|
|
|
check_c_source_compiles("
|
|
|
|
|
#include <assert.h>
|
|
|
|
|
__attribute__((__noreturn__)) void __assert_fail(char const* assertion, char const* file, int line, char const* function) {}
|
|
|
|
|
int main() {}
|
|
|
|
|
"
|
|
|
|
|
ASSERT_FAIL_HAS_INT
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
2025-08-12 12:00:32 -03:00
|
|
|
if (ASSERT_FAIL_HAS_INT)
|
2025-05-19 13:21:14 -03:00
|
|
|
target_compile_definitions(test262-runner PRIVATE ASSERT_FAIL_HAS_INT)
|
|
|
|
|
endif()
|
|
|
|
|
|
2025-10-08 07:40:18 -03:00
|
|
|
# Determine the Git commit hash (fallback to 'unknown' if not a Git repo)
|
|
|
|
|
execute_process(
|
|
|
|
|
COMMAND git rev-parse HEAD
|
|
|
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
|
|
|
OUTPUT_VARIABLE GIT_COMMIT_HASH
|
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
|
|
|
ERROR_QUIET
|
|
|
|
|
)
|
|
|
|
|
if (NOT GIT_COMMIT_HASH)
|
|
|
|
|
set(GIT_COMMIT_HASH "unknown")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# Write it to the build directory
|
|
|
|
|
set(GIT_COMMIT_FILE "${CMAKE_BINARY_DIR}/COMMIT")
|
|
|
|
|
file(WRITE "${GIT_COMMIT_FILE}" "${GIT_COMMIT_HASH}\n")
|
|
|
|
|
|
2025-05-19 17:34:55 -03:00
|
|
|
if (NOT CMAKE_SKIP_INSTALL_RULES)
|
|
|
|
|
install(TARGETS js COMPONENT js)
|
2025-10-08 07:40:18 -03:00
|
|
|
install(FILES "${GIT_COMMIT_FILE}" COMPONENT js DESTINATION .)
|
|
|
|
|
|
2025-08-11 11:54:20 -03:00
|
|
|
install(TARGETS wasm COMPONENT wasm)
|
2025-10-08 07:40:18 -03:00
|
|
|
install(FILES "${GIT_COMMIT_FILE}" COMPONENT wasm DESTINATION .)
|
2025-05-19 17:34:55 -03:00
|
|
|
|
|
|
|
|
set(CPACK_GENERATOR "TGZ")
|
|
|
|
|
set(CPACK_STRIP_FILES TRUE)
|
|
|
|
|
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
|
2025-08-11 11:54:20 -03:00
|
|
|
set(CPACK_COMPONENTS_ALL js wasm)
|
|
|
|
|
set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP)
|
2025-05-19 17:34:55 -03:00
|
|
|
if (APPLE)
|
|
|
|
|
if("arm64" IN_LIST CMAKE_OSX_ARCHITECTURES AND "x86_64" IN_LIST CMAKE_OSX_ARCHITECTURES)
|
|
|
|
|
set(CPACK_SYSTEM_NAME "macOS-universal2")
|
|
|
|
|
else()
|
|
|
|
|
set(CPACK_SYSTEM_NAME "macOS-${CMAKE_SYSTEM_PROCESSOR}")
|
|
|
|
|
endif()
|
|
|
|
|
else()
|
|
|
|
|
set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
set(CPACK_ARCHIVE_JS_FILE_NAME "ladybird-js-${CPACK_SYSTEM_NAME}")
|
2025-08-11 11:54:20 -03:00
|
|
|
set(CPACK_ARCHIVE_WASM_FILE_NAME "ladybird-wasm-${CPACK_SYSTEM_NAME}")
|
2025-10-08 07:38:50 -03:00
|
|
|
|
2025-05-19 17:34:55 -03:00
|
|
|
include(CPack)
|
|
|
|
|
endif()
|