Select Git revision
CMakelists.txt
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CMakelists.txt 2.58 KiB
cmake_minimum_required(VERSION 3.1)
#==============================================================
# Configuration
#==============================================================
set(PROJECT_NAME "Main")
set(EXECUTABLE_NAME "Main")
set(CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD ${CXX_STANDARD})
if (MSVC)
add_compile_options(/EHsc)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
#=====================================
# Options
#=====================================
if(WIN32)
option(CMAKE_TOOLCHAIN_FILE "C:/vcpkg/vcpkg/scripts/buildsystems/vcpkg.cmake")
elseif(UNIX)
option(CMAKE_TOOLCHAIN_FILE "/amuhome/b20017738/Bureau/vcpkg/scripts/buildsystems/vcpkg.cmake")
endif()
#==============================================================
# Sources
#==============================================================
set(SOURCES ${CMAKE_SOURCE_DIR}/source/)
set(LIBRARY ${CMAKE_SOURCE_DIR}/library/)
set(INCLUDE ${CMAKE_SOURCE_DIR}/include/)
set(VCPKG_INCLUDE ${CMAKE_SOURCE_DIR}/vcpkg_installed/*/include)
set(VCPKG_LIB ${CMAKE_SOURCE_DIR}/vcpkg_installed/*/lib)
#==============================================================
# Build
#==============================================================
project(${PROJECT_NAME})
set(CURRENT_TARGET ${EXECUTABLE_NAME})
add_executable(${CURRENT_TARGET})
foreach(dir ${SOURCES})
add_subdirectory(${dir})
endforeach()
set_property(TARGET ${CURRENT_TARGET} PROPERTY RUNTIME_OUTPUT_DIRECTORY $<1:${CMAKE_SOURCE_DIR}>)
#==============================================================
# Linking
#==============================================================
target_include_directories(${CURRENT_TARGET} PRIVATE ${INCLUDE})
#list(APPEND CMAKE_PREFIX_PATH "/amuhome/b20017738/Bureau/vcpkg/packages/glew_x64-linux")
#list(APPEND CMAKE_PREFIX_PATH "/amuhome/b20017738/Bureau/vcpkg/packages/glm_x64-linux")
#list(APPEND CMAKE_PREFIX_PATH "/amuhome/b20017738/Bureau/vcpkg/packages/imgui_x64-linux")
list(APPEND CMAKE_PREFIX_PATH "C:/vcpkg/packages/freetype_x64-windows")
find_package(glfw3 REQUIRED)
find_package(GLEW REQUIRED)
find_package(glm CONFIG REQUIRED)