2009-02-03 16:13:02 +00:00
CMAKE_MINIMUM_REQUIRED ( VERSION 2.6.0 FATAL_ERROR )
cmake_policy ( VERSION 2.6.0 )
2008-07-21 10:15:58 +00:00
MACRO ( ADD_TARGET_PROPERTIES _target _name _properties )
SET ( _properties ${ ARGV } )
LIST ( REMOVE_AT _properties 0 )
LIST ( REMOVE_AT _properties 0 )
GET_TARGET_PROPERTY ( _old_properties ${ _target } ${ _name } )
2008-07-21 15:23:09 +00:00
#MESSAGE("adding property to ${_target} ${_name}: ${_properties}")
2008-07-21 10:15:58 +00:00
IF ( NOT _old_properties )
# in case it's NOTFOUND
SET ( _old_properties )
2009-02-03 16:57:18 +00:00
ELSE ( NOT _old_properties )
SET ( _old_properties "${_old_properties} " )
2008-07-21 10:15:58 +00:00
ENDIF ( NOT _old_properties )
2009-02-03 16:57:18 +00:00
SET_TARGET_PROPERTIES ( ${ _target } PROPERTIES ${ _name } "${_old_properties}${_properties}" )
2008-07-21 10:15:58 +00:00
ENDMACRO ( ADD_TARGET_PROPERTIES )
PROJECT ( spawn-fcgi )
2009-03-10 10:59:45 +00:00
SET ( PACKAGE_VERSION 2.0.0 )
2008-07-21 15:23:09 +00:00
OPTION ( USE_LIMITS "Enable /etc/security/limits.conf support" ON )
2009-02-03 16:13:02 +00:00
IF ( "${CMAKE_BUILD_TYPE}" STREQUAL "" )
SET ( CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE )
ENDIF ( "${CMAKE_BUILD_TYPE}" STREQUAL "" )
2008-07-21 10:15:58 +00:00
2008-07-21 15:23:09 +00:00
# GLIB 2
INCLUDE ( FindPkgConfig )
2008-07-21 10:15:58 +00:00
pkg_check_modules ( GLIB2 REQUIRED glib-2.0 )
SET ( GLIB_INCLUDES ${ GLIB2_INCLUDE_DIRS } ${ GLIB2_INCLUDE_DIRS } /glib-2.0/ ${ GLIB2_INCLUDE_DIRS } /glib-2.0/include/ )
INCLUDE_DIRECTORIES ( ${ GLIB_INCLUDES } )
2008-07-21 15:23:09 +00:00
SET ( MAIN_SOURCE spawn-fcgi.c )
IF ( USE_LIMITS )
SET ( MAIN_SOURCE ${ MAIN_SOURCE } pam_limits.c )
ADD_DEFINITIONS ( -DUSE_LIMITS )
ENDIF ( USE_LIMITS )
2009-02-03 16:57:18 +00:00
SET ( PACKAGE_NAME ${ CMAKE_PROJECT_NAME } )
SET ( PACKAGE_VERSION ${ PACKAGE_VERSION } )
CONFIGURE_FILE ( ${ CMAKE_CURRENT_SOURCE_DIR } /config.h.cmake ${ CMAKE_BINARY_DIR } /config.h ESCAPE_QUOTES )
ADD_DEFINITIONS ( -DHAVE_CONFIG_H )
INCLUDE_DIRECTORIES ( ${ CMAKE_CURRENT_BINARY_DIR } ${ CMAKE_CURRENT_SOURCE_DIR } )
2008-07-21 15:23:09 +00:00
add_executable ( spawn-fcgi ${ MAIN_SOURCE } )
2008-07-21 10:15:58 +00:00
ADD_TARGET_PROPERTIES ( spawn-fcgi COMPILE_FLAGS "-std=gnu99 -Wall -g -Wshadow -W -pedantic -fPIC -D_GNU_SOURCE" )
2008-07-21 15:23:09 +00:00
# GLIB 2
2008-07-21 10:15:58 +00:00
ADD_TARGET_PROPERTIES ( spawn-fcgi LINK_FLAGS "${GLIB2_LDFLAGS}" )
ADD_TARGET_PROPERTIES ( spawn-fcgi COMPILE_FLAGS "${GLIB2_CFLAGS_OTHER}" )
2008-07-21 15:23:09 +00:00
2008-07-21 10:15:58 +00:00
INSTALL ( TARGETS spawn-fcgi DESTINATION bin )