1 include(HHVMExtensionConfig)
3 set(RECURSIVE_SOURCE_SUBDIRS base debugger eval server vm)
4 foreach (dir ${RECURSIVE_SOURCE_SUBDIRS})
5 HHVM_SELECT_SOURCES("${CMAKE_CURRENT_SOURCE_DIR}/${dir}")
6 endforeach(dir ${RECURSIVE_SOURCE_SUBDIRS})
7 list(APPEND HEADER_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/version.h")
10 list(REMOVE_ITEM CXX_SOURCES
11 ${CMAKE_CURRENT_SOURCE_DIR}/vm/debug/elfwriter.cpp)
12 list(REMOVE_ITEM HEADER_SOURCES
13 ${CMAKE_CURRENT_SOURCE_DIR}/vm/debug/elfwriter.h)
16 if(NOT ENABLE_FASTCGI)
17 HHVM_REMOVE_MATCHES_FROM_LISTS(CXX_SOURCES HEADER_SOURCES
21 if(NOT ENABLE_PROXYGEN_SERVER)
22 HHVM_REMOVE_MATCHES_FROM_LISTS(CXX_SOURCES HEADER_SOURCES
26 if(NOT HAVE_CUSTOM_LIBEVENT)
27 HHVM_REMOVE_MATCHES_FROM_LISTS(CXX_SOURCES HEADER_SOURCES
28 MATCHES "/server/libevent-")
32 OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/ir-opcode-generated.h"
34 "INSTALL_DIR=${CMAKE_CURRENT_BINARY_DIR}"
35 "./generate-ir-opcodes.sh"
36 DEPENDS "${HPHP_HOME}/hphp/doc/ir.specification"
37 "${HPHP_HOME}/hphp/doc/generate-ir-opcodes.pl"
38 "${HPHP_HOME}/hphp/doc/generate-ir-opcodes.sh"
39 WORKING_DIRECTORY "${HPHP_HOME}/hphp/doc"
40 COMMENT "Generating HHIR opcode table"
43 add_precompiled_header(
44 "${HPHP_HOME}/hphp/pch/hphp_runtime_static.h"
45 "${HPHP_HOME}/hphp/pch/hphp_runtime_static.cpp"
49 add_object_library(hphp_runtime_static
50 ${CXX_SOURCES} ${C_SOURCES} ${ASM_SOURCES} ${HEADER_SOURCES}
51 "${CMAKE_CURRENT_BINARY_DIR}/ir-opcode-generated.h")
52 auto_source_group("hphp_runtime_static" "${CMAKE_CURRENT_SOURCE_DIR}"
53 ${ASM_SOURCES} ${C_SOURCES} ${CXX_SOURCES} ${HEADER_SOURCES})
54 SET_TARGET_PROPERTIES(hphp_runtime_static PROPERTIES OUTPUT_NAME "hphp_runtime")
55 SET_TARGET_PROPERTIES(hphp_runtime_static PROPERTIES PREFIX "lib")
56 SET_TARGET_PROPERTIES(hphp_runtime_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
57 object_library_hphp_link(hphp_runtime_static)
58 object_library_ld_link_libraries(hphp_runtime_static hphp_util hphp_proxygen vixl ppc64-asm hphp_zend hphp_system jit_sort hphp_parser)
59 HHVM_CONFIGURE_TARGET_FOR_EXTENSION_DEPENDENCIES(hphp_runtime_static)
61 HHVM_PUBLIC_HEADERS(runtime ${HEADER_SOURCES})
64 cotire(hphp_runtime_static)