summary refs log tree commit diff stats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2018-02-08 00:19:24 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2018-02-08 00:19:24 -0500
commitbc63fa57ced1c7329f7fdcfd168eaf7e290158bc (patch)
treef3e8fc58c98590efed0c8e192dfdc80fd1e44f11 /CMakeLists.txt
parent003c00be8bda97b20c6aab408b6bfe57563b2b61 (diff)
downloadtherapy-bc63fa57ced1c7329f7fdcfd168eaf7e290158bc.tar.gz
therapy-bc63fa57ced1c7329f7fdcfd168eaf7e290158bc.tar.bz2
therapy-bc63fa57ced1c7329f7fdcfd168eaf7e290158bc.zip
Modernized CMake files
Also removed an unnecessary cmake package helper.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt35
1 files changed, 11 insertions, 24 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 14278cb..567936a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -1,32 +1,18 @@
1cmake_minimum_required(VERSION 2.6) 1cmake_minimum_required (VERSION 3.1)
2project(Aromatherapy) 2project (Aromatherapy)
3 3
4# Use our modified FindSDL2* modules 4set(CMAKE_BUILD_TYPE Debug)
5
6# Set directory to look for package helpers.
5set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${Aromatherapy_SOURCE_DIR}/cmake") 7set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${Aromatherapy_SOURCE_DIR}/cmake")
6# Set an output directory for our binaries
7set(BIN_DIR ${Aromatherapy_SOURCE_DIR}/bin)
8 8
9# Bump up warning levels appropriately for clang, gcc & msvc 9# Get dependencies.
10# Also set debug/optimization flags depending on the build type. IDE users choose this when
11# selecting the build mode in their IDE
12if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
13 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -std=c++11")
14 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} -g")
15 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} -O2")
16elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC")
17 if (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
18 string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
19 else()
20 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
21 endif()
22endif()
23 10
24find_package(PkgConfig) 11find_package(PkgConfig)
12pkg_check_modules(GLFW REQUIRED glfw3)
25 13
26# Look up SDL2 and add the include directory to our include path
27find_package(OpenGL REQUIRED) 14find_package(OpenGL REQUIRED)
28find_package(GLEW REQUIRED) 15find_package(GLEW REQUIRED)
29pkg_check_modules(GLFW REQUIRED glfw3)
30find_package(portaudio REQUIRED) 16find_package(portaudio REQUIRED)
31find_package(libsndfile REQUIRED) 17find_package(libsndfile REQUIRED)
32find_package(libxml2 REQUIRED) 18find_package(libxml2 REQUIRED)
@@ -52,8 +38,6 @@ link_directories(
52 ${GLFW_LIBRARY_DIRS} 38 ${GLFW_LIBRARY_DIRS}
53) 39)
54 40
55# include_directories(${SDL2_INCLUDE_DIR})
56set(CMAKE_BUILD_TYPE Debug)
57add_executable(Aromatherapy 41add_executable(Aromatherapy
58 src/main.cpp 42 src/main.cpp
59 src/map.cpp 43 src/map.cpp
@@ -69,9 +53,12 @@ add_executable(Aromatherapy
69 src/components/physics_body.cpp 53 src/components/physics_body.cpp
70 src/components/player_physics.cpp 54 src/components/player_physics.cpp
71 src/components/player_sprite.cpp 55 src/components/player_sprite.cpp
56 src/components/pondering.cpp
72 src/components/simple_collider.cpp 57 src/components/simple_collider.cpp
73 src/components/static_image.cpp 58 src/components/static_image.cpp
74 src/components/user_movement.cpp 59 src/components/user_movement.cpp
75) 60)
61
62set_property(TARGET Aromatherapy PROPERTY CXX_STANDARD 11)
63set_property(TARGET Aromatherapy PROPERTY CXX_STANDARD_REQUIRED ON)
76target_link_libraries(Aromatherapy ${ALL_LIBS}) 64target_link_libraries(Aromatherapy ${ALL_LIBS})
77install(TARGETS Aromatherapy RUNTIME DESTINATION ${BIN_DIR})