Raw File
CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
project(mawatam)

project(mawatam LANGUAGES CXX)

set(mawatam_VERSION_MAJOR 0)
set(mawatam_VERSION_MINOR 0)
set(mawatam_VERSION_PATCH 2)
set(mawatam_PROG_NAME "mawatam")
set(mawatam_PROG_NAME_EXEC "mawatam")
configure_file(
  "${PROJECT_SOURCE_DIR}/src/config.h.in"
  "${PROJECT_SOURCE_DIR}/src/config.h"
  )
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
#set(CMAKE_CXX_FLAGS "-O3")

include_directories("${PROJECT_BINARY_DIR}")

file(GLOB SOURCES "src/*.cpp" "src/yaml/*.cpp" "src/easylogging++/*.cpp" )

set(EXECUTABLE_NAME "mawatam")
add_executable(mawatam ${SOURCES})

# Detect and add SFML
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})
#Find any version 2.X of SFML
#See the FindSFML.cmake file for additional details and instructions

find_package(SFML 2 REQUIRED graphics window system)
if(SFML_FOUND)
  include_directories(${SFML_INCLUDE_DIR})
  target_link_libraries( ${EXECUTABLE_NAME}   ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
endif()

# Install target
install(TARGETS ${EXECUTABLE_NAME} DESTINATION bin)

# CPack packaging
# include(InstallRequiredSystemLibraries)
# set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
# set(CPACK_PACKAGE_VERSION_MAJOR "${visutiles_VERSION_MAJOR}")
# set(CPACK_PACKAGE_VERSION_MINOR "${visutiles_VERSION_MINOR}")
# include(CPack)

ADD_CUSTOM_TARGET( examples ALL  COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/examples ${CMAKE_BINARY_DIR}/examples )
ADD_CUSTOM_TARGET( assets ALL  COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/assets ${CMAKE_BINARY_DIR}/assets )
ADD_CUSTOM_TARGET( mawatam-tools ALL  COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/mawatam-tools ${CMAKE_BINARY_DIR}/mawatam-tools )
back to top