cmake_minimum_required(VERSION 3.0) project (univerxel VERSION 0.0.1) cmake_policy(SET CMP0072 NEW) find_package(OpenGL REQUIRED) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() set(CMAKE_CXX_FLAGS "-Wall -Wextra") find_program(CCACHE_FOUND ccache) if(CCACHE_FOUND) set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) endif(CCACHE_FOUND) set(ALL_LIBS ${OPENGL_LIBRARY} glfw GLEW pthread ) add_definitions( -DTW_STATIC -DTW_NO_LIB_PRAGMA -DTW_NO_DIRECT3D -DGLEW_STATIC -D_CRT_SECURE_NO_WARNINGS -mavx2 #-mavx512f -mfma ) file(GLOB_RECURSE SOURCES "src/*.cpp") file(GLOB IMGUI "include/imgui-1.76/*.cpp") file(GLOB FASTNOISE "include/FastNoiseSIMD/*.cpp") add_executable(univerxel ${SOURCES} ${IMGUI} ${FASTNOISE}) target_compile_features(univerxel PUBLIC cxx_std_17) target_link_libraries(univerxel ${ALL_LIBS}) target_include_directories(univerxel PRIVATE "include/imgui-1.76/" "include/FastNoiseSIMD/") file(COPY content/shaders DESTINATION ${CMAKE_BINARY_DIR}/content) file(COPY content/textures DESTINATION ${CMAKE_BINARY_DIR}/content) # Docs add_custom_target(docs COMMAND doxygen ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMENT "Build doc." )