Skip to content

Commit 2ecb704

Browse files
authored
Merge pull request #56 from pppppass/master
Update CMakeLists.txt
2 parents 2fda779 + 38dae4e commit 2ecb704

File tree

2 files changed

+49
-2
lines changed

2 files changed

+49
-2
lines changed

Collision/CMakeLists.txt

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ OPTION(HINT_GLFW3_FOUND "Switch to hint for glfw3" OFF)
4747
SET(HINT_GLFW3_INCLUDE_DIR "" CACHE STRING "Include directories hinting for glfw3")
4848
SET(HINT_GLFW3_LIBRARY "" CACHE STRING "Library names hinting for glfw3")
4949

50+
OPTION(HINT_GLM_FOUND "Switch to hint for glm" OFF)
51+
SET(HINT_GLM_INCLUDE_DIR "" CACHE STRING "Include directories hinting for glm")
52+
SET(HINT_GLM_LIBRARY "" CACHE STRING "Library names hinting for glm")
53+
5054
OPTION(HINT_OPENAL_FOUND "Switch to hint for OpenAL" OFF)
5155
SET(HINT_OPENAL_INCLUDE_DIR "" CACHE STRING "Include directories hinting for OpenAL")
5256
SET(HINT_OPENAL_LIBRARY "" CACHE STRING "Library names hinting for OpenAL")
@@ -225,6 +229,43 @@ IF (NOT HINT_GLFW3_FOUND AND NOT GLFW3_FOUND AND NOT PC_GLFW3_FOUND AND NOT PC_G
225229
MESSAGE(FATAL_ERROR "Cannot find the glfw3 library.")
226230
ENDIF ()
227231

232+
IF (HINT_GLM_FOUND)
233+
INCLUDE_DIRECTORIES(${HINT_GLM_INCLUDE_DIR})
234+
TARGET_LINK_LIBRARIES(${COLLISION_EXE_NAME} ${HINT_GLM_LIBRARY})
235+
IF (CMAKE_WITH_DEBUG)
236+
MESSAGE(STATUS "glm found by HINT mode.")
237+
ENDIF ()
238+
ENDIF ()
239+
IF (NOT HINT_GLM_FOUND AND PKGCONFIG_FOUND)
240+
PKG_SEARCH_MODULE(PC_GLM glm GLM)
241+
IF ((BUILD_WITH_STATIC STREQUAL "ON") AND PC_GLM_STATIC_FOUND)
242+
INCLUDE_DIRECTORIES(${PC_GLM_STATIC_INCLUDE_DIRS})
243+
TARGET_LINK_LIBRARIES(${COLLISION_EXE_NAME} ${PC_GLM_STATIC_LIBRARIES})
244+
IF (CMAKE_WITH_DEBUG)
245+
MESSAGE(STATUS "glm found by PC-STATIC mode.")
246+
ENDIF ()
247+
ELSEIF (PC_GLM_FOUND)
248+
INCLUDE_DIRECTORIES(${PC_GLM_INCLUDE_DIRS})
249+
TARGET_LINK_LIBRARIES(${COLLISION_EXE_NAME} ${PC_GLM_LIBRARIES})
250+
IF (CMAKE_WITH_DEBUG)
251+
MESSAGE(STATUS "glm found by PC mode.")
252+
ENDIF ()
253+
ENDIF ()
254+
ENDIF ()
255+
IF (NOT HINT_GLM_FOUND AND NOT PC_GLM_FOUND)
256+
FIND_PACKAGE(GLM)
257+
IF (GLM_FOUND)
258+
INCLUDE_DIRECTORIES(${GLM_INCLUDE_DIR})
259+
TARGET_LINK_LIBRARIES(${COLLISION_EXE_NAME} ${GLM_LIBRARY})
260+
IF (CMAKE_WITH_DEBUG)
261+
MESSAGE(STATUS "glm found by CMAKE mode.")
262+
ENDIF ()
263+
ENDIF ()
264+
ENDIF ()
265+
IF (NOT HINT_GLM_FOUND AND NOT GLM_FOUND AND NOT PC_GLM_FOUND AND NOT PC_GLM_STATIC_FOUND)
266+
MESSAGE(FATAL_ERROR "Cannot find the glm library.")
267+
ENDIF ()
268+
228269
IF (HINT_OPENAL_FOUND)
229270
INCLUDE_DIRECTORIES(${HINT_OPENAL_INCLUDE_DIR})
230271
TARGET_LINK_LIBRARIES(${COLLISION_EXE_NAME} ${HINT_OPENAL_LIBRARY})
@@ -305,10 +346,12 @@ IF (BUILD_WITH_STATIC)
305346
SET_TARGET_PROPERTIES(${COLLISION_EXE_NAME} PROPERTIES LINK_FLAGS -static)
306347
ENDIF ()
307348

308-
SET_TARGET_PROPERTIES(${COLLISION_EXE_NAME} PROPERTIES COMPILE_FLAGES -O2)
349+
SET_TARGET_PROPERTIES(${COLLISION_EXE_NAME} PROPERTIES LINK_FLAGS "-Wl,-rpath,.")
350+
351+
SET_TARGET_PROPERTIES(${COLLISION_EXE_NAME} PROPERTIES COMPILE_FLAGS -O2)
309352

310353
IF (BUILD_WITH_DEBUG)
311-
SET_TARGET_PROPERTIES(${COLLISION_EXE_NAME} PROPERTIES COMPILE_FLAGES -g)
354+
SET_TARGET_PROPERTIES(${COLLISION_EXE_NAME} PROPERTIES COMPILE_FLAGS -g)
312355
ENDIF ()
313356

314357
# Do miscellaneous things for the target

Collision/Readme.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ modeling, rendering and collision detection.
88

99
## Changelog and Note
1010

11+
* lzh @ 2016.12.22.23.17
12+
1. Update CMakeLists.txt to add search of glm, fix -O2 flags and add
13+
*RPATH*.
14+
1115
* lzh @ 2016.12.21.18.11
1216
1. Update CMakeLists.txt.
1317

0 commit comments

Comments
 (0)