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 )
ENDIF ( NOT _old_properties )
SET_TARGET_PROPERTIES ( ${ _target } PROPERTIES ${ _name } "${_old_properties} ${_properties}" )
ENDMACRO ( ADD_TARGET_PROPERTIES )
PROJECT ( spawn-fcgi )
SET ( PACKAGE_VERSION 1.0 )
EXEC_PROGRAM ( date ARGS "'+%b %d %Y %H:%M:%S UTC'" OUTPUT_VARIABLE PACKAGE_BUILD_DATE )
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 )
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}" )
2009-02-03 16:13:02 +00:00
ADD_TARGET_PROPERTIES ( spawn-fcgi COMPILE_DEFINITIONS "PACKAGE_NAME=${CMAKE_PROJECT_NAME}" PACKAGE_VERSION= "${PACKAGE_VERSION}" PACKAGE_BUILD_DATE= "${PACKAGE_BUILD_DATE}" )
2008-07-21 10:15:58 +00:00
2009-02-03 16:13:02 +00:00
#ADD_DEFINITIONS(
# -DPACKAGE_NAME="\\"${CMAKE_PROJECT_NAME}\\""
# -DPACKAGE_VERSION="\\"${PACKAGE_VERSION}\\""
# -DPACKAGE_BUILD_DATE="\\"${PACKAGE_BUILD_DATE}\\""
# )
2008-07-21 10:15:58 +00:00
2008-07-21 15:23:09 +00:00
2008-07-21 10:15:58 +00:00
INSTALL ( TARGETS spawn-fcgi DESTINATION bin )