An error occurred while loading the file. Please try again.
-
GUEHL PASCAL authored
Update 3rdParty/Externals/glad/CMakeLists.txt, imgui_impl_glfw.h, CMakeLists.txt, imgui_impl_glfw.cpp, imgui_impl_opengl3.h, imgui_impl_opengl3_loader.h, imgui_impl_opengl3.cpp
22d8b166
CMakeLists.txt 3.34 KiB
# Check CMAKE version
cmake_minimum_required( VERSION 3.0 )
# Invite message
message( STATUS "----------------------------------------------------" )
message( STATUS "- PROJECT GENERATION : Concurrent Programming Tool -" )
message( STATUS "----------------------------------------------------" )
message( STATUS "" )
##################################################################################
# Project
##################################################################################
# Project name
project( CpViewer )
set( CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/Install" )
# Remove some compilation warnings
add_definitions( -D_CRT_SECURE_NO_WARNINGS )
# GLFW
add_definitions( -DGLFW_DLL )
##################################################################################
# Package Management
##################################################################################
# OpenGL
find_package( OpenGL REQUIRED )
# OpenMP
find_package( OpenMP )
##################################################################################
# Include directories
##################################################################################
# glad
set( glad_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rdParty/glad/lib/cmake/glad" )
find_package( glad CONFIG REQUIRED )
# glm
set( glm_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rdParty/glm/lib/cmake/glm" )
find_package( glm CONFIG REQUIRED )
include_directories( ${GLM_INCLUDE_DIRS} )
# stb
include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/3rdParty/stb" )
# glfw
set( glfw3_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rdParty/glfw/lib/cmake/glfw3 )
find_package( glfw3 CONFIG REQUIRED )
# imgui
set( ImGui_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rdParty/imgui" )
include_directories( "${ImGui_DIR}/include" )
##################################################################################
# Program
##################################################################################
# Retrieve source files
file( GLOB incList "${CMAKE_CURRENT_SOURCE_DIR}/*.h" )
file( GLOB srcList "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" )
# Target program
add_executable( ${PROJECT_NAME} ${srcList} ${incList} )
#####################################################
set( CUSTOM_DEBUG_POSTFIX "d" )
set_target_properties( ${PROJECT_NAME} PROPERTIES DEBUG_POSTFIX ${CUSTOM_DEBUG_POSTFIX} )
#####################################################
##################################################################################
# Linked libraries
##################################################################################
# Graphics
target_link_libraries( ${PROJECT_NAME} ${OPENGL_gl_LIBRARY} )
# GLFW
target_link_libraries( ${PROJECT_NAME} glfw )
# glad
target_link_libraries( ${PROJECT_NAME} glad::glad )
# dlopen/dlclose
target_link_libraries( ${PROJECT_NAME} ${CMAKE_DL_LIBS} )
# ImGui
target_link_libraries( ${PROJECT_NAME} debug "${ImGui_DIR}/lib/ImGuid.lib" )
target_link_libraries( ${PROJECT_NAME} optimized "${ImGui_DIR}/lib/ImGui.lib" )
# OpenMP
if( OpenMP_CXX_FOUND )
target_link_libraries( ${PROJECT_NAME} OpenMP::OpenMP_CXX )
endif()
# Project property
set_property( TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11 )
##################################################################################
# Custom commands
##################################################################################
# Libraries
install( TARGETS ${PROJECT_NAME} DESTINATION bin )