74 lines
1.9 KiB
CMake
74 lines
1.9 KiB
CMake
project(glSpline)
|
|
|
|
############################################
|
|
# Configure CMake and GCC flags
|
|
cmake_minimum_required(VERSION 2.8.9) # Minimal version compatible QT5
|
|
CMAKE_POLICY(SET CMP0043 NEW) # This will silence the Cmake Warning "Policy CMP0043 is not set"
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -pedantic -Wextra")
|
|
#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
|
|
|
|
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
|
|
|
|
find_package(OpenGL REQUIRED) # define OPENGL_LIBRARIES
|
|
find_package(Qt5Widgets REQUIRED)
|
|
find_package(Qt5OpenGL REQUIRED)
|
|
|
|
################################################################################
|
|
# Define project private sources and headers
|
|
#
|
|
# the variable "folder_source" contains all .cpp files of this project
|
|
FILE(GLOB_RECURSE
|
|
folder_source
|
|
${CMAKE_SOURCE_DIR}/src/*.cpp
|
|
${CMAKE_SOURCE_DIR}/src/*.glsl
|
|
)
|
|
|
|
FILE(GLOB_RECURSE
|
|
folder_header
|
|
${CMAKE_SOURCE_DIR}/src/*.h
|
|
|
|
)
|
|
|
|
FILE(GLOB_RECURSE
|
|
folder_ui
|
|
${CMAKE_SOURCE_DIR}/src/*.ui
|
|
)
|
|
|
|
include_directories(
|
|
${CMAKE_SOURCE_DIR}/src
|
|
${CMAKE_SOURCE_DIR}/glm
|
|
)
|
|
|
|
SOURCE_GROUP("Source Files" FILES ${folder_source})
|
|
SOURCE_GROUP("Header Files" FILES ${folder_header})
|
|
SOURCE_GROUP("Shader Files" FILES ${folder_shader})
|
|
|
|
################################################################################
|
|
# Configure QT
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTOUIC ON)
|
|
set( CMAKE_INCLUDE_CURRENT_DIR ON )
|
|
|
|
include_directories(
|
|
${Qt5Widgets_INCLUDES}
|
|
${Qt5OpenGL_INCLUDES}
|
|
)
|
|
|
|
add_definitions(${Qt5Widgets_DEFINITIONS})
|
|
add_definitions(${Qt5OpenGL_DEFINITIONS})
|
|
|
|
################################################################################
|
|
# Build target application
|
|
|
|
add_executable(glSpline
|
|
${folder_source}
|
|
${folder_header}
|
|
${folder_ui}
|
|
)
|
|
qt5_use_modules(glSpline Widgets OpenGL)
|
|
set(EXT_LIBS ${QT_LIBRARIES} ${OPENGL_LIBRARIES})
|
|
|
|
target_link_libraries(glSpline ${EXT_LIBS} )
|