# This project needs CMake version >= 2.6 cmake_minimum_required(VERSION 2.6) # Set the project name. This will be used by CMake to name project related variables. project(oxen) # Unix Makefile generator: Default to build type 'Release' IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE Release) ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) # Set C compiler flags set(CMAKE_C_FLAGS "-Wall -pedantic -std=c99 -D_POSIX_SOURCE") SET(CMAKE_C_FLAGS_RELEASE "-O3") SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") # Find dependencies # Find ncurses set(CURSES_NEED_NCURSES true) find_package(Curses) find_package(Doxygen) if(DOXYGEN_FOUND) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating API documentation with Doxygen" VERBATIM ) endif(DOXYGEN_FOUND) # Set the directory where source files are located. set(OXEN_SOURCE_DIR ${CMAKE_SOURCE_DIR}/src) # Include all source files recursively file(GLOB_RECURSE OXEN_SOURCES ${OXEN_SOURCE_DIR}/*.c) # Specify the name of our project executable and from which source files it will be built add_executable( oxen ${OXEN_SOURCES} ) # Specify the libraries to be linked with our executable target_link_libraries( oxen ${CURSES_LIBRARIES} ) install(TARGETS oxen RUNTIME DESTINATION bin) # package generator (see also http://www.cmake.org/Wiki/CMake:Packaging_With_CPack) SET(CPACK_PACKAGE_VERSION_MAJOR "0") SET(CPACK_PACKAGE_VERSION_MINOR "1") SET(CPACK_PACKAGE_VERSION_PATCH "0") SET(CPACK_GENERATOR "DEB") SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Multiplayer card game for up to 10 players") SET(CPACK_DEBIAN_PACKAGE_SECTION "games") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libncurses5 (>= 5.6)") SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "hornoxe") INCLUDE(CPack)