| 1 | ## our modules are without the "lib" prefix |
|---|
| 2 | |
|---|
| 3 | MACRO(ADD_AND_INSTALL_LIBRARY LIBNAME SRCFILES) |
|---|
| 4 | IF(BUILD_STATIC) |
|---|
| 5 | ADD_LIBRARY(${LIBNAME} STATIC ${SRCFILES}) |
|---|
| 6 | TARGET_LINK_LIBRARIES(lighttpd ${LIBNAME}) |
|---|
| 7 | ELSE(BUILD_STATIC) |
|---|
| 8 | ADD_LIBRARY(${LIBNAME} SHARED ${SRCFILES}) |
|---|
| 9 | SET(L_INSTALL_TARGETS ${L_INSTALL_TARGETS} ${LIBNAME}) |
|---|
| 10 | ## Windows likes to link it this way back to app! |
|---|
| 11 | IF(WIN32) |
|---|
| 12 | SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES LINK_FLAGS lighttpd.lib) |
|---|
| 13 | ENDIF(WIN32) |
|---|
| 14 | |
|---|
| 15 | IF(APPLE) |
|---|
| 16 | SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress") |
|---|
| 17 | ENDIF(APPLE) |
|---|
| 18 | ENDIF(BUILD_STATIC) |
|---|
| 19 | ENDMACRO(ADD_AND_INSTALL_LIBRARY) |
|---|
| 20 | |
|---|
| 21 | MACRO(LEMON_PARSER SRCFILE) |
|---|
| 22 | GET_FILENAME_COMPONENT(SRCBASE ${SRCFILE} NAME_WE) |
|---|
| 23 | ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SRCBASE}.c ${CMAKE_CURRENT_BINARY_DIR}/${SRCBASE}.h |
|---|
| 24 | COMMAND ${CMAKE_BINARY_DIR}/build/lemon |
|---|
| 25 | ARGS -q ${CMAKE_CURRENT_SOURCE_DIR}/${SRCFILE} ${CMAKE_SOURCE_DIR}/src/lempar.c |
|---|
| 26 | DEPENDS ${CMAKE_BINARY_DIR}/build/lemon ${CMAKE_CURRENT_SOURCE_DIR}/${SRCFILE} ${CMAKE_SOURCE_DIR}/src/lempar.c |
|---|
| 27 | COMMENT "Generating ${SRCBASE}.c from ${SRCFILE}" |
|---|
| 28 | ) |
|---|
| 29 | ENDMACRO(LEMON_PARSER) |
|---|
| 30 | |
|---|
| 31 | MACRO(ADD_TARGET_PROPERTIES _target _name _properties) |
|---|
| 32 | SET(_properties ${ARGV}) |
|---|
| 33 | LIST(REMOVE_AT _properties 0) |
|---|
| 34 | LIST(REMOVE_AT _properties 0) |
|---|
| 35 | GET_TARGET_PROPERTY(_old_properties ${_target} ${_name}) |
|---|
| 36 | MESSAGE("adding property to ${_target} ${_name}: ${_properties}") |
|---|
| 37 | IF(NOT _old_properties) |
|---|
| 38 | # in case it's NOTFOUND |
|---|
| 39 | SET(_old_properties) |
|---|
| 40 | ENDIF(NOT _old_properties) |
|---|
| 41 | SET_TARGET_PROPERTIES(${_target} PROPERTIES ${_name} "${_old_properties} ${_properties}") |
|---|
| 42 | ENDMACRO(ADD_TARGET_PROPERTIES) |
|---|