2013-10-02 16:43:47 +00:00
CMAKE_MINIMUM_REQUIRED ( VERSION 2.6.0 FATAL_ERROR )
cmake_policy ( VERSION 2.6.0 )
SET ( CMAKE_MODULE_PATH ${ CMAKE_SOURCE_DIR } /cmake )
INCLUDE ( CheckIncludeFiles )
INCLUDE ( CheckLibraryExists )
INCLUDE ( FindPkgConfig )
INCLUDE ( AddTargetProperties )
PROJECT ( scgi-cgi C )
2013-10-03 11:49:59 +00:00
SET ( PACKAGE_VERSION 0.1.1 )
2013-10-02 16:43:47 +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 "" )
OPTION ( GCC_LIBEVENT_STATIC "link libevent static" )
# libevent
pkg_check_modules ( LIBEVENT REQUIRED libevent>=2.0 )
IF ( GCC_LIBEVENT_STATIC )
SET ( MYLIBEVENT_LDFLAGS -Wl,-Bstatic ${ LIBEVENT_LDFLAGS } -Wl,-Bdynamic )
ELSE ( GCC_LIBEVENT_STATIC )
SET ( MYLIBEVENT_LDFLAGS ${ LIBEVENT_LDFLAGS } )
ENDIF ( GCC_LIBEVENT_STATIC )
SET ( MAIN_SOURCE scgi-cgi.c )
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 } )
add_executable ( scgi-cgi ${ MAIN_SOURCE } )
ADD_TARGET_PROPERTIES ( scgi-cgi COMPILE_FLAGS "-std=gnu99 -Wall -g -Wshadow -W -pedantic -fPIC" )
# libev
TARGET_LINK_LIBRARIES ( scgi-cgi ${ MYLIBEVENT_LDFLAGS } )
ADD_TARGET_PROPERTIES ( scgi-cgi COMPILE_FLAGS ${ LIBEVENT_CFLAGS } )
INSTALL ( TARGETS scgi-cgi DESTINATION bin )
# man page
SET ( CMAKE_MAN_DIR "share/man" CACHE STRING
" I n s t a l l l o c a t i o n f o r m a n pages ( relative to prefix ) . " )
MARK_AS_ADVANCED ( CMAKE_MAN_DIR )
INSTALL ( FILES scgi-cgi.1 DESTINATION ${ CMAKE_MAN_DIR } /man1 )