Files
inferno-hart/CMakeLists.txt

71 lines
2.0 KiB
CMake

cmake_minimum_required(VERSION 3.13)
project(inferno)
file(GLOB_RECURSE SRC "src/*.cpp" "src/*.c")
add_executable(inferno ${SRC})
target_include_directories(inferno PRIVATE "libhart/")
target_include_directories(inferno PRIVATE "libhart/thirdparty")
target_include_directories(inferno PRIVATE "src/")
target_include_directories(inferno PRIVATE "src/thirdparty")
# Hardware Acceleration Modules (HART)
#add_subdirectory("hart/inferno-hart-cpu")
#add_subdirectory("hart/inferno-hart-opencl")
# Compiler arguments
if (WIN32)
target_compile_options(inferno PRIVATE /std:c++17 /EHsc)
elseif (APPLE)
target_compile_options(inferno PRIVATE -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup)
if (CMAKE_BUILD_TYPE MATCHES "Release")
target_compile_options(inferno PRIVATE -O3)
endif()
if (CMAKE_BUILD_TYPE MATCHES "Debug")
target_compile_options(inferno PRIVATE -O1)
endif()
else()
target_compile_options(inferno PRIVATE -std=c++20)
target_compile_options(inferno PRIVATE -m64)
if (CMAKE_BUILD_TYPE MATCHES "Debug")
target_compile_options(inferno PRIVATE -O1)
target_compile_options(inferno PRIVATE -Wall)
target_compile_options(inferno PRIVATE -g)
endif()
endif()
# "Universal" libraries
set(THREADS_PREFER_PTHREAD_FLAD ON)
find_package(Threads REQUIRED)
set(OpenGL_GL_PREFERENCE GLVND)
find_package(OpenGL REQUIRED)
# Libraries
if (WIN32)
# cmake .. "-DCMAKE_TOOLCHAIN_FILE=C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake"
find_package(glfw3 CONFIG REQUIRED)
target_link_libraries(inferno PUBLIC glfw)
# OpenGL
target_link_libraries(inferno PRIVATE OpenGL::GL)
else()
find_package(PkgConfig)
pkg_check_modules(GLFW3 REQUIRED glfw3)
target_include_directories(inferno PRIVATE
${GLFW3_INCLUDE_DIRS}
)
target_link_directories(inferno PRIVATE
${GLFW3_LIBRARY_DIRS}
)
target_link_libraries(inferno PRIVATE
${GLFW3_LIBRARIES}
OpenGL::GL
)
endif()