2 include(${CMAKE_CURRENT_LIST_DIR}/quickjs.cmake)
3 add_subdirectory(${QUICKJS_SOURCE_DIR} ${QUICKJS_BINARY_DIR})
4 set(QJS_EXECUTABLE ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:qjs>)
6 include(../cmake/QuickJSPIC.cmake)
10 file_scaner(SOURCES RECURSE src EXT c h cc hh cpp hpp)
12 file_scaner(SOURCES RECURSE src EXT c h)
15 set(CMAKE_SHARED_MODULE_PREFIX "")
16 set(CMAKE_SHARED_MODULE_SUFFIX .so)
17 add_library(aqjs MODULE $<TARGET_OBJECTS:a> ${SOURCES})
18 set_target_properties(aqjs PROPERTIES DEFINE_SYMBOL A_EXPORTS OUTPUT_NAME ${PROJECT_NAME})
19 target_include_directories(aqjs PRIVATE ${QUICKJS_INCLUDE_DIR})
20 add_library_properties(aqjs PRIVATE alib)
21 set_library_options(aqjs)
23 if(LIBA_WITH_QUICKJS OR QUICKJS_PIC)
25 target_link_libraries(aqjs PRIVATE quickjs.lto)
27 target_link_libraries(aqjs PRIVATE quickjs)
31 if("${LIBA_INSTALL}" MATCHES "^$|[Qq]uick[Jj][Ss]")
33 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/quickjs
34 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/quickjs
38 if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/test/CMakeLists.txt AND QJS_EXECUTABLE)
39 get_property(IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
41 if(NOT CMAKE_VERSION VERSION_LESS 3.0)
42 set(WORKING_DIRECTORY $<TARGET_FILE_DIR:aqjs>)
43 elseif(IS_MULTI_CONFIG)
44 set(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>)
46 set(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
49 add_subdirectory(test)