diff --git a/cmake/libigl.cmake b/cmake/libigl.cmake index 7016cbf..3a6b4dd 100644 --- a/cmake/libigl.cmake +++ b/cmake/libigl.cmake @@ -96,8 +96,9 @@ if(UNIX) endif() # Eigen -if(TARGET Eigen3::Eigen) +if(1) # If an imported target already exists, use it + find_package(Eigen3 CONFIG REQUIRED) target_link_libraries(igl_common INTERFACE Eigen3::Eigen) else() igl_download_eigen() @@ -182,7 +183,7 @@ compile_igl_module("core" ${SOURCES_IGL}) ################################################################################ ### Download the python part ### if(LIBIGL_WITH_PYTHON) - igl_download_pybind11() + #igl_download_pybind11() endif() ################################################################################ @@ -281,7 +282,8 @@ if(LIBIGL_WITH_EMBREE) set(EMBREE_STATIC_RUNTIME ON CACHE BOOL " " FORCE) endif() - if(NOT TARGET embree) + find_package(embree 3 CONFIG REQUIRED) + if(0) # TODO: Should probably save/restore the CMAKE_CXX_FLAGS_*, since embree seems to be # overriding them on Windows. But well... it works for now. igl_download_embree() @@ -289,7 +291,7 @@ if(LIBIGL_WITH_EMBREE) endif() compile_igl_module("embree") - target_link_libraries(igl_embree ${IGL_SCOPE} embree) + target_link_libraries(igl_embree ${IGL_SCOPE} sys math simd embree) target_include_directories(igl_embree ${IGL_SCOPE} ${EMBREE_DIR}/include) target_compile_definitions(igl_embree ${IGL_SCOPE} -DEMBREE_STATIC_LIB) endif() @@ -332,11 +334,12 @@ if(LIBIGL_WITH_OPENGL) endif() # glad module - if(NOT TARGET glad) + find_package(glad CONFIG REQUIRED) + if(0) igl_download_glad() add_subdirectory(${LIBIGL_EXTERNAL}/glad glad) endif() - target_link_libraries(igl_opengl ${IGL_SCOPE} glad) + target_link_libraries(igl_opengl ${IGL_SCOPE} glad::glad) endif() ################################################################################ @@ -345,7 +348,8 @@ if(LIBIGL_WITH_OPENGL_GLFW) if(TARGET igl::opengl) # GLFW module compile_igl_module("opengl/glfw") - if(NOT TARGET glfw) + find_package(glfw3 CONFIG REQUIRED) + if(0) set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL " " FORCE) set(GLFW_BUILD_TESTS OFF CACHE BOOL " " FORCE) set(GLFW_BUILD_DOCS OFF CACHE BOOL " " FORCE) @@ -363,9 +367,10 @@ if(LIBIGL_WITH_OPENGL_GLFW_IMGUI) if(TARGET igl::opengl_glfw) # ImGui module compile_igl_module("opengl/glfw/imgui") - if(NOT TARGET imgui) + find_package(imgui CONFIG REQUIRED) + if(0) igl_download_imgui() - add_subdirectory(${LIBIGL_EXTERNAL}/libigl-imgui imgui) + add_subdirectory(${LIBIGL_EXTERNAL}/libigl-imgui imgui::imgui) endif() target_link_libraries(igl_opengl_glfw_imgui ${IGL_SCOPE} igl_opengl_glfw imgui) endif() @@ -377,12 +382,21 @@ if(LIBIGL_WITH_PNG) # png/ module is anomalous because it also depends on opengl it really should # be moved into the opengl/ directory and namespace ... if(TARGET igl_opengl) - if(NOT TARGET stb_image) + find_path(stb_include_dir stb.h) + find_package(opengl REQUIRED) + find_package(libpng CONFIG REQUIRED) + if (BUILD_SHARED_LIBS) + set(libpng_LIBRARIES png) + else() + set(libpng_LIBRARIES png_static) + endif() + if(0) igl_download_stb() add_subdirectory(${LIBIGL_EXTERNAL}/stb stb_image) endif() compile_igl_module("png" "") - target_link_libraries(igl_png ${IGL_SCOPE} igl_stb_image igl_opengl) + target_include_directories(igl_png PUBLIC ${stb_include_dir}) + target_link_libraries(igl_png ${IGL_SCOPE} OpenGL::GL ${libpng_LIBRARIES}) endif() endif() @@ -430,7 +444,8 @@ endif() ### Compile the xml part ### if(LIBIGL_WITH_XML) set(TINYXML2_DIR "${LIBIGL_EXTERNAL}/tinyxml2") - if(NOT TARGET tinyxml2) + find_package(tinyxml2 CONFIG REQUIRED) + if(0) igl_download_tinyxml2() add_library(tinyxml2 STATIC ${TINYXML2_DIR}/tinyxml2.cpp ${TINYXML2_DIR}/tinyxml2.h) target_include_directories(tinyxml2 PUBLIC ${TINYXML2_DIR}) @@ -440,7 +455,7 @@ if(LIBIGL_WITH_XML) SOVERSION "3") endif() compile_igl_module("xml") - target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2) + target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2::tinyxml2) target_include_directories(igl_xml ${IGL_SCOPE} ${TINYXML2_DIR}) endif() diff --git a/include/igl/opengl/glfw/imgui/ImGuiHelpers.h b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h index 1d3e3bc..682b6d7 100644 --- a/include/igl/opengl/glfw/imgui/ImGuiHelpers.h +++ b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h @@ -10,7 +10,7 @@ //////////////////////////////////////////////////////////////////////////////// #include "ImGuiTraits.h" -#include +#include #include #include #include diff --git a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp index 3939b03..835b208 100644 --- a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp +++ b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp @@ -9,7 +9,7 @@ #include "ImGuiMenu.h" #include "ImGuiHelpers.h" #include -#include +#include #include #include #include diff --git a/include/igl/opengl/glfw/imgui/ImGuiTraits.h b/include/igl/opengl/glfw/imgui/ImGuiTraits.h index fbc892f..e8828b1 100644 --- a/include/igl/opengl/glfw/imgui/ImGuiTraits.h +++ b/include/igl/opengl/glfw/imgui/ImGuiTraits.h @@ -8,7 +8,7 @@ #ifndef IGL_OPENGL_GLFW_IMGUI_IMGUITRAITS_H #define IGL_OPENGL_GLFW_IMGUI_IMGUITRAITS_H -#include +#include // Extend ImGui by populating its namespace directly namespace ImGui diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 7a14775..f5c84a8 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -23,8 +23,8 @@ endif() # set(PYTHON_INCLUDE_DIR "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/include/python3.5m") set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6 3.7) -find_package(PythonInterp 3.4 REQUIRED) -find_package(PythonLibs 3.4 REQUIRED) +find_package(PythonInterp REQUIRED) +find_package(PythonLibs REQUIRED) ## libigl if(NOT TARGET igl::core) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8a0af13..5c6a350 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -11,16 +11,14 @@ else() endif() ### Download data -igl_download_test_data() set(IGL_TEST_DATA ${LIBIGL_EXTERNAL}/../tests/data) ### Download Catch2 unit test framework -igl_download_catch2() +find_package(Catch2 CONFIG REQUIRED) list(APPEND CMAKE_MODULE_PATH ${LIBIGL_EXTERNAL}/catch2/contrib) # Add catch2 -add_subdirectory(${LIBIGL_EXTERNAL}/catch2 catch2) # Create test executable diff --git a/tutorial/106_ViewerMenu/main.cpp b/tutorial/106_ViewerMenu/main.cpp index 09f3272..9e1a19d 100644 --- a/tutorial/106_ViewerMenu/main.cpp +++ b/tutorial/106_ViewerMenu/main.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include "tutorial_shared_path.h"