4 MESSAGE(STATUS "Missing CMakeFiles.txt into wtf directory")
5 add_subdirectory( wtf )
6 add_subdirectory( pcre )
9 check_library_exists(pthread pthread_attr_get_np "" HAVE_PTHREAD_ATTR_GET_NP)
10 check_library_exists(pthread pthread_getattr_np "" HAVE_PTHREAD_GETATTR_NP)
13 ${CMAKE_CURRENT_SOURCE_DIR}/pcre
14 ${CMAKE_CURRENT_BINARY_DIR}/kjs
15 ${CMAKE_CURRENT_SOURCE_DIR}/kjs
21 include_directories( ${KDEWIN32_INCLUDES} )
24 set(CREATE_HASH_TABLE ${CMAKE_CURRENT_SOURCE_DIR}/kjs/create_hash_table )
26 macro(CREATE_LUT _srcs_LIST _in_FILE _out_FILE _dep_FILE)
28 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
29 COMMAND ${PERL_EXECUTABLE} ${CREATE_HASH_TABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} -i > ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
30 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_dep_FILE} )
31 set( ${_srcs_LIST} ${${_srcs_LIST}} ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE})
34 create_lut(kjs-unity_LIB_SRCS kjs/date_object.cpp kjs/date_object.lut.h kjs/date_object.cpp)
35 create_lut(kjs-unity_LIB_SRCS kjs/number_object.cpp kjs/number_object.lut.h kjs/number_object.cpp)
36 create_lut(kjs-unity_LIB_SRCS kjs/string_object.cpp kjs/string_object.lut.h kjs/string_object.cpp)
37 create_lut(kjs-unity_LIB_SRCS kjs/array_object.cpp kjs/array_object.lut.h kjs/array_object.cpp)
38 create_lut(kjs-unity_LIB_SRCS kjs/math_object.cpp kjs/math_object.lut.h kjs/math_object.cpp)
39 create_lut(kjs-unity_LIB_SRCS kjs/regexp_object.cpp kjs/regexp_object.lut.h kjs/regexp_object.cpp)
40 create_lut(kjs-unity_LIB_SRCS kjs/keywords.table kjs/lexer.lut.h kjs/lexer.cpp)
41 create_lut(kjs-unity_LIB_SRCS kjs/keywords.table kjs/lexer.lut.h kjs/lexer.cpp)
44 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kjs/grammar.cpp ${CMAKE_CURRENT_BINARY_DIR}/kjs/grammar.h
45 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
47 COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/kjs
48 COMMAND ${BISON_EXECUTABLE} -d -p kjsyy ${CMAKE_CURRENT_SOURCE_DIR}/kjs/grammar.y
49 COMMAND mv grammar.tab.c ${CMAKE_CURRENT_BINARY_DIR}/kjs/grammar.cpp
50 COMMAND mv grammar.tab.h ${CMAKE_CURRENT_BINARY_DIR}/kjs/grammar.h
51 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kjs/grammar.y
54 ########### next target ###############
56 kde4_add_library(wtf-unity SHARED
63 set(kjs-unity_LIB_SRCS
65 wtf/unicode/qt4/UnicodeQt4.cpp
66 kjs/JSWrapperObject.cpp
67 kjs/PropertyNameArray.cpp
78 kjs/function_object.cpp
79 ${CMAKE_CURRENT_BINARY_DIR}/kjs/grammar.cpp
101 kjs/string_object.cpp
107 kde4_add_library(kjs-unity STATIC ${kjs-unity_LIB_SRCS})
110 target_link_libraries(kjs-unity ${KDE4_KDECORE_LIBS} m )
112 target_link_libraries(kjs-unity ${KDE4_KDECORE_LIBS})
115 target_link_libraries(kjs-unity wtf-unity)
116 set_target_properties(kjs-unity PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
117 install(TARGETS kjs-unity DESTINATION ${LIB_INSTALL_DIR} )