@@ -12,10 +12,17 @@ list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
1212
1313include (external_tools)
1414
15+ #FIXME: here we need to use the external function to update the submodules to the
16+ # latest commit
1517execute_process (COMMAND git submodule update --init --recursive
1618 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
1719 RESULT_VARIABLE GIT_SUBMOD_RESULT
1820 )
21+ # do a git pull to get the latest commit
22+ execute_process (COMMAND git pull
23+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
24+ RESULT_VARIABLE GIT_PULL_RESULT
25+ )
1926if (NOT GIT_SUBMOD_RESULT EQUAL "0" )
2027 message (FATAL_ERROR "git submodule update --init --recursive failed with ${GIT_SUBMOD_RESULT} , please checkout submodules" )
2128endif ()
@@ -49,7 +56,7 @@ target_include_directories(${SHARED_LIB_NAME}
4956 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /src
5057 )
5158
52- target_precompile_headers(${SHARED_LIB_NAME} PUBLIC src/diffcheckpch.hh)
59+ # target_precompile_headers(${SHARED_LIB_NAME} PUBLIC src/diffcheckpch.hh)
5360
5461#--------------------------------------------------------------------------
5562# 3rd party
@@ -76,13 +83,8 @@ set_target_properties(glfw3 PROPERTIES
7683 INTERFACE_INCLUDE_DIRECTORIES ${GLFW_INCLUDE_PATH}
7784 )
7885
79- # target_link_directories(${SHARED_LIB_NAME} PUBLIC ${GLFW_LIB_PATH})
80- # target_link_directories(${SHARED_LIB_NAME} INTERFACE ${GLFW_LIB_PATH})
81-
8286target_link_libraries (${SHARED_LIB_NAME} PUBLIC glfw3)
83- # target_link_libraries(${SHARED_LIB_NAME} INTERFACE glfw3)
8487target_include_directories (${SHARED_LIB_NAME} PUBLIC ${GLFW_INCLUDE_PATH} )
85- # target_include_directories(${SHARED_LIB_NAME} INTERFACE ${GLFW_INCLUDE_PATH})
8688
8789# TODO: replace with add_subdirectory() instead of binaries
8890# glew (pre-build binaries) --------------------------------------------------------------
@@ -121,17 +123,13 @@ add_subdirectory(deps/eigen)
121123target_link_libraries (${SHARED_LIB_NAME} PUBLIC Eigen3::Eigen)
122124# target_link_libraries(${SHARED_LIB_NAME} INTERFACE Eigen3::Eigen)
123125
124- #FIXME: might need qt4 for visualizer
125-
126-
127-
128126
129127
130128# FIXME: no need to specify opnegl because by system and fetched automatically
131129# # # OpenGL (from system) --------------------------------------------------------------
132- # find_package(OpenGL REQUIRED)
133- # target_link_libraries(${SHARED_LIB_NAME} PUBLIC OpenGL::GL)
134- # target_link_libraries(${SHARED_LIB_NAME} INTERFACE OpenGL::GL)
130+ find_package (OpenGL REQUIRED)
131+ target_link_libraries (${SHARED_LIB_NAME} PUBLIC OpenGL::GL)
132+ target_link_libraries (${SHARED_LIB_NAME} INTERFACE OpenGL::GL)
135133
136134
137135
@@ -141,19 +139,19 @@ target_link_libraries(${SHARED_LIB_NAME} PUBLIC Eigen3::Eigen)
141139
142140# HERE'S THE PROBLEEEEEM <<<<<<
143141# Libigl (header-only) --------------------------------------------------------------
144- # set a flag
145-
146- # set target to create igl::glfw
147142
143+ # all dependecies for libigl: https://libigl.github.io/third-party/
144+ # set compiling flags for libigl
145+ set (LIBIGL_USE_STATIC_LIBRARY OFF )
146+ set (LIBIGL_GLFW ON )
147+ add_subdirectory (deps/libigl)
148148
149- # add_subdirectory(deps/libigl)
149+ target_link_libraries (${SHARED_LIB_NAME} PUBLIC igl::glfw)
150+ # target_link_libraries(${SHARED_LIB_NAME} INTERFACE igl::core igl::opengl igl::opengl_glfw)
150151
151- # # avoid to link with glad
152- # target_link_libraries(${SHARED_LIB_NAME} PUBLIC igl::glfw)
153- # target_link_libraries(${SHARED_LIB_NAME} INTERFACE igl::glfw)
154- set (LIBIGL_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /deps/libigl/include )
155- target_include_directories (${SHARED_LIB_NAME} PUBLIC ${LIBIGL_INCLUDE_PATH} )
156- target_include_directories (${SHARED_LIB_NAME} INTERFACE ${LIBIGL_INCLUDE_PATH} )
152+ # set(LIBIGL_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/deps/libigl/include)
153+ # target_include_directories(${SHARED_LIB_NAME} PUBLIC ${LIBIGL_INCLUDE_PATH})
154+ # target_include_directories(${SHARED_LIB_NAME} INTERFACE ${LIBIGL_INCLUDE_PATH})
157155
158156
159157
@@ -185,8 +183,8 @@ target_include_directories(${SHARED_LIB_NAME} PUBLIC ${OPEN3D_INCLUDE_PATH})
185183
186184
187185
188- # copy all the dlls to the bin directory
189- # List of libraries that DiffCheck is linked against
186+ # copy all the dlls to the bin directory to make dll accessible
187+ # List of dynamic libraries that DiffCheck is linked against
190188set (DEPENDENCIES glfw3 glew32 Open3D)
191189
192190foreach (DEP_LIB ${DEPENDENCIES} )
@@ -198,8 +196,6 @@ foreach(DEP_LIB ${DEPENDENCIES})
198196endforeach ()
199197
200198
201-
202-
203199#--------------------------------------------------------------------------
204200# executable
205201#--------------------------------------------------------------------------
0 commit comments