1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- cmake_minimum_required( VERSION 2.8 )
-
- set( PROJECT_NAME "slop" )
- set( BIN_TARGET "${PROJECT_NAME}" )
- set( CMAKE_INSTALL_PREFIX "/usr/bin" )
-
- project( ${PROJECT_NAME} )
-
- # Linux compiler initialization.
- if ( CMAKE_COMPILER_IS_GNUCXX )
- set( CMAKE_CXX_FLAGS
- "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -pedantic-errors -Wno-unused-parameter" )
- # -Wall: Enable all warnings.
- # -Wextra: Enable some more warnings.
- # -Werror: Have errors on warnings.
- # -Wno-unused-parameter: Prevent unused variable warning. (Several functions are required to have unecessary variables because X11.)
- add_definitions( -D_CMAKE_LINUX_ )
- else()
- message( FATAL_ERROR "Your operating system isn't supported yet! CMake will now exit." )
- endif()
-
- # Add a check target for our makefile.
- find_program( CPPCHECK_EXECUTABLE cppcheck
- DOC "A tool for static C/C++ code analysis." )
- if (CPPCHECK_EXECUTABLE)
- add_custom_target( "check"
- COMMAND "${CPPCHECK_EXECUTABLE}" "--enable=all" "*"
- WORKING_DIRECTORY src VERBATIM )
- endif()
-
- # Sources
- set( source
- src/cmdline.c
- src/rectangle.cpp
- src/x.cpp
- src/main.cpp )
-
- # Obtain library paths and make sure they exist.
- set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmakemodules" )
- find_package( X11 REQUIRED )
- find_package( XExt REQUIRED )
-
- set( CMAKE_CXX_FLAGS
- "${CMAKE_CXX_FLAGS} ${CMAKE_IMLIB2_CXX_FLAGS}" )
-
- # Includes
- include_directories( ${X11_INCLUDE_DIR}
- ${XEXT_INCLUDE_DIR} )
-
- # Executable
- add_executable( ${BIN_TARGET} ${source} )
-
- # Libraries
- target_link_libraries( ${BIN_TARGET}
- ${X11_LIBRARIES}
- ${XEXT_LIBRARY} )
-
- install( TARGETS ${BIN_TARGET}
- DESTINATION ${CMAKE_INSTALL_PREFIX} )
|