cmake_minimum_required( VERSION 3.1.3 ) project( "maim" ) set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build (Debug or Release)") if ( NOT CMAKE_INSTALL_PREFIX ) set(CMAKE_INSTALL_PREFIX "/usr") endif() set( CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Directory where man pages reside. (/usr/share/man, /usr/local/share/man, etc.)" ) set( CMAKE_COMPRESS_MAN TRUE CACHE BOOL "Whether or not to compress the man pages for install." ) if ( CMAKE_COMPRESS_MAN ) set( MANTARGET "maim.1.gz" ) else() set( MANTARGET "maim.1" ) endif() add_definitions(-DMAIM_VERSION="v5.4.64") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin/") # Sources set( source src/x.cpp src/image.cpp src/main.cpp ) set( BIN_TARGET "${PROJECT_NAME}" ) # Executable add_executable( "${BIN_TARGET}" ${source} ) # Obtain library paths and make sure they exist. set( CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_SOURCE_DIR}/modules" ) find_package( PNG REQUIRED ) find_package( JPEG REQUIRED ) find_package( XRandr REQUIRED ) find_package( XFixes REQUIRED ) find_package( X11 REQUIRED ) find_package( SLOP REQUIRED ) find_package( Threads REQUIRED ) set_property(TARGET ${BIN_TARGET} PROPERTY CXX_STANDARD_REQUIRED ON) set_property(TARGET ${BIN_TARGET} PROPERTY CXX_STANDARD 11) # Includes include_directories( ${XRANDR_INCLUDE_DIR} ${X11_INCLUDE_DIR} ${SLOP_INCLUDE_DIR} ${XFIXES_INCLUDE_DIR} ${JPEG_INCLUDE_DIR} ${XRANDR_INCLUDE_DIR} ${PNG_INCLUDE_DIRS} ) # Libraries target_link_libraries( ${BIN_TARGET} ${CMAKE_THREAD_LIBS_INIT} ${X11_LIBRARIES} ${PNG_LIBRARIES} ${XFIXES_LIBRARY} ${XRANDR_LIBRARY} ${JPEG_LIBRARIES} ${SLOP_LIBRARIES} ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") install( TARGETS ${BIN_TARGET} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" ) install( FILES "${CMAKE_SOURCE_DIR}/${MANTARGET}" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" COMPONENT doc )