50 lines
1.2 KiB
CMake
50 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
project(quickjs-demo C)
|
|
|
|
# 设置 C 标准
|
|
set(CMAKE_C_STANDARD 11)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
# 设置输出目录
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
# 添加 yps-quickjs 子目录
|
|
add_subdirectory(yps-quickjs)
|
|
|
|
# 创建 demo 可执行文件
|
|
add_executable(demo main.c)
|
|
|
|
# 链接 yps-quickjs 库
|
|
target_link_libraries(demo PRIVATE ypqjs)
|
|
|
|
# 创建 simple_demo 可执行文件
|
|
add_executable(simple_demo simple_demo.c)
|
|
|
|
# 链接 yps-quickjs 库
|
|
target_link_libraries(simple_demo PRIVATE ypqjs)
|
|
|
|
# Windows 特定配置
|
|
if(WIN32)
|
|
# 设置 8MB 栈大小
|
|
if(MSVC)
|
|
set_target_properties(demo PROPERTIES
|
|
LINK_FLAGS "/STACK:8388608"
|
|
)
|
|
else()
|
|
set_target_properties(demo PROPERTIES
|
|
LINK_FLAGS "-Wl,--stack,8388608"
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
# 添加 include 目录
|
|
target_include_directories(demo PRIVATE
|
|
${CMAKE_SOURCE_DIR}/yps-quickjs
|
|
)
|
|
|
|
# 安装规则
|
|
install(TARGETS demo DESTINATION bin)
|
|
install(FILES main.c DESTINATION src/examples) |