Fix problem with CMake 'lists'.
parent
a205a870f4
commit
61f9e7b341
@ -0,0 +1,61 @@
|
|||||||
|
## Orignal Macros copied from lighttpd 2.0
|
||||||
|
|
||||||
|
## modules are without the "lib" prefix
|
||||||
|
|
||||||
|
macro(setup_static_modules TARGET)
|
||||||
|
file(WRITE ${TARGET}_builtins.h "/* auto-generated by CMake build do not edit */\n\n")
|
||||||
|
endmacro(setup_static_modules)
|
||||||
|
|
||||||
|
macro(add_module TARGET MODNAME)
|
||||||
|
set(_static_mod ${BUILD_STATIC})
|
||||||
|
|
||||||
|
## create list of module source files.
|
||||||
|
set(_srcfiles)
|
||||||
|
set(_def_module_src ${CMAKE_CURRENT_SOURCE_DIR}/modules/${MODNAME}.c)
|
||||||
|
if(EXISTS ${_def_module_src})
|
||||||
|
set(_srcfiles ${_def_module_src})
|
||||||
|
endif(EXISTS ${_def_module_src})
|
||||||
|
foreach(_srcfile ${ARGN})
|
||||||
|
if(_srcfile STREQUAL "STATIC")
|
||||||
|
set(_static_mod TRUE)
|
||||||
|
else(_srcfile STREQUAL "STATIC")
|
||||||
|
set(_srcfiles ${_srcfiles} ${_srcfile})
|
||||||
|
endif(_srcfile STREQUAL "STATIC")
|
||||||
|
endforeach(_srcfile)
|
||||||
|
|
||||||
|
if(_static_mod)
|
||||||
|
set(STATIC_MODULE_SRC ${STATIC_MODULE_SRC} ${_srcfiles})
|
||||||
|
file(APPEND ${TARGET}_builtins.h "STATIC_MOD(${MODNAME})\n")
|
||||||
|
else(_static_mod)
|
||||||
|
add_library(${MODNAME} MODULE ${_srcfiles})
|
||||||
|
set(MODULE_TARGETS ${MODULE_TARGETS} ${MODNAME})
|
||||||
|
|
||||||
|
add_target_properties(${MODNAME} LINK_FLAGS ${COMMON_LDFLAGS})
|
||||||
|
add_target_properties(${MODNAME} COMPILE_FLAGS ${COMMON_CFLAGS})
|
||||||
|
set_target_properties(${MODNAME} PROPERTIES CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||||
|
|
||||||
|
## Windows likes to link it this way back to app!
|
||||||
|
if(WIN32)
|
||||||
|
set_target_properties(${MODNAME} PROPERTIES LINK_FLAGS ${TARGET}.lib)
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
if(APPLE)
|
||||||
|
set_target_properties(${MODNAME} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
|
||||||
|
endif(APPLE)
|
||||||
|
endif(_static_mod)
|
||||||
|
endmacro(add_module)
|
||||||
|
|
||||||
|
macro(add_target_properties _target _name)
|
||||||
|
set(_properties)
|
||||||
|
foreach(_prop ${ARGN})
|
||||||
|
set(_properties "${_properties} ${_prop}")
|
||||||
|
endforeach(_prop)
|
||||||
|
get_target_property(_old_properties ${_target} ${_name})
|
||||||
|
##message(STATUS "adding property to ${_target} ${_name}:" ${_properties})
|
||||||
|
if(NOT _old_properties)
|
||||||
|
# in case it's NOTFOUND
|
||||||
|
set(_old_properties)
|
||||||
|
endif(NOT _old_properties)
|
||||||
|
set_target_properties(${_target} PROPERTIES ${_name} "${_old_properties} ${_properties}")
|
||||||
|
endmacro(add_target_properties)
|
||||||
|
|
||||||
Loading…
Reference in New Issue